Re: [PATCH] eeprom: at25: allow page sizes greater than 16 bit

From: Christian Eggers
Date: Tue Aug 04 2020 - 02:41:23 EST


Ping?

On Monday, 27 July 2020, 13:12:18 CEST, Christian Eggers wrote:
> Storage technologies like FRAM have no "write pages", the whole chip can
> be written within one SPI transfer. For these chips, the page size can
> be set equal to the device size. Currently available devices are already
> bigger than 64 kiB.
>
> Signed-off-by: Christian Eggers <ceggers@xxxxxxx>
> ---
> drivers/misc/eeprom/at25.c | 2 +-
> include/linux/spi/eeprom.h | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/misc/eeprom/at25.c b/drivers/misc/eeprom/at25.c
> index cde9a2fc1325..0e7c8dc01195 100644
> --- a/drivers/misc/eeprom/at25.c
> +++ b/drivers/misc/eeprom/at25.c
> @@ -261,7 +261,7 @@ static int at25_fw_to_chip(struct device *dev, struct
> spi_eeprom *chip)
>
> if (device_property_read_u32(dev, "pagesize", &val) == 0 ||
> device_property_read_u32(dev, "at25,page-size", &val) == 0) {
> - chip->page_size = (u16)val;
> + chip->page_size = val;
> } else {
> dev_err(dev, "Error: missing \"pagesize\" property\n");
> return -ENODEV;
> diff --git a/include/linux/spi/eeprom.h b/include/linux/spi/eeprom.h
> index aceccf9c71fb..1cca3dd5a748 100644
> --- a/include/linux/spi/eeprom.h
> +++ b/include/linux/spi/eeprom.h
> @@ -14,7 +14,7 @@
> struct spi_eeprom {
> u32 byte_len;
> char name[10];
> - u16 page_size; /* for writes */
> + u32 page_size; /* for writes */
> u16 flags;
> #define EE_ADDR1 0x0001 /* 8 bit addrs */
> #define EE_ADDR2 0x0002 /* 16 bit addrs */