Re: [PATCH 1/4] sh: fix -Wmissing-include-dirs warnings for various platforms

From: Randy Dunlap
Date: Sun Feb 19 2023 - 12:05:20 EST




On 2/19/23 06:15, Masahiro Yamada wrote:
> 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.
>
> -Wmissing-include-dirs is W=1 warning, but 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 not include non-existing include directory.
>
> To build arch/sh/boards/mach-*/, use the standard obj-y syntax in
> arch/sh/boards/Makefile.
>
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Link: https://lore.kernel.org/oe-kbuild-all/202302190641.30VVXnPb-lkp@xxxxxxxxx/
> Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>

Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Tested-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>

Thanks.

> ---
>
> arch/sh/Makefile | 18 +-----------------
> arch/sh/boards/Makefile | 19 +++++++++++++++++++
> 2 files changed, 20 insertions(+), 17 deletions(-)
>
> diff --git a/arch/sh/Makefile b/arch/sh/Makefile
> index 5c8776482530..a9cad5137f92 100644
> --- a/arch/sh/Makefile
> +++ b/arch/sh/Makefile
> @@ -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/
> diff --git a/arch/sh/boards/Makefile b/arch/sh/boards/Makefile
> index 4002a22a7c40..b57219436ace 100644
> --- a/arch/sh/boards/Makefile
> +++ b/arch/sh/boards/Makefile
> @@ -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/

--
~Randy