diff mbox

[v5,05/20] ARM: dts: efm32: Add generic compatible string for I2C EEPROM

Message ID 20170523133448.4794-6-javier@dowhile0.org (mailing list archive)
State New, archived
Headers show

Commit Message

Javier Martinez Canillas May 23, 2017, 1:34 p.m. UTC
The at24 driver allows to register I2C EEPROM chips using different vendor
and devices, but the I2C subsystem does not take the vendor into account
when matching using the I2C table since it only has device entries.

But when matching using an OF table, both the vendor and device has to be
taken into account so the driver defines only a set of compatible strings
using the "atmel" vendor as a generic fallback for compatible I2C devices.

So add this generic fallback to the device node compatible string to make
the device to match the driver using the OF device ID table.

Signed-off-by: Javier Martinez Canillas <javier@dowhile0.org>

---

Changes in v5:
- Only replace atmel variant but keep other EEPROM vendors (Geert Uytterhoeven).

Changes in v4:
- Only use the atmel manufacturer in the compatible string instead of
  keeping the deprecated ones (Rob Herring).

Changes in v3: None
Changes in v2: None

 arch/arm/boot/dts/efm32gg-dk3750.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Uwe Kleine-König May 25, 2017, 6:29 p.m. UTC | #1
Hello,

On Tue, May 23, 2017 at 03:34:33PM +0200, Javier Martinez Canillas wrote:
> The at24 driver allows to register I2C EEPROM chips using different vendor
> and devices, but the I2C subsystem does not take the vendor into account
> when matching using the I2C table since it only has device entries.
> 
> But when matching using an OF table, both the vendor and device has to be
> taken into account so the driver defines only a set of compatible strings
> using the "atmel" vendor as a generic fallback for compatible I2C devices.
> 
> So add this generic fallback to the device node compatible string to make
> the device to match the driver using the OF device ID table.
> 
> Signed-off-by: Javier Martinez Canillas <javier@dowhile0.org>

Assuming the of-table patch is accepted this can have my:

Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>

Otherwise I'm not convinced this is worth the churn.

Thanks
Uwe
Javier Martinez Canillas May 25, 2017, 8:17 p.m. UTC | #2
Hello Uwe,

On Thu, May 25, 2017 at 8:29 PM, Uwe Kleine-König
<u.kleine-koenig@pengutronix.de> wrote:
> Hello,
>
> On Tue, May 23, 2017 at 03:34:33PM +0200, Javier Martinez Canillas wrote:
>> The at24 driver allows to register I2C EEPROM chips using different vendor
>> and devices, but the I2C subsystem does not take the vendor into account
>> when matching using the I2C table since it only has device entries.
>>
>> But when matching using an OF table, both the vendor and device has to be
>> taken into account so the driver defines only a set of compatible strings
>> using the "atmel" vendor as a generic fallback for compatible I2C devices.
>>
>> So add this generic fallback to the device node compatible string to make
>> the device to match the driver using the OF device ID table.
>>
>> Signed-off-by: Javier Martinez Canillas <javier@dowhile0.org>
>
> Assuming the of-table patch is accepted this can have my:
>
> Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
>

Thanks a lot for the Ack.

> Otherwise I'm not convinced this is worth the churn.
>

Both changes are needed in order to make sure that the driver and DTS
won't regress when the I2C core is modified to report a proper
MODALIAS for I2C devices registered via OF.

> Thanks
> Uwe
>

Best regards,
Javier
diff mbox

Patch

diff --git a/arch/arm/boot/dts/efm32gg-dk3750.dts b/arch/arm/boot/dts/efm32gg-dk3750.dts
index 98fc667d22c7..84f0a9abc290 100644
--- a/arch/arm/boot/dts/efm32gg-dk3750.dts
+++ b/arch/arm/boot/dts/efm32gg-dk3750.dts
@@ -36,7 +36,7 @@ 
 			};
 
 			eeprom@50 {
-				compatible = "microchip,24c02";
+				compatible = "microchip,24c02", "atmel,24c02";
 				reg = <0x50>;
 				pagesize = <16>;
 			};