Re: lockdep: incorrect deadlock warning with two GPIO expanders

From: Bartosz Golaszewski
Date: Thu Sep 15 2016 - 10:15:05 EST


2016-09-15 15:39 GMT+02:00 Peter Zijlstra <peterz@xxxxxxxxxxxxx>:
> 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.
>

But for __mutex_init() to work with the key argument you need to know
it at compile time, right?