Message ID | 20220725055402.6013-7-william.zhang@broadcom.com |
---|---|
State | Superseded |
Headers | show |
Series | arm64: bcmbca: Move BCM4908 SoC support under ARCH_BCMBCA | expand |
On Sun, Jul 24, 2022 at 10:53:59PM -0700, William Zhang wrote: > With Broadcom Broadband arch ARCH_BCMBCA supported in the kernel, this > patch series migrate the ARCH_BCM4908 symbol to ARCH_BCMBCA. Hence > replace ARCH_BCM4908 with ARCH_BCMBCA in subsystem Kconfig files. > > Signed-off-by: William Zhang <william.zhang@broadcom.com> > Acked-by: Guenter Roeck <linux@roeck-us.net> (for watchdog) > Acked-by: Bjorn Helgaas <bhelgaas@google.com> (for drivers/pci) > Acked-by: Wolfram Sang <wsa@kernel.org> (for i2c)
On 2022-07-25 07:53, William Zhang wrote: > With Broadcom Broadband arch ARCH_BCMBCA supported in the kernel, this > patch series migrate the ARCH_BCM4908 symbol to ARCH_BCMBCA. Hence > replace ARCH_BCM4908 with ARCH_BCMBCA in subsystem Kconfig files. > > Signed-off-by: William Zhang <william.zhang@broadcom.com> > Acked-by: Guenter Roeck <linux@roeck-us.net> (for watchdog) > Acked-by: Bjorn Helgaas <bhelgaas@google.com> (for drivers/pci) I still think it may be a bad idea for all below drivers. Please see my previous e-mail: Re: [RESEND PATCH 6/9] arm64: bcmbca: Make BCM4908 drivers depend on ARCH_BCMBCA https://lore.kernel.org/linux-arm-kernel/eee8c85652e6dac69420a876d03f67c4@milecki.pl/ I think we should: 1. Keep ARCH_BCM4908 for 4908 specific drivers (e.g. mtd, pinctrl, net) 2. Use ARCH_BCMBCA for more generic drivers (e.g. I2C, PCI,serial, WD) > Changes in v2: > - Add Acked-by tags > - Update commit message with more details > > drivers/i2c/busses/Kconfig | 4 ++-- > drivers/mtd/parsers/Kconfig | 6 +++--- > drivers/net/ethernet/broadcom/Kconfig | 4 ++-- > drivers/pci/controller/Kconfig | 2 +- > drivers/phy/broadcom/Kconfig | 4 ++-- > drivers/pinctrl/bcm/Kconfig | 4 ++-- > drivers/reset/Kconfig | 2 +- > drivers/soc/bcm/bcm63xx/Kconfig | 4 ++-- > drivers/tty/serial/Kconfig | 4 ++-- > drivers/watchdog/Kconfig | 2 +- > 10 files changed, 18 insertions(+), 18 deletions(-) > > diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig > index 45a4e9f1b639..fd9a4dd01997 100644 > --- a/drivers/i2c/busses/Kconfig > +++ b/drivers/i2c/busses/Kconfig > @@ -487,8 +487,8 @@ config I2C_BCM_KONA > > config I2C_BRCMSTB > tristate "BRCM Settop/DSL I2C controller" > - depends on ARCH_BCM2835 || ARCH_BCM4908 || ARCH_BCMBCA || \ > - ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST > + depends on ARCH_BCM2835 || ARCH_BCMBCA || ARCH_BRCMSTB || \ > + BMIPS_GENERIC || COMPILE_TEST > default y > help > If you say yes to this option, support will be included for the > diff --git a/drivers/mtd/parsers/Kconfig b/drivers/mtd/parsers/Kconfig > index b43df73927a0..d6db655a1d24 100644 > --- a/drivers/mtd/parsers/Kconfig > +++ b/drivers/mtd/parsers/Kconfig > @@ -69,8 +69,8 @@ config MTD_OF_PARTS > > config MTD_OF_PARTS_BCM4908 > bool "BCM4908 partitioning support" > - depends on MTD_OF_PARTS && (ARCH_BCM4908 || COMPILE_TEST) > - default ARCH_BCM4908 > + depends on MTD_OF_PARTS && (ARCH_BCMBCA || COMPILE_TEST) > + default ARCH_BCMBCA > help > This provides partitions parser for BCM4908 family devices > that can have multiple "firmware" partitions. It takes care of > @@ -78,7 +78,7 @@ config MTD_OF_PARTS_BCM4908 > > config MTD_OF_PARTS_LINKSYS_NS > bool "Linksys Northstar partitioning support" > - depends on MTD_OF_PARTS && (ARCH_BCM_5301X || ARCH_BCM4908 || > COMPILE_TEST) > + depends on MTD_OF_PARTS && (ARCH_BCM_5301X || ARCH_BCMBCA || > COMPILE_TEST) > default ARCH_BCM_5301X > help > This provides partitions parser for Linksys devices based on > Broadcom > diff --git a/drivers/net/ethernet/broadcom/Kconfig > b/drivers/net/ethernet/broadcom/Kconfig > index 56e0fb07aec7..f4e1ca68d831 100644 > --- a/drivers/net/ethernet/broadcom/Kconfig > +++ b/drivers/net/ethernet/broadcom/Kconfig > @@ -53,8 +53,8 @@ config B44_PCI > > config BCM4908_ENET > tristate "Broadcom BCM4908 internal mac support" > - depends on ARCH_BCM4908 || COMPILE_TEST > - default y if ARCH_BCM4908 > + depends on ARCH_BCMBCA || COMPILE_TEST > + default y if ARCH_BCMBCA > help > This driver supports Ethernet controller integrated into Broadcom > BCM4908 family SoCs. > diff --git a/drivers/pci/controller/Kconfig > b/drivers/pci/controller/Kconfig > index d1c5fcf00a8a..bfd9bac37e24 100644 > --- a/drivers/pci/controller/Kconfig > +++ b/drivers/pci/controller/Kconfig > @@ -274,7 +274,7 @@ config VMD > > config PCIE_BRCMSTB > tristate "Broadcom Brcmstb PCIe host controller" > - depends on ARCH_BRCMSTB || ARCH_BCM2835 || ARCH_BCM4908 || \ > + depends on ARCH_BRCMSTB || ARCH_BCM2835 || ARCH_BCMBCA || \ > BMIPS_GENERIC || COMPILE_TEST > depends on OF > depends on PCI_MSI_IRQ_DOMAIN > diff --git a/drivers/phy/broadcom/Kconfig > b/drivers/phy/broadcom/Kconfig > index 93a6a8ee4716..1d89a2fd9b79 100644 > --- a/drivers/phy/broadcom/Kconfig > +++ b/drivers/phy/broadcom/Kconfig > @@ -93,11 +93,11 @@ config PHY_BRCM_SATA > > config PHY_BRCM_USB > tristate "Broadcom STB USB PHY driver" > - depends on ARCH_BCM4908 || ARCH_BRCMSTB || COMPILE_TEST > + depends on ARCH_BCMBCA || ARCH_BRCMSTB || COMPILE_TEST > depends on OF > select GENERIC_PHY > select SOC_BRCMSTB if ARCH_BRCMSTB > - default ARCH_BCM4908 || ARCH_BRCMSTB > + default ARCH_BCMBCA || ARCH_BRCMSTB > help > Enable this to support the Broadcom STB USB PHY. > This driver is required by the USB XHCI, EHCI and OHCI > diff --git a/drivers/pinctrl/bcm/Kconfig b/drivers/pinctrl/bcm/Kconfig > index 8f4d89806fcb..35b51ce4298e 100644 > --- a/drivers/pinctrl/bcm/Kconfig > +++ b/drivers/pinctrl/bcm/Kconfig > @@ -31,13 +31,13 @@ config PINCTRL_BCM2835 > > config PINCTRL_BCM4908 > tristate "Broadcom BCM4908 pinmux driver" > - depends on OF && (ARCH_BCM4908 || COMPILE_TEST) > + depends on OF && (ARCH_BCMBCA || COMPILE_TEST) > select PINMUX > select PINCONF > select GENERIC_PINCONF > select GENERIC_PINCTRL_GROUPS > select GENERIC_PINMUX_FUNCTIONS > - default ARCH_BCM4908 > + default ARCH_BCMBCA > help > Driver for BCM4908 family SoCs with integrated pin controller. > > diff --git a/drivers/reset/Kconfig b/drivers/reset/Kconfig > index f9a7cee01659..7ae71535fe2a 100644 > --- a/drivers/reset/Kconfig > +++ b/drivers/reset/Kconfig > @@ -201,7 +201,7 @@ config RESET_SCMI > > config RESET_SIMPLE > bool "Simple Reset Controller Driver" if COMPILE_TEST || EXPERT > - default ARCH_ASPEED || ARCH_BCM4908 || ARCH_BITMAIN || ARCH_REALTEK > || ARCH_STM32 || (ARCH_INTEL_SOCFPGA && ARM64) || ARCH_SUNXI || ARC > + default ARCH_ASPEED || ARCH_BCMBCA || ARCH_BITMAIN || ARCH_REALTEK > || ARCH_STM32 || (ARCH_INTEL_SOCFPGA && ARM64) || ARCH_SUNXI || ARC > help > This enables a simple reset controller driver for reset lines that > that can be asserted and deasserted by toggling bits in a > contiguous, > diff --git a/drivers/soc/bcm/bcm63xx/Kconfig > b/drivers/soc/bcm/bcm63xx/Kconfig > index 9e501c8ac5ce..355c34482076 100644 > --- a/drivers/soc/bcm/bcm63xx/Kconfig > +++ b/drivers/soc/bcm/bcm63xx/Kconfig > @@ -13,8 +13,8 @@ endif # SOC_BCM63XX > > config BCM_PMB > bool "Broadcom PMB (Power Management Bus) driver" > - depends on ARCH_BCM4908 || (COMPILE_TEST && OF) > - default ARCH_BCM4908 > + depends on ARCH_BCMBCA || (COMPILE_TEST && OF) > + default ARCH_BCMBCA > select PM_GENERIC_DOMAINS if PM > help > This enables support for the Broadcom's PMB (Power Management Bus) > that > diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig > index e3279544b03c..f32bb01c3feb 100644 > --- a/drivers/tty/serial/Kconfig > +++ b/drivers/tty/serial/Kconfig > @@ -1100,8 +1100,8 @@ config SERIAL_TIMBERDALE > config SERIAL_BCM63XX > tristate "Broadcom BCM63xx/BCM33xx UART support" > select SERIAL_CORE > - depends on ARCH_BCM4908 || ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC > || COMPILE_TEST > - default ARCH_BCM4908 || ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC > + depends on ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC || COMPILE_TEST > + default ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC > help > This enables the driver for the onchip UART core found on > the following chipsets: > diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig > index 32fd37698932..1f85ec8a4b3b 100644 > --- a/drivers/watchdog/Kconfig > +++ b/drivers/watchdog/Kconfig > @@ -1798,7 +1798,7 @@ config BCM7038_WDT > tristate "BCM63xx/BCM7038 Watchdog" > select WATCHDOG_CORE > depends on HAS_IOMEM > - depends on ARCH_BCM4908 || ARCH_BRCMSTB || BMIPS_GENERIC || BCM63XX > || COMPILE_TEST > + depends on ARCH_BCMBCA || ARCH_BRCMSTB || BMIPS_GENERIC || BCM63XX > || COMPILE_TEST > help > Watchdog driver for the built-in hardware in Broadcom 7038 and > later SoCs used in set-top boxes. BCM7038 was made public
On 7/27/22 05:31, Rafał Miłecki wrote: > On 2022-07-25 07:53, William Zhang wrote: >> With Broadcom Broadband arch ARCH_BCMBCA supported in the kernel, this >> patch series migrate the ARCH_BCM4908 symbol to ARCH_BCMBCA. Hence >> replace ARCH_BCM4908 with ARCH_BCMBCA in subsystem Kconfig files. >> >> Signed-off-by: William Zhang <william.zhang@broadcom.com> >> Acked-by: Guenter Roeck <linux@roeck-us.net> (for watchdog) >> Acked-by: Bjorn Helgaas <bhelgaas@google.com> (for drivers/pci) > > I still think it may be a bad idea for all below drivers. Please see my > previous e-mail: > Re: [RESEND PATCH 6/9] arm64: bcmbca: Make BCM4908 drivers depend on ARCH_BCMBCA > https://lore.kernel.org/linux-arm-kernel/eee8c85652e6dac69420a876d03f67c4@milecki.pl/ > > I think we should: > 1. Keep ARCH_BCM4908 for 4908 specific drivers (e.g. mtd, pinctrl, net) > 2. Use ARCH_BCMBCA for more generic drivers (e.g. I2C, PCI,serial, WD) IMHO here is no point in keeping an ARCH_BCM4908 anymore when the whole point of the patch series is to do a broad conversion of ARCH_BCM4908 into ARCH_BCMBCA. Even if some of the drivers are considered or thought to be 4908-specific, this is not going to be an issue in practice because there ought to be appropriate compatible strings such that even if you built a 4908-specific driver into a generic ARCH_BCMCA kernel, the actual probing would only happen on 4908. Now let us flip it the other way round, let's say we keep ARCH_BCM4908 as a sub-arch of ARCH_BCMBCA, then this sets a precedent for adding more and more of those ARCH_BCM4906, ARCH_BCM4912 etc. etc to future kernels under the same reasons that we might want to gate certain drivers to certain sub-arches. But what good does that do? At some point we got to make it simple for the users, and the simplest way is to have ARCH_BCMBCA only and let DT dictate the device specific probing.
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig index 45a4e9f1b639..fd9a4dd01997 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig @@ -487,8 +487,8 @@ config I2C_BCM_KONA config I2C_BRCMSTB tristate "BRCM Settop/DSL I2C controller" - depends on ARCH_BCM2835 || ARCH_BCM4908 || ARCH_BCMBCA || \ - ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST + depends on ARCH_BCM2835 || ARCH_BCMBCA || ARCH_BRCMSTB || \ + BMIPS_GENERIC || COMPILE_TEST default y help If you say yes to this option, support will be included for the diff --git a/drivers/mtd/parsers/Kconfig b/drivers/mtd/parsers/Kconfig index b43df73927a0..d6db655a1d24 100644 --- a/drivers/mtd/parsers/Kconfig +++ b/drivers/mtd/parsers/Kconfig @@ -69,8 +69,8 @@ config MTD_OF_PARTS config MTD_OF_PARTS_BCM4908 bool "BCM4908 partitioning support" - depends on MTD_OF_PARTS && (ARCH_BCM4908 || COMPILE_TEST) - default ARCH_BCM4908 + depends on MTD_OF_PARTS && (ARCH_BCMBCA || COMPILE_TEST) + default ARCH_BCMBCA help This provides partitions parser for BCM4908 family devices that can have multiple "firmware" partitions. It takes care of @@ -78,7 +78,7 @@ config MTD_OF_PARTS_BCM4908 config MTD_OF_PARTS_LINKSYS_NS bool "Linksys Northstar partitioning support" - depends on MTD_OF_PARTS && (ARCH_BCM_5301X || ARCH_BCM4908 || COMPILE_TEST) + depends on MTD_OF_PARTS && (ARCH_BCM_5301X || ARCH_BCMBCA || COMPILE_TEST) default ARCH_BCM_5301X help This provides partitions parser for Linksys devices based on Broadcom diff --git a/drivers/net/ethernet/broadcom/Kconfig b/drivers/net/ethernet/broadcom/Kconfig index 56e0fb07aec7..f4e1ca68d831 100644 --- a/drivers/net/ethernet/broadcom/Kconfig +++ b/drivers/net/ethernet/broadcom/Kconfig @@ -53,8 +53,8 @@ config B44_PCI config BCM4908_ENET tristate "Broadcom BCM4908 internal mac support" - depends on ARCH_BCM4908 || COMPILE_TEST - default y if ARCH_BCM4908 + depends on ARCH_BCMBCA || COMPILE_TEST + default y if ARCH_BCMBCA help This driver supports Ethernet controller integrated into Broadcom BCM4908 family SoCs. diff --git a/drivers/pci/controller/Kconfig b/drivers/pci/controller/Kconfig index d1c5fcf00a8a..bfd9bac37e24 100644 --- a/drivers/pci/controller/Kconfig +++ b/drivers/pci/controller/Kconfig @@ -274,7 +274,7 @@ config VMD config PCIE_BRCMSTB tristate "Broadcom Brcmstb PCIe host controller" - depends on ARCH_BRCMSTB || ARCH_BCM2835 || ARCH_BCM4908 || \ + depends on ARCH_BRCMSTB || ARCH_BCM2835 || ARCH_BCMBCA || \ BMIPS_GENERIC || COMPILE_TEST depends on OF depends on PCI_MSI_IRQ_DOMAIN diff --git a/drivers/phy/broadcom/Kconfig b/drivers/phy/broadcom/Kconfig index 93a6a8ee4716..1d89a2fd9b79 100644 --- a/drivers/phy/broadcom/Kconfig +++ b/drivers/phy/broadcom/Kconfig @@ -93,11 +93,11 @@ config PHY_BRCM_SATA config PHY_BRCM_USB tristate "Broadcom STB USB PHY driver" - depends on ARCH_BCM4908 || ARCH_BRCMSTB || COMPILE_TEST + depends on ARCH_BCMBCA || ARCH_BRCMSTB || COMPILE_TEST depends on OF select GENERIC_PHY select SOC_BRCMSTB if ARCH_BRCMSTB - default ARCH_BCM4908 || ARCH_BRCMSTB + default ARCH_BCMBCA || ARCH_BRCMSTB help Enable this to support the Broadcom STB USB PHY. This driver is required by the USB XHCI, EHCI and OHCI diff --git a/drivers/pinctrl/bcm/Kconfig b/drivers/pinctrl/bcm/Kconfig index 8f4d89806fcb..35b51ce4298e 100644 --- a/drivers/pinctrl/bcm/Kconfig +++ b/drivers/pinctrl/bcm/Kconfig @@ -31,13 +31,13 @@ config PINCTRL_BCM2835 config PINCTRL_BCM4908 tristate "Broadcom BCM4908 pinmux driver" - depends on OF && (ARCH_BCM4908 || COMPILE_TEST) + depends on OF && (ARCH_BCMBCA || COMPILE_TEST) select PINMUX select PINCONF select GENERIC_PINCONF select GENERIC_PINCTRL_GROUPS select GENERIC_PINMUX_FUNCTIONS - default ARCH_BCM4908 + default ARCH_BCMBCA help Driver for BCM4908 family SoCs with integrated pin controller. diff --git a/drivers/reset/Kconfig b/drivers/reset/Kconfig index f9a7cee01659..7ae71535fe2a 100644 --- a/drivers/reset/Kconfig +++ b/drivers/reset/Kconfig @@ -201,7 +201,7 @@ config RESET_SCMI config RESET_SIMPLE bool "Simple Reset Controller Driver" if COMPILE_TEST || EXPERT - default ARCH_ASPEED || ARCH_BCM4908 || ARCH_BITMAIN || ARCH_REALTEK || ARCH_STM32 || (ARCH_INTEL_SOCFPGA && ARM64) || ARCH_SUNXI || ARC + default ARCH_ASPEED || ARCH_BCMBCA || ARCH_BITMAIN || ARCH_REALTEK || ARCH_STM32 || (ARCH_INTEL_SOCFPGA && ARM64) || ARCH_SUNXI || ARC help This enables a simple reset controller driver for reset lines that that can be asserted and deasserted by toggling bits in a contiguous, diff --git a/drivers/soc/bcm/bcm63xx/Kconfig b/drivers/soc/bcm/bcm63xx/Kconfig index 9e501c8ac5ce..355c34482076 100644 --- a/drivers/soc/bcm/bcm63xx/Kconfig +++ b/drivers/soc/bcm/bcm63xx/Kconfig @@ -13,8 +13,8 @@ endif # SOC_BCM63XX config BCM_PMB bool "Broadcom PMB (Power Management Bus) driver" - depends on ARCH_BCM4908 || (COMPILE_TEST && OF) - default ARCH_BCM4908 + depends on ARCH_BCMBCA || (COMPILE_TEST && OF) + default ARCH_BCMBCA select PM_GENERIC_DOMAINS if PM help This enables support for the Broadcom's PMB (Power Management Bus) that diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig index e3279544b03c..f32bb01c3feb 100644 --- a/drivers/tty/serial/Kconfig +++ b/drivers/tty/serial/Kconfig @@ -1100,8 +1100,8 @@ config SERIAL_TIMBERDALE config SERIAL_BCM63XX tristate "Broadcom BCM63xx/BCM33xx UART support" select SERIAL_CORE - depends on ARCH_BCM4908 || ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC || COMPILE_TEST - default ARCH_BCM4908 || ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC + depends on ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC || COMPILE_TEST + default ARCH_BCMBCA || BCM63XX || BMIPS_GENERIC help This enables the driver for the onchip UART core found on the following chipsets: diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig index 32fd37698932..1f85ec8a4b3b 100644 --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig @@ -1798,7 +1798,7 @@ config BCM7038_WDT tristate "BCM63xx/BCM7038 Watchdog" select WATCHDOG_CORE depends on HAS_IOMEM - depends on ARCH_BCM4908 || ARCH_BRCMSTB || BMIPS_GENERIC || BCM63XX || COMPILE_TEST + depends on ARCH_BCMBCA || ARCH_BRCMSTB || BMIPS_GENERIC || BCM63XX || COMPILE_TEST help Watchdog driver for the built-in hardware in Broadcom 7038 and later SoCs used in set-top boxes. BCM7038 was made public