Skip to contentSkip to conversation

sh: fix -Wmissing-include-dirs warnings for various platforms

PATCH Applied Masahiro Yamada 3 participants 18 messages Feb 19, 2023 – Jul 5, 2023

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

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

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.

---

 arch/sh/Makefile        | 18 +-----------------
 arch/sh/boards/Makefile | 19 +++++++++++++++++++
 2 files changed, 20 insertions(+), 17 deletions(-)
arch/sh/Makefile +1 -17
index 5c8776482530..a9cad5137f92 100644
@@ -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/
arch/sh/boards/Makefile +19 -0
index 4002a22a7c40..b57219436ace 100644
@@ -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/
Signature · 1 line
2.34.1
#1 lore raw

PATCH 2/4 sh: move build rule of cchips/hd6446x/ to arch/sh/Kbuild

This is the last user of core-y in ARCH=sh.

Use the standard obj-y syntax.

---

 arch/sh/Kbuild   | 2 ++
 arch/sh/Makefile | 3 ---
 2 files changed, 2 insertions(+), 3 deletions(-)
arch/sh/Kbuild +2 -0
index be171880977e..056efec72c2a 100644
@@ -3,5 +3,7 @@ obj-y				+= kernel/ mm/ boards/
 obj-$(CONFIG_SH_FPU_EMU)	+= math-emu/
 obj-$(CONFIG_USE_BUILTIN_DTB)	+= boot/dts/
 
+obj-$(CONFIG_HD6446X_SERIES)	+= cchips/hd6446x/
+
 # for cleaning
 subdir- += boot
arch/sh/Makefile +0 -3
index a9cad5137f92..0625796cfe7f 100644
@@ -126,9 +126,6 @@ machdir-$(CONFIG_SH_X3PROTO)			+= mach-x3proto
 machdir-$(CONFIG_SH_LANDISK)			+= mach-landisk
 machdir-y					+= mach-common
 
-# Companion chips
-core-$(CONFIG_HD6446X_SERIES)	+= arch/sh/cchips/hd6446x/
-
 #
 # CPU header paths
 #
Signature · 1 line
2.34.1
Acked-by Tested-by on v1 2/4
#2 lore raw

Re: [PATCH 2/4] sh: move build rule of cchips/hd6446x/ to arch/sh/Kbuild

Quoted 5 lines · Masahiro Yamada

This is the last user of core-y in ARCH=sh.

Use the standard obj-y syntax.

Thanks.

Quoted 32 lines

---

 arch/sh/Kbuild   | 2 ++
 arch/sh/Makefile | 3 ---
 2 files changed, 2 insertions(+), 3 deletions(-)
arch/sh/Kbuild +2 -0
index be171880977e..056efec72c2a 100644
@@ -3,5 +3,7 @@ obj-y				+= kernel/ mm/ boards/
 obj-$(CONFIG_SH_FPU_EMU)	+= math-emu/
 obj-$(CONFIG_USE_BUILTIN_DTB)	+= boot/dts/
 
+obj-$(CONFIG_HD6446X_SERIES)	+= cchips/hd6446x/
+
 # for cleaning
 subdir- += boot
arch/sh/Makefile +0 -3
index a9cad5137f92..0625796cfe7f 100644
@@ -126,9 +126,6 @@ machdir-$(CONFIG_SH_X3PROTO)			+= mach-x3proto
 machdir-$(CONFIG_SH_LANDISK)			+= mach-landisk
 machdir-y					+= mach-common
 
-# Companion chips
-core-$(CONFIG_HD6446X_SERIES)	+= arch/sh/cchips/hd6446x/
-
 #
 # CPU header paths
 #
Signature · 1 line
~Randy
maintainer Reviewed-by on v1 2/4
#3 lore raw

Re: [PATCH 2/4] sh: move build rule of cchips/hd6446x/ to arch/sh/Kbuild

In reply to Masahiro Yamada

Hi Masahiro!

Quoted 28 lines · Masahiro Yamada

This is the last user of core-y in ARCH=sh.

Use the standard obj-y syntax.

---

 arch/sh/Kbuild   | 2 ++
 arch/sh/Makefile | 3 ---
 2 files changed, 2 insertions(+), 3 deletions(-)
arch/sh/Kbuild +2 -0
index be171880977e..056efec72c2a 100644
@@ -3,5 +3,7 @@ obj-y				+= kernel/ mm/ boards/
 obj-$(CONFIG_SH_FPU_EMU)	+= math-emu/
 obj-$(CONFIG_USE_BUILTIN_DTB)	+= boot/dts/
 
+obj-$(CONFIG_HD6446X_SERIES)	+= cchips/hd6446x/
+
 # for cleaning
 subdir- += boot
arch/sh/Makefile +0 -0
index a9cad5137f92..0625796cfe7f 100644

arch/sh/Makefile machdir-$(CONFIG_SH_X3PROTO) += mach-x3proto · line 131

Quoted 9 lines
arch/sh/Makefile +0 -3
@@ -126,9 +126,6 @@ machdir-$(CONFIG_SH_X3PROTO)			+= mach-x3proto
 machdir-$(CONFIG_SH_LANDISK)			+= mach-landisk
 machdir-y					+= mach-common
 
-# Companion chips
-core-$(CONFIG_HD6446X_SERIES)	+= arch/sh/cchips/hd6446x/
-
 #
 # CPU header paths
 #
Signature · 4 lines
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
#4 lore raw

PATCH 3/4 sh: refactor header include path addition

In reply to Masahiro Yamada

Shorten the code. No functional change intended.

---

 arch/sh/Makefile | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
arch/sh/Makefile +1 -2
index 0625796cfe7f..f1c6aace8acb 100644
@@ -145,8 +145,7 @@ cpuincdir-y			+= cpu-common	# Must be last
 
 drivers-y			+= arch/sh/drivers/
 
-cflags-y	+= $(foreach d, $(cpuincdir-y), -I $(srctree)/arch/sh/include/$(d)) \
-		   $(foreach d, $(machdir-y), -I $(srctree)/arch/sh/include/$(d))
+cflags-y	+= $(addprefix -I $(srctree)/arch/sh/include/, $(cpuincdir-y) $(machdir-y))
 
 KBUILD_CFLAGS		+= -pipe $(cflags-y)
 KBUILD_CPPFLAGS		+= $(cflags-y)
Signature · 1 line
2.34.1
Acked-by Tested-by on v1 3/4
#5 lore raw

Re: [PATCH 3/4] sh: refactor header include path addition

Quoted 3 lines · Masahiro Yamada

Shorten the code. No functional change intended.

Thanks.

Quoted 19 lines

---

 arch/sh/Makefile | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
arch/sh/Makefile +1 -2
index 0625796cfe7f..f1c6aace8acb 100644
@@ -145,8 +145,7 @@ cpuincdir-y			+= cpu-common	# Must be last
 
 drivers-y			+= arch/sh/drivers/
 
-cflags-y	+= $(foreach d, $(cpuincdir-y), -I $(srctree)/arch/sh/include/$(d)) \
-		   $(foreach d, $(machdir-y), -I $(srctree)/arch/sh/include/$(d))
+cflags-y	+= $(addprefix -I $(srctree)/arch/sh/include/, $(cpuincdir-y) $(machdir-y))
 
 KBUILD_CFLAGS		+= -pipe $(cflags-y)
 KBUILD_CPPFLAGS		+= $(cflags-y)
Signature · 1 line
~Randy
maintainer Reviewed-by on v1 3/4
#6 lore raw

Re: [PATCH 3/4] sh: refactor header include path addition

In reply to Masahiro Yamada
Quoted 13 lines · Masahiro Yamada

Shorten the code. No functional change intended.

---

 arch/sh/Makefile | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
arch/sh/Makefile +0 -0
index 0625796cfe7f..f1c6aace8acb 100644

arch/sh/Makefile cpuincdir-y += cpu-common # Must be last · line 151

Quoted 9 lines
arch/sh/Makefile +1 -2
@@ -145,8 +145,7 @@ cpuincdir-y			+= cpu-common	# Must be last
 
 drivers-y			+= arch/sh/drivers/
 
-cflags-y	+= $(foreach d, $(cpuincdir-y), -I $(srctree)/arch/sh/include/$(d)) \
-		   $(foreach d, $(machdir-y), -I $(srctree)/arch/sh/include/$(d))
+cflags-y	+= $(addprefix -I $(srctree)/arch/sh/include/, $(cpuincdir-y) $(machdir-y))
 
 KBUILD_CFLAGS		+= -pipe $(cflags-y)
 KBUILD_CPPFLAGS		+= $(cflags-y)
Signature · 4 lines
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
#7 lore raw

PATCH 4/4 sh: remove compiler flag duplication

In reply to Masahiro Yamada

Every compiler flag added by arch/sh/Makefile is passed to the compiler twice.

$(KBUILD_CPPFLAGS) + $(KBUILD_CFLAGS) is used for compiling *.c $(KBUILD_CPPFLAGS) + $(KBUILD_AFLAGS) is used for compiling *.S

Given the above, adding $(cflags-y) to all of KBUILD_{CPP/C/A}FLAGS ends up with duplication.

Add -I options to $(KBUILD_CPPFLAGS), and the rest of $(cflags-y) to KBUILD_{C,A}FLAGS.

---

 arch/sh/Makefile | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
arch/sh/Makefile +1 -3
index f1c6aace8acb..cab2f9c011a8 100644
@@ -145,10 +145,8 @@ cpuincdir-y			+= cpu-common	# Must be last
 
 drivers-y			+= arch/sh/drivers/
 
-cflags-y	+= $(addprefix -I $(srctree)/arch/sh/include/, $(cpuincdir-y) $(machdir-y))
-
+KBUILD_CPPFLAGS		+= $(addprefix -I $(srctree)/arch/sh/include/, $(cpuincdir-y) $(machdir-y))
 KBUILD_CFLAGS		+= -pipe $(cflags-y)
-KBUILD_CPPFLAGS		+= $(cflags-y)
 KBUILD_AFLAGS		+= $(cflags-y)
 
 ifeq ($(CONFIG_MCOUNT),y)
Signature · 1 line
2.34.1
Acked-by Tested-by on v1 4/4
#8 lore raw

Re: [PATCH 4/4] sh: remove compiler flag duplication

Quoted 6 lines · Masahiro Yamada

Every compiler flag added by arch/sh/Makefile is passed to the compiler twice.

$(KBUILD_CPPFLAGS) + $(KBUILD_CFLAGS) is used for compiling *.c $(KBUILD_CPPFLAGS) + $(KBUILD_AFLAGS) is used for compiling *.S

Quoted 7 lines

Given the above, adding $(cflags-y) to all of KBUILD_{CPP/C/A}FLAGS ends up with duplication.

Add -I options to $(KBUILD_CPPFLAGS), and the rest of $(cflags-y) to KBUILD_{C,A}FLAGS.

Thanks.

Quoted 21 lines

---

 arch/sh/Makefile | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
arch/sh/Makefile +1 -3
index f1c6aace8acb..cab2f9c011a8 100644
@@ -145,10 +145,8 @@ cpuincdir-y			+= cpu-common	# Must be last
 
 drivers-y			+= arch/sh/drivers/
 
-cflags-y	+= $(addprefix -I $(srctree)/arch/sh/include/, $(cpuincdir-y) $(machdir-y))
-
+KBUILD_CPPFLAGS		+= $(addprefix -I $(srctree)/arch/sh/include/, $(cpuincdir-y) $(machdir-y))
 KBUILD_CFLAGS		+= -pipe $(cflags-y)
-KBUILD_CPPFLAGS		+= $(cflags-y)
 KBUILD_AFLAGS		+= $(cflags-y)
 
 ifeq ($(CONFIG_MCOUNT),y)
Signature · 1 line
~Randy
maintainer Reviewed-by on v1 4/4
#9 lore raw

Re: [PATCH 4/4] sh: remove compiler flag duplication

In reply to Masahiro Yamada
Quoted 24 lines · Masahiro Yamada

Every compiler flag added by arch/sh/Makefile is passed to the compiler twice.

$(KBUILD_CPPFLAGS) + $(KBUILD_CFLAGS) is used for compiling *.c $(KBUILD_CPPFLAGS) + $(KBUILD_AFLAGS) is used for compiling *.S

Given the above, adding $(cflags-y) to all of KBUILD_{CPP/C/A}FLAGS ends up with duplication.

Add -I options to $(KBUILD_CPPFLAGS), and the rest of $(cflags-y) to KBUILD_{C,A}FLAGS.

---

 arch/sh/Makefile | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
arch/sh/Makefile +0 -0
index f1c6aace8acb..cab2f9c011a8 100644
@@ -145,10 +145,8 @@ cpuincdir-y			+= cpu-common	# Must be last
 

arch/sh/Makefile cpuincdir-y += cpu-common # Must be last · line 152

Quoted 10 lines
arch/sh/Makefile +1 -3
 drivers-y			+= arch/sh/drivers/
 
-cflags-y	+= $(addprefix -I $(srctree)/arch/sh/include/, $(cpuincdir-y) $(machdir-y))
-
+KBUILD_CPPFLAGS		+= $(addprefix -I $(srctree)/arch/sh/include/, $(cpuincdir-y) $(machdir-y))
 KBUILD_CFLAGS		+= -pipe $(cflags-y)
-KBUILD_CPPFLAGS		+= $(cflags-y)
 KBUILD_AFLAGS		+= $(cflags-y)
 
 ifeq ($(CONFIG_MCOUNT),y)
Signature · 4 lines
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
#10 lore raw
In reply to Masahiro Yamada

Hi Masahiro!

Quoted 21 lines · Masahiro Yamada

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.

Quoted 7 lines

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

---

Thanks for your patches! I'm still waiting for my kernel.org account to be created, so I can set up my own linux-sh tree. I hope that happens next week. There are already some patches piling up.

Adrian

Signature · 4 lines
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
#11 lore raw
Quoted 33 lines · John Paul Adrian Glaubitz

Hi Masahiro!

Quoted 21 lines · Masahiro Yamada

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.

Quoted 7 lines

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

---

Quoted 5 lines

Thanks for your patches! I'm still waiting for my kernel.org account to be created, so I can set up my own linux-sh tree. I hope that happens next week. There are already some patches piling up.

Adrian

That's good news.

I just thought arch/sh is no longer maintained.
(I saw a patch for the entire removal of arch/sh/ somewhere).

I leave this series up to you.

Quoted 5 lines

--

 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
Signature · 2 lines
Best Regards
Masahiro Yamada
#12 lore raw
In reply to John Paul Adrian Glaubitz
Quoted 28 lines · John Paul Adrian Glaubitz

Hi Masahiro!

Quoted 24 lines · Masahiro Yamada

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.

Quoted 8 lines
Quoted 4 lines

---

Thanks for your patches! I'm still waiting for my kernel.org account to be created, so I can set up my own linux-sh tree. I hope that happens next week. There are already some patches piling up.

So, what has happened since then?

Quoted 8 lines

Adrian

--

 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
Signature · 2 lines
Best Regards
Masahiro Yamada
#13 lore raw
Quoted 39 lines · Masahiro Yamada

On Sun, Feb 19, 2023 at 11:40 PM John Paul Adrian Glaubitz

Quoted 33 lines · <[email protected]> wrote:

Hi Masahiro!

Quoted 29 lines · Masahiro Yamada

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.

---

Quoted 6 lines
Quoted 3 lines

Thanks for your patches! I'm still waiting for my kernel.org account to be created, so I can set up my own linux-sh tree. I hope that happens next week. There are already some patches piling up.

So, what has happened since then?

Sorry, these somehow went off my radar.

I’ll have a look later today.

Adrian

#14 lore raw
In reply to Masahiro Yamada

Hi Masahiro!

Quoted 35 lines · Masahiro Yamada
Quoted 33 lines · John Paul Adrian Glaubitz

Hi Masahiro!

Quoted 28 lines · Masahiro Yamada

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.

---

Quoted 6 lines
Quoted 3 lines

Thanks for your patches! I'm still waiting for my kernel.org account to be created, so I can set up my own linux-sh tree. I hope that happens next week. There are already some patches piling up.

So, what has happened since then?

I'll review and test these tomorrow when I'm back in the office.

Unless there are any issues, I am going to pick the series up for 6.5.

Adrian

Signature · 4 lines
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
Acked-by Tested-by on v1 1/4
#15 lore raw
In reply to Masahiro Yamada
Quoted 19 lines · Masahiro Yamada

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-*/.

Quoted 8 lines

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.

Thanks.

Quoted 70 lines

---

 arch/sh/Makefile        | 18 +-----------------
 arch/sh/boards/Makefile | 19 +++++++++++++++++++
 2 files changed, 20 insertions(+), 17 deletions(-)
arch/sh/Makefile +1 -17
index 5c8776482530..a9cad5137f92 100644
@@ -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/
arch/sh/boards/Makefile +19 -0
index 4002a22a7c40..b57219436ace 100644
@@ -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/
Signature · 1 line
~Randy
maintainer Reviewed-by on v1 1/4
#16 lore raw
In reply to Masahiro Yamada

Hi Masahiro!

Quoted 87 lines · Masahiro Yamada

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.

---

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

arch/sh/boards/Makefile obj-$(CONFIG_SH_APSH4A3A) += board-apsh4a3a.o · line 39

Quoted 10 lines
arch/sh/boards/Makefile +10 -0
+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/

Can you fix the tabs so that the mach directories are all aligned?

Other than that:

Adrian

Signature · 4 lines
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
maintainer Applied
#17 lore raw
In reply to Masahiro Yamada
Quoted 87 lines · Masahiro Yamada

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.

---

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

arch/sh/boards/Makefile obj-$(CONFIG_SH_APSH4A3A) += board-apsh4a3a.o · line 39

Quoted 10 lines
arch/sh/boards/Makefile +10 -0
+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/

Applied to my for-next tree for 6.5. PR will be sent tomorrow.

Thanks,
Adrian

Signature · 4 lines
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913