Re: lockdep: incorrect deadlock warning with two GPIO expanders

From: Peter Zijlstra
Date: Thu Sep 15 2016 - 09:39:37 EST


On Thu, Sep 15, 2016 at 03:20:58PM +0200, Bartosz Golaszewski wrote:
> 2016-09-15 14:41 GMT+02:00 Linus Walleij <linus.walleij@xxxxxxxxxx>:
> >> 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 = parent->parent) {
> >> if (parent->device_driver == &pca953x_driver.driver)
> >> nr++;
> >> }
> >
> > Oh clever. Of course.
> >
> > Bartosz can you try out this approach?
> >
>
> I think it may be more complicated than that, depending on the hw
> topology, but the general idea seems reasonable. I'll try this.

Yeah, I figured there might be more to it.

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.