[PATCH 5/7] MIPS: dec: Remove dec_irq_dispatch()

WangYuli posted 7 patches 10 months ago
[PATCH 5/7] MIPS: dec: Remove dec_irq_dispatch()
Posted by WangYuli 10 months ago
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

Re: [PATCH 5/7] MIPS: dec: Remove dec_irq_dispatch()
Posted by Maciej W. Rozycki 9 months, 3 weeks ago
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
Re: [PATCH 5/7] MIPS: dec: Remove dec_irq_dispatch()
Posted by WangYuli 9 months, 3 weeks ago
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*
*
Re: [PATCH 5/7] MIPS: dec: Remove dec_irq_dispatch()
Posted by Thomas Bogendoerfer 9 months, 2 weeks ago
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 ]
Re: [PATCH 5/7] MIPS: dec: Remove dec_irq_dispatch()
Posted by Thomas Bogendoerfer 9 months, 3 weeks ago
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 ]