Re: lockdep: incorrect deadlock warning with two GPIO expanders

2016-09-16 Thread Bartosz Golaszewski
2016-09-15 14:41 GMT+02:00 Linus Walleij : > > Oh clever. Of course. > > Bartosz can you try out this approach? > > Yours, > Linus Walleij Hi Linus, I submitted a patch reusing a routine already present in i2c.h that allows to test if an i2c adapter's parent is also an i2c adapter, which is the c

Re: lockdep: incorrect deadlock warning with two GPIO expanders

2016-09-16 Thread Bartosz Golaszewski
2016-09-16 13:14 GMT+02:00 Bartosz Golaszewski : > > The whole thing is a bit more complicated - I'm trying to figure out > the code behind it, but the first expander has four parents whose > driver == pca953x, while the second has five of them. There is no > device name, but kobj->name corresponds

Re: lockdep: incorrect deadlock warning with two GPIO expanders

2016-09-16 Thread Bartosz Golaszewski
2016-09-16 12:56 GMT+02:00 Peter Zijlstra : > On Thu, Sep 15, 2016 at 03:39:22PM +0200, Peter Zijlstra wrote: > >> In any case, if this fails, we can always punt and simply count the >> total number of instances of this driver on the system and go with that. > > One caveat with that approach is tha

Re: lockdep: incorrect deadlock warning with two GPIO expanders

2016-09-16 Thread Peter Zijlstra
On Thu, Sep 15, 2016 at 03:39:22PM +0200, Peter Zijlstra wrote: > In any case, if this fails, we can always punt and simply count the > total number of instances of this driver on the system and go with that. One caveat with that approach is that if this is s module, someone doing rmmod, insmod a

Re: lockdep: incorrect deadlock warning with two GPIO expanders

2016-09-15 Thread Bartosz Golaszewski
2016-09-15 16:38 GMT+02:00 Peter Zijlstra : > On Thu, Sep 15, 2016 at 04:08:52PM +0200, Bartosz Golaszewski wrote: >> 2016-09-15 15:39 GMT+02:00 Peter Zijlstra : > >> > In any case, if this fails, we can always punt and simply count the >> > total number of instances of this driver on the system an

Re: lockdep: incorrect deadlock warning with two GPIO expanders

2016-09-15 Thread Peter Zijlstra
On Thu, Sep 15, 2016 at 04:08:52PM +0200, Bartosz Golaszewski wrote: > 2016-09-15 15:39 GMT+02:00 Peter Zijlstra : > > In any case, if this fails, we can always punt and simply count the > > total number of instances of this driver on the system and go with that. > > > > But for __mutex_init() to

Re: lockdep: incorrect deadlock warning with two GPIO expanders

2016-09-15 Thread Bartosz Golaszewski
2016-09-15 15:39 GMT+02:00 Peter Zijlstra : > On Thu, Sep 15, 2016 at 03:20:58PM +0200, Bartosz Golaszewski wrote: >> 2016-09-15 14:41 GMT+02:00 Linus Walleij : >> >> So can't you walk up that and see if you encounter the exact same driver >> >> again? >> >> >> >> Something like: >> >> >> >>

Re: lockdep: incorrect deadlock warning with two GPIO expanders

2016-09-15 Thread Peter Zijlstra
On Thu, Sep 15, 2016 at 03:20:58PM +0200, Bartosz Golaszewski wrote: > 2016-09-15 14:41 GMT+02:00 Linus Walleij : > >> So can't you walk up that and see if you encounter the exact same driver > >> again? > >> > >> Something like: > >> > >> for (nr = 0, parent = dev->parent; parent; parent =

Re: lockdep: incorrect deadlock warning with two GPIO expanders

2016-09-15 Thread Bartosz Golaszewski
2016-09-15 14:41 GMT+02:00 Linus Walleij : > On Thu, Sep 15, 2016 at 9:51 AM, Peter Zijlstra wrote: >> On Tue, Sep 13, 2016 at 02:29:24PM +0200, Linus Walleij wrote: >>> On Mon, Sep 12, 2016 at 5:33 PM, Peter Zijlstra >>> wrote: >>> > On Mon, Sep 12, 2016 at 05:16:14PM +0200, Bartosz Golaszewski

Re: lockdep: incorrect deadlock warning with two GPIO expanders

2016-09-15 Thread Linus Walleij
On Thu, Sep 15, 2016 at 9:51 AM, Peter Zijlstra wrote: > On Tue, Sep 13, 2016 at 02:29:24PM +0200, Linus Walleij wrote: >> On Mon, Sep 12, 2016 at 5:33 PM, Peter Zijlstra wrote: >> > On Mon, Sep 12, 2016 at 05:16:14PM +0200, Bartosz Golaszewski wrote: >> >> >> AFAIK there is no clean way to tell

Re: lockdep: incorrect deadlock warning with two GPIO expanders

2016-09-15 Thread Peter Zijlstra
On Tue, Sep 13, 2016 at 02:29:24PM +0200, Linus Walleij wrote: > On Mon, Sep 12, 2016 at 5:33 PM, Peter Zijlstra wrote: > > On Mon, Sep 12, 2016 at 05:16:14PM +0200, Bartosz Golaszewski wrote: > > >> AFAIK there is no clean way to tell that a GPIO is used by an I2C > >> multiplexer at probe time.

Re: lockdep: incorrect deadlock warning with two GPIO expanders

2016-09-13 Thread Linus Walleij
On Mon, Sep 12, 2016 at 5:33 PM, Peter Zijlstra wrote: > On Mon, Sep 12, 2016 at 05:16:14PM +0200, Bartosz Golaszewski wrote: >> AFAIK there is no clean way to tell that a GPIO is used by an I2C >> multiplexer at probe time. Linus, Alexandre could you confirm? Nominally, the GPIO descriptors are

Re: lockdep: incorrect deadlock warning with two GPIO expanders

2016-09-12 Thread Peter Zijlstra
On Mon, Sep 12, 2016 at 05:16:14PM +0200, Bartosz Golaszewski wrote: > >>- - - - - > >> --- - Bus segment 1 | | > >> | | | |--- Devices > >> | | SCL/SDA | |

Re: lockdep: incorrect deadlock warning with two GPIO expanders

2016-09-12 Thread Bartosz Golaszewski
+ Linus, Alexandre, linux-gpio 2016-09-12 14:09 GMT+02:00 Peter Zijlstra : >2016-09-12 13:51 GMT+02:00 Bartosz Golaszewski : >> I'm trying to figure out a way of getting rid of an incorrect lockdep >> deadlock warning, but the issue is not trivial. >> >> In our hardware an I2C multiplexer is con

Re: lockdep: incorrect deadlock warning with two GPIO expanders

2016-09-12 Thread Peter Zijlstra
On Mon, Sep 12, 2016 at 01:51:55PM +0200, Bartosz Golaszewski wrote: > I'm trying to figure out a way of getting rid of an incorrect lockdep > deadlock warning, but the issue is not trivial. > > In our hardware an I2C multiplexer is controlled by a GPIO provided by > an expander. There's a second