2017-12-21 13:08:43

by Bartosz Golaszewski

[permalink] [raw]
Subject: [PATCH 0/5] eeprom: at24: device tree support fixes

The first three patches fix certain issues with the DT binding
document.

The last two extend the device tree support in the driver with more
at24 EEPROM variants.

Bartosz Golaszewski (5):
dt-bindings: at24: consistently document the compatible property
dt-bindings: at24: add a missing compatible
dt-bindings: at24: fix formatting and style
dt-bindings: at24: extend the list of supported chips
eeprom: at24: extend the list of chips supported in DT

Documentation/devicetree/bindings/eeprom/at24.txt | 84 ++++++++++++++---------
drivers/misc/eeprom/at24.c | 9 +++
2 files changed, 59 insertions(+), 34 deletions(-)

--
2.15.1


2017-12-21 13:08:50

by Bartosz Golaszewski

[permalink] [raw]
Subject: [PATCH 3/5] dt-bindings: at24: fix formatting and style

Make formatting and style consistent for the entire document.

This patch doesn't change the content of the binding.

Signed-off-by: Bartosz Golaszewski <[email protected]>
---
Documentation/devicetree/bindings/eeprom/at24.txt | 24 +++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/Documentation/devicetree/bindings/eeprom/at24.txt b/Documentation/devicetree/bindings/eeprom/at24.txt
index 0322db43c8a4..8a6b960ddeee 100644
--- a/Documentation/devicetree/bindings/eeprom/at24.txt
+++ b/Documentation/devicetree/bindings/eeprom/at24.txt
@@ -2,7 +2,7 @@ EEPROMs (I2C)

Required properties:

- - compatible: must be one of the following:
+ - compatible: Must be one of the following:

"atmel,24c00",
"atmel,24c01",
@@ -32,23 +32,23 @@ Required properties:
Also: matching by device type alone - while still supported due to
implementation details in I2C core - is deprecated as well.

- - reg : the I2C address of the EEPROM
+ - reg: The I2C address of the EEPROM.

Optional properties:

- - pagesize : the length of the pagesize for writing. Please consult the
- manual of your device, that value varies a lot. A wrong value
- may result in data loss! If not specified, a safety value of
- '1' is used which will be very slow.
+ - pagesize: The length of the pagesize for writing. Please consult the
+ manual of your device, that value varies a lot. A wrong value
+ may result in data loss! If not specified, a safety value of
+ '1' is used which will be very slow.

- - read-only: this parameterless property disables writes to the eeprom
+ - read-only: This parameterless property disables writes to the eeprom.

- - size: total eeprom size in bytes
+ - size: Total eeprom size in bytes.

- - no-read-rollover:
- This parameterless property indicates that the multi-address
- eeprom does not automatically roll over reads to the next
- slave address. Please consult the manual of your device.
+ - no-read-rollover: This parameterless property indicates that the
+ multi-address eeprom does not automatically roll over
+ reads to the next slave address. Please consult the
+ manual of your device.

- wp-gpios: GPIO to which the write-protect pin of the chip is connected.

--
2.15.1

2017-12-21 13:09:09

by Bartosz Golaszewski

[permalink] [raw]
Subject: [PATCH 5/5] eeprom: at24: extend the list of chips supported in DT

Add all supported at24 variants to the of_match table.

Signed-off-by: Bartosz Golaszewski <[email protected]>
---
drivers/misc/eeprom/at24.c | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c
index e79833d62284..01f9c4921c50 100644
--- a/drivers/misc/eeprom/at24.c
+++ b/drivers/misc/eeprom/at24.c
@@ -209,13 +209,22 @@ MODULE_DEVICE_TABLE(i2c, at24_ids);
static const struct of_device_id at24_of_match[] = {
{ .compatible = "atmel,24c00", .data = &at24_data_24c00 },
{ .compatible = "atmel,24c01", .data = &at24_data_24c01 },
+ { .compatible = "atmel,24cs01", .data = &at24_data_24cs01 },
{ .compatible = "atmel,24c02", .data = &at24_data_24c02 },
+ { .compatible = "atmel,24cs02", .data = &at24_data_24cs02 },
+ { .compatible = "atmel,24mac402", .data = &at24_data_24mac402 },
+ { .compatible = "atmel,24mac602", .data = &at24_data_24mac602 },
{ .compatible = "atmel,spd", .data = &at24_data_spd },
{ .compatible = "atmel,24c04", .data = &at24_data_24c04 },
+ { .compatible = "atmel,24cs04", .data = &at24_data_24cs04 },
{ .compatible = "atmel,24c08", .data = &at24_data_24c08 },
+ { .compatible = "atmel,24cs08", .data = &at24_data_24cs08 },
{ .compatible = "atmel,24c16", .data = &at24_data_24c16 },
+ { .compatible = "atmel,24cs16", .data = &at24_data_24cs16 },
{ .compatible = "atmel,24c32", .data = &at24_data_24c32 },
+ { .compatible = "atmel,24cs32", .data = &at24_data_24cs32 },
{ .compatible = "atmel,24c64", .data = &at24_data_24c64 },
+ { .compatible = "atmel,24cs64", .data = &at24_data_24cs64 },
{ .compatible = "atmel,24c128", .data = &at24_data_24c128 },
{ .compatible = "atmel,24c256", .data = &at24_data_24c256 },
{ .compatible = "atmel,24c512", .data = &at24_data_24c512 },
--
2.15.1

2017-12-21 13:09:11

by Bartosz Golaszewski

[permalink] [raw]
Subject: [PATCH 4/5] dt-bindings: at24: extend the list of supported chips

Add other variants of at24 EEPROMs we support in the driver to the
list of allowed compatible strings.

Signed-off-by: Bartosz Golaszewski <[email protected]>
---
Documentation/devicetree/bindings/eeprom/at24.txt | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/Documentation/devicetree/bindings/eeprom/at24.txt b/Documentation/devicetree/bindings/eeprom/at24.txt
index 8a6b960ddeee..8d3db75cd45d 100644
--- a/Documentation/devicetree/bindings/eeprom/at24.txt
+++ b/Documentation/devicetree/bindings/eeprom/at24.txt
@@ -6,13 +6,22 @@ Required properties:

"atmel,24c00",
"atmel,24c01",
+ "atmel,24cs01",
"atmel,24c02",
+ "atmel,24cs02",
+ "atmel,24mac402",
+ "atmel,24mac602",
"atmel,spd",
"atmel,24c04",
+ "atmel,24cs04",
"atmel,24c08",
+ "atmel,24cs08",
"atmel,24c16",
+ "atmel,24cs16",
"atmel,24c32",
+ "atmel,24cs32",
"atmel,24c64",
+ "atmel,24cs64",
"atmel,24c128",
"atmel,24c256",
"atmel,24c512",
--
2.15.1

2017-12-21 13:09:42

by Bartosz Golaszewski

[permalink] [raw]
Subject: [PATCH 2/5] dt-bindings: at24: add a missing compatible

"atmel,spd" is reported by checkpatch as undocumented in the device
tree bindings. Add it to the list of supported compatible strings.

Signed-off-by: Bartosz Golaszewski <[email protected]>
---
Documentation/devicetree/bindings/eeprom/at24.txt | 1 +
1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/eeprom/at24.txt b/Documentation/devicetree/bindings/eeprom/at24.txt
index 6ccbd000bfa4..0322db43c8a4 100644
--- a/Documentation/devicetree/bindings/eeprom/at24.txt
+++ b/Documentation/devicetree/bindings/eeprom/at24.txt
@@ -7,6 +7,7 @@ Required properties:
"atmel,24c00",
"atmel,24c01",
"atmel,24c02",
+ "atmel,spd",
"atmel,24c04",
"atmel,24c08",
"atmel,24c16",
--
2.15.1

2017-12-21 13:09:55

by Bartosz Golaszewski

[permalink] [raw]
Subject: [PATCH 1/5] dt-bindings: at24: consistently document the compatible property

Current description of the compatible property for at24 is quite vague.

Specify an exact list of accepted compatibles and document the - now
deprecated - strings which were previously used in device tree files.

Signed-off-by: Bartosz Golaszewski <[email protected]>
---
Documentation/devicetree/bindings/eeprom/at24.txt | 50 +++++++++++++----------
1 file changed, 28 insertions(+), 22 deletions(-)

diff --git a/Documentation/devicetree/bindings/eeprom/at24.txt b/Documentation/devicetree/bindings/eeprom/at24.txt
index cbc80e194ac6..6ccbd000bfa4 100644
--- a/Documentation/devicetree/bindings/eeprom/at24.txt
+++ b/Documentation/devicetree/bindings/eeprom/at24.txt
@@ -2,28 +2,34 @@ EEPROMs (I2C)

Required properties:

- - compatible : should be "<manufacturer>,<type>", like these:
-
- "atmel,24c00", "atmel,24c01", "atmel,24c02", "atmel,24c04",
- "atmel,24c08", "atmel,24c16", "atmel,24c32", "atmel,24c64",
- "atmel,24c128", "atmel,24c256", "atmel,24c512", "atmel,24c1024"
-
- "catalyst,24c32"
-
- "microchip,24c128"
-
- "ramtron,24c64"
-
- "renesas,r1ex24002"
-
- The following manufacturers values have been deprecated:
- "at", "at24"
-
- If there is no specific driver for <manufacturer>, a generic
- device with <type> and manufacturer "atmel" should be used.
- Possible types are:
- "24c00", "24c01", "24c02", "24c04", "24c08", "24c16", "24c32", "24c64",
- "24c128", "24c256", "24c512", "24c1024", "spd"
+ - compatible: must be one of the following:
+
+ "atmel,24c00",
+ "atmel,24c01",
+ "atmel,24c02",
+ "atmel,24c04",
+ "atmel,24c08",
+ "atmel,24c16",
+ "atmel,24c32",
+ "atmel,24c64",
+ "atmel,24c128",
+ "atmel,24c256",
+ "atmel,24c512",
+ "atmel,24c1024"
+
+ NOTE: old compatible strings, such as:
+
+ "catalyst,24c32",
+ "microchip,24c128",
+ "ramtron,24c64",
+ "renesas,r1ex24002",
+ "at,24c08",
+ "at24,24c08"
+
+ will still work, but are now deprecated.
+
+ Also: matching by device type alone - while still supported due to
+ implementation details in I2C core - is deprecated as well.

- reg : the I2C address of the EEPROM

--
2.15.1

2017-12-21 13:19:11

by Javier Martinez Canillas

[permalink] [raw]
Subject: Re: [PATCH 1/5] dt-bindings: at24: consistently document the compatible property

Hello Bartosz,

Nice patch.

On Thu, Dec 21, 2017 at 2:08 PM, Bartosz Golaszewski <[email protected]> wrote:
> Current description of the compatible property for at24 is quite vague.
>
> Specify an exact list of accepted compatibles and document the - now
> deprecated - strings which were previously used in device tree files.
>
> Signed-off-by: Bartosz Golaszewski <[email protected]>
> ---
> Documentation/devicetree/bindings/eeprom/at24.txt | 50 +++++++++++++----------
> 1 file changed, 28 insertions(+), 22 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/eeprom/at24.txt b/Documentation/devicetree/bindings/eeprom/at24.txt
> index cbc80e194ac6..6ccbd000bfa4 100644
> --- a/Documentation/devicetree/bindings/eeprom/at24.txt
> +++ b/Documentation/devicetree/bindings/eeprom/at24.txt
> @@ -2,28 +2,34 @@ EEPROMs (I2C)
>
> Required properties:
>
> - - compatible : should be "<manufacturer>,<type>", like these:
> -
> - "atmel,24c00", "atmel,24c01", "atmel,24c02", "atmel,24c04",
> - "atmel,24c08", "atmel,24c16", "atmel,24c32", "atmel,24c64",
> - "atmel,24c128", "atmel,24c256", "atmel,24c512", "atmel,24c1024"
> -
> - "catalyst,24c32"
> -
> - "microchip,24c128"
> -
> - "ramtron,24c64"
> -
> - "renesas,r1ex24002"
> -
> - The following manufacturers values have been deprecated:
> - "at", "at24"
> -
> - If there is no specific driver for <manufacturer>, a generic
> - device with <type> and manufacturer "atmel" should be used.
> - Possible types are:
> - "24c00", "24c01", "24c02", "24c04", "24c08", "24c16", "24c32", "24c64",
> - "24c128", "24c256", "24c512", "24c1024", "spd"
> + - compatible: must be one of the following:
> +
> + "atmel,24c00",
> + "atmel,24c01",
> + "atmel,24c02",
> + "atmel,24c04",
> + "atmel,24c08",
> + "atmel,24c16",
> + "atmel,24c32",
> + "atmel,24c64",
> + "atmel,24c128",
> + "atmel,24c256",
> + "atmel,24c512",
> + "atmel,24c1024"
> +
> + NOTE: old compatible strings, such as:
> +
> + "catalyst,24c32",
> + "microchip,24c128",
> + "ramtron,24c64",
> + "renesas,r1ex24002",
> + "at,24c08",
> + "at24,24c08"
> +
> + will still work, but are now deprecated.
> +
> + Also: matching by device type alone - while still supported due to
> + implementation details in I2C core - is deprecated as well.
>

I don't think that's correct to mention Linux specific implementation
details in a Device Tree binding. It's supposed to be OS independent
and in theory the same DT binding could be used in other OS /
bootloaders.

With that last paragraph removed, feel free to add:

Reviewed-by: Javier Martinez Canillas <[email protected]>

> - reg : the I2C address of the EEPROM
>

Best regards,
Javier

2017-12-21 13:20:57

by Javier Martinez Canillas

[permalink] [raw]
Subject: Re: [PATCH 2/5] dt-bindings: at24: add a missing compatible

On Thu, Dec 21, 2017 at 2:08 PM, Bartosz Golaszewski <[email protected]> wrote:
> "atmel,spd" is reported by checkpatch as undocumented in the device
> tree bindings. Add it to the list of supported compatible strings.
>
> Signed-off-by: Bartosz Golaszewski <[email protected]>
> ---

Reviewed-by: Javier Martinez Canillas <[email protected]>

Best regards,
Javier

2017-12-21 13:21:19

by Javier Martinez Canillas

[permalink] [raw]
Subject: Re: [PATCH 3/5] dt-bindings: at24: fix formatting and style

On Thu, Dec 21, 2017 at 2:08 PM, Bartosz Golaszewski <[email protected]> wrote:
> Make formatting and style consistent for the entire document.
>
> This patch doesn't change the content of the binding.
>
> Signed-off-by: Bartosz Golaszewski <[email protected]>
> ---

Reviewed-by: Javier Martinez Canillas <[email protected]>

Best regards,
Javier

2017-12-21 13:22:19

by Javier Martinez Canillas

[permalink] [raw]
Subject: Re: [PATCH 4/5] dt-bindings: at24: extend the list of supported chips

On Thu, Dec 21, 2017 at 2:08 PM, Bartosz Golaszewski <[email protected]> wrote:
> Add other variants of at24 EEPROMs we support in the driver to the

Again I wouldn't mention the driver here, but instead say that there
are variations of the chip that are compatible or something like that.

> list of allowed compatible strings.
>
> Signed-off-by: Bartosz Golaszewski <[email protected]>
> ---

Reviewed-by: Javier Martinez Canillas <[email protected]>

Best regards,
Javier

2017-12-21 13:22:53

by Javier Martinez Canillas

[permalink] [raw]
Subject: Re: [PATCH 5/5] eeprom: at24: extend the list of chips supported in DT

On Thu, Dec 21, 2017 at 2:08 PM, Bartosz Golaszewski <[email protected]> wrote:
> Add all supported at24 variants to the of_match table.
>
> Signed-off-by: Bartosz Golaszewski <[email protected]>
> ---

Reviewed-by: Javier Martinez Canillas <[email protected]>

Best regards,
Javier

2017-12-21 13:28:09

by Bartosz Golaszewski

[permalink] [raw]
Subject: Re: [PATCH 1/5] dt-bindings: at24: consistently document the compatible property

2017-12-21 14:19 GMT+01:00 Javier Martinez Canillas <[email protected]>:
> Hello Bartosz,
>
> Nice patch.
>
> On Thu, Dec 21, 2017 at 2:08 PM, Bartosz Golaszewski <[email protected]> wrote:
>> Current description of the compatible property for at24 is quite vague.
>>
>> Specify an exact list of accepted compatibles and document the - now
>> deprecated - strings which were previously used in device tree files.
>>
>> Signed-off-by: Bartosz Golaszewski <[email protected]>
>> ---
>> Documentation/devicetree/bindings/eeprom/at24.txt | 50 +++++++++++++----------
>> 1 file changed, 28 insertions(+), 22 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/eeprom/at24.txt b/Documentation/devicetree/bindings/eeprom/at24.txt
>> index cbc80e194ac6..6ccbd000bfa4 100644
>> --- a/Documentation/devicetree/bindings/eeprom/at24.txt
>> +++ b/Documentation/devicetree/bindings/eeprom/at24.txt
>> @@ -2,28 +2,34 @@ EEPROMs (I2C)
>>
>> Required properties:
>>
>> - - compatible : should be "<manufacturer>,<type>", like these:
>> -
>> - "atmel,24c00", "atmel,24c01", "atmel,24c02", "atmel,24c04",
>> - "atmel,24c08", "atmel,24c16", "atmel,24c32", "atmel,24c64",
>> - "atmel,24c128", "atmel,24c256", "atmel,24c512", "atmel,24c1024"
>> -
>> - "catalyst,24c32"
>> -
>> - "microchip,24c128"
>> -
>> - "ramtron,24c64"
>> -
>> - "renesas,r1ex24002"
>> -
>> - The following manufacturers values have been deprecated:
>> - "at", "at24"
>> -
>> - If there is no specific driver for <manufacturer>, a generic
>> - device with <type> and manufacturer "atmel" should be used.
>> - Possible types are:
>> - "24c00", "24c01", "24c02", "24c04", "24c08", "24c16", "24c32", "24c64",
>> - "24c128", "24c256", "24c512", "24c1024", "spd"
>> + - compatible: must be one of the following:
>> +
>> + "atmel,24c00",
>> + "atmel,24c01",
>> + "atmel,24c02",
>> + "atmel,24c04",
>> + "atmel,24c08",
>> + "atmel,24c16",
>> + "atmel,24c32",
>> + "atmel,24c64",
>> + "atmel,24c128",
>> + "atmel,24c256",
>> + "atmel,24c512",
>> + "atmel,24c1024"
>> +
>> + NOTE: old compatible strings, such as:
>> +
>> + "catalyst,24c32",
>> + "microchip,24c128",
>> + "ramtron,24c64",
>> + "renesas,r1ex24002",
>> + "at,24c08",
>> + "at24,24c08"
>> +
>> + will still work, but are now deprecated.
>> +
>> + Also: matching by device type alone - while still supported due to
>> + implementation details in I2C core - is deprecated as well.
>>
>
> I don't think that's correct to mention Linux specific implementation
> details in a Device Tree binding. It's supposed to be OS independent
> and in theory the same DT binding could be used in other OS /
> bootloaders.
>
> With that last paragraph removed, feel free to add:
>
> Reviewed-by: Javier Martinez Canillas <[email protected]>
>
>> - reg : the I2C address of the EEPROM
>>
>
> Best regards,
> Javier

How about I just add the no-vendor string examples to the list of
deprecated compatibles above?

Best regards,
Bartosz

2017-12-21 13:29:59

by Javier Martinez Canillas

[permalink] [raw]
Subject: Re: [PATCH 1/5] dt-bindings: at24: consistently document the compatible property

On Thu, Dec 21, 2017 at 2:28 PM, Bartosz Golaszewski <[email protected]> wrote:
> 2017-12-21 14:19 GMT+01:00 Javier Martinez Canillas <[email protected]>:
>> Hello Bartosz,
>>
>> Nice patch.
>>
>> On Thu, Dec 21, 2017 at 2:08 PM, Bartosz Golaszewski <[email protected]> wrote:
>>> Current description of the compatible property for at24 is quite vague.
>>>
>>> Specify an exact list of accepted compatibles and document the - now
>>> deprecated - strings which were previously used in device tree files.
>>>
>>> Signed-off-by: Bartosz Golaszewski <[email protected]>
>>> ---
>>> Documentation/devicetree/bindings/eeprom/at24.txt | 50 +++++++++++++----------
>>> 1 file changed, 28 insertions(+), 22 deletions(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/eeprom/at24.txt b/Documentation/devicetree/bindings/eeprom/at24.txt
>>> index cbc80e194ac6..6ccbd000bfa4 100644
>>> --- a/Documentation/devicetree/bindings/eeprom/at24.txt
>>> +++ b/Documentation/devicetree/bindings/eeprom/at24.txt
>>> @@ -2,28 +2,34 @@ EEPROMs (I2C)
>>>
>>> Required properties:
>>>
>>> - - compatible : should be "<manufacturer>,<type>", like these:
>>> -
>>> - "atmel,24c00", "atmel,24c01", "atmel,24c02", "atmel,24c04",
>>> - "atmel,24c08", "atmel,24c16", "atmel,24c32", "atmel,24c64",
>>> - "atmel,24c128", "atmel,24c256", "atmel,24c512", "atmel,24c1024"
>>> -
>>> - "catalyst,24c32"
>>> -
>>> - "microchip,24c128"
>>> -
>>> - "ramtron,24c64"
>>> -
>>> - "renesas,r1ex24002"
>>> -
>>> - The following manufacturers values have been deprecated:
>>> - "at", "at24"
>>> -
>>> - If there is no specific driver for <manufacturer>, a generic
>>> - device with <type> and manufacturer "atmel" should be used.
>>> - Possible types are:
>>> - "24c00", "24c01", "24c02", "24c04", "24c08", "24c16", "24c32", "24c64",
>>> - "24c128", "24c256", "24c512", "24c1024", "spd"
>>> + - compatible: must be one of the following:
>>> +
>>> + "atmel,24c00",
>>> + "atmel,24c01",
>>> + "atmel,24c02",
>>> + "atmel,24c04",
>>> + "atmel,24c08",
>>> + "atmel,24c16",
>>> + "atmel,24c32",
>>> + "atmel,24c64",
>>> + "atmel,24c128",
>>> + "atmel,24c256",
>>> + "atmel,24c512",
>>> + "atmel,24c1024"
>>> +
>>> + NOTE: old compatible strings, such as:
>>> +
>>> + "catalyst,24c32",
>>> + "microchip,24c128",
>>> + "ramtron,24c64",
>>> + "renesas,r1ex24002",
>>> + "at,24c08",
>>> + "at24,24c08"
>>> +
>>> + will still work, but are now deprecated.
>>> +
>>> + Also: matching by device type alone - while still supported due to
>>> + implementation details in I2C core - is deprecated as well.
>>>
>>
>> I don't think that's correct to mention Linux specific implementation
>> details in a Device Tree binding. It's supposed to be OS independent
>> and in theory the same DT binding could be used in other OS /
>> bootloaders.
>>
>> With that last paragraph removed, feel free to add:
>>
>> Reviewed-by: Javier Martinez Canillas <[email protected]>
>>
>>> - reg : the I2C address of the EEPROM
>>>
>>
>> Best regards,
>> Javier
>
> How about I just add the no-vendor string examples to the list of
> deprecated compatibles above?
>

yes, that's a good idea.

> Best regards,
> Bartosz

Best regards,
Javier

2017-12-21 13:50:51

by Bartosz Golaszewski

[permalink] [raw]
Subject: Re: [PATCH 0/5] eeprom: at24: device tree support fixes

2017-12-21 14:08 GMT+01:00 Bartosz Golaszewski <[email protected]>:
> The first three patches fix certain issues with the DT binding
> document.
>
> The last two extend the device tree support in the driver with more
> at24 EEPROM variants.
>
> Bartosz Golaszewski (5):
> dt-bindings: at24: consistently document the compatible property
> dt-bindings: at24: add a missing compatible
> dt-bindings: at24: fix formatting and style
> dt-bindings: at24: extend the list of supported chips
> eeprom: at24: extend the list of chips supported in DT
>
> Documentation/devicetree/bindings/eeprom/at24.txt | 84 ++++++++++++++---------
> drivers/misc/eeprom/at24.c | 9 +++
> 2 files changed, 59 insertions(+), 34 deletions(-)
>
> --
> 2.15.1
>

Superseded by v2.