Message ID | 20231108125843.3806765-18-arnd@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | -Wmissing-prototype warning fixes | expand |
Hi Arnd, On 11/8/23 12:58, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > Allmodconfig kernels produce a missing-prototypes warning: > > arch/powerpc/platforms/ps3/gelic_udbg.c:239:6: error: no previous prototype for 'udbg_shutdown_ps3gelic' [-Werror=missing-prototypes] > > Move the declaration from a local header to asm/ps3.h where it can be > seen from both the caller and the definition. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > arch/powerpc/include/asm/ps3.h | 6 ++++++ > arch/powerpc/platforms/ps3/gelic_udbg.c | 1 + > drivers/net/ethernet/toshiba/ps3_gelic_net.h | 6 ------ > 3 files changed, 7 insertions(+), 6 deletions(-) Seems good to me. I'll test it next chance I get. Signed-off-by: Geoff Levand <geoff@infradead.org>
On Wed, 8 Nov 2023 14:18:09 +0000 Geoff Levand wrote: > Seems good to me. I'll test it next chance I get. > > Signed-off-by: Geoff Levand <geoff@infradead.org> Seems like this is best routed via powerpc: Acked-by: Jakub Kicinski <kuba@kernel.org>
Hi Arnd,
kernel test robot noticed the following build errors:
[auto build test ERROR on linus/master]
[also build test ERROR on next-20231108]
[cannot apply to v6.6]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Arnd-Bergmann/ida-make-ida_dump-static/20231109-005742
base: linus/master
patch link: https://lore.kernel.org/r/20231108125843.3806765-18-arnd%40kernel.org
patch subject: [PATCH 17/22] powerpc: ps3: move udbg_shutdown_ps3gelic prototype
config: powerpc64-randconfig-001-20231109 (https://download.01.org/0day-ci/archive/20231109/202311090843.b8ISrsV1-lkp@intel.com/config)
compiler: powerpc64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231109/202311090843.b8ISrsV1-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311090843.b8ISrsV1-lkp@intel.com/
All errors (new ones prefixed by >>):
arch/powerpc/platforms/ps3/gelic_udbg.c:59:1: warning: alignment 1 of 'struct debug_block' is less than 32 [-Wpacked-not-aligned]
59 | } __packed;
| ^
>> arch/powerpc/platforms/ps3/gelic_udbg.c:240:6: error: redefinition of 'udbg_shutdown_ps3gelic'
240 | void udbg_shutdown_ps3gelic(void)
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from arch/powerpc/platforms/ps3/gelic_udbg.c:17:
arch/powerpc/include/asm/ps3.h:520:20: note: previous definition of 'udbg_shutdown_ps3gelic' with type 'void(void)'
520 | static inline void udbg_shutdown_ps3gelic(void) {}
| ^~~~~~~~~~~~~~~~~~~~~~
vim +/udbg_shutdown_ps3gelic +240 arch/powerpc/platforms/ps3/gelic_udbg.c
c26afe9e8591f3 Hector Martin 2011-08-31 239
c26afe9e8591f3 Hector Martin 2011-08-31 @240 void udbg_shutdown_ps3gelic(void)
kernel test robot <lkp@intel.com> writes: > Hi Arnd, > > kernel test robot noticed the following build errors: > > [auto build test ERROR on linus/master] > [also build test ERROR on next-20231108] > [cannot apply to v6.6] > [If your patch is applied to the wrong git tree, kindly drop us a note. > And when submitting patch, we suggest to use '--base' as documented in > https://git-scm.com/docs/git-format-patch#_base_tree_information] > > url: https://github.com/intel-lab-lkp/linux/commits/Arnd-Bergmann/ida-make-ida_dump-static/20231109-005742 > base: linus/master > patch link: https://lore.kernel.org/r/20231108125843.3806765-18-arnd%40kernel.org > patch subject: [PATCH 17/22] powerpc: ps3: move udbg_shutdown_ps3gelic prototype > config: powerpc64-randconfig-001-20231109 (https://download.01.org/0day-ci/archive/20231109/202311090843.b8ISrsV1-lkp@intel.com/config) > compiler: powerpc64-linux-gcc (GCC) 13.2.0 > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231109/202311090843.b8ISrsV1-lkp@intel.com/reproduce) > > If you fix the issue in a separate patch/commit (i.e. not just a new version of > the same patch/commit), kindly add following tags > | Reported-by: kernel test robot <lkp@intel.com> > | Closes: https://lore.kernel.org/oe-kbuild-all/202311090843.b8ISrsV1-lkp@intel.com/ > > All errors (new ones prefixed by >>): > > arch/powerpc/platforms/ps3/gelic_udbg.c:59:1: warning: alignment 1 of 'struct debug_block' is less than 32 [-Wpacked-not-aligned] > 59 | } __packed; > | ^ >>> arch/powerpc/platforms/ps3/gelic_udbg.c:240:6: error: redefinition of 'udbg_shutdown_ps3gelic' > 240 | void udbg_shutdown_ps3gelic(void) > | ^~~~~~~~~~~~~~~~~~~~~~ > In file included from arch/powerpc/platforms/ps3/gelic_udbg.c:17: > arch/powerpc/include/asm/ps3.h:520:20: note: previous definition of 'udbg_shutdown_ps3gelic' with type 'void(void)' > 520 | static inline void udbg_shutdown_ps3gelic(void) {} > | ^~~~~~~~~~~~~~~~~~~~~~ As pointed out by Arnd this is due to there being two symbols that control the gelic_udbg.c code. I don't see the need for PS3GELIC_UDBG, without PPC_EARLY_DEBUG_PS3GELIC it just causes gelic_udbg.c to be built, but never called. The diff below fixes the error AFAICS. I can just fold it in if you're happy with that Arnd. diff --git a/arch/powerpc/Kconfig.debug b/arch/powerpc/Kconfig.debug index ea4033abc07d..8c80b154e814 100644 --- a/arch/powerpc/Kconfig.debug +++ b/arch/powerpc/Kconfig.debug @@ -271,7 +271,6 @@ config PPC_EARLY_DEBUG_USBGECKO config PPC_EARLY_DEBUG_PS3GELIC bool "Early debugging through the PS3 Ethernet port" depends on PPC_PS3 - select PS3GELIC_UDBG help Select this to enable early debugging for the PlayStation3 via UDP broadcasts sent out through the Ethernet port. diff --git a/arch/powerpc/platforms/ps3/Kconfig b/arch/powerpc/platforms/ps3/Kconfig index a44869e5ea70..e9c1087dd42e 100644 --- a/arch/powerpc/platforms/ps3/Kconfig +++ b/arch/powerpc/platforms/ps3/Kconfig @@ -167,16 +167,4 @@ config PS3_LPM profiling support of the Cell processor with programs like perfmon2, then say Y or M, otherwise say N. -config PS3GELIC_UDBG - bool "PS3 udbg output via UDP broadcasts on Ethernet" - depends on PPC_PS3 - help - Enables udbg early debugging output by sending broadcast UDP - via the Ethernet port (UDP port number 18194). - - This driver uses a trivial implementation and is independent - from the main PS3 gelic network driver. - - If in doubt, say N here. - endmenu diff --git a/arch/powerpc/platforms/ps3/Makefile b/arch/powerpc/platforms/ps3/Makefile index 86bf2967a8d4..bc79bb124d1e 100644 --- a/arch/powerpc/platforms/ps3/Makefile +++ b/arch/powerpc/platforms/ps3/Makefile @@ -3,7 +3,7 @@ obj-y += setup.o mm.o time.o hvcall.o htab.o repository.o obj-y += interrupt.o exports.o os-area.o obj-y += system-bus.o -obj-$(CONFIG_PS3GELIC_UDBG) += gelic_udbg.o +obj-$(CONFIG_PPC_EARLY_DEBUG_PS3GELIC) += gelic_udbg.o obj-$(CONFIG_SMP) += smp.o obj-$(CONFIG_SPU_BASE) += spu.o obj-y += device-init.o cheers
On Fri, Nov 10, 2023, at 04:40, Michael Ellerman wrote: > As pointed out by Arnd this is due to there being two symbols that > control the gelic_udbg.c code. > > I don't see the need for PS3GELIC_UDBG, without PPC_EARLY_DEBUG_PS3GELIC > it just causes gelic_udbg.c to be built, but never called. > > The diff below fixes the error AFAICS. > > I can just fold it in if you're happy with that Arnd. Yes, looks good to me, please do. Arnd
Hi Michael, On Fri, Nov 10, 2023 at 4:42 AM Michael Ellerman <mpe@ellerman.id.au> wrote: > kernel test robot <lkp@intel.com> writes: > > kernel test robot noticed the following build errors: > > > > [auto build test ERROR on linus/master] > > [also build test ERROR on next-20231108] > > [cannot apply to v6.6] > > [If your patch is applied to the wrong git tree, kindly drop us a note. > > And when submitting patch, we suggest to use '--base' as documented in > > https://git-scm.com/docs/git-format-patch#_base_tree_information] > > > > url: https://github.com/intel-lab-lkp/linux/commits/Arnd-Bergmann/ida-make-ida_dump-static/20231109-005742 > > base: linus/master > > patch link: https://lore.kernel.org/r/20231108125843.3806765-18-arnd%40kernel.org > > patch subject: [PATCH 17/22] powerpc: ps3: move udbg_shutdown_ps3gelic prototype > > config: powerpc64-randconfig-001-20231109 (https://download.01.org/0day-ci/archive/20231109/202311090843.b8ISrsV1-lkp@intel.com/config) > > compiler: powerpc64-linux-gcc (GCC) 13.2.0 > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231109/202311090843.b8ISrsV1-lkp@intel.com/reproduce) > > > > If you fix the issue in a separate patch/commit (i.e. not just a new version of > > the same patch/commit), kindly add following tags > > | Reported-by: kernel test robot <lkp@intel.com> > > | Closes: https://lore.kernel.org/oe-kbuild-all/202311090843.b8ISrsV1-lkp@intel.com/ > > > > All errors (new ones prefixed by >>): > > > > arch/powerpc/platforms/ps3/gelic_udbg.c:59:1: warning: alignment 1 of 'struct debug_block' is less than 32 [-Wpacked-not-aligned] > > 59 | } __packed; > > | ^ > >>> arch/powerpc/platforms/ps3/gelic_udbg.c:240:6: error: redefinition of 'udbg_shutdown_ps3gelic' > > 240 | void udbg_shutdown_ps3gelic(void) > > | ^~~~~~~~~~~~~~~~~~~~~~ > > In file included from arch/powerpc/platforms/ps3/gelic_udbg.c:17: > > arch/powerpc/include/asm/ps3.h:520:20: note: previous definition of 'udbg_shutdown_ps3gelic' with type 'void(void)' > > 520 | static inline void udbg_shutdown_ps3gelic(void) {} > > | ^~~~~~~~~~~~~~~~~~~~~~ > > As pointed out by Arnd this is due to there being two symbols that > control the gelic_udbg.c code. > > I don't see the need for PS3GELIC_UDBG, without PPC_EARLY_DEBUG_PS3GELIC > it just causes gelic_udbg.c to be built, but never called. My first thought was: PPC_EARLY_DEBUG_PS3GELIC is meant as an early debugging console, while PS3GELIC_UDBG can be used with xmon later, but that does not seem to be the case. > The diff below fixes the error AFAICS. So your changes on top LGTM. Gr{oetje,eeting}s, Geert
diff --git a/arch/powerpc/include/asm/ps3.h b/arch/powerpc/include/asm/ps3.h index a5f36546a052..d13d8fdc3411 100644 --- a/arch/powerpc/include/asm/ps3.h +++ b/arch/powerpc/include/asm/ps3.h @@ -514,4 +514,10 @@ u64 ps3_get_spe_id(void *arg); void ps3_early_mm_init(void); +#ifdef CONFIG_PPC_EARLY_DEBUG_PS3GELIC +void udbg_shutdown_ps3gelic(void); +#else +static inline void udbg_shutdown_ps3gelic(void) {} +#endif + #endif diff --git a/arch/powerpc/platforms/ps3/gelic_udbg.c b/arch/powerpc/platforms/ps3/gelic_udbg.c index 6b298010fd84..a5202c18c236 100644 --- a/arch/powerpc/platforms/ps3/gelic_udbg.c +++ b/arch/powerpc/platforms/ps3/gelic_udbg.c @@ -14,6 +14,7 @@ #include <linux/ip.h> #include <linux/udp.h> +#include <asm/ps3.h> #include <asm/io.h> #include <asm/udbg.h> #include <asm/lv1call.h> diff --git a/drivers/net/ethernet/toshiba/ps3_gelic_net.h b/drivers/net/ethernet/toshiba/ps3_gelic_net.h index 0d98defb011e..0ec7412febc7 100644 --- a/drivers/net/ethernet/toshiba/ps3_gelic_net.h +++ b/drivers/net/ethernet/toshiba/ps3_gelic_net.h @@ -346,12 +346,6 @@ static inline void *port_priv(struct gelic_port *port) return port->priv; } -#ifdef CONFIG_PPC_EARLY_DEBUG_PS3GELIC -void udbg_shutdown_ps3gelic(void); -#else -static inline void udbg_shutdown_ps3gelic(void) {} -#endif - int gelic_card_set_irq_mask(struct gelic_card *card, u64 mask); /* shared netdev ops */ void gelic_card_up(struct gelic_card *card);