Currently, dec_irq_dispatch() is exclusively invoked by int-handler.S.
Inline the do_IRQ call into int-handler.S to silence the compiler
warning.
Fix follow error with gcc-14 when -Werror:
arch/mips/dec/setup.c:780:25: error: no previous prototype for ‘dec_irq_dispatch’ [-Werror=missing-prototypes]
780 | asmlinkage unsigned int dec_irq_dispatch(unsigned int irq)
| ^~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[7]: *** [scripts/Makefile.build:207: arch/mips/dec/setup.o] Error 1
make[6]: *** [scripts/Makefile.build:465: arch/mips/dec] Error 2
make[5]: *** [scripts/Makefile.build:465: arch/mips] Error 2
make[5]: *** Waiting for unfinished jobs....
make[4]: *** [Makefile:1992: .] Error 2
make[3]: *** [debian/rules:74: build-arch] Error 2
dpkg-buildpackage: error: make -f debian/rules binary subprocess returned exit status 2
make[2]: *** [scripts/Makefile.package:126: bindeb-pkg] Error 2
make[1]: *** [/mnt/83364c87-f5ee-4ae8-b862-930f1bd74feb/Projects/CommitUpstream/LinuxKernel/Temp/linux/Makefile:1625: bindeb-pkg] Error 2
make: *** [Makefile:251: __sub-make] Error 2
Signed-off-by: WangYuli <wangyuli@uniontech.com>
---
arch/mips/dec/int-handler.S | 2 +-
arch/mips/dec/setup.c | 6 ------
2 files changed, 1 insertion(+), 7 deletions(-)
diff --git a/arch/mips/dec/int-handler.S b/arch/mips/dec/int-handler.S
index 011d1d678840..a0b439c90488 100644
--- a/arch/mips/dec/int-handler.S
+++ b/arch/mips/dec/int-handler.S
@@ -277,7 +277,7 @@
srlv t3,t1,t2
handle_it:
- j dec_irq_dispatch
+ j do_IRQ
nop
#if defined(CONFIG_32BIT) && defined(CONFIG_MIPS_FP_SUPPORT)
diff --git a/arch/mips/dec/setup.c b/arch/mips/dec/setup.c
index 56a7ecf06b7b..6ba4c4973c9a 100644
--- a/arch/mips/dec/setup.c
+++ b/arch/mips/dec/setup.c
@@ -771,9 +771,3 @@ void __init arch_init_irq(void)
pr_err("Failed to register halt interrupt\n");
}
}
-
-asmlinkage unsigned int dec_irq_dispatch(unsigned int irq)
-{
- do_IRQ(irq);
- return 0;
-}
--
2.47.2
On Tue, 18 Feb 2025, WangYuli wrote:
> Currently, dec_irq_dispatch() is exclusively invoked by int-handler.S.
It always has been, since its inception, see commit 187933f23679 ("[MIPS]
do_IRQ cleanup").
> Inline the do_IRQ call into int-handler.S to silence the compiler
> warning.
Up to commit 8f99a16265353 ("MIPS: Tracing: Add IRQENTRY_EXIT section for
MIPS") `do_IRQ' used to be a macro, that's why. At the time `do_IRQ' was
converted to a macro `dec_irq_dispatch' was created and previously this
place used to call `do_IRQ' too.
It's always good finding out why things are as they are so as to make
sure you haven't been missing something. This cleanup should have been
made along with commit 8f99a16265353, so it's pretty old a technical debt
being sorted here.
Please add these findings to your commit description in v2.
NB I'm off on holiday starting from tomorrow and I had issues with DEC
hardware in my lab (now sorted, required a visit on site) so I couldn't
get to your stuff sooner and also I won't be able to verify any of this
until I'm back mid-March.
Maciej
Hi Maciej,
On 2025/3/1 00:01, Maciej W. Rozycki wrote:
> Up to commit 8f99a16265353 ("MIPS: Tracing: Add IRQENTRY_EXIT section for
> MIPS") `do_IRQ' used to be a macro, that's why. At the time `do_IRQ' was
> converted to a macro `dec_irq_dispatch' was created and previously this
> place used to call `do_IRQ' too.
>
> It's always good finding out why things are as they are so as to make
> sure you haven't been missing something. This cleanup should have been
> made along with commit 8f99a16265353, so it's pretty old a technical debt
> being sorted here.
>
> Please add these findings to your commit description in v2.
Alright, thank you for the correction.
I do see that this commit has already been applied to mips-next.
If it's alright with you and Thomas, I'm happy to send a patch v2 to
include these details soon.
> NB I'm off on holiday starting from tomorrow and I had issues with DEC
> hardware in my lab (now sorted, required a visit on site) so I couldn't
> get to your stuff sooner and also I won't be able to verify any of this
> until I'm back mid-March.
>
> Maciej
It's a pity I don't have DEC hardware myself, therefore I'm limited to
using cross-compilation to validate compilation issues.
Nevertheless, have a fantastic holiday!
Thanks,
--
WangYuli*
*
On Mon, Mar 03, 2025 at 12:23:13PM +0800, WangYuli wrote:
> Hi Maciej,
>
> On 2025/3/1 00:01, Maciej W. Rozycki wrote:
> > Up to commit 8f99a16265353 ("MIPS: Tracing: Add IRQENTRY_EXIT section for
> > MIPS") `do_IRQ' used to be a macro, that's why. At the time `do_IRQ' was
> > converted to a macro `dec_irq_dispatch' was created and previously this
> > place used to call `do_IRQ' too.
> >
> > It's always good finding out why things are as they are so as to make
> > sure you haven't been missing something. This cleanup should have been
> > made along with commit 8f99a16265353, so it's pretty old a technical debt
> > being sorted here.
> >
> > Please add these findings to your commit description in v2.
>
> Alright, thank you for the correction.
>
> I do see that this commit has already been applied to mips-next.
>
> If it's alright with you and Thomas, I'm happy to send a patch v2 to
> include these details soon.
I'll drop the applied patch and take your v2.
Thomas.
--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]
On Tue, Feb 18, 2025 at 08:58:42PM +0800, WangYuli wrote:
> Currently, dec_irq_dispatch() is exclusively invoked by int-handler.S.
> Inline the do_IRQ call into int-handler.S to silence the compiler
> warning.
>
> Fix follow error with gcc-14 when -Werror:
>
> arch/mips/dec/setup.c:780:25: error: no previous prototype for ‘dec_irq_dispatch’ [-Werror=missing-prototypes]
> 780 | asmlinkage unsigned int dec_irq_dispatch(unsigned int irq)
> | ^~~~~~~~~~~~~~~~
> cc1: all warnings being treated as errors
> make[7]: *** [scripts/Makefile.build:207: arch/mips/dec/setup.o] Error 1
> make[6]: *** [scripts/Makefile.build:465: arch/mips/dec] Error 2
> make[5]: *** [scripts/Makefile.build:465: arch/mips] Error 2
> make[5]: *** Waiting for unfinished jobs....
> make[4]: *** [Makefile:1992: .] Error 2
> make[3]: *** [debian/rules:74: build-arch] Error 2
> dpkg-buildpackage: error: make -f debian/rules binary subprocess returned exit status 2
> make[2]: *** [scripts/Makefile.package:126: bindeb-pkg] Error 2
> make[1]: *** [/mnt/83364c87-f5ee-4ae8-b862-930f1bd74feb/Projects/CommitUpstream/LinuxKernel/Temp/linux/Makefile:1625: bindeb-pkg] Error 2
> make: *** [Makefile:251: __sub-make] Error 2
>
> Signed-off-by: WangYuli <wangyuli@uniontech.com>
> ---
> arch/mips/dec/int-handler.S | 2 +-
> arch/mips/dec/setup.c | 6 ------
> 2 files changed, 1 insertion(+), 7 deletions(-)
>
> diff --git a/arch/mips/dec/int-handler.S b/arch/mips/dec/int-handler.S
> index 011d1d678840..a0b439c90488 100644
> --- a/arch/mips/dec/int-handler.S
> +++ b/arch/mips/dec/int-handler.S
> @@ -277,7 +277,7 @@
> srlv t3,t1,t2
>
> handle_it:
> - j dec_irq_dispatch
> + j do_IRQ
> nop
>
> #if defined(CONFIG_32BIT) && defined(CONFIG_MIPS_FP_SUPPORT)
> diff --git a/arch/mips/dec/setup.c b/arch/mips/dec/setup.c
> index 56a7ecf06b7b..6ba4c4973c9a 100644
> --- a/arch/mips/dec/setup.c
> +++ b/arch/mips/dec/setup.c
> @@ -771,9 +771,3 @@ void __init arch_init_irq(void)
> pr_err("Failed to register halt interrupt\n");
> }
> }
> -
> -asmlinkage unsigned int dec_irq_dispatch(unsigned int irq)
> -{
> - do_IRQ(irq);
> - return 0;
> -}
> --
> 2.47.2
applied to mips-next.
Thomas.
--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]
© 2016 - 2025 Red Hat, Inc.