Re: [PATCH 21/28] ARM: davinci: dm644x-evm: use device properties for at24 eeprom

From: Andy Shevchenko
Date: Wed Aug 08 2018 - 13:59:29 EST


On Wed, Aug 8, 2018 at 8:55 PM, Andy Shevchenko
<andy.shevchenko@xxxxxxxxx> wrote:
> 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-dm644x-evm.c | 12 ++++--------
>> 1 file changed, 4 insertions(+), 8 deletions(-)
>>
>> diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c
>> index 6d35c6e1b0bd..abfcf42da6fb 100644
>> --- a/arch/arm/mach-davinci/board-dm644x-evm.c
>> +++ b/arch/arm/mach-davinci/board-dm644x-evm.c
>> @@ -16,8 +16,8 @@
>> #include <linux/gpio/machine.h>
>> #include <linux/i2c.h>
>> #include <linux/platform_data/pcf857x.h>
>> -#include <linux/platform_data/at24.h>
>> #include <linux/platform_data/gpio-davinci.h>
>> +#include <linux/property.h>
>> #include <linux/mtd/mtd.h>
>> #include <linux/mtd/rawnand.h>
>> #include <linux/mtd/partitions.h>
>> @@ -486,12 +486,8 @@ static struct nvmem_cell_lookup dm6446evm_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),

Missed terminator, though

>> };
>>
>> /*
>> @@ -601,7 +597,7 @@ static struct i2c_board_info __initdata i2c_info[] = {
>> },
>> {
>> I2C_BOARD_INFO("24c256", 0x50),
>> - .platform_data = &eeprom_info,
>> + .properties = eeprom_properties,
>> },
>> {
>> I2C_BOARD_INFO("tlv320aic33", 0x1b),
>> --
>> 2.18.0
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
>
> --
> With Best Regards,
> Andy Shevchenko



--
With Best Regards,
Andy Shevchenko