* [PATCH net-next] cirrus: cs89x0: fix the return value handle and remove redundant dev_warn() for platform_get_irq()
@ 2023-08-01 13:31 Ruan Jinjie
2023-08-02 8:32 ` Simon Horman
2023-08-02 19:20 ` patchwork-bot+netdevbpf
0 siblings, 2 replies; 5+ messages in thread
From: Ruan Jinjie @ 2023-08-01 13:31 UTC (permalink / raw)
To: davem, edumazet, kuba, pabeni, wei.fang, robh, bhupesh.sharma,
ruanjinjie, arnd, netdev
There is no possible for platform_get_irq() to return 0
and the return value of platform_get_irq() is more sensible
to show the error reason.
And there is no need to call the dev_warn() function directly to print
a custom message when handling an error from platform_get_irq() function as
it is going to display an appropriate error message in case of a failure.
Signed-off-by: Ruan Jinjie <ruanjinjie@huawei.com>
---
drivers/net/ethernet/cirrus/cs89x0.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/cirrus/cs89x0.c b/drivers/net/ethernet/cirrus/cs89x0.c
index 7c51fd9fc9be..d323c5c23521 100644
--- a/drivers/net/ethernet/cirrus/cs89x0.c
+++ b/drivers/net/ethernet/cirrus/cs89x0.c
@@ -1854,9 +1854,8 @@ static int __init cs89x0_platform_probe(struct platform_device *pdev)
return -ENOMEM;
dev->irq = platform_get_irq(pdev, 0);
- if (dev->irq <= 0) {
- dev_warn(&dev->dev, "interrupt resource missing\n");
- err = -ENXIO;
+ if (dev->irq < 0) {
+ err = dev->irq;
goto free;
}
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH net-next] cirrus: cs89x0: fix the return value handle and remove redundant dev_warn() for platform_get_irq()
2023-08-01 13:31 [PATCH net-next] cirrus: cs89x0: fix the return value handle and remove redundant dev_warn() for platform_get_irq() Ruan Jinjie
@ 2023-08-02 8:32 ` Simon Horman
2023-08-02 13:33 ` Alex Elder
2023-08-02 19:20 ` patchwork-bot+netdevbpf
1 sibling, 1 reply; 5+ messages in thread
From: Simon Horman @ 2023-08-02 8:32 UTC (permalink / raw)
To: Ruan Jinjie
Cc: davem, edumazet, kuba, pabeni, wei.fang, robh, bhupesh.sharma,
arnd, netdev, Alex Elder
+ Alex Elder
On Tue, Aug 01, 2023 at 09:31:21PM +0800, Ruan Jinjie wrote:
> There is no possible for platform_get_irq() to return 0
> and the return value of platform_get_irq() is more sensible
> to show the error reason.
>
> And there is no need to call the dev_warn() function directly to print
> a custom message when handling an error from platform_get_irq() function as
> it is going to display an appropriate error message in case of a failure.
>
> Signed-off-by: Ruan Jinjie <ruanjinjie@huawei.com>
Reviewed-by: Simon Horman <horms@kernel.org>
> ---
> drivers/net/ethernet/cirrus/cs89x0.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/ethernet/cirrus/cs89x0.c b/drivers/net/ethernet/cirrus/cs89x0.c
> index 7c51fd9fc9be..d323c5c23521 100644
> --- a/drivers/net/ethernet/cirrus/cs89x0.c
> +++ b/drivers/net/ethernet/cirrus/cs89x0.c
> @@ -1854,9 +1854,8 @@ static int __init cs89x0_platform_probe(struct platform_device *pdev)
> return -ENOMEM;
>
> dev->irq = platform_get_irq(pdev, 0);
> - if (dev->irq <= 0) {
> - dev_warn(&dev->dev, "interrupt resource missing\n");
> - err = -ENXIO;
> + if (dev->irq < 0) {
> + err = dev->irq;
> goto free;
> }
>
> --
> 2.34.1
>
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH net-next] cirrus: cs89x0: fix the return value handle and remove redundant dev_warn() for platform_get_irq()
2023-08-02 8:32 ` Simon Horman
@ 2023-08-02 13:33 ` Alex Elder
2023-08-02 20:12 ` Arnd Bergmann
0 siblings, 1 reply; 5+ messages in thread
From: Alex Elder @ 2023-08-02 13:33 UTC (permalink / raw)
To: Simon Horman, Ruan Jinjie
Cc: davem, edumazet, kuba, pabeni, wei.fang, robh, bhupesh.sharma,
arnd, netdev
On 8/2/23 3:32 AM, Simon Horman wrote:
> + Alex Elder
>
> On Tue, Aug 01, 2023 at 09:31:21PM +0800, Ruan Jinjie wrote:
>> There is no possible for platform_get_irq() to return 0
>> and the return value of platform_get_irq() is more sensible
>> to show the error reason.
>>
>> And there is no need to call the dev_warn() function directly to print
>> a custom message when handling an error from platform_get_irq() function as
>> it is going to display an appropriate error message in case of a failure.
>>
>> Signed-off-by: Ruan Jinjie <ruanjinjie@huawei.com>
First, I agree that the dev_warn() is unnecessary.
On the "<" versus "<=" issue is something I've commented on before.
It's true that 0 is not (or should not be) a valid IRQ number. But
at one time a several years back I couldn't convince myself that it
100% could not happen. I no longer remember the details, and it
might not have even been in this particular case (i.e., return
from platform_get_irq()).
I do see that a85a6c86c25be ("driver core: platform: Clarify that
IRQ 0 is invalid)" got added in 2020, and it added a WARN_ON()
in platform_get_irq_optional() before returning the IRQ number if
it's zero. So in this case, if it *did* happen to return 0,
you'd at least get a warning.
So given that you'll get a warning on a bogus 0 IRQ number, I have
no problem with this part of the patch either.
-Alex
Reviewed-by: Alex Elder <elder@linaro.org>
>
> Reviewed-by: Simon Horman <horms@kernel.org>
>
>> ---
>> drivers/net/ethernet/cirrus/cs89x0.c | 5 ++---
>> 1 file changed, 2 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/net/ethernet/cirrus/cs89x0.c b/drivers/net/ethernet/cirrus/cs89x0.c
>> index 7c51fd9fc9be..d323c5c23521 100644
>> --- a/drivers/net/ethernet/cirrus/cs89x0.c
>> +++ b/drivers/net/ethernet/cirrus/cs89x0.c
>> @@ -1854,9 +1854,8 @@ static int __init cs89x0_platform_probe(struct platform_device *pdev)
>> return -ENOMEM;
>>
>> dev->irq = platform_get_irq(pdev, 0);
>> - if (dev->irq <= 0) {
>> - dev_warn(&dev->dev, "interrupt resource missing\n");
>> - err = -ENXIO;
>> + if (dev->irq < 0) {
>> + err = dev->irq;
>> goto free;
>> }
>>
>> --
>> 2.34.1
>>
>>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH net-next] cirrus: cs89x0: fix the return value handle and remove redundant dev_warn() for platform_get_irq()
2023-08-01 13:31 [PATCH net-next] cirrus: cs89x0: fix the return value handle and remove redundant dev_warn() for platform_get_irq() Ruan Jinjie
2023-08-02 8:32 ` Simon Horman
@ 2023-08-02 19:20 ` patchwork-bot+netdevbpf
1 sibling, 0 replies; 5+ messages in thread
From: patchwork-bot+netdevbpf @ 2023-08-02 19:20 UTC (permalink / raw)
To: Ruan Jinjie
Cc: davem, edumazet, kuba, pabeni, wei.fang, robh, bhupesh.sharma,
arnd, netdev
Hello:
This patch was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:
On Tue, 1 Aug 2023 21:31:21 +0800 you wrote:
> There is no possible for platform_get_irq() to return 0
> and the return value of platform_get_irq() is more sensible
> to show the error reason.
>
> And there is no need to call the dev_warn() function directly to print
> a custom message when handling an error from platform_get_irq() function as
> it is going to display an appropriate error message in case of a failure.
>
> [...]
Here is the summary with links:
- [net-next] cirrus: cs89x0: fix the return value handle and remove redundant dev_warn() for platform_get_irq()
https://git.kernel.org/netdev/net-next/c/497c3a5fb3ed
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH net-next] cirrus: cs89x0: fix the return value handle and remove redundant dev_warn() for platform_get_irq()
2023-08-02 13:33 ` Alex Elder
@ 2023-08-02 20:12 ` Arnd Bergmann
0 siblings, 0 replies; 5+ messages in thread
From: Arnd Bergmann @ 2023-08-02 20:12 UTC (permalink / raw)
To: Alex Elder, Simon Horman, Ruan Jinjie
Cc: David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Wei Fang, Rob Herring, bhupesh.sharma, Netdev
On Wed, Aug 2, 2023, at 15:33, Alex Elder wrote:
> On 8/2/23 3:32 AM, Simon Horman wrote:
>> On Tue, Aug 01, 2023 at 09:31:21PM +0800, Ruan Jinjie wrote:
>>> There is no possible for platform_get_irq() to return 0
>>> and the return value of platform_get_irq() is more sensible
>>> to show the error reason.
>>>
>>> And there is no need to call the dev_warn() function directly to print
>>> a custom message when handling an error from platform_get_irq() function as
>>> it is going to display an appropriate error message in case of a failure.
>>>
>>> Signed-off-by: Ruan Jinjie <ruanjinjie@huawei.com>
>
> First, I agree that the dev_warn() is unnecessary.
>
> On the "<" versus "<=" issue is something I've commented on before.
>
> It's true that 0 is not (or should not be) a valid IRQ number. But
> at one time a several years back I couldn't convince myself that it
> 100% could not happen. I no longer remember the details, and it
> might not have even been in this particular case (i.e., return
> from platform_get_irq()).
>
> I do see that a85a6c86c25be ("driver core: platform: Clarify that
> IRQ 0 is invalid)" got added in 2020, and it added a WARN_ON()
> in platform_get_irq_optional() before returning the IRQ number if
> it's zero. So in this case, if it *did* happen to return 0,
> you'd at least get a warning.
Some of the older arm32 platforms used to start IRQ numbers at 0
instead of 1, but those should all have been converted by now,
and it's unlikely that the first interrupt would be the network
controller on any of those that did.
Arnd
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-08-02 20:12 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-01 13:31 [PATCH net-next] cirrus: cs89x0: fix the return value handle and remove redundant dev_warn() for platform_get_irq() Ruan Jinjie
2023-08-02 8:32 ` Simon Horman
2023-08-02 13:33 ` Alex Elder
2023-08-02 20:12 ` Arnd Bergmann
2023-08-02 19:20 ` patchwork-bot+netdevbpf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).