Re: [PATCH 0/2] i2c: Don't assume bus nr 0 if none was specified
From: Karol Lewandowski
Date: Fri Mar 16 2012 - 08:27:25 EST
On 16.03.2012 13:19, Karol Lewandowski wrote:
> Hi,
>
> i2c controller drivers used to assume bus number 0 when none (-1) was specified.
>
> This worked on non-device tree systems, where one could explicitly specify
> bus number via platform data. On DT-enabled systems bus number is always -1.
>
> Some drivers assume bus number 0 when -1 is specified. This patchset kills
> this logic and switches to dynamic bus allocation (default when -1 is provided[1]).
[ I must have lost actual problem description while rewording
message itself... ]
Problem arises when multiple drivers (or multiple instances
of one driver) try to assume the same fixed bus number (0).
This causes simply causes i2c_add_numbered_bus() to fail.
Leaving -1 works perfectly, as registration function switches
to dynamic id registration.
>
> [ I've found out this when I've tried to instantiate more than one i2c-gpio
> instance on DT-enabled system. I've, hopefully, fixed few other drivers too. ]
>
> [1] Introduced by Grant Likely in 488bf314b ("i2c: Allow i2c_add_numbered_adapter()
> to assign a bus id")
>
> Karol Lewandowski (2):
> i2c-pxa: Drop leftover comment
> i2c: Dynamically assign adapter id if it wasn't explictly specified
>
> drivers/i2c/busses/i2c-gpio.c | 7 +------
> drivers/i2c/busses/i2c-octeon.c | 2 +-
> drivers/i2c/busses/i2c-pca-platform.c | 2 +-
> drivers/i2c/busses/i2c-pxa.c | 5 -----
> drivers/i2c/busses/i2c-versatile.c | 9 ++-------
> 5 files changed, 5 insertions(+), 20 deletions(-)
>
--
Karol Lewandowski | Samsung Poland R&D Center | Linux/Platform
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/