lkml.org 
[lkml]   [2012]   [Mar]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 0/2] i2c: Don't assume bus nr 0 if none was specified
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


\
 
 \ /
  Last update: 2012-03-16 13:29    [W:0.039 / U:2.644 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site