Browse Source

iio: magnetometer: ak8974: add_device_randomness (serial number)

Mix device-specific data into randomness pool.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Michał Mirosław 8 years ago
parent
commit
408cc6eb1e
1 changed files with 2 additions and 0 deletions
  1. 2 0
      drivers/iio/magnetometer/ak8974.c

+ 2 - 0
drivers/iio/magnetometer/ak8974.c

@@ -20,6 +20,7 @@
 #include <linux/mutex.h>
 #include <linux/mutex.h>
 #include <linux/delay.h>
 #include <linux/delay.h>
 #include <linux/bitops.h>
 #include <linux/bitops.h>
+#include <linux/random.h>
 #include <linux/regmap.h>
 #include <linux/regmap.h>
 #include <linux/regulator/consumer.h>
 #include <linux/regulator/consumer.h>
 #include <linux/pm_runtime.h>
 #include <linux/pm_runtime.h>
@@ -470,6 +471,7 @@ static int ak8974_detect(struct ak8974 *ak8974)
 		ret = ak8974_get_u16_val(ak8974, AMI305_SN, &sn);
 		ret = ak8974_get_u16_val(ak8974, AMI305_SN, &sn);
 		if (ret)
 		if (ret)
 			return ret;
 			return ret;
+		add_device_randomness(&sn, sizeof(sn));
 		dev_info(&ak8974->i2c->dev,
 		dev_info(&ak8974->i2c->dev,
 			 "detected %s, FW ver %02x, S/N: %04x\n",
 			 "detected %s, FW ver %02x, S/N: %04x\n",
 			 name, fw, sn);
 			 name, fw, sn);