lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <56C448CF.4070208@linaro.org>
Date:	Wed, 17 Feb 2016 10:17:51 +0000
From:	Srinivas Kandagatla <srinivas.kandagatla@...aro.org>
To:	Andrew Lunn <andrew@...n.ch>, GregKH <greg@...ah.com>
Cc:	maxime.ripard@...e-electrons.com, wsa@...-dreams.de,
	broonie@...nel.org, vz@...ia.com, fd@...com,
	linux-kernel@...r.kernel.org, pantelis.antoniou@...sulko.com,
	bgolaszewski@...libre.com
Subject: Re: [PATCHv4 5/7] eeprom: at25: extend driver to plug into the NVMEM
 framework



On 16/02/16 23:41, Andrew Lunn wrote:
> Add a regmap for accessing the EEPROM, and then use that with the
> NVMEM framework. Enable backwards compatibility in the NVMEM config,
> so that the 'eeprom' file in sys is provided by the framework.
>
> Signed-off-by: Andrew Lunn <andrew@...n.ch>

Minor Nit, once fixed feel free to add my Ack.


> ---
>   drivers/misc/eeprom/Kconfig |   2 +
>   drivers/misc/eeprom/at25.c  | 124 ++++++++++++++++++++++++--------------------
>   2 files changed, 71 insertions(+), 55 deletions(-)

...

>
>   static int at25_fw_to_chip(struct device *dev, struct spi_eeprom *chip)
> @@ -337,6 +349,7 @@ static int at25_probe(struct spi_device *spi)
>   {
>   	struct at25_data	*at25 = NULL;
>   	struct spi_eeprom	chip;
> +	struct regmap		*regmap;
>   	int			err;
>   	int			sr;
>   	int			addrlen;
> @@ -381,35 +394,35 @@ static int at25_probe(struct spi_device *spi)
>   	spi_set_drvdata(spi, at25);
>   	at25->addrlen = addrlen;
>
> -	/* Export the EEPROM bytes through sysfs, since that's convenient.
> -	 * And maybe to other kernel code; it might hold a board's Ethernet
> -	 * address, or board-specific calibration data generated on the
> -	 * manufacturing floor.
> -	 *
> -	 * Default to root-only access to the data; EEPROMs often hold data
> -	 * that's sensitive for read and/or write, like ethernet addresses,
> -	 * security codes, board-specific manufacturing calibrations, etc.
> -	 */
> -	sysfs_bin_attr_init(&at25->bin);
> -	at25->bin.attr.name = "eeprom";
> -	at25->bin.attr.mode = S_IRUSR;
> -	at25->bin.read = at25_bin_read;
> -
> -	at25->bin.size = at25->chip.byte_len;


> -	if (!(chip.flags & EE_READONLY)) {
> -		at25->bin.write = at25_bin_write;
> -		at25->bin.attr.mode |= S_IWUSR;
> -	}

Above check is totally unused, probably remove it.

> +	at25->regmap_config.reg_bits = 32;
> +	at25->regmap_config.val_bits = 8;
> +	at25->regmap_config.reg_stride = 1;
> +	at25->regmap_config.max_register = chip.byte_len - 1;
>


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ