ARM: s3c24xx: mini2440: Use device properties for at24 eeprom
authorBartosz Golaszewski <brgl@bgdev.pl>
Wed, 4 Apr 2018 11:51:47 +0000 (13:51 +0200)
committerKrzysztof Kozlowski <krzk@kernel.org>
Mon, 16 Apr 2018 18:17:14 +0000 (20:17 +0200)
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.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
arch/arm/mach-s3c24xx/mach-mini2440.c

index 95753e0bc0730708eb16eb30cdc6daf870e78464..f9fc1f8d2b2814dbf0de70b77d47b38e6d0ab665 100644 (file)
@@ -20,7 +20,7 @@
 #include <linux/serial_core.h>
 #include <linux/serial_s3c.h>
 #include <linux/dm9000.h>
-#include <linux/platform_data/at24.h>
+#include <linux/property.h>
 #include <linux/platform_device.h>
 #include <linux/gpio_keys.h>
 #include <linux/i2c.h>
@@ -481,15 +481,15 @@ static struct platform_device mini2440_audio = {
 /*
  * I2C devices
  */
-static struct at24_platform_data at24c08 = {
-       .byte_len       = SZ_8K / 8,
-       .page_size      = 16,
+static const struct property_entry mini2440_at24_properties[] = {
+       PROPERTY_ENTRY_U32("pagesize", 16),
+       { }
 };
 
 static struct i2c_board_info mini2440_i2c_devs[] __initdata = {
        {
                I2C_BOARD_INFO("24c08", 0x50),
-               .platform_data = &at24c08,
+               .properties = mini2440_at24_properties,
        },
 };