Re: [PATCH] gpiolib: irqchip: use different lockdep class for each gpio irqchip

From: Grygorii Strashko
Date: Mon Aug 17 2015 - 05:40:39 EST


On 08/14/2015 03:34 PM, Linus Walleij wrote:
> On Thu, Aug 13, 2015 at 4:58 PM, Grygorii Strashko
> <grygorii.strashko@xxxxxx> wrote:
>
>> Since IRQ chip helpers were introduced drivers lose ability to
>> register separate lockdep classes for each registered GPIO IRQ
>> chip and the gpiolib now is using shared lockdep class for
>> all GPIO IRQ chips (gpiochip_irq_lock_class).
>> As result, lockdep will produce warning when there are min two
>> stacked GPIO chips and all of them are interrupt controllers.
>>
>> HW configuration which generates lockdep warning (TI dra7-evm):
> (...)
>>
>> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
>> Cc: Roger Quadros <rogerq@xxxxxx>
>> Reported-by: Roger Quadros <rogerq@xxxxxx>
>> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx>
>
> Ah, I see...
>
>
>> * implies that if the chip supports IRQs, these IRQs need to be threaded
>> * as the chip access may sleep when e.g. reading out the IRQ status
>> * registers.
>> + * @exported: flags if the gpiochip is exported for use from sysfs. Private.
>> * @irq_not_threaded: flag must be set if @can_sleep is set but the
>> * IRQs don't need to be threaded
>> *
>> @@ -126,6 +128,7 @@ struct gpio_chip {
>> irq_flow_handler_t irq_handler;
>> unsigned int irq_default_type;
>> int irq_parent;
>> + struct lock_class_key *lock_key;
>
> There is something weird with the kerneldoc. It is documenting something
> else but not documenting the new member.
>

Sorry, for that.

There are no kerneldocs for any of GPIO IRQ chip's specific fields,
Do you prefer me to add doc for "lock_key" or all of them?

--
regards,
-grygorii
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/