linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] eeprom: at24: new property
@ 2019-02-05 13:59 Bartosz Golaszewski
  2019-02-05 13:59 ` [PATCH 1/2] dt-bindings: at24: add the 'num-addresses' property Bartosz Golaszewski
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Bartosz Golaszewski @ 2019-02-05 13:59 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland, Arnd Bergmann, Greg Kroah-Hartman
  Cc: linux-i2c, devicetree, linux-kernel, Bartosz Golaszewski

From: Bartosz Golaszewski <bgolaszewski@baylibre.com>

Microchip 24aa02t EEPROM is compatible with Atmel 24c02 except that
it's visible on 8 i2c slave addresses. We already support such a
use case with hard-coded config for 'atmel,24c00'. Let's add a more
flexible device tree property - 'num-addresses' - to the binding
document and support it in the driver.

Bartosz Golaszewski (2):
  dt-bindings: at24: add the 'num-addresses' property
  eeprom: at24: implement support for 'num-addresses' property

 Documentation/devicetree/bindings/eeprom/at24.txt |  3 +++
 drivers/misc/eeprom/at24.c                        | 13 ++++++++-----
 2 files changed, 11 insertions(+), 5 deletions(-)

-- 
2.20.1


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

* [PATCH 1/2] dt-bindings: at24: add the 'num-addresses' property
  2019-02-05 13:59 [PATCH 0/2] eeprom: at24: new property Bartosz Golaszewski
@ 2019-02-05 13:59 ` Bartosz Golaszewski
  2019-02-05 13:59 ` [PATCH 2/2] eeprom: at24: implement support for " Bartosz Golaszewski
  2019-02-12 14:12 ` [PATCH 0/2] eeprom: at24: new property Bartosz Golaszewski
  2 siblings, 0 replies; 5+ messages in thread
From: Bartosz Golaszewski @ 2019-02-05 13:59 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland, Arnd Bergmann, Greg Kroah-Hartman
  Cc: linux-i2c, devicetree, linux-kernel, Bartosz Golaszewski

From: Bartosz Golaszewski <bgolaszewski@baylibre.com>

Currently the at24 driver only creates additional i2c dummies for
atmel,24c00 and it's hard-coded. Some other chips (like for example
Microchip's 24AA02T) also take more slave addresses despite being
otherwise compatible with already supported variants.

Add a new property to the device tree binding document that defines
the total number of i2c slave addresses taken by the device. The
addresses are counted starting from the one in the reg property.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
---
 Documentation/devicetree/bindings/eeprom/at24.txt | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/eeprom/at24.txt b/Documentation/devicetree/bindings/eeprom/at24.txt
index f9a7c984274c..0e456bbc1213 100644
--- a/Documentation/devicetree/bindings/eeprom/at24.txt
+++ b/Documentation/devicetree/bindings/eeprom/at24.txt
@@ -75,6 +75,8 @@ Optional properties:
 
   - address-width: number of address bits (one of 8, 16).
 
+  - num-addresses: total number of i2c slave addresses this device takes
+
 Example:
 
 eeprom@52 {
@@ -82,4 +84,5 @@ eeprom@52 {
 	reg = <0x52>;
 	pagesize = <32>;
 	wp-gpios = <&gpio1 3 0>;
+	num-addresses = <8>;
 };
-- 
2.20.1


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

* [PATCH 2/2] eeprom: at24: implement support for 'num-addresses' property
  2019-02-05 13:59 [PATCH 0/2] eeprom: at24: new property Bartosz Golaszewski
  2019-02-05 13:59 ` [PATCH 1/2] dt-bindings: at24: add the 'num-addresses' property Bartosz Golaszewski
@ 2019-02-05 13:59 ` Bartosz Golaszewski
  2019-02-12 14:12 ` [PATCH 0/2] eeprom: at24: new property Bartosz Golaszewski
  2 siblings, 0 replies; 5+ messages in thread
From: Bartosz Golaszewski @ 2019-02-05 13:59 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland, Arnd Bergmann, Greg Kroah-Hartman
  Cc: linux-i2c, devicetree, linux-kernel, Bartosz Golaszewski

From: Bartosz Golaszewski <bgolaszewski@baylibre.com>

If the device node defines 'num-addresses', let it override the default
behavior.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
---
 drivers/misc/eeprom/at24.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c
index b806a403ca46..63aa541c9608 100644
--- a/drivers/misc/eeprom/at24.c
+++ b/drivers/misc/eeprom/at24.c
@@ -641,11 +641,14 @@ static int at24_probe(struct i2c_client *client)
 	if (!is_power_of_2(page_size))
 		dev_warn(dev, "page_size looks suspicious (no power of 2)!\n");
 
-	if (flags & AT24_FLAG_TAKE8ADDR)
-		num_addresses = 8;
-	else
-		num_addresses =	DIV_ROUND_UP(byte_len,
-			(flags & AT24_FLAG_ADDR16) ? 65536 : 256);
+	err = device_property_read_u32(dev, "num-addresses", &num_addresses);
+	if (err) {
+		if (flags & AT24_FLAG_TAKE8ADDR)
+			num_addresses = 8;
+		else
+			num_addresses =	DIV_ROUND_UP(byte_len,
+				(flags & AT24_FLAG_ADDR16) ? 65536 : 256);
+	}
 
 	if ((flags & AT24_FLAG_SERIAL) && (flags & AT24_FLAG_MAC)) {
 		dev_err(dev,
-- 
2.20.1


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

* Re: [PATCH 0/2] eeprom: at24: new property
  2019-02-05 13:59 [PATCH 0/2] eeprom: at24: new property Bartosz Golaszewski
  2019-02-05 13:59 ` [PATCH 1/2] dt-bindings: at24: add the 'num-addresses' property Bartosz Golaszewski
  2019-02-05 13:59 ` [PATCH 2/2] eeprom: at24: implement support for " Bartosz Golaszewski
@ 2019-02-12 14:12 ` Bartosz Golaszewski
  2019-02-19 12:39   ` Greg Kroah-Hartman
  2 siblings, 1 reply; 5+ messages in thread
From: Bartosz Golaszewski @ 2019-02-12 14:12 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland, Arnd Bergmann, Greg Kroah-Hartman
  Cc: linux-i2c, devicetree, Linux Kernel Mailing List, Bartosz Golaszewski

wt., 5 lut 2019 o 15:00 Bartosz Golaszewski <brgl@bgdev.pl> napisał(a):
>
> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
>
> Microchip 24aa02t EEPROM is compatible with Atmel 24c02 except that
> it's visible on 8 i2c slave addresses. We already support such a
> use case with hard-coded config for 'atmel,24c00'. Let's add a more
> flexible device tree property - 'num-addresses' - to the binding
> document and support it in the driver.
>
> Bartosz Golaszewski (2):
>   dt-bindings: at24: add the 'num-addresses' property
>   eeprom: at24: implement support for 'num-addresses' property
>
>  Documentation/devicetree/bindings/eeprom/at24.txt |  3 +++
>  drivers/misc/eeprom/at24.c                        | 13 ++++++++-----
>  2 files changed, 11 insertions(+), 5 deletions(-)
>
> --
> 2.20.1
>

If there are no objections, I will apply these in 2 days and include
them in the PR for v5.1.

Bart

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

* Re: [PATCH 0/2] eeprom: at24: new property
  2019-02-12 14:12 ` [PATCH 0/2] eeprom: at24: new property Bartosz Golaszewski
@ 2019-02-19 12:39   ` Greg Kroah-Hartman
  0 siblings, 0 replies; 5+ messages in thread
From: Greg Kroah-Hartman @ 2019-02-19 12:39 UTC (permalink / raw)
  To: Bartosz Golaszewski
  Cc: Rob Herring, Mark Rutland, Arnd Bergmann, linux-i2c, devicetree,
	Linux Kernel Mailing List, Bartosz Golaszewski

On Tue, Feb 12, 2019 at 03:12:05PM +0100, Bartosz Golaszewski wrote:
> wt., 5 lut 2019 o 15:00 Bartosz Golaszewski <brgl@bgdev.pl> napisał(a):
> >
> > From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> >
> > Microchip 24aa02t EEPROM is compatible with Atmel 24c02 except that
> > it's visible on 8 i2c slave addresses. We already support such a
> > use case with hard-coded config for 'atmel,24c00'. Let's add a more
> > flexible device tree property - 'num-addresses' - to the binding
> > document and support it in the driver.
> >
> > Bartosz Golaszewski (2):
> >   dt-bindings: at24: add the 'num-addresses' property
> >   eeprom: at24: implement support for 'num-addresses' property
> >
> >  Documentation/devicetree/bindings/eeprom/at24.txt |  3 +++
> >  drivers/misc/eeprom/at24.c                        | 13 ++++++++-----
> >  2 files changed, 11 insertions(+), 5 deletions(-)
> >
> > --
> > 2.20.1
> >
> 
> If there are no objections, I will apply these in 2 days and include
> them in the PR for v5.1.

No objections from me:
	Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

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

end of thread, other threads:[~2019-02-19 12:39 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-05 13:59 [PATCH 0/2] eeprom: at24: new property Bartosz Golaszewski
2019-02-05 13:59 ` [PATCH 1/2] dt-bindings: at24: add the 'num-addresses' property Bartosz Golaszewski
2019-02-05 13:59 ` [PATCH 2/2] eeprom: at24: implement support for " Bartosz Golaszewski
2019-02-12 14:12 ` [PATCH 0/2] eeprom: at24: new property Bartosz Golaszewski
2019-02-19 12:39   ` Greg Kroah-Hartman

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).