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-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html