linux-clk.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] i.MX8MQ build dependency fixes
@ 2018-12-13 13:17 Abel Vesa
  2018-12-13 13:17 ` [PATCH 1/3] arm64: Remove CONFIG_SOC_IMX8MQ and use ARCH_MXC instead Abel Vesa
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Abel Vesa @ 2018-12-13 13:17 UTC (permalink / raw)
  To: Shawn Guo, Stephen Boyd, Aisheng Dong
  Cc: linux-clk, Pengutronix Kernel Team, Olof Johansson,
	linux-arm-kernel, Linux Kernel Mailing List, dl-linux-imx,
	Rob Herring, Will Deacon, Lucas Stach, Fabio Estevam, Abel Vesa

These patches will probably have to be take through different
trees, but the order has to be kept otherwise this won't work.

I can resend as separate patches (if necessary) as long as we can
get them in together.

Abel Vesa (3):
  arm64: Remove CONFIG_SOC_IMX8MQ and use ARCH_MXC instead
  clk: imx: Build imx8mq clocks on arm64 only
  arm64: Add i.MX8 boot necesarry configs to defconfig

 arch/arm64/Kconfig.platforms           |  8 --------
 arch/arm64/boot/dts/freescale/Makefile |  2 +-
 arch/arm64/configs/defconfig           |  5 +++++
 drivers/clk/imx/Makefile               | 11 ++++++-----
 drivers/phy/freescale/Kconfig          |  2 +-
 drivers/pinctrl/freescale/Kconfig      |  2 +-
 drivers/soc/imx/Kconfig                |  2 +-
 7 files changed, 15 insertions(+), 17 deletions(-)

-- 
2.7.4


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 1/3] arm64: Remove CONFIG_SOC_IMX8MQ and use ARCH_MXC instead
  2018-12-13 13:17 [PATCH 0/3] i.MX8MQ build dependency fixes Abel Vesa
@ 2018-12-13 13:17 ` Abel Vesa
  2018-12-13 14:35   ` Lucas Stach
  2018-12-13 13:17 ` [PATCH 2/3] clk: imx: Build imx8mq clocks on arm64 only Abel Vesa
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 12+ messages in thread
From: Abel Vesa @ 2018-12-13 13:17 UTC (permalink / raw)
  To: Shawn Guo, Stephen Boyd, Aisheng Dong
  Cc: linux-clk, Pengutronix Kernel Team, Olof Johansson,
	linux-arm-kernel, Linux Kernel Mailing List, dl-linux-imx,
	Rob Herring, Will Deacon, Lucas Stach, Fabio Estevam, Abel Vesa

To keep aligned with arm64, remove the unnecessary SOC_IMX8MQ and use
ARCH_MXC instead.

Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
---
 arch/arm64/Kconfig.platforms           | 8 --------
 arch/arm64/boot/dts/freescale/Makefile | 2 +-
 drivers/clk/imx/Makefile               | 3 ++-
 drivers/phy/freescale/Kconfig          | 2 +-
 drivers/pinctrl/freescale/Kconfig      | 2 +-
 drivers/soc/imx/Kconfig                | 2 +-
 6 files changed, 6 insertions(+), 13 deletions(-)

diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 7e1545a..318dbb9 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -148,14 +148,6 @@ config ARCH_MXC
 	  This enables support for the ARMv8 based SoCs in the
 	  NXP i.MX family.
 
-config SOC_IMX8MQ
-	bool "i.MX8MQ support"
-	depends on ARCH_MXC
-	select ARM64_ERRATUM_843419
-	select ARM64_ERRATUM_845719
-	help
-	  This enables support for the i.MX8MQ SoC.
-
 config ARCH_QCOM
 	bool "Qualcomm Platforms"
 	select GPIOLIB
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index 0001361..f9be242 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -19,4 +19,4 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2088a-rdb.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-qds.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-rdb.dtb
 
-dtb-$(CONFIG_SOC_IMX8MQ) += imx8mq-evk.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx8mq-evk.dtb
diff --git a/drivers/clk/imx/Makefile b/drivers/clk/imx/Makefile
index 5c0b11e..62a1882 100644
--- a/drivers/clk/imx/Makefile
+++ b/drivers/clk/imx/Makefile
@@ -34,5 +34,6 @@ obj-$(CONFIG_SOC_IMX6SX) += clk-imx6sx.o
 obj-$(CONFIG_SOC_IMX6UL) += clk-imx6ul.o
 obj-$(CONFIG_SOC_IMX7D)  += clk-imx7d.o
 obj-$(CONFIG_SOC_IMX7ULP) += clk-imx7ulp.o
-obj-$(CONFIG_SOC_IMX8MQ) += clk-imx8mq.o
 obj-$(CONFIG_SOC_VF610)  += clk-vf610.o
+
+obj-$(CONFIG_ARCH_MXC) += clk-imx8mq.o
diff --git a/drivers/phy/freescale/Kconfig b/drivers/phy/freescale/Kconfig
index f050bd4..923c0ef 100644
--- a/drivers/phy/freescale/Kconfig
+++ b/drivers/phy/freescale/Kconfig
@@ -2,4 +2,4 @@ config PHY_FSL_IMX8MQ_USB
 	tristate "Freescale i.MX8M USB3 PHY"
 	depends on OF && HAS_IOMEM
 	select GENERIC_PHY
-	default SOC_IMX8MQ
+	default ARCH_MXC
diff --git a/drivers/pinctrl/freescale/Kconfig b/drivers/pinctrl/freescale/Kconfig
index 2d6db43..9874a16 100644
--- a/drivers/pinctrl/freescale/Kconfig
+++ b/drivers/pinctrl/freescale/Kconfig
@@ -123,7 +123,7 @@ config PINCTRL_IMX7ULP
 
 config PINCTRL_IMX8MQ
 	bool "IMX8MQ pinctrl driver"
-	depends on SOC_IMX8MQ
+	depends on ARCH_MXC
 	select PINCTRL_IMX
 	help
 	  Say Y here to enable the imx8mq pinctrl driver
diff --git a/drivers/soc/imx/Kconfig b/drivers/soc/imx/Kconfig
index 2112d18..7ffbb6b 100644
--- a/drivers/soc/imx/Kconfig
+++ b/drivers/soc/imx/Kconfig
@@ -2,7 +2,7 @@ menu "i.MX SoC drivers"
 
 config IMX_GPCV2_PM_DOMAINS
 	bool "i.MX GPCv2 PM domains"
-	depends on SOC_IMX7D || SOC_IMX8MQ || (COMPILE_TEST && OF)
+	depends on SOC_IMX7D || ARCH_MXC || (COMPILE_TEST && OF)
 	depends on PM
 	select PM_GENERIC_DOMAINS
 	default y if SOC_IMX7D
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 2/3] clk: imx: Build imx8mq clocks on arm64 only
  2018-12-13 13:17 [PATCH 0/3] i.MX8MQ build dependency fixes Abel Vesa
  2018-12-13 13:17 ` [PATCH 1/3] arm64: Remove CONFIG_SOC_IMX8MQ and use ARCH_MXC instead Abel Vesa
@ 2018-12-13 13:17 ` Abel Vesa
  2018-12-13 13:24   ` Aisheng Dong
  2018-12-13 13:17 ` [PATCH 3/3] arm64: Add i.MX8 boot necesarry configs to defconfig Abel Vesa
  2018-12-13 13:22 ` [PATCH 0/3] i.MX8MQ build dependency fixes Abel Vesa
  3 siblings, 1 reply; 12+ messages in thread
From: Abel Vesa @ 2018-12-13 13:17 UTC (permalink / raw)
  To: Shawn Guo, Stephen Boyd, Aisheng Dong
  Cc: linux-clk, Pengutronix Kernel Team, Olof Johansson,
	linux-arm-kernel, Linux Kernel Mailing List, dl-linux-imx,
	Rob Herring, Will Deacon, Lucas Stach, Fabio Estevam, Abel Vesa

The composite-8m, frac and sccg clocks are not used by any arm32 IMX SoC,
therefore build them only on arm64. CONFIG_ARCH_MXC is arm64 only,
use that.

Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
---
 drivers/clk/imx/Makefile | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/clk/imx/Makefile b/drivers/clk/imx/Makefile
index 62a1882..cc95744 100644
--- a/drivers/clk/imx/Makefile
+++ b/drivers/clk/imx/Makefile
@@ -3,13 +3,11 @@
 obj-y += \
 	clk.o \
 	clk-busy.o \
-	clk-composite-8m.o \
 	clk-cpu.o \
 	clk-composite-7ulp.o \
 	clk-divider-gate.o \
 	clk-fixup-div.o \
 	clk-fixup-mux.o \
-	clk-frac-pll.o \
 	clk-gate-exclusive.o \
 	clk-gate2.o \
 	clk-pfd.o \
@@ -17,8 +15,7 @@ obj-y += \
 	clk-pllv1.o \
 	clk-pllv2.o \
 	clk-pllv3.o \
-	clk-pllv4.o \
-	clk-sccg-pll.o
+	clk-pllv4.o
 
 obj-$(CONFIG_SOC_IMX1)   += clk-imx1.o
 obj-$(CONFIG_SOC_IMX21)  += clk-imx21.o
@@ -36,4 +33,7 @@ obj-$(CONFIG_SOC_IMX7D)  += clk-imx7d.o
 obj-$(CONFIG_SOC_IMX7ULP) += clk-imx7ulp.o
 obj-$(CONFIG_SOC_VF610)  += clk-vf610.o
 
-obj-$(CONFIG_ARCH_MXC) += clk-imx8mq.o
+obj-$(CONFIG_ARCH_MXC) += clk-imx8mq.o \
+	clk-composite-8m.o \
+	clk-frac-pll.o \
+	clk-sccg-pll.o
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 3/3] arm64: Add i.MX8 boot necesarry configs to defconfig
  2018-12-13 13:17 [PATCH 0/3] i.MX8MQ build dependency fixes Abel Vesa
  2018-12-13 13:17 ` [PATCH 1/3] arm64: Remove CONFIG_SOC_IMX8MQ and use ARCH_MXC instead Abel Vesa
  2018-12-13 13:17 ` [PATCH 2/3] clk: imx: Build imx8mq clocks on arm64 only Abel Vesa
@ 2018-12-13 13:17 ` Abel Vesa
  2018-12-13 13:22 ` [PATCH 0/3] i.MX8MQ build dependency fixes Abel Vesa
  3 siblings, 0 replies; 12+ messages in thread
From: Abel Vesa @ 2018-12-13 13:17 UTC (permalink / raw)
  To: Shawn Guo, Stephen Boyd, Aisheng Dong
  Cc: linux-clk, Pengutronix Kernel Team, Olof Johansson,
	linux-arm-kernel, Linux Kernel Mailing List, dl-linux-imx,
	Rob Herring, Will Deacon, Lucas Stach, Fabio Estevam, Abel Vesa

The CONFIG_ARCH_MXC will enable all the i.MX8 SoC.
Also add the FEC config for ethernet support, the serial
and the pinctrl for i.MX8MQ.

Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
---
 arch/arm64/configs/defconfig | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 5c2b1f6..a129e5e 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -45,6 +45,7 @@ CONFIG_ARCH_HISI=y
 CONFIG_ARCH_MEDIATEK=y
 CONFIG_ARCH_MESON=y
 CONFIG_ARCH_MVEBU=y
+CONFIG_ARCH_MXC=y
 CONFIG_ARCH_QCOM=y
 CONFIG_ARCH_ROCKCHIP=y
 CONFIG_ARCH_SEATTLE=y
@@ -226,6 +227,7 @@ CONFIG_NET_XGENE=y
 CONFIG_ATL1C=m
 CONFIG_MACB=y
 CONFIG_THUNDER_NIC_PF=y
+CONFIG_FEC=y
 CONFIG_HIX5HD2_GMAC=y
 CONFIG_HNS_DSAF=y
 CONFIG_HNS_ENET=y
@@ -300,6 +302,8 @@ CONFIG_SERIAL_MESON_CONSOLE=y
 CONFIG_SERIAL_SAMSUNG=y
 CONFIG_SERIAL_SAMSUNG_CONSOLE=y
 CONFIG_SERIAL_TEGRA=y
+CONFIG_SERIAL_IMX=y
+CONFIG_SERIAL_IMX_CONSOLE=y
 CONFIG_SERIAL_SH_SCI=y
 CONFIG_SERIAL_MSM=y
 CONFIG_SERIAL_MSM_CONSOLE=y
@@ -346,6 +350,7 @@ CONFIG_SPI_SPIDEV=m
 CONFIG_SPMI=y
 CONFIG_PINCTRL_SINGLE=y
 CONFIG_PINCTRL_MAX77620=y
+CONFIG_PINCTRL_IMX8MQ=y
 CONFIG_PINCTRL_IPQ8074=y
 CONFIG_PINCTRL_MSM8916=y
 CONFIG_PINCTRL_MSM8994=y
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH 0/3] i.MX8MQ build dependency fixes
  2018-12-13 13:17 [PATCH 0/3] i.MX8MQ build dependency fixes Abel Vesa
                   ` (2 preceding siblings ...)
  2018-12-13 13:17 ` [PATCH 3/3] arm64: Add i.MX8 boot necesarry configs to defconfig Abel Vesa
@ 2018-12-13 13:22 ` Abel Vesa
  3 siblings, 0 replies; 12+ messages in thread
From: Abel Vesa @ 2018-12-13 13:22 UTC (permalink / raw)
  To: Shawn Guo, Stephen Boyd, Aisheng Dong
  Cc: linux-clk, Pengutronix Kernel Team, Olof Johansson,
	linux-arm-kernel, Linux Kernel Mailing List, dl-linux-imx,
	Rob Herring, Will Deacon, Lucas Stach, Fabio Estevam

On 18-12-13 13:17:40, Abel Vesa wrote:
> These patches will probably have to be take through different
> trees, but the order has to be kept otherwise this won't work.
> 
> I can resend as separate patches (if necessary) as long as we can
> get them in together.
> 

Please ignore this patch series.
Seems ARCH_MXC is a poor choice. Needs a proper look.

Sorry about that.

> Abel Vesa (3):
>   arm64: Remove CONFIG_SOC_IMX8MQ and use ARCH_MXC instead
>   clk: imx: Build imx8mq clocks on arm64 only
>   arm64: Add i.MX8 boot necesarry configs to defconfig
> 
>  arch/arm64/Kconfig.platforms           |  8 --------
>  arch/arm64/boot/dts/freescale/Makefile |  2 +-
>  arch/arm64/configs/defconfig           |  5 +++++
>  drivers/clk/imx/Makefile               | 11 ++++++-----
>  drivers/phy/freescale/Kconfig          |  2 +-
>  drivers/pinctrl/freescale/Kconfig      |  2 +-
>  drivers/soc/imx/Kconfig                |  2 +-
>  7 files changed, 15 insertions(+), 17 deletions(-)
> 
> -- 
> 2.7.4
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* RE: [PATCH 2/3] clk: imx: Build imx8mq clocks on arm64 only
  2018-12-13 13:17 ` [PATCH 2/3] clk: imx: Build imx8mq clocks on arm64 only Abel Vesa
@ 2018-12-13 13:24   ` Aisheng Dong
  0 siblings, 0 replies; 12+ messages in thread
From: Aisheng Dong @ 2018-12-13 13:24 UTC (permalink / raw)
  To: Abel Vesa, Shawn Guo, Stephen Boyd
  Cc: linux-clk, Pengutronix Kernel Team, Olof Johansson,
	linux-arm-kernel, Linux Kernel Mailing List, dl-linux-imx,
	Rob Herring, Will Deacon, Lucas Stach, Fabio Estevam

> -----Original Message-----
> From: Abel Vesa
> Sent: Thursday, December 13, 2018 9:18 PM
> Subject: [PATCH 2/3] clk: imx: Build imx8mq clocks on arm64 only
> 
> The composite-8m, frac and sccg clocks are not used by any arm32 IMX SoC,
> therefore build them only on arm64. CONFIG_ARCH_MXC is arm64 only, use
> that.

CONFIG_ARCH_MXC is not ARM64 only.

> 
> Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
> ---
>  drivers/clk/imx/Makefile | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/clk/imx/Makefile b/drivers/clk/imx/Makefile index
> 62a1882..cc95744 100644
> --- a/drivers/clk/imx/Makefile
> +++ b/drivers/clk/imx/Makefile
> @@ -3,13 +3,11 @@
>  obj-y += \
>  	clk.o \
>  	clk-busy.o \
> -	clk-composite-8m.o \
>  	clk-cpu.o \
>  	clk-composite-7ulp.o \
>  	clk-divider-gate.o \
>  	clk-fixup-div.o \
>  	clk-fixup-mux.o \
> -	clk-frac-pll.o \
>  	clk-gate-exclusive.o \
>  	clk-gate2.o \
>  	clk-pfd.o \
> @@ -17,8 +15,7 @@ obj-y += \
>  	clk-pllv1.o \
>  	clk-pllv2.o \
>  	clk-pllv3.o \
> -	clk-pllv4.o \
> -	clk-sccg-pll.o
> +	clk-pllv4.o
> 
>  obj-$(CONFIG_SOC_IMX1)   += clk-imx1.o
>  obj-$(CONFIG_SOC_IMX21)  += clk-imx21.o @@ -36,4 +33,7 @@
> obj-$(CONFIG_SOC_IMX7D)  += clk-imx7d.o
>  obj-$(CONFIG_SOC_IMX7ULP) += clk-imx7ulp.o
>  obj-$(CONFIG_SOC_VF610)  += clk-vf610.o
> 
> -obj-$(CONFIG_ARCH_MXC) += clk-imx8mq.o
> +obj-$(CONFIG_ARCH_MXC) += clk-imx8mq.o \
> +	clk-composite-8m.o \
> +	clk-frac-pll.o \
> +	clk-sccg-pll.o

I think you may create a CLK_IMX8MQ as I said in other mail for IMX8QXP.

Regards
Dong Aisheng
> --
> 2.7.4


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/3] arm64: Remove CONFIG_SOC_IMX8MQ and use ARCH_MXC instead
  2018-12-13 13:17 ` [PATCH 1/3] arm64: Remove CONFIG_SOC_IMX8MQ and use ARCH_MXC instead Abel Vesa
@ 2018-12-13 14:35   ` Lucas Stach
  2018-12-13 14:51     ` Abel Vesa
  0 siblings, 1 reply; 12+ messages in thread
From: Lucas Stach @ 2018-12-13 14:35 UTC (permalink / raw)
  To: Abel Vesa, Shawn Guo, Stephen Boyd, Aisheng Dong
  Cc: linux-clk, Pengutronix Kernel Team, Olof Johansson,
	linux-arm-kernel, Linux Kernel Mailing List, dl-linux-imx,
	Rob Herring, Will Deacon, Fabio Estevam

Am Donnerstag, den 13.12.2018, 13:17 +0000 schrieb Abel Vesa:
> To keep aligned with arm64, remove the unnecessary SOC_IMX8MQ and use
> ARCH_MXC instead.
> 
> Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
> ---
>  arch/arm64/Kconfig.platforms           | 8 --------
>  arch/arm64/boot/dts/freescale/Makefile | 2 +-
>  drivers/clk/imx/Makefile               | 3 ++-
>  drivers/phy/freescale/Kconfig          | 2 +-
>  drivers/pinctrl/freescale/Kconfig      | 2 +-
>  drivers/soc/imx/Kconfig                | 2 +-
>  6 files changed, 6 insertions(+), 13 deletions(-)
> 
> diff --git a/arch/arm64/Kconfig.platforms
> b/arch/arm64/Kconfig.platforms
> index 7e1545a..318dbb9 100644
> --- a/arch/arm64/Kconfig.platforms
> +++ b/arch/arm64/Kconfig.platforms
> @@ -148,14 +148,6 @@ config ARCH_MXC
>  	  This enables support for the ARMv8 based SoCs in the
>  	  NXP i.MX family.
>  
> -config SOC_IMX8MQ
> -	bool "i.MX8MQ support"
> -	depends on ARCH_MXC
> -	select ARM64_ERRATUM_843419
> -	select ARM64_ERRATUM_845719
> -	help
> -	  This enables support for the i.MX8MQ SoC.
> -

NACK on this one. Having a single place where stuff that is absolutely
critical for proper SoC operation can be selected is very useful and
avoids hard to debug issues due to slightly wrong configs in the long
run.

Regards,
Lucas

>  config ARCH_QCOM
>  	bool "Qualcomm Platforms"
>  	select GPIOLIB
> diff --git a/arch/arm64/boot/dts/freescale/Makefile
> b/arch/arm64/boot/dts/freescale/Makefile
> index 0001361..f9be242 100644
> --- a/arch/arm64/boot/dts/freescale/Makefile
> +++ b/arch/arm64/boot/dts/freescale/Makefile
> @@ -19,4 +19,4 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2088a-
> rdb.dtb
>  dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-qds.dtb
>  dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-rdb.dtb
>  
> -dtb-$(CONFIG_SOC_IMX8MQ) += imx8mq-evk.dtb
> +dtb-$(CONFIG_ARCH_MXC) += imx8mq-evk.dtb
> diff --git a/drivers/clk/imx/Makefile b/drivers/clk/imx/Makefile
> index 5c0b11e..62a1882 100644
> --- a/drivers/clk/imx/Makefile
> +++ b/drivers/clk/imx/Makefile
> @@ -34,5 +34,6 @@ obj-$(CONFIG_SOC_IMX6SX) += clk-imx6sx.o
>  obj-$(CONFIG_SOC_IMX6UL) += clk-imx6ul.o
>  obj-$(CONFIG_SOC_IMX7D)  += clk-imx7d.o
>  obj-$(CONFIG_SOC_IMX7ULP) += clk-imx7ulp.o
> -obj-$(CONFIG_SOC_IMX8MQ) += clk-imx8mq.o
>  obj-$(CONFIG_SOC_VF610)  += clk-vf610.o
> +
> +obj-$(CONFIG_ARCH_MXC) += clk-imx8mq.o
> diff --git a/drivers/phy/freescale/Kconfig
> b/drivers/phy/freescale/Kconfig
> index f050bd4..923c0ef 100644
> --- a/drivers/phy/freescale/Kconfig
> +++ b/drivers/phy/freescale/Kconfig
> @@ -2,4 +2,4 @@ config PHY_FSL_IMX8MQ_USB
>  	tristate "Freescale i.MX8M USB3 PHY"
>  	depends on OF && HAS_IOMEM
>  	select GENERIC_PHY
> -	default SOC_IMX8MQ
> +	default ARCH_MXC
> diff --git a/drivers/pinctrl/freescale/Kconfig
> b/drivers/pinctrl/freescale/Kconfig
> index 2d6db43..9874a16 100644
> --- a/drivers/pinctrl/freescale/Kconfig
> +++ b/drivers/pinctrl/freescale/Kconfig
> @@ -123,7 +123,7 @@ config PINCTRL_IMX7ULP
>  
>  config PINCTRL_IMX8MQ
>  	bool "IMX8MQ pinctrl driver"
> -	depends on SOC_IMX8MQ
> +	depends on ARCH_MXC
>  	select PINCTRL_IMX
>  	help
>  	  Say Y here to enable the imx8mq pinctrl driver
> diff --git a/drivers/soc/imx/Kconfig b/drivers/soc/imx/Kconfig
> index 2112d18..7ffbb6b 100644
> --- a/drivers/soc/imx/Kconfig
> +++ b/drivers/soc/imx/Kconfig
> @@ -2,7 +2,7 @@ menu "i.MX SoC drivers"
>  
>  config IMX_GPCV2_PM_DOMAINS
>  	bool "i.MX GPCv2 PM domains"
> -	depends on SOC_IMX7D || SOC_IMX8MQ || (COMPILE_TEST && OF)
> +	depends on SOC_IMX7D || ARCH_MXC || (COMPILE_TEST && OF)
>  	depends on PM
>  	select PM_GENERIC_DOMAINS
>  	default y if SOC_IMX7D

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/3] arm64: Remove CONFIG_SOC_IMX8MQ and use ARCH_MXC instead
  2018-12-13 14:35   ` Lucas Stach
@ 2018-12-13 14:51     ` Abel Vesa
  2018-12-14  1:12       ` Shawn Guo
  0 siblings, 1 reply; 12+ messages in thread
From: Abel Vesa @ 2018-12-13 14:51 UTC (permalink / raw)
  To: Lucas Stach
  Cc: Shawn Guo, Stephen Boyd, Aisheng Dong, linux-clk,
	Pengutronix Kernel Team, Olof Johansson, linux-arm-kernel,
	Linux Kernel Mailing List, dl-linux-imx, Rob Herring,
	Will Deacon, Fabio Estevam

On 18-12-13 15:35:27, Lucas Stach wrote:
> Am Donnerstag, den 13.12.2018, 13:17 +0000 schrieb Abel Vesa:
> > To keep aligned with arm64, remove the unnecessary SOC_IMX8MQ and use
> > ARCH_MXC instead.
> > 
> > Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
> > ---
> >  arch/arm64/Kconfig.platforms           | 8 --------
> >  arch/arm64/boot/dts/freescale/Makefile | 2 +-
> >  drivers/clk/imx/Makefile               | 3 ++-
> >  drivers/phy/freescale/Kconfig          | 2 +-
> >  drivers/pinctrl/freescale/Kconfig      | 2 +-
> >  drivers/soc/imx/Kconfig                | 2 +-
> >  6 files changed, 6 insertions(+), 13 deletions(-)
> > 
> > diff --git a/arch/arm64/Kconfig.platforms
> > b/arch/arm64/Kconfig.platforms
> > index 7e1545a..318dbb9 100644
> > --- a/arch/arm64/Kconfig.platforms
> > +++ b/arch/arm64/Kconfig.platforms
> > @@ -148,14 +148,6 @@ config ARCH_MXC
> >  	  This enables support for the ARMv8 based SoCs in the
> >  	  NXP i.MX family.
> >  
> > -config SOC_IMX8MQ
> > -	bool "i.MX8MQ support"
> > -	depends on ARCH_MXC
> > -	select ARM64_ERRATUM_843419
> > -	select ARM64_ERRATUM_845719
> > -	help
> > -	  This enables support for the i.MX8MQ SoC.
> > -
> 
> NACK on this one. Having a single place where stuff that is absolutely
> critical for proper SoC operation can be selected is very useful and
> avoids hard to debug issues due to slightly wrong configs in the long
> run.

As mentioned in the cover letter, please ignore this patch set entirely.
The ARCH_MXC is actually used on arm32 too, so it won't work.

I'm working on a patchset that will add the Kconfig into 
drivers/clk/imx/ and in it will add CLK_IMX8MQ. That will
fix the clock dependency since the CLK_IMX8MQ will depend on
ARCH_MXC and ARM64. I believe the CLK_IMX8QXP will follow
the same pattern.

As for the SOC_IMX8MQ, all the other vendors have one single
config for all the arm64 platforms. TBH, to control every SoC
independently it's a little bit of an overkill.

But maybe I'm the only one who thinks so.

> 
> Regards,
> Lucas
> 
> >  config ARCH_QCOM
> >  	bool "Qualcomm Platforms"
> >  	select GPIOLIB
> > diff --git a/arch/arm64/boot/dts/freescale/Makefile
> > b/arch/arm64/boot/dts/freescale/Makefile
> > index 0001361..f9be242 100644
> > --- a/arch/arm64/boot/dts/freescale/Makefile
> > +++ b/arch/arm64/boot/dts/freescale/Makefile
> > @@ -19,4 +19,4 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2088a-
> > rdb.dtb
> >  dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-qds.dtb
> >  dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-rdb.dtb
> >  
> > -dtb-$(CONFIG_SOC_IMX8MQ) += imx8mq-evk.dtb
> > +dtb-$(CONFIG_ARCH_MXC) += imx8mq-evk.dtb
> > diff --git a/drivers/clk/imx/Makefile b/drivers/clk/imx/Makefile
> > index 5c0b11e..62a1882 100644
> > --- a/drivers/clk/imx/Makefile
> > +++ b/drivers/clk/imx/Makefile
> > @@ -34,5 +34,6 @@ obj-$(CONFIG_SOC_IMX6SX) += clk-imx6sx.o
> >  obj-$(CONFIG_SOC_IMX6UL) += clk-imx6ul.o
> >  obj-$(CONFIG_SOC_IMX7D)  += clk-imx7d.o
> >  obj-$(CONFIG_SOC_IMX7ULP) += clk-imx7ulp.o
> > -obj-$(CONFIG_SOC_IMX8MQ) += clk-imx8mq.o
> >  obj-$(CONFIG_SOC_VF610)  += clk-vf610.o
> > +
> > +obj-$(CONFIG_ARCH_MXC) += clk-imx8mq.o
> > diff --git a/drivers/phy/freescale/Kconfig
> > b/drivers/phy/freescale/Kconfig
> > index f050bd4..923c0ef 100644
> > --- a/drivers/phy/freescale/Kconfig
> > +++ b/drivers/phy/freescale/Kconfig
> > @@ -2,4 +2,4 @@ config PHY_FSL_IMX8MQ_USB
> >  	tristate "Freescale i.MX8M USB3 PHY"
> >  	depends on OF && HAS_IOMEM
> >  	select GENERIC_PHY
> > -	default SOC_IMX8MQ
> > +	default ARCH_MXC
> > diff --git a/drivers/pinctrl/freescale/Kconfig
> > b/drivers/pinctrl/freescale/Kconfig
> > index 2d6db43..9874a16 100644
> > --- a/drivers/pinctrl/freescale/Kconfig
> > +++ b/drivers/pinctrl/freescale/Kconfig
> > @@ -123,7 +123,7 @@ config PINCTRL_IMX7ULP
> >  
> >  config PINCTRL_IMX8MQ
> >  	bool "IMX8MQ pinctrl driver"
> > -	depends on SOC_IMX8MQ
> > +	depends on ARCH_MXC
> >  	select PINCTRL_IMX
> >  	help
> >  	  Say Y here to enable the imx8mq pinctrl driver
> > diff --git a/drivers/soc/imx/Kconfig b/drivers/soc/imx/Kconfig
> > index 2112d18..7ffbb6b 100644
> > --- a/drivers/soc/imx/Kconfig
> > +++ b/drivers/soc/imx/Kconfig
> > @@ -2,7 +2,7 @@ menu "i.MX SoC drivers"
> >  
> >  config IMX_GPCV2_PM_DOMAINS
> >  	bool "i.MX GPCv2 PM domains"
> > -	depends on SOC_IMX7D || SOC_IMX8MQ || (COMPILE_TEST && OF)
> > +	depends on SOC_IMX7D || ARCH_MXC || (COMPILE_TEST && OF)
> >  	depends on PM
> >  	select PM_GENERIC_DOMAINS
> >  	default y if SOC_IMX7D

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/3] arm64: Remove CONFIG_SOC_IMX8MQ and use ARCH_MXC instead
  2018-12-13 14:51     ` Abel Vesa
@ 2018-12-14  1:12       ` Shawn Guo
  2018-12-14  9:22         ` Lucas Stach
  0 siblings, 1 reply; 12+ messages in thread
From: Shawn Guo @ 2018-12-14  1:12 UTC (permalink / raw)
  To: Abel Vesa, Lucas Stach
  Cc: Stephen Boyd, Aisheng Dong, linux-clk, Pengutronix Kernel Team,
	Olof Johansson, linux-arm-kernel, Linux Kernel Mailing List,
	dl-linux-imx, Rob Herring, Will Deacon, Fabio Estevam

On Thu, Dec 13, 2018 at 02:51:50PM +0000, Abel Vesa wrote:
...
> > > diff --git a/arch/arm64/Kconfig.platforms
> > > b/arch/arm64/Kconfig.platforms
> > > index 7e1545a..318dbb9 100644
> > > --- a/arch/arm64/Kconfig.platforms
> > > +++ b/arch/arm64/Kconfig.platforms
> > > @@ -148,14 +148,6 @@ config ARCH_MXC
> > >  	  This enables support for the ARMv8 based SoCs in the
> > >  	  NXP i.MX family.
> > >  
> > > -config SOC_IMX8MQ
> > > -	bool "i.MX8MQ support"
> > > -	depends on ARCH_MXC
> > > -	select ARM64_ERRATUM_843419
> > > -	select ARM64_ERRATUM_845719
> > > -	help
> > > -	  This enables support for the i.MX8MQ SoC.
> > > -
> > 
> > NACK on this one. Having a single place where stuff that is absolutely
> > critical for proper SoC operation can be selected is very useful and
> > avoids hard to debug issues due to slightly wrong configs in the long
> > run.
> 
> As mentioned in the cover letter, please ignore this patch set entirely.
> The ARCH_MXC is actually used on arm32 too, so it won't work.
> 
> I'm working on a patchset that will add the Kconfig into 
> drivers/clk/imx/ and in it will add CLK_IMX8MQ. That will
> fix the clock dependency since the CLK_IMX8MQ will depend on
> ARCH_MXC and ARM64. I believe the CLK_IMX8QXP will follow
> the same pattern.
> 
> As for the SOC_IMX8MQ, all the other vendors have one single
> config for all the arm64 platforms. TBH, to control every SoC
> independently it's a little bit of an overkill.

Lucas,

We are still waiting for further comments from Olof [1].  But it sounds
like SoC specific option is not welcomed on ARM64.

Shawn

[1] https://patchwork.kernel.org/patch/10727453/#22378669

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/3] arm64: Remove CONFIG_SOC_IMX8MQ and use ARCH_MXC instead
  2018-12-14  1:12       ` Shawn Guo
@ 2018-12-14  9:22         ` Lucas Stach
  2018-12-14 12:41           ` Abel Vesa
  0 siblings, 1 reply; 12+ messages in thread
From: Lucas Stach @ 2018-12-14  9:22 UTC (permalink / raw)
  To: Shawn Guo, Abel Vesa
  Cc: Stephen Boyd, Aisheng Dong, linux-clk, Pengutronix Kernel Team,
	Olof Johansson, linux-arm-kernel, Linux Kernel Mailing List,
	dl-linux-imx, Rob Herring, Will Deacon, Fabio Estevam

Hi Shawn,

Am Freitag, den 14.12.2018, 09:12 +0800 schrieb Shawn Guo:
> On Thu, Dec 13, 2018 at 02:51:50PM +0000, Abel Vesa wrote:
> ...
> > > > diff --git a/arch/arm64/Kconfig.platforms
> > > > b/arch/arm64/Kconfig.platforms
> > > > index 7e1545a..318dbb9 100644
> > > > --- a/arch/arm64/Kconfig.platforms
> > > > +++ b/arch/arm64/Kconfig.platforms
> > > > @@ -148,14 +148,6 @@ config ARCH_MXC
> > > > > > > >  	  This enables support for the ARMv8 based SoCs in the
> > > > > > > >  	  NXP i.MX family.
> > > >  
> > > > -config SOC_IMX8MQ
> > > > > > > > -	bool "i.MX8MQ support"
> > > > > > > > -	depends on ARCH_MXC
> > > > > > > > -	select ARM64_ERRATUM_843419
> > > > > > > > -	select ARM64_ERRATUM_845719
> > > > > > > > -	help
> > > > > > > > -	  This enables support for the i.MX8MQ SoC.
> > > > -
> > > 
> > > NACK on this one. Having a single place where stuff that is absolutely
> > > critical for proper SoC operation can be selected is very useful and
> > > avoids hard to debug issues due to slightly wrong configs in the long
> > > run.
> > 
> > As mentioned in the cover letter, please ignore this patch set entirely.
> > The ARCH_MXC is actually used on arm32 too, so it won't work.
> > 
> > I'm working on a patchset that will add the Kconfig into 
> > drivers/clk/imx/ and in it will add CLK_IMX8MQ. That will
> > fix the clock dependency since the CLK_IMX8MQ will depend on
> > ARCH_MXC and ARM64. I believe the CLK_IMX8QXP will follow
> > the same pattern.
> > 
> > As for the SOC_IMX8MQ, all the other vendors have one single
> > config for all the arm64 platforms. TBH, to control every SoC
> > independently it's a little bit of an overkill.
> 
> Lucas,
> 
> We are still waiting for further comments from Olof [1].  But it sounds
> like SoC specific option is not welcomed on ARM64.

While I personally would prefer to keep the SoC options, I see that we
need to align with the judgment of the arm-soc maintainers.

But at the very least we should keep the select for vital system
workarounds. They need to move to the arch Kconfig symbol in that case
and might select stuff that isn't needed on each of the i.MX8 SoCs. But
better enabling more workaround and drivers than necessary than having
hard to debug system failures in the future.

Regards,
Lucas

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/3] arm64: Remove CONFIG_SOC_IMX8MQ and use ARCH_MXC instead
  2018-12-14  9:22         ` Lucas Stach
@ 2018-12-14 12:41           ` Abel Vesa
  2018-12-14 17:16             ` Stephen Boyd
  0 siblings, 1 reply; 12+ messages in thread
From: Abel Vesa @ 2018-12-14 12:41 UTC (permalink / raw)
  To: Lucas Stach
  Cc: Shawn Guo, Stephen Boyd, Aisheng Dong, linux-clk,
	Pengutronix Kernel Team, Olof Johansson, linux-arm-kernel,
	Linux Kernel Mailing List, dl-linux-imx, Rob Herring,
	Will Deacon, Fabio Estevam

On 18-12-14 10:22:11, Lucas Stach wrote:
> Hi Shawn,
> 
> Am Freitag, den 14.12.2018, 09:12 +0800 schrieb Shawn Guo:
> > On Thu, Dec 13, 2018 at 02:51:50PM +0000, Abel Vesa wrote:
> > ...
> > > > > diff --git a/arch/arm64/Kconfig.platforms
> > > > > b/arch/arm64/Kconfig.platforms
> > > > > index 7e1545a..318dbb9 100644
> > > > > --- a/arch/arm64/Kconfig.platforms
> > > > > +++ b/arch/arm64/Kconfig.platforms
> > > > > @@ -148,14 +148,6 @@ config ARCH_MXC
> > > > > > > > >  	  This enables support for the ARMv8 based SoCs in the
> > > > > > > > >  	  NXP i.MX family.
> > > > >  
> > > > > -config SOC_IMX8MQ
> > > > > > > > > -	bool "i.MX8MQ support"
> > > > > > > > > -	depends on ARCH_MXC
> > > > > > > > > -	select ARM64_ERRATUM_843419
> > > > > > > > > -	select ARM64_ERRATUM_845719
> > > > > > > > > -	help
> > > > > > > > > -	  This enables support for the i.MX8MQ SoC.
> > > > > -
> > > > 
> > > > NACK on this one. Having a single place where stuff that is absolutely
> > > > critical for proper SoC operation can be selected is very useful and
> > > > avoids hard to debug issues due to slightly wrong configs in the long
> > > > run.
> > > 
> > > As mentioned in the cover letter, please ignore this patch set entirely.
> > > The ARCH_MXC is actually used on arm32 too, so it won't work.
> > > 
> > > I'm working on a patchset that will add the Kconfig into 
> > > drivers/clk/imx/ and in it will add CLK_IMX8MQ. That will
> > > fix the clock dependency since the CLK_IMX8MQ will depend on
> > > ARCH_MXC and ARM64. I believe the CLK_IMX8QXP will follow
> > > the same pattern.
> > > 
> > > As for the SOC_IMX8MQ, all the other vendors have one single
> > > config for all the arm64 platforms. TBH, to control every SoC
> > > independently it's a little bit of an overkill.
> > 
> > Lucas,
> > 
> > We are still waiting for further comments from Olof [1].  But it sounds
> > like SoC specific option is not welcomed on ARM64.
> 
> While I personally would prefer to keep the SoC options, I see that we
> need to align with the judgment of the arm-soc maintainers.
> 
> But at the very least we should keep the select for vital system
> workarounds. They need to move to the arch Kconfig symbol in that case
> and might select stuff that isn't needed on each of the i.MX8 SoCs. But
> better enabling more workaround and drivers than necessary than having
> hard to debug system failures in the future.
> 

I get your point. But that seems to be an issue with the whole arm64 approach.
TBH, I believe now would be the perfect time to "get it right" on IMX since the 8MQ
is the first one to get boot-up support upstream. It will be way much harder
to change this later when more arm64 IMX SoCs get upstreamed.

I would really love more opinions on this.

I have patches on stand-by that remove the SOC_IMX8MQ in all the subsystems and
a patch for the defconfig update which I'll keep on holding on to until there
is a agreement on this.

> Regards,
> Lucas

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/3] arm64: Remove CONFIG_SOC_IMX8MQ and use ARCH_MXC instead
  2018-12-14 12:41           ` Abel Vesa
@ 2018-12-14 17:16             ` Stephen Boyd
  0 siblings, 0 replies; 12+ messages in thread
From: Stephen Boyd @ 2018-12-14 17:16 UTC (permalink / raw)
  To: Abel Vesa, Lucas Stach
  Cc: Shawn Guo, Aisheng Dong, linux-clk, Pengutronix Kernel Team,
	Olof Johansson, linux-arm-kernel, Linux Kernel Mailing List,
	dl-linux-imx, Rob Herring, Will Deacon, Fabio Estevam

Quoting Abel Vesa (2018-12-14 04:41:46)
> On 18-12-14 10:22:11, Lucas Stach wrote:
> > Hi Shawn,
> > 
> > Am Freitag, den 14.12.2018, 09:12 +0800 schrieb Shawn Guo:
> > > On Thu, Dec 13, 2018 at 02:51:50PM +0000, Abel Vesa wrote:
> > > ...
> > > > > > diff --git a/arch/arm64/Kconfig.platforms
> > > > > > b/arch/arm64/Kconfig.platforms
> > > > > > index 7e1545a..318dbb9 100644
> > > > > > --- a/arch/arm64/Kconfig.platforms
> > > > > > +++ b/arch/arm64/Kconfig.platforms
> > > > > > @@ -148,14 +148,6 @@ config ARCH_MXC
> > > > > > > > > >         This enables support for the ARMv8 based SoCs in the
> > > > > > > > > >         NXP i.MX family.
> > > > > >  
> > > > > > -config SOC_IMX8MQ
> > > > > > > > > > -     bool "i.MX8MQ support"
> > > > > > > > > > -     depends on ARCH_MXC
> > > > > > > > > > -     select ARM64_ERRATUM_843419
> > > > > > > > > > -     select ARM64_ERRATUM_845719
> > > > > > > > > > -     help
> > > > > > > > > > -       This enables support for the i.MX8MQ SoC.
> > > > > > -
> > > > > 
> > > > > NACK on this one. Having a single place where stuff that is absolutely
> > > > > critical for proper SoC operation can be selected is very useful and
> > > > > avoids hard to debug issues due to slightly wrong configs in the long
> > > > > run.
> > > > 
> > > > As mentioned in the cover letter, please ignore this patch set entirely.
> > > > The ARCH_MXC is actually used on arm32 too, so it won't work.
> > > > 
> > > > I'm working on a patchset that will add the Kconfig into 
> > > > drivers/clk/imx/ and in it will add CLK_IMX8MQ. That will
> > > > fix the clock dependency since the CLK_IMX8MQ will depend on
> > > > ARCH_MXC and ARM64. I believe the CLK_IMX8QXP will follow
> > > > the same pattern.
> > > > 
> > > > As for the SOC_IMX8MQ, all the other vendors have one single
> > > > config for all the arm64 platforms. TBH, to control every SoC
> > > > independently it's a little bit of an overkill.
> > > 
> > > Lucas,
> > > 
> > > We are still waiting for further comments from Olof [1].  But it sounds
> > > like SoC specific option is not welcomed on ARM64.
> > 
> > While I personally would prefer to keep the SoC options, I see that we
> > need to align with the judgment of the arm-soc maintainers.
> > 
> > But at the very least we should keep the select for vital system
> > workarounds. They need to move to the arch Kconfig symbol in that case
> > and might select stuff that isn't needed on each of the i.MX8 SoCs. But
> > better enabling more workaround and drivers than necessary than having
> > hard to debug system failures in the future.

CPU erratas are typically implemented with runtime code patching and
they're pretty much all 'default y' so having the SoC config option
select them doesn't do much besides force the errata to always be
enabled. If allowing the user to disable errata handling is a problem,
then perhaps those should only be visible when CONFIG_EXPERT=y.

> > 
> 
> I get your point. But that seems to be an issue with the whole arm64 approach.
> TBH, I believe now would be the perfect time to "get it right" on IMX since the 8MQ
> is the first one to get boot-up support upstream. It will be way much harder
> to change this later when more arm64 IMX SoCs get upstreamed.
> 
> I would really love more opinions on this.
> 
> I have patches on stand-by that remove the SOC_IMX8MQ in all the subsystems and
> a patch for the defconfig update which I'll keep on holding on to until there
> is a agreement on this.
> 

I will merge the clk patch now. Hope that helps you feel more confident
that CONFIG_SOC_FOO options aren't welcome.


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2018-12-14 17:16 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-13 13:17 [PATCH 0/3] i.MX8MQ build dependency fixes Abel Vesa
2018-12-13 13:17 ` [PATCH 1/3] arm64: Remove CONFIG_SOC_IMX8MQ and use ARCH_MXC instead Abel Vesa
2018-12-13 14:35   ` Lucas Stach
2018-12-13 14:51     ` Abel Vesa
2018-12-14  1:12       ` Shawn Guo
2018-12-14  9:22         ` Lucas Stach
2018-12-14 12:41           ` Abel Vesa
2018-12-14 17:16             ` Stephen Boyd
2018-12-13 13:17 ` [PATCH 2/3] clk: imx: Build imx8mq clocks on arm64 only Abel Vesa
2018-12-13 13:24   ` Aisheng Dong
2018-12-13 13:17 ` [PATCH 3/3] arm64: Add i.MX8 boot necesarry configs to defconfig Abel Vesa
2018-12-13 13:22 ` [PATCH 0/3] i.MX8MQ build dependency fixes Abel Vesa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).