[15/17] ir-hix5hd2: drop the use of IRQF_NO_SUSPEND

Message ID 1442850433-5903-16-git-send-email-sudeep.holla@arm.com
State New
Headers show

Commit Message

Sudeep Holla Sept. 21, 2015, 3:47 p.m.
This driver doesn't claim the IR transmitter to be wakeup source. It
even disables the clock and the IR during suspend-resume cycle.

This patch removes yet another misuse of IRQF_NO_SUSPEND.

Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Cc: Zhangfei Gao <zhangfei.gao@linaro.org>
Cc: Patrice Chotard <patrice.chotard@st.com>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Guoxiong Yan <yanguoxiong@huawei.com>
Cc: linux-media@vger.kernel.org
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
---
 drivers/media/rc/ir-hix5hd2.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

zhangfei Sept. 23, 2015, 2:26 p.m. | #1
On 09/21/2015 08:47 AM, Sudeep Holla wrote:
> This driver doesn't claim the IR transmitter to be wakeup source. It
> even disables the clock and the IR during suspend-resume cycle.
>
> This patch removes yet another misuse of IRQF_NO_SUSPEND.
>
> Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
> Cc: Zhangfei Gao <zhangfei.gao@linaro.org>
> Cc: Patrice Chotard <patrice.chotard@st.com>
> Cc: Fabio Estevam <fabio.estevam@freescale.com>
> Cc: Guoxiong Yan <yanguoxiong@huawei.com>
> Cc: linux-media@vger.kernel.org
> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
> ---
>   drivers/media/rc/ir-hix5hd2.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/media/rc/ir-hix5hd2.c b/drivers/media/rc/ir-hix5hd2.c
> index 1c087cb76815..d0549fba711c 100644
> --- a/drivers/media/rc/ir-hix5hd2.c
> +++ b/drivers/media/rc/ir-hix5hd2.c
> @@ -257,7 +257,7 @@ static int hix5hd2_ir_probe(struct platform_device *pdev)
>   		goto clkerr;
>
>   	if (devm_request_irq(dev, priv->irq, hix5hd2_ir_rx_interrupt,
> -			     IRQF_NO_SUSPEND, pdev->name, priv) < 0) {
> +			     0, pdev->name, priv) < 0) {
>   		dev_err(dev, "IRQ %d register failed\n", priv->irq);
>   		ret = -EINVAL;
>   		goto regerr;
>

ir is wakeup source for hix5hd2, so we use IRQF_NO_SUSPEND.
However, it is true the wakeup mechanism is not realized on hix5hd2 yet.
I am fine with either using IRQF_NO_SUSPEND or not.

Thanks for the patch.
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Sudeep Holla Sept. 23, 2015, 2:37 p.m. | #2
On 23/09/15 15:26, zhangfei wrote:
>
>
> On 09/21/2015 08:47 AM, Sudeep Holla wrote:
>> This driver doesn't claim the IR transmitter to be wakeup source. It
>> even disables the clock and the IR during suspend-resume cycle.
>>
>> This patch removes yet another misuse of IRQF_NO_SUSPEND.
>>
>> Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
>> Cc: Zhangfei Gao <zhangfei.gao@linaro.org>
>> Cc: Patrice Chotard <patrice.chotard@st.com>
>> Cc: Fabio Estevam <fabio.estevam@freescale.com>
>> Cc: Guoxiong Yan <yanguoxiong@huawei.com>
>> Cc: linux-media@vger.kernel.org
>> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
>> ---
>>    drivers/media/rc/ir-hix5hd2.c | 2 +-
>>    1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/media/rc/ir-hix5hd2.c b/drivers/media/rc/ir-hix5hd2.c
>> index 1c087cb76815..d0549fba711c 100644
>> --- a/drivers/media/rc/ir-hix5hd2.c
>> +++ b/drivers/media/rc/ir-hix5hd2.c
>> @@ -257,7 +257,7 @@ static int hix5hd2_ir_probe(struct platform_device *pdev)
>>    		goto clkerr;
>>
>>    	if (devm_request_irq(dev, priv->irq, hix5hd2_ir_rx_interrupt,
>> -			     IRQF_NO_SUSPEND, pdev->name, priv) < 0) {
>> +			     0, pdev->name, priv) < 0) {
>>    		dev_err(dev, "IRQ %d register failed\n", priv->irq);
>>    		ret = -EINVAL;
>>    		goto regerr;
>>
>
> ir is wakeup source for hix5hd2, so we use IRQF_NO_SUSPEND.

OK, but from the existing implementation of suspend/resume callbacks, I
read that the clocks as well as the IP block is powered off. Is part of
the logic always-on ?

> However, it is true the wakeup mechanism is not realized on hix5hd2 yet.

OK, then I assume you can add the right APIs(enable_irq_wake and
friends) when you add that feature.

> I am fine with either using IRQF_NO_SUSPEND or not.
>

No using IRQF_NO_SUSPEND for wakeup is simply wrong and hence this patch
series removes all those misuse. If you need it as wakeup, then you need
to use right APIs for that. Since I don't see any support for wakeup in
this driver I decided to just remove the flag. Please feel free to add
the support making use of right APIs.

Regards,
Sudeep
--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
zhangfei Sept. 23, 2015, 2:50 p.m. | #3
On 09/23/2015 07:37 AM, Sudeep Holla wrote:
>
>
> On 23/09/15 15:26, zhangfei wrote:
>>
>>
>> On 09/21/2015 08:47 AM, Sudeep Holla wrote:
>>> This driver doesn't claim the IR transmitter to be wakeup source. It
>>> even disables the clock and the IR during suspend-resume cycle.
>>>
>>> This patch removes yet another misuse of IRQF_NO_SUSPEND.
>>>
>>> Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
>>> Cc: Zhangfei Gao <zhangfei.gao@linaro.org>
>>> Cc: Patrice Chotard <patrice.chotard@st.com>
>>> Cc: Fabio Estevam <fabio.estevam@freescale.com>
>>> Cc: Guoxiong Yan <yanguoxiong@huawei.com>
>>> Cc: linux-media@vger.kernel.org
>>> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>

Acked-by: Zhangfei Gao <zhangfei.gao@linaro.org>

>>> ---
>>>    drivers/media/rc/ir-hix5hd2.c | 2 +-
>>>    1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/media/rc/ir-hix5hd2.c
>>> b/drivers/media/rc/ir-hix5hd2.c
>>> index 1c087cb76815..d0549fba711c 100644
>>> --- a/drivers/media/rc/ir-hix5hd2.c
>>> +++ b/drivers/media/rc/ir-hix5hd2.c
>>> @@ -257,7 +257,7 @@ static int hix5hd2_ir_probe(struct
>>> platform_device *pdev)
>>>            goto clkerr;
>>>
>>>        if (devm_request_irq(dev, priv->irq, hix5hd2_ir_rx_interrupt,
>>> -                 IRQF_NO_SUSPEND, pdev->name, priv) < 0) {
>>> +                 0, pdev->name, priv) < 0) {
>>>            dev_err(dev, "IRQ %d register failed\n", priv->irq);
>>>            ret = -EINVAL;
>>>            goto regerr;
>>>
>>
>> ir is wakeup source for hix5hd2, so we use IRQF_NO_SUSPEND.
>
> OK, but from the existing implementation of suspend/resume callbacks, I
> read that the clocks as well as the IP block is powered off. Is part of
> the logic always-on ?
>
>> However, it is true the wakeup mechanism is not realized on hix5hd2 yet.
>
> OK, then I assume you can add the right APIs(enable_irq_wake and
> friends) when you add that feature.
>
>> I am fine with either using IRQF_NO_SUSPEND or not.
>>
>
> No using IRQF_NO_SUSPEND for wakeup is simply wrong and hence this patch
> series removes all those misuse. If you need it as wakeup, then you need
> to use right APIs for that. Since I don't see any support for wakeup in
> this driver I decided to just remove the flag. Please feel free to add
> the support making use of right APIs.

Thanks Sudeep for the kind info.
Yes, you are right.

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

Patch

diff --git a/drivers/media/rc/ir-hix5hd2.c b/drivers/media/rc/ir-hix5hd2.c
index 1c087cb76815..d0549fba711c 100644
--- a/drivers/media/rc/ir-hix5hd2.c
+++ b/drivers/media/rc/ir-hix5hd2.c
@@ -257,7 +257,7 @@  static int hix5hd2_ir_probe(struct platform_device *pdev)
 		goto clkerr;
 
 	if (devm_request_irq(dev, priv->irq, hix5hd2_ir_rx_interrupt,
-			     IRQF_NO_SUSPEND, pdev->name, priv) < 0) {
+			     0, pdev->name, priv) < 0) {
 		dev_err(dev, "IRQ %d register failed\n", priv->irq);
 		ret = -EINVAL;
 		goto regerr;