Re: [PATCH 22/28] ARM: davinci: dm646x-evm: use device properties for at24 eeprom
From: Andy Shevchenko
Date: Wed Aug 08 2018 - 13:56:15 EST
On Wed, Aug 8, 2018 at 6:31 PM, Bartosz Golaszewski <brgl@xxxxxxxx> wrote:
> From: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
>
> We want to work towards phasing out the at24_platform_data structure.
> There are few users and its contents can be represented using generic
> device properties. Using device properties only will allow us to
> significantly simplify the at24 configuration code.
>
> Remove the at24_platform_data structure and replace it with an array
> of property entries. Drop the byte_len/size property, as the model name
> already implies the EEPROM's size.
>
Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
> Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
> ---
> arch/arm/mach-davinci/board-dm646x-evm.c | 13 +++++--------
> 1 file changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/arch/arm/mach-davinci/board-dm646x-evm.c b/arch/arm/mach-davinci/board-dm646x-evm.c
> index 5a9de47bc8a2..5049f0c6cd1a 100644
> --- a/arch/arm/mach-davinci/board-dm646x-evm.c
> +++ b/arch/arm/mach-davinci/board-dm646x-evm.c
> @@ -22,7 +22,7 @@
> #include <linux/gpio.h>
> #include <linux/platform_device.h>
> #include <linux/i2c.h>
> -#include <linux/platform_data/at24.h>
> +#include <linux/property.h>
> #include <linux/platform_data/pcf857x.h>
>
> #include <media/i2c/tvp514x.h>
> @@ -320,12 +320,9 @@ static struct nvmem_cell_lookup dm646x_evm_mac_address_cell = {
> .nvmem_name = "1-00500",
> };
>
> -static struct at24_platform_data eeprom_info = {
> - .byte_len = (256*1024) / 8,
> - .page_size = 64,
> - .flags = AT24_FLAG_ADDR16,
> - .setup = davinci_get_mac_addr,
> - .context = (void *)0x7f00,
> +static const struct property_entry eeprom_properties[] = {
> + PROPERTY_ENTRY_U32("pagesize", 64),
> + { }
> };
> #endif
>
> @@ -396,7 +393,7 @@ static void evm_init_cpld(void)
> static struct i2c_board_info __initdata i2c_info[] = {
> {
> I2C_BOARD_INFO("24c256", 0x50),
> - .platform_data = &eeprom_info,
> + .properties = eeprom_properties,
> },
> {
> I2C_BOARD_INFO("pcf8574a", 0x38),
> --
> 2.18.0
>
--
With Best Regards,
Andy Shevchenko