linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] ARM: imx: use device properties for at24 eeprom
@ 2018-04-04 13:16 Bartosz Golaszewski
  2018-04-04 13:16 ` [PATCH 1/4] ARM: imx: vpr200: drop at24_platform_data Bartosz Golaszewski
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Bartosz Golaszewski @ 2018-04-04 13:16 UTC (permalink / raw)
  To: Shawn Guo, Sascha Hauer, Fabio Estevam, Russell King
  Cc: linux-arm-kernel, linux-kernel, Bartosz Golaszewski

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.

This series converts all users of at24_platform_data to using generic
device properties or - as is the case with PATCH 1/4 - drops the
platform data entirely since it's not needed.

Bartosz Golaszewski (4):
  ARM: imx: vpr200: drop at24_platform_data
  ARM: imx: pcm043: use device properties for at24 eeprom
  ARM: imx: pca100: use device properties for at24 eeprom
  ARM: imx: pcm037: use device properties for at24 eeprom

 arch/arm/mach-imx/mach-pca100.c | 13 ++++++-------
 arch/arm/mach-imx/mach-pcm037.c | 13 ++++++-------
 arch/arm/mach-imx/mach-pcm043.c | 13 ++++++-------
 arch/arm/mach-imx/mach-vpr200.c |  9 +--------
 4 files changed, 19 insertions(+), 29 deletions(-)

-- 
2.16.3

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/4] ARM: imx: vpr200: drop at24_platform_data
  2018-04-04 13:16 [PATCH 0/4] ARM: imx: use device properties for at24 eeprom Bartosz Golaszewski
@ 2018-04-04 13:16 ` Bartosz Golaszewski
  2018-04-04 13:16 ` [PATCH 2/4] ARM: imx: pcm043: use device properties for at24 eeprom Bartosz Golaszewski
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Bartosz Golaszewski @ 2018-04-04 13:16 UTC (permalink / raw)
  To: Shawn Guo, Sascha Hauer, Fabio Estevam, Russell King
  Cc: linux-arm-kernel, linux-kernel, Bartosz Golaszewski

The information contained in the platform data struct is redundant.

Page size == 1 is the safe default assumed if no pagesize property is
given. The EEPROM size can be indicated to the driver using the
correct model name.

Drop the at24_platform_data entirely.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
---
 arch/arm/mach-imx/mach-vpr200.c | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/arch/arm/mach-imx/mach-vpr200.c b/arch/arm/mach-imx/mach-vpr200.c
index 5ff154c9a086..da3336aaa4c5 100644
--- a/arch/arm/mach-imx/mach-vpr200.c
+++ b/arch/arm/mach-imx/mach-vpr200.c
@@ -29,7 +29,6 @@
 #include <asm/mach/time.h>
 
 #include <linux/i2c.h>
-#include <linux/platform_data/at24.h>
 #include <linux/mfd/mc13xxx.h>
 
 #include "common.h"
@@ -145,15 +144,9 @@ static const struct imxi2c_platform_data vpr200_i2c0_data __initconst = {
 	.bitrate = 50000,
 };
 
-static struct at24_platform_data vpr200_eeprom = {
-	.byte_len = 2048 / 8,
-	.page_size = 1,
-};
-
 static struct i2c_board_info vpr200_i2c_devices[] = {
 	{
-		I2C_BOARD_INFO("at24", 0x50), /* E0=0, E1=0, E2=0 */
-		.platform_data = &vpr200_eeprom,
+		I2C_BOARD_INFO("24c02", 0x50), /* E0=0, E1=0, E2=0 */
 	}, {
 		I2C_BOARD_INFO("mc13892", 0x08),
 		.platform_data = &vpr200_pmic,
-- 
2.16.3

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/4] ARM: imx: pcm043: use device properties for at24 eeprom
  2018-04-04 13:16 [PATCH 0/4] ARM: imx: use device properties for at24 eeprom Bartosz Golaszewski
  2018-04-04 13:16 ` [PATCH 1/4] ARM: imx: vpr200: drop at24_platform_data Bartosz Golaszewski
@ 2018-04-04 13:16 ` Bartosz Golaszewski
  2018-04-04 13:16 ` [PATCH 3/4] ARM: imx: pca100: " Bartosz Golaszewski
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Bartosz Golaszewski @ 2018-04-04 13:16 UTC (permalink / raw)
  To: Shawn Guo, Sascha Hauer, Fabio Estevam, Russell King
  Cc: linux-arm-kernel, linux-kernel, Bartosz Golaszewski

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. Specify the exact model instead of the "at24"
wildcard and drop the byte_len/size property, as the model name already
implies the EEPROM's size.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
---
 arch/arm/mach-imx/mach-pcm043.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/arch/arm/mach-imx/mach-pcm043.c b/arch/arm/mach-imx/mach-pcm043.c
index 78e2bf8dcd96..e595e5368676 100644
--- a/arch/arm/mach-imx/mach-pcm043.c
+++ b/arch/arm/mach-imx/mach-pcm043.c
@@ -24,7 +24,7 @@
 #include <linux/interrupt.h>
 #include <linux/delay.h>
 #include <linux/i2c.h>
-#include <linux/platform_data/at24.h>
+#include <linux/property.h>
 #include <linux/usb/otg.h>
 #include <linux/usb/ulpi.h>
 
@@ -110,16 +110,15 @@ static const struct imxi2c_platform_data pcm043_i2c0_data __initconst = {
 	.bitrate = 50000,
 };
 
-static struct at24_platform_data board_eeprom = {
-	.byte_len = 4096,
-	.page_size = 32,
-	.flags = AT24_FLAG_ADDR16,
+static const struct property_entry board_eeprom_properties[] = {
+	PROPERTY_ENTRY_U32("pagesize", 32),
+	{ }
 };
 
 static struct i2c_board_info pcm043_i2c_devices[] = {
 	{
-		I2C_BOARD_INFO("at24", 0x52), /* E0=0, E1=1, E2=0 */
-		.platform_data = &board_eeprom,
+		I2C_BOARD_INFO("24c32", 0x52), /* E0=0, E1=1, E2=0 */
+		.properties = board_eeprom_properties,
 	}, {
 		I2C_BOARD_INFO("pcf8563", 0x51),
 	},
-- 
2.16.3

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/4] ARM: imx: pca100: use device properties for at24 eeprom
  2018-04-04 13:16 [PATCH 0/4] ARM: imx: use device properties for at24 eeprom Bartosz Golaszewski
  2018-04-04 13:16 ` [PATCH 1/4] ARM: imx: vpr200: drop at24_platform_data Bartosz Golaszewski
  2018-04-04 13:16 ` [PATCH 2/4] ARM: imx: pcm043: use device properties for at24 eeprom Bartosz Golaszewski
@ 2018-04-04 13:16 ` Bartosz Golaszewski
  2018-04-04 13:16 ` [PATCH 4/4] ARM: imx: pcm037: " Bartosz Golaszewski
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Bartosz Golaszewski @ 2018-04-04 13:16 UTC (permalink / raw)
  To: Shawn Guo, Sascha Hauer, Fabio Estevam, Russell King
  Cc: linux-arm-kernel, linux-kernel, Bartosz Golaszewski

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. Specify the exact model instead of the "at24"
wildcard and drop the byte_len/size property, as the model name already
implies the EEPROM's size.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
---
 arch/arm/mach-imx/mach-pca100.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/arch/arm/mach-imx/mach-pca100.c b/arch/arm/mach-imx/mach-pca100.c
index ed675863655b..5714e2f1b106 100644
--- a/arch/arm/mach-imx/mach-pca100.c
+++ b/arch/arm/mach-imx/mach-pca100.c
@@ -20,7 +20,7 @@
 #include <linux/platform_device.h>
 #include <linux/io.h>
 #include <linux/i2c.h>
-#include <linux/platform_data/at24.h>
+#include <linux/property.h>
 #include <linux/dma-mapping.h>
 #include <linux/spi/spi.h>
 #include <linux/spi/eeprom.h>
@@ -168,16 +168,15 @@ static const struct imxi2c_platform_data pca100_i2c1_data __initconst = {
 	.bitrate = 100000,
 };
 
-static struct at24_platform_data board_eeprom = {
-	.byte_len = 4096,
-	.page_size = 32,
-	.flags = AT24_FLAG_ADDR16,
+static const struct property_entry board_eeprom_properties[] = {
+	PROPERTY_ENTRY_U32("pagesize", 32),
+	{ }
 };
 
 static struct i2c_board_info pca100_i2c_devices[] = {
 	{
-		I2C_BOARD_INFO("at24", 0x52), /* E0=0, E1=1, E2=0 */
-		.platform_data = &board_eeprom,
+		I2C_BOARD_INFO("24c32", 0x52), /* E0=0, E1=1, E2=0 */
+		.properties = board_eeprom_properties,
 	}, {
 		I2C_BOARD_INFO("pcf8563", 0x51),
 	}, {
-- 
2.16.3

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 4/4] ARM: imx: pcm037: use device properties for at24 eeprom
  2018-04-04 13:16 [PATCH 0/4] ARM: imx: use device properties for at24 eeprom Bartosz Golaszewski
                   ` (2 preceding siblings ...)
  2018-04-04 13:16 ` [PATCH 3/4] ARM: imx: pca100: " Bartosz Golaszewski
@ 2018-04-04 13:16 ` Bartosz Golaszewski
  2018-04-06 12:17 ` [PATCH 0/4] ARM: imx: " Sascha Hauer
  2018-04-18  3:19 ` Shawn Guo
  5 siblings, 0 replies; 7+ messages in thread
From: Bartosz Golaszewski @ 2018-04-04 13:16 UTC (permalink / raw)
  To: Shawn Guo, Sascha Hauer, Fabio Estevam, Russell King
  Cc: linux-arm-kernel, linux-kernel, Bartosz Golaszewski

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. Specify the exact model instead of the "at24"
wildcard and drop the byte_len/size property, as the model name already
implies the EEPROM's size.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
---
 arch/arm/mach-imx/mach-pcm037.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/arch/arm/mach-imx/mach-pcm037.c b/arch/arm/mach-imx/mach-pcm037.c
index b787ba6897e4..004737c40fda 100644
--- a/arch/arm/mach-imx/mach-pcm037.c
+++ b/arch/arm/mach-imx/mach-pcm037.c
@@ -23,7 +23,7 @@
 #include <linux/smsc911x.h>
 #include <linux/interrupt.h>
 #include <linux/i2c.h>
-#include <linux/platform_data/at24.h>
+#include <linux/property.h>
 #include <linux/delay.h>
 #include <linux/spi/spi.h>
 #include <linux/irq.h>
@@ -263,16 +263,15 @@ static const struct imxi2c_platform_data pcm037_i2c2_data __initconst = {
 	.bitrate = 20000,
 };
 
-static struct at24_platform_data board_eeprom = {
-	.byte_len = 4096,
-	.page_size = 32,
-	.flags = AT24_FLAG_ADDR16,
+static const struct property_entry board_eeprom_properties[] = {
+	PROPERTY_ENTRY_U32("pagesize", 32),
+	{ }
 };
 
 static struct i2c_board_info pcm037_i2c_devices[] = {
 	{
-		I2C_BOARD_INFO("at24", 0x52), /* E0=0, E1=1, E2=0 */
-		.platform_data = &board_eeprom,
+		I2C_BOARD_INFO("24c32", 0x52), /* E0=0, E1=1, E2=0 */
+		.properties = board_eeprom_properties,
 	}, {
 		I2C_BOARD_INFO("pcf8563", 0x51),
 	}
-- 
2.16.3

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/4] ARM: imx: use device properties for at24 eeprom
  2018-04-04 13:16 [PATCH 0/4] ARM: imx: use device properties for at24 eeprom Bartosz Golaszewski
                   ` (3 preceding siblings ...)
  2018-04-04 13:16 ` [PATCH 4/4] ARM: imx: pcm037: " Bartosz Golaszewski
@ 2018-04-06 12:17 ` Sascha Hauer
  2018-04-18  3:19 ` Shawn Guo
  5 siblings, 0 replies; 7+ messages in thread
From: Sascha Hauer @ 2018-04-06 12:17 UTC (permalink / raw)
  To: Bartosz Golaszewski
  Cc: Shawn Guo, Sascha Hauer, Fabio Estevam, Russell King,
	linux-kernel, linux-arm-kernel

On Wed, Apr 04, 2018 at 03:16:23PM +0200, Bartosz Golaszewski wrote:
> 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.
> 
> This series converts all users of at24_platform_data to using generic
> device properties or - as is the case with PATCH 1/4 - drops the
> platform data entirely since it's not needed.
> 
> Bartosz Golaszewski (4):
>   ARM: imx: vpr200: drop at24_platform_data
>   ARM: imx: pcm043: use device properties for at24 eeprom
>   ARM: imx: pca100: use device properties for at24 eeprom
>   ARM: imx: pcm037: use device properties for at24 eeprom

For what it's worth:

Acked-by: Sascha Hauer <s.hauer@pengutronix.de>

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/4] ARM: imx: use device properties for at24 eeprom
  2018-04-04 13:16 [PATCH 0/4] ARM: imx: use device properties for at24 eeprom Bartosz Golaszewski
                   ` (4 preceding siblings ...)
  2018-04-06 12:17 ` [PATCH 0/4] ARM: imx: " Sascha Hauer
@ 2018-04-18  3:19 ` Shawn Guo
  5 siblings, 0 replies; 7+ messages in thread
From: Shawn Guo @ 2018-04-18  3:19 UTC (permalink / raw)
  To: Bartosz Golaszewski
  Cc: Sascha Hauer, Fabio Estevam, Russell King, linux-arm-kernel,
	linux-kernel

On Wed, Apr 04, 2018 at 03:16:23PM +0200, Bartosz Golaszewski wrote:
> 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.
> 
> This series converts all users of at24_platform_data to using generic
> device properties or - as is the case with PATCH 1/4 - drops the
> platform data entirely since it's not needed.
> 
> Bartosz Golaszewski (4):
>   ARM: imx: vpr200: drop at24_platform_data
>   ARM: imx: pcm043: use device properties for at24 eeprom
>   ARM: imx: pca100: use device properties for at24 eeprom
>   ARM: imx: pcm037: use device properties for at24 eeprom

Applied all, thanks.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-04-18  3:19 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-04 13:16 [PATCH 0/4] ARM: imx: use device properties for at24 eeprom Bartosz Golaszewski
2018-04-04 13:16 ` [PATCH 1/4] ARM: imx: vpr200: drop at24_platform_data Bartosz Golaszewski
2018-04-04 13:16 ` [PATCH 2/4] ARM: imx: pcm043: use device properties for at24 eeprom Bartosz Golaszewski
2018-04-04 13:16 ` [PATCH 3/4] ARM: imx: pca100: " Bartosz Golaszewski
2018-04-04 13:16 ` [PATCH 4/4] ARM: imx: pcm037: " Bartosz Golaszewski
2018-04-06 12:17 ` [PATCH 0/4] ARM: imx: " Sascha Hauer
2018-04-18  3:19 ` Shawn Guo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).