[PATCH 1/2] Initial support for Allwinner's Security ID fuses
andy.shevchenko at gmail.com
Tue Jun 18 01:41:41 EDT 2013
On Mon, Jun 17, 2013 at 11:59 PM, Oliver Schinagl
<oliver+list at schinagl.nl> wrote:
> From: Oliver Schinagl <oliver at schinagl.nl>
> Allwinner has electric fuses (efuse) on their line of chips. This driver
> reads those fuses, seeds the kernel entropy and exports them as a sysfs node.
> These fuses are most likly to be programmed at the factory, encoding
> things like Chip ID, some sort of serial number etc and appear to be
> reasonable unique.
> While in theory, these should be writeable by the user, it will probably
> be inconvinient to do so. Allwinner recommends that a certain input pin,
> labeled 'efuse_vddq', be connected to GND. To write these fuses, 2.5 V
> needs to be applied to this pin.
> Even so, they can still be used to generate a board-unique mac from, board
> unique RSA key and seed the kernel RNG.
> +++ b/drivers/misc/eeprom/sunxi_sid.c
> @@ -0,0 +1,147 @@
> +#include <linux/compiler.h>
I don't think you have to use this header explicitly.
> +#define DRV_NAME "sunxi-sid"
> + if (size > (SID_SIZE - pos))
Useless internal braces.
> +static int sunxi_sid_remove(struct platform_device *pdev)
> + device_remove_bin_file(&pdev->dev, &sid_bin_attr);
> + dev_dbg(&pdev->dev, "%s driver unloaded\n", DRV_NAME);
It's useless to use DRV_NAME in conjunction with dev_* macros. dev_*
will print driver name as a prefix.
With Best Regards,
More information about the linux-arm-kernel