2019-11-05 11:32:09

by Markus Elfring

[permalink] [raw]
Subject: [PATCH] irqchip/ti-sci-inta: Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(...))

From: Markus Elfring <[email protected]>
Date: Tue, 5 Nov 2019 12:19:39 +0100

A coccicheck run provided information like the following.

drivers/irqchip/irq-ti-sci-inta.c:250:9-16: WARNING: ERR_CAST can be used
with vint_desc.

Generated by: scripts/coccinelle/api/err_cast.cocci

Thus adjust the exception handling in one if branch.

Fixes: 9f1463b86c13277d0bd88d5ee359577ef40f4da7 ("irqchip/ti-sci-inta: Add support for Interrupt Aggregator driver")
Signed-off-by: Markus Elfring <[email protected]>
---
drivers/irqchip/irq-ti-sci-inta.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/irqchip/irq-ti-sci-inta.c b/drivers/irqchip/irq-ti-sci-inta.c
index ef4d625d2d80..8f6e6b08eadf 100644
--- a/drivers/irqchip/irq-ti-sci-inta.c
+++ b/drivers/irqchip/irq-ti-sci-inta.c
@@ -246,8 +246,8 @@ static struct ti_sci_inta_event_desc *ti_sci_inta_alloc_irq(struct irq_domain *d
/* No free bits available. Allocate a new vint */
vint_desc = ti_sci_inta_alloc_parent_irq(domain);
if (IS_ERR(vint_desc)) {
- mutex_unlock(&inta->vint_mutex);
- return ERR_PTR(PTR_ERR(vint_desc));
+ event_desc = ERR_CAST(vint_desc);
+ goto unlock;
}

free_bit = find_first_zero_bit(vint_desc->event_map,
@@ -259,6 +259,7 @@ static struct ti_sci_inta_event_desc *ti_sci_inta_alloc_irq(struct irq_domain *d
if (IS_ERR(event_desc))
clear_bit(free_bit, vint_desc->event_map);

+unlock:
mutex_unlock(&inta->vint_mutex);
return event_desc;
}
--
2.23.0


2019-11-11 03:39:22

by Lokesh Vutla

[permalink] [raw]
Subject: Re: [PATCH] irqchip/ti-sci-inta: Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(...))



On 05/11/19 5:00 PM, Markus Elfring wrote:
> From: Markus Elfring <[email protected]>
> Date: Tue, 5 Nov 2019 12:19:39 +0100
>
> A coccicheck run provided information like the following.
>
> drivers/irqchip/irq-ti-sci-inta.c:250:9-16: WARNING: ERR_CAST can be used
> with vint_desc.
>
> Generated by: scripts/coccinelle/api/err_cast.cocci
>
> Thus adjust the exception handling in one if branch.
>
> Fixes: 9f1463b86c13277d0bd88d5ee359577ef40f4da7 ("irqchip/ti-sci-inta: Add support for Interrupt Aggregator driver")

Fixes: 9f1463b86c13 ("irqchip/ti-sci-inta: Add support for Interrupt Aggregator
driver")

With this:

Reviewed-by: Lokesh Vutla <[email protected]>

Thanks and regards,
Lokesh


> Signed-off-by: Markus Elfring <[email protected]>
> ---
> drivers/irqchip/irq-ti-sci-inta.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/irqchip/irq-ti-sci-inta.c b/drivers/irqchip/irq-ti-sci-inta.c
> index ef4d625d2d80..8f6e6b08eadf 100644
> --- a/drivers/irqchip/irq-ti-sci-inta.c
> +++ b/drivers/irqchip/irq-ti-sci-inta.c
> @@ -246,8 +246,8 @@ static struct ti_sci_inta_event_desc *ti_sci_inta_alloc_irq(struct irq_domain *d
> /* No free bits available. Allocate a new vint */
> vint_desc = ti_sci_inta_alloc_parent_irq(domain);
> if (IS_ERR(vint_desc)) {
> - mutex_unlock(&inta->vint_mutex);
> - return ERR_PTR(PTR_ERR(vint_desc));
> + event_desc = ERR_CAST(vint_desc);
> + goto unlock;
> }
>
> free_bit = find_first_zero_bit(vint_desc->event_map,
> @@ -259,6 +259,7 @@ static struct ti_sci_inta_event_desc *ti_sci_inta_alloc_irq(struct irq_domain *d
> if (IS_ERR(event_desc))
> clear_bit(free_bit, vint_desc->event_map);
>
> +unlock:
> mutex_unlock(&inta->vint_mutex);
> return event_desc;
> }
> --
> 2.23.0
>

2019-11-11 10:16:29

by Marc Zyngier

[permalink] [raw]
Subject: Re: [PATCH] irqchip/ti-sci-inta: Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(...))

On 2019-11-11 04:45, Lokesh Vutla wrote:
> On 05/11/19 5:00 PM, Markus Elfring wrote:
>> From: Markus Elfring <[email protected]>
>> Date: Tue, 5 Nov 2019 12:19:39 +0100
>>
>> A coccicheck run provided information like the following.
>>
>> drivers/irqchip/irq-ti-sci-inta.c:250:9-16: WARNING: ERR_CAST can be
>> used
>> with vint_desc.
>>
>> Generated by: scripts/coccinelle/api/err_cast.cocci
>>
>> Thus adjust the exception handling in one if branch.
>>
>> Fixes: 9f1463b86c13277d0bd88d5ee359577ef40f4da7
>> ("irqchip/ti-sci-inta: Add support for Interrupt Aggregator driver")
>
> Fixes: 9f1463b86c13 ("irqchip/ti-sci-inta: Add support for Interrupt
> Aggregator driver")

I fundamentally disagree with the "Fixes:" tag. This isn't a fix,
just a minor readability improvement. Flagging things as "Fixes:"
ends up triggering all kind of unnecessary backports to -stable.

> With this:
>
> Reviewed-by: Lokesh Vutla <[email protected]>

I'll otherwise take this patch in -next.

Thanks,

M.
--
Jazz is not dead. It just smells funny...

2019-11-13 11:08:24

by Lokesh Vutla

[permalink] [raw]
Subject: Re: [PATCH] irqchip/ti-sci-inta: Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(...))



On 11/11/19 3:45 PM, Marc Zyngier wrote:
> On 2019-11-11 04:45, Lokesh Vutla wrote:
>> On 05/11/19 5:00 PM, Markus Elfring wrote:
>>> From: Markus Elfring <[email protected]>
>>> Date: Tue, 5 Nov 2019 12:19:39 +0100
>>>
>>> A coccicheck run provided information like the following.
>>>
>>> drivers/irqchip/irq-ti-sci-inta.c:250:9-16: WARNING: ERR_CAST can be used
>>> with vint_desc.
>>>
>>> Generated by: scripts/coccinelle/api/err_cast.cocci
>>>
>>> Thus adjust the exception handling in one if branch.
>>>
>>> Fixes: 9f1463b86c13277d0bd88d5ee359577ef40f4da7 ("irqchip/ti-sci-inta: Add
>>> support for Interrupt Aggregator driver")
>>
>> Fixes: 9f1463b86c13 ("irqchip/ti-sci-inta: Add support for Interrupt
>> Aggregator driver")
>
> I fundamentally disagree with the "Fixes:" tag. This isn't a fix,
> just a minor readability improvement. Flagging things as "Fixes:"
> ends up triggering all kind of unnecessary backports to -stable.
>
>> With this:

Fine with me. Please drop the fixes tag.

Thanks and regards.
Lokesh

>>
>> Reviewed-by: Lokesh Vutla <[email protected]>
>
> I'll otherwise take this patch in -next.
>
> Thanks,
>
>         M.

Subject: [tip: irq/core] irqchip/ti-sci-inta: Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(...))

The following commit has been merged into the irq/core branch of tip:

Commit-ID: 761becb29183c4e2ad9ff5f63933170c8fffd544
Gitweb: https://git.kernel.org/tip/761becb29183c4e2ad9ff5f63933170c8fffd544
Author: Markus Elfring <[email protected]>
AuthorDate: Tue, 05 Nov 2019 12:19:39 +01:00
Committer: Marc Zyngier <[email protected]>
CommitterDate: Mon, 11 Nov 2019 10:19:06

irqchip/ti-sci-inta: Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(...))

A coccicheck run provided information like the following.

drivers/irqchip/irq-ti-sci-inta.c:250:9-16: WARNING: ERR_CAST can be used
with vint_desc.

Generated by: scripts/coccinelle/api/err_cast.cocci

Thus adjust the exception handling in one if branch.

Signed-off-by: Markus Elfring <[email protected]>
Signed-off-by: Marc Zyngier <[email protected]>
Reviewed-by: Lokesh Vutla <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
---
drivers/irqchip/irq-ti-sci-inta.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/irqchip/irq-ti-sci-inta.c b/drivers/irqchip/irq-ti-sci-inta.c
index ef4d625..8f6e6b0 100644
--- a/drivers/irqchip/irq-ti-sci-inta.c
+++ b/drivers/irqchip/irq-ti-sci-inta.c
@@ -246,8 +246,8 @@ static struct ti_sci_inta_event_desc *ti_sci_inta_alloc_irq(struct irq_domain *d
/* No free bits available. Allocate a new vint */
vint_desc = ti_sci_inta_alloc_parent_irq(domain);
if (IS_ERR(vint_desc)) {
- mutex_unlock(&inta->vint_mutex);
- return ERR_PTR(PTR_ERR(vint_desc));
+ event_desc = ERR_CAST(vint_desc);
+ goto unlock;
}

free_bit = find_first_zero_bit(vint_desc->event_map,
@@ -259,6 +259,7 @@ alloc_event:
if (IS_ERR(event_desc))
clear_bit(free_bit, vint_desc->event_map);

+unlock:
mutex_unlock(&inta->vint_mutex);
return event_desc;
}