Re: [PATCH v2] pinctrl: qcom: Add irq_enable callback for msm gpio

Neeraj Upadhyay
2019-06-25T10:29:24Z

On 6/25/19 2:28 PM, Linus Walleij wrote:
> On Mon, Jun 17, 2019 at 11:35 AM Neeraj Upadhyay <neeraju@codeaurora.org> wrote:
>
>> From: Srinivas Ramana <sramana@codeaurora.org>
>>
>> Introduce the irq_enable callback which will be same as irq_unmask
>> except that it will also clear the status bit before unmask.
>>
>> This will help in clearing any erroneous interrupts that would
>> have got latched when the interrupt is not in use.
>>
>> There may be devices like UART which can use the same gpio line
>> for data rx as well as a wakeup gpio when in suspend. The data that
>> was flowing on the line may latch the interrupt and when we enable
>> the interrupt before going to suspend, this would trigger the
>> unexpected interrupt. This change helps clearing the interrupt
>> so that these unexpected interrupts gets cleared.
>>
>> Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
>> Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
> Overall this looks good to me, waiting for Bjorn's review.
>
>> Changes since v1:
>> - Extracted common code into __msm_gpio_irq_unmask().
> Please don't name functions __like __that.
>
>> -static void msm_gpio_irq_unmask(struct irq_data *d)
>> +static void __msm_gpio_irq_unmask(struct irq_data *d, bool status_clear)
> Instead of __unclear __underscore __semantic use something
> really descriptive like
>
> static void msm_gpio_irq_clear_irq()
>
> That is what it does, right?

Is below ok? as it clears (if status_clear set) and then unmasks irq

static void msm_gpio_irq_clear_unmask()

>
> Other than that it looks fine.
>
> Yours,
> Linus Walleij

--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a
member of the Code Aurora Forum, hosted by The Linux Foundation