All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Davis <afd@ti.com>
To: Russell King <linux@armlinux.org.uk>,
	Baruch Siach <baruch@tkos.co.il>,
	Vladimir Zapolskiy <vz@mleia.com>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Geert Uytterhoeven <geert+renesas@glider.be>
Cc: <linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>, Andrew Davis <afd@ti.com>
Subject: [PATCH v2 3/3] ARM: mach-ixp4xx: Rework support and directory structure
Date: Mon, 25 Mar 2024 12:26:19 -0500	[thread overview]
Message-ID: <20240325172619.113661-3-afd@ti.com> (raw)
In-Reply-To: <20240325172619.113661-1-afd@ti.com>

Having a platform need a mach-* directory should be seen as a negative,
it means the platform needs special non-standard handling. ARM64 support
does not allow mach-* directories at all. While we may not get to that
given all the non-standard architectures we support, we should still try
to get as close as we can and reduce the number of mach directories.

The mach-ixp4xx/ directory and files, provides just one "feature":
having the kernel print the machine name if the DTB does not also contain
a "model" string (which they always do). To reduce the number of mach-*
directories let's do without that feature and remove this directory.

Note the fallback machine has a default l2c_aux_mask value set to ~0,
which is different than the value of 0 used when none is provided. This
is safe here as this platform does not use an l2x0 cache controller.

Signed-off-by: Andrew Davis <afd@ti.com>
---

Changes from v1:
 - Updated commit desc with l2c_aux_mask info
 - Rebased on v6.9-rc1

 MAINTAINERS                      |  1 -
 arch/arm/Kconfig.platforms       | 19 +++++++++++++++++++
 arch/arm/mach-ixp4xx/Kconfig     | 19 -------------------
 arch/arm/mach-ixp4xx/Makefile    |  2 --
 arch/arm/mach-ixp4xx/ixp4xx-of.c | 22 ----------------------
 5 files changed, 19 insertions(+), 44 deletions(-)
 delete mode 100644 arch/arm/mach-ixp4xx/Kconfig
 delete mode 100644 arch/arm/mach-ixp4xx/Makefile
 delete mode 100644 arch/arm/mach-ixp4xx/ixp4xx-of.c

diff --git a/MAINTAINERS b/MAINTAINERS
index 947186f0b0c64..a0fcb6d27c0e3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2270,7 +2270,6 @@ F:	Documentation/devicetree/bindings/memory-controllers/intel,ixp4xx-expansion*
 F:	Documentation/devicetree/bindings/rng/intel,ixp46x-rng.yaml
 F:	Documentation/devicetree/bindings/timer/intel,ixp4xx-timer.yaml
 F:	arch/arm/boot/dts/intel/ixp/
-F:	arch/arm/mach-ixp4xx/
 F:	drivers/bus/intel-ixp4xx-eb.c
 F:	drivers/char/hw_random/ixp4xx-rng.c
 F:	drivers/clocksource/timer-ixp4xx.c
diff --git a/arch/arm/Kconfig.platforms b/arch/arm/Kconfig.platforms
index 29fbed968d361..bf2185f87180c 100644
--- a/arch/arm/Kconfig.platforms
+++ b/arch/arm/Kconfig.platforms
@@ -112,6 +112,25 @@ config ARCH_HPE_GXP
 
 endif
 
+config ARCH_IXP4XX
+	bool "IXP4xx-based platforms"
+	depends on ARCH_MULTI_V5
+	depends on CPU_BIG_ENDIAN
+	select ARM_APPENDED_DTB # Old Redboot bootloaders deployed
+	select CPU_XSCALE
+	select GPIO_IXP4XX
+	select GPIOLIB
+	select FORCE_PCI
+	select I2C
+	select I2C_IOP3XX
+	select IXP4XX_IRQ
+	select IXP4XX_TIMER
+	select USB_EHCI_BIG_ENDIAN_DESC
+	select USB_EHCI_BIG_ENDIAN_MMIO
+	select USE_OF
+	help
+	  Support for Intel's IXP4XX (XScale) family of processors.
+
 config ARCH_LPC18XX
 	bool "NXP LPC18xx/LPC43xx"
 	depends on ARM_SINGLE_ARMV7M
diff --git a/arch/arm/mach-ixp4xx/Kconfig b/arch/arm/mach-ixp4xx/Kconfig
deleted file mode 100644
index cb46802f5ce52..0000000000000
--- a/arch/arm/mach-ixp4xx/Kconfig
+++ /dev/null
@@ -1,19 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-menuconfig ARCH_IXP4XX
-	bool "IXP4xx-based platforms"
-	depends on ARCH_MULTI_V5
-	depends on CPU_BIG_ENDIAN
-	select ARM_APPENDED_DTB # Old Redboot bootloaders deployed
-	select CPU_XSCALE
-	select GPIO_IXP4XX
-	select GPIOLIB
-	select FORCE_PCI
-	select I2C
-	select I2C_IOP3XX
-	select IXP4XX_IRQ
-	select IXP4XX_TIMER
-	select USB_EHCI_BIG_ENDIAN_DESC
-	select USB_EHCI_BIG_ENDIAN_MMIO
-	select USE_OF
-	help
-	  Support for Intel's IXP4XX (XScale) family of processors.
diff --git a/arch/arm/mach-ixp4xx/Makefile b/arch/arm/mach-ixp4xx/Makefile
deleted file mode 100644
index 3d1c9d854c7f3..0000000000000
--- a/arch/arm/mach-ixp4xx/Makefile
+++ /dev/null
@@ -1,2 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-obj-y	+= ixp4xx-of.o
diff --git a/arch/arm/mach-ixp4xx/ixp4xx-of.c b/arch/arm/mach-ixp4xx/ixp4xx-of.c
deleted file mode 100644
index 1b4d84a5b02f6..0000000000000
--- a/arch/arm/mach-ixp4xx/ixp4xx-of.c
+++ /dev/null
@@ -1,22 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * IXP4xx Device Tree boot support
- */
-#include <asm/mach/arch.h>
-
-/*
- * We handle 4 different SoC families. These compatible strings are enough
- * to provide the core so that different boards can add their more detailed
- * specifics.
- */
-static const char *ixp4xx_of_board_compat[] = {
-	"intel,ixp42x",
-	"intel,ixp43x",
-	"intel,ixp45x",
-	"intel,ixp46x",
-	NULL,
-};
-
-DT_MACHINE_START(IXP4XX_DT, "IXP4xx (Device Tree)")
-	.dt_compat	= ixp4xx_of_board_compat,
-MACHINE_END
-- 
2.39.2


WARNING: multiple messages have this Message-ID (diff)
From: Andrew Davis <afd@ti.com>
To: Russell King <linux@armlinux.org.uk>,
	Baruch Siach <baruch@tkos.co.il>,
	Vladimir Zapolskiy <vz@mleia.com>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Geert Uytterhoeven <geert+renesas@glider.be>
Cc: <linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>, Andrew Davis <afd@ti.com>
Subject: [PATCH v2 3/3] ARM: mach-ixp4xx: Rework support and directory structure
Date: Mon, 25 Mar 2024 12:26:19 -0500	[thread overview]
Message-ID: <20240325172619.113661-3-afd@ti.com> (raw)
In-Reply-To: <20240325172619.113661-1-afd@ti.com>

Having a platform need a mach-* directory should be seen as a negative,
it means the platform needs special non-standard handling. ARM64 support
does not allow mach-* directories at all. While we may not get to that
given all the non-standard architectures we support, we should still try
to get as close as we can and reduce the number of mach directories.

The mach-ixp4xx/ directory and files, provides just one "feature":
having the kernel print the machine name if the DTB does not also contain
a "model" string (which they always do). To reduce the number of mach-*
directories let's do without that feature and remove this directory.

Note the fallback machine has a default l2c_aux_mask value set to ~0,
which is different than the value of 0 used when none is provided. This
is safe here as this platform does not use an l2x0 cache controller.

Signed-off-by: Andrew Davis <afd@ti.com>
---

Changes from v1:
 - Updated commit desc with l2c_aux_mask info
 - Rebased on v6.9-rc1

 MAINTAINERS                      |  1 -
 arch/arm/Kconfig.platforms       | 19 +++++++++++++++++++
 arch/arm/mach-ixp4xx/Kconfig     | 19 -------------------
 arch/arm/mach-ixp4xx/Makefile    |  2 --
 arch/arm/mach-ixp4xx/ixp4xx-of.c | 22 ----------------------
 5 files changed, 19 insertions(+), 44 deletions(-)
 delete mode 100644 arch/arm/mach-ixp4xx/Kconfig
 delete mode 100644 arch/arm/mach-ixp4xx/Makefile
 delete mode 100644 arch/arm/mach-ixp4xx/ixp4xx-of.c

diff --git a/MAINTAINERS b/MAINTAINERS
index 947186f0b0c64..a0fcb6d27c0e3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2270,7 +2270,6 @@ F:	Documentation/devicetree/bindings/memory-controllers/intel,ixp4xx-expansion*
 F:	Documentation/devicetree/bindings/rng/intel,ixp46x-rng.yaml
 F:	Documentation/devicetree/bindings/timer/intel,ixp4xx-timer.yaml
 F:	arch/arm/boot/dts/intel/ixp/
-F:	arch/arm/mach-ixp4xx/
 F:	drivers/bus/intel-ixp4xx-eb.c
 F:	drivers/char/hw_random/ixp4xx-rng.c
 F:	drivers/clocksource/timer-ixp4xx.c
diff --git a/arch/arm/Kconfig.platforms b/arch/arm/Kconfig.platforms
index 29fbed968d361..bf2185f87180c 100644
--- a/arch/arm/Kconfig.platforms
+++ b/arch/arm/Kconfig.platforms
@@ -112,6 +112,25 @@ config ARCH_HPE_GXP
 
 endif
 
+config ARCH_IXP4XX
+	bool "IXP4xx-based platforms"
+	depends on ARCH_MULTI_V5
+	depends on CPU_BIG_ENDIAN
+	select ARM_APPENDED_DTB # Old Redboot bootloaders deployed
+	select CPU_XSCALE
+	select GPIO_IXP4XX
+	select GPIOLIB
+	select FORCE_PCI
+	select I2C
+	select I2C_IOP3XX
+	select IXP4XX_IRQ
+	select IXP4XX_TIMER
+	select USB_EHCI_BIG_ENDIAN_DESC
+	select USB_EHCI_BIG_ENDIAN_MMIO
+	select USE_OF
+	help
+	  Support for Intel's IXP4XX (XScale) family of processors.
+
 config ARCH_LPC18XX
 	bool "NXP LPC18xx/LPC43xx"
 	depends on ARM_SINGLE_ARMV7M
diff --git a/arch/arm/mach-ixp4xx/Kconfig b/arch/arm/mach-ixp4xx/Kconfig
deleted file mode 100644
index cb46802f5ce52..0000000000000
--- a/arch/arm/mach-ixp4xx/Kconfig
+++ /dev/null
@@ -1,19 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-menuconfig ARCH_IXP4XX
-	bool "IXP4xx-based platforms"
-	depends on ARCH_MULTI_V5
-	depends on CPU_BIG_ENDIAN
-	select ARM_APPENDED_DTB # Old Redboot bootloaders deployed
-	select CPU_XSCALE
-	select GPIO_IXP4XX
-	select GPIOLIB
-	select FORCE_PCI
-	select I2C
-	select I2C_IOP3XX
-	select IXP4XX_IRQ
-	select IXP4XX_TIMER
-	select USB_EHCI_BIG_ENDIAN_DESC
-	select USB_EHCI_BIG_ENDIAN_MMIO
-	select USE_OF
-	help
-	  Support for Intel's IXP4XX (XScale) family of processors.
diff --git a/arch/arm/mach-ixp4xx/Makefile b/arch/arm/mach-ixp4xx/Makefile
deleted file mode 100644
index 3d1c9d854c7f3..0000000000000
--- a/arch/arm/mach-ixp4xx/Makefile
+++ /dev/null
@@ -1,2 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-obj-y	+= ixp4xx-of.o
diff --git a/arch/arm/mach-ixp4xx/ixp4xx-of.c b/arch/arm/mach-ixp4xx/ixp4xx-of.c
deleted file mode 100644
index 1b4d84a5b02f6..0000000000000
--- a/arch/arm/mach-ixp4xx/ixp4xx-of.c
+++ /dev/null
@@ -1,22 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * IXP4xx Device Tree boot support
- */
-#include <asm/mach/arch.h>
-
-/*
- * We handle 4 different SoC families. These compatible strings are enough
- * to provide the core so that different boards can add their more detailed
- * specifics.
- */
-static const char *ixp4xx_of_board_compat[] = {
-	"intel,ixp42x",
-	"intel,ixp43x",
-	"intel,ixp45x",
-	"intel,ixp46x",
-	NULL,
-};
-
-DT_MACHINE_START(IXP4XX_DT, "IXP4xx (Device Tree)")
-	.dt_compat	= ixp4xx_of_board_compat,
-MACHINE_END
-- 
2.39.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2024-03-25 17:26 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-25 17:26 [PATCH v2 1/3] ARM: mach-hpe: Rework support and directory structure Andrew Davis
2024-03-25 17:26 ` Andrew Davis
2024-03-25 17:26 ` [PATCH v2 2/3] ARM: mach-lpc18xx: " Andrew Davis
2024-03-25 17:26   ` Andrew Davis
2024-03-25 17:26 ` Andrew Davis [this message]
2024-03-25 17:26   ` [PATCH v2 3/3] ARM: mach-ixp4xx: " Andrew Davis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240325172619.113661-3-afd@ti.com \
    --to=afd@ti.com \
    --cc=arnd@arndb.de \
    --cc=baruch@tkos.co.il \
    --cc=geert+renesas@glider.be \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=mhiramat@kernel.org \
    --cc=vz@mleia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.