sh: Fix -Wmissing-include-dirs warnings for various platforms
authorMasahiro Yamada <masahiroy@kernel.org>
Sun, 19 Feb 2023 14:15:52 +0000 (23:15 +0900)
committerJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Wed, 5 Jul 2023 16:51:10 +0000 (18:51 +0200)
The 0day bot reports a lot of warnings (or errors due to CONFIG_WERROR)
like this:

  cc1: error: arch/sh/include/mach-hp6xx: No such file or directory [-Werror=missing-include-dirs]

Indeed, arch/sh/include/mach-hp6xx does not exist.

While -Wmissing-include-dirs is only a W=1 warning, it may be
annoying when CONFIG_BTRFS_FS is enabled because fs/btrfs/Makefile
unconditionally adds this warning option.

arch/sh/Makefile defines machdir-y for two purposes:

 - Build platform code in arch/sh/boards/mach-*/
 - Add arch/sh/include/mach-*/ to the header search path

For the latter, some platforms use arch/sh/include/mach-common/
instead of having its own arch/sh/include/mach-*/.

Drop unneeded machdir-y to omit non-existing include directories.

To build arch/sh/boards/mach-*/, use the standard obj-y syntax in
arch/sh/boards/Makefile.

Reported-by: kernel test robot <lkp@intel.com>
Link: https://lore.kernel.org/oe-kbuild-all/202302190641.30VVXnPb-lkp@intel.com/
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org>
Reviewed-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Link: https://lore.kernel.org/r/20230219141555.2308306-1-masahiroy@kernel.org
Signed-off-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
arch/sh/Makefile
arch/sh/boards/Makefile

index 5c87764..a9cad51 100644 (file)
@@ -116,31 +116,15 @@ export ld-bfd
 
 # Mach groups
 machdir-$(CONFIG_SOLUTION_ENGINE)              += mach-se
-machdir-$(CONFIG_SH_HP6XX)                     += mach-hp6xx
 machdir-$(CONFIG_SH_DREAMCAST)                 += mach-dreamcast
 machdir-$(CONFIG_SH_SH03)                      += mach-sh03
-machdir-$(CONFIG_SH_RTS7751R2D)                        += mach-r2d
-machdir-$(CONFIG_SH_HIGHLANDER)                        += mach-highlander
 machdir-$(CONFIG_SH_MIGOR)                     += mach-migor
-machdir-$(CONFIG_SH_AP325RXA)                  += mach-ap325rxa
 machdir-$(CONFIG_SH_KFR2R09)                   += mach-kfr2r09
 machdir-$(CONFIG_SH_ECOVEC)                    += mach-ecovec24
-machdir-$(CONFIG_SH_SDK7780)                   += mach-sdk7780
 machdir-$(CONFIG_SH_SDK7786)                   += mach-sdk7786
 machdir-$(CONFIG_SH_X3PROTO)                   += mach-x3proto
-machdir-$(CONFIG_SH_SH7763RDP)                 += mach-sh7763rdp
-machdir-$(CONFIG_SH_SH4202_MICRODEV)           += mach-microdev
 machdir-$(CONFIG_SH_LANDISK)                   += mach-landisk
-machdir-$(CONFIG_SH_LBOX_RE2)                  += mach-lboxre2
-machdir-$(CONFIG_SH_RSK)                       += mach-rsk
-
-ifneq ($(machdir-y),)
-core-y += $(addprefix arch/sh/boards/, \
-            $(filter-out ., $(patsubst %,%/,$(machdir-y))))
-endif
-
-# Common machine type headers. Not part of the arch/sh/boards/ hierarchy.
-machdir-y      += mach-common
+machdir-y                                      += mach-common
 
 # Companion chips
 core-$(CONFIG_HD6446X_SERIES)  += arch/sh/cchips/hd6446x/
index 4002a22..b572194 100644 (file)
@@ -18,3 +18,22 @@ obj-$(CONFIG_SH_APSH4A3A)    += board-apsh4a3a.o
 obj-$(CONFIG_SH_APSH4AD0A)     += board-apsh4ad0a.o
 
 obj-$(CONFIG_SH_DEVICE_TREE)   += of-generic.o
+
+obj-$(CONFIG_SOLUTION_ENGINE)  += mach-se/
+obj-$(CONFIG_SH_HP6XX)         += mach-hp6xx/
+obj-$(CONFIG_SH_DREAMCAST)     += mach-dreamcast/
+obj-$(CONFIG_SH_SH03)          += mach-sh03/
+obj-$(CONFIG_SH_RTS7751R2D)    += mach-r2d/
+obj-$(CONFIG_SH_HIGHLANDER)    += mach-highlander/
+obj-$(CONFIG_SH_MIGOR)         += mach-migor/
+obj-$(CONFIG_SH_AP325RXA)      += mach-ap325rxa/
+obj-$(CONFIG_SH_KFR2R09)       += mach-kfr2r09/
+obj-$(CONFIG_SH_ECOVEC)                += mach-ecovec24/
+obj-$(CONFIG_SH_SDK7780)       += mach-sdk7780/
+obj-$(CONFIG_SH_SDK7786)       += mach-sdk7786/
+obj-$(CONFIG_SH_X3PROTO)       += mach-x3proto/
+obj-$(CONFIG_SH_SH7763RDP)     += mach-sh7763rdp/
+obj-$(CONFIG_SH_SH4202_MICRODEV)+= mach-microdev/
+obj-$(CONFIG_SH_LANDISK)       += mach-landisk/
+obj-$(CONFIG_SH_LBOX_RE2)      += mach-lboxre2/
+obj-$(CONFIG_SH_RSK)           += mach-rsk/