* [PATCH v2 1/2] ARM: dts: Remove use of skeleton.dtsi from bcm283x.dtsi
@ 2016-08-03 14:12 Ian Campbell
2016-08-03 14:12 ` [PATCH v2 2/2] ARM64: dts: bcm: Use a symlink to R-Pi dtsi files from arch=arm Ian Campbell
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Ian Campbell @ 2016-08-03 14:12 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Ian Campbell, Catalin Marinas, Will Deacon, Mark Rutland,
Rob Herring, Frank Rowand, Eric Anholt, Stephen Warren, Lee Jones,
Gerd Hoffmann, devicetree, linux-kernel, linux-rpi-kernel, arm
This file is included from DTS files under arch/arm64 too (via
broadcom/bcm2837-rpi-3-b.dts and broadcom/bcm2837.dtsi). There is a desire
not to have skeleton.dtsi for ARM64. See commit 3ebee5a2e141 ("arm64: dts:
kill skeleton.dtsi") for rationale for its removal.
As well as the addition of #*-cells also requires adding the device_type to
the rpi memory node explicitly.
Note that this change results in the removal of an empty /aliases node from
bcm2835-rpi-a.dtb and bcm2835-rpi-a-plus.dtb. I have no hardware to check
if this is a problem or not.
It also results in some reordering of the nodes in the DTBs (the /aliases
and /memory nodes come later). This isn't supposed to matter but, again,
I've no hardware to check if it is true in this particular case.
Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Frank Rowand <frowand.list@gmail.com>
Cc: Eric Anholt <eric@anholt.net>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Lee Jones <lee@kernel.org>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rpi-kernel@lists.infradead.org
Cc: arm@kernel.org
---
v2: New patch to avoid needing to add skeleton.dtsi to arch/arm64
---
arch/arm/boot/dts/bcm2835-rpi.dtsi | 1 +
arch/arm/boot/dts/bcm283x.dtsi | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi
index caf2707..e9b47b2 100644
--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
@@ -2,6 +2,7 @@
/ {
memory {
+ device_type = "memory";
reg = <0 0x10000000>;
};
diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
index b982522..445624a 100644
--- a/arch/arm/boot/dts/bcm283x.dtsi
+++ b/arch/arm/boot/dts/bcm283x.dtsi
@@ -2,7 +2,6 @@
#include <dt-bindings/clock/bcm2835.h>
#include <dt-bindings/clock/bcm2835-aux.h>
#include <dt-bindings/gpio/gpio.h>
-#include "skeleton.dtsi"
/* This include file covers the common peripherals and configuration between
* bcm2835 and bcm2836 implementations, leaving the CPU configuration to
@@ -13,6 +12,8 @@
compatible = "brcm,bcm2835";
model = "BCM2835";
interrupt-parent = <&intc>;
+ #address-cells = <1>;
+ #size-cells = <1>;
chosen {
bootargs = "earlyprintk console=ttyAMA0";
--
2.8.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v2 2/2] ARM64: dts: bcm: Use a symlink to R-Pi dtsi files from arch=arm
2016-08-03 14:12 [PATCH v2 1/2] ARM: dts: Remove use of skeleton.dtsi from bcm283x.dtsi Ian Campbell
@ 2016-08-03 14:12 ` Ian Campbell
2016-08-03 14:54 ` Mark Rutland
2016-08-03 14:48 ` [PATCH v2 1/2] ARM: dts: Remove use of skeleton.dtsi from bcm283x.dtsi Mark Rutland
2016-08-03 16:57 ` Stefan Wahren
2 siblings, 1 reply; 12+ messages in thread
From: Ian Campbell @ 2016-08-03 14:12 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Ian Campbell, Catalin Marinas, Will Deacon, Mark Rutland,
Rob Herring, Frank Rowand, Eric Anholt, Stephen Warren, Lee Jones,
Gerd Hoffmann, devicetree, linux-kernel, linux-rpi-kernel, arm
The ../../../arm... style cross-references added by commit 9d56c22a7861
("ARM: bcm2835: Add devicetree for the Raspberry Pi 3.") do not work in the
context of the split device-tree repository[0] (where the directory
structure differs). As with commit 8ee57b8182c4 ("ARM64: dts: vexpress: Use
a symlink to vexpress-v2m-rs1.dtsi from arch=arm") use symlinks instead.
[0] https://git.kernel.org/cgit/linux/kernel/git/devicetree/devicetree-rebasing.git/
Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Frank Rowand <frowand.list@gmail.com>
Cc: Eric Anholt <eric@anholt.net>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Lee Jones <lee@kernel.org>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rpi-kernel@lists.infradead.org
Cc: arm@kernel.org
---
v2: No more need for skeleton.dtsi since this was cleaned up in the previous
patch
---
arch/arm64/boot/dts/broadcom/bcm2835-rpi.dtsi | 1 +
arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts | 4 ++--
arch/arm64/boot/dts/broadcom/bcm2837.dtsi | 2 +-
arch/arm64/boot/dts/broadcom/bcm283x-rpi-smsc9514.dtsi | 1 +
arch/arm64/boot/dts/broadcom/bcm283x.dtsi | 1 +
5 files changed, 6 insertions(+), 3 deletions(-)
create mode 120000 arch/arm64/boot/dts/broadcom/bcm2835-rpi.dtsi
create mode 120000 arch/arm64/boot/dts/broadcom/bcm283x-rpi-smsc9514.dtsi
create mode 120000 arch/arm64/boot/dts/broadcom/bcm283x.dtsi
diff --git a/arch/arm64/boot/dts/broadcom/bcm2835-rpi.dtsi b/arch/arm64/boot/dts/broadcom/bcm2835-rpi.dtsi
new file mode 120000
index 0000000..3937b77
--- /dev/null
+++ b/arch/arm64/boot/dts/broadcom/bcm2835-rpi.dtsi
@@ -0,0 +1 @@
+../../../../arm/boot/dts/bcm2835-rpi.dtsi
\ No newline at end of file
diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
index 6f47dd2..7841b72 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
+++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
@@ -1,7 +1,7 @@
/dts-v1/;
#include "bcm2837.dtsi"
-#include "../../../../arm/boot/dts/bcm2835-rpi.dtsi"
-#include "../../../../arm/boot/dts/bcm283x-rpi-smsc9514.dtsi"
+#include "bcm2835-rpi.dtsi"
+#include "bcm283x-rpi-smsc9514.dtsi"
/ {
compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
diff --git a/arch/arm64/boot/dts/broadcom/bcm2837.dtsi b/arch/arm64/boot/dts/broadcom/bcm2837.dtsi
index f2a31d0..8216bbb 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2837.dtsi
+++ b/arch/arm64/boot/dts/broadcom/bcm2837.dtsi
@@ -1,4 +1,4 @@
-#include "../../../../arm/boot/dts/bcm283x.dtsi"
+#include "bcm283x.dtsi"
/ {
compatible = "brcm,bcm2836";
diff --git a/arch/arm64/boot/dts/broadcom/bcm283x-rpi-smsc9514.dtsi b/arch/arm64/boot/dts/broadcom/bcm283x-rpi-smsc9514.dtsi
new file mode 120000
index 0000000..dca7c05
--- /dev/null
+++ b/arch/arm64/boot/dts/broadcom/bcm283x-rpi-smsc9514.dtsi
@@ -0,0 +1 @@
+../../../../arm/boot/dts/bcm283x-rpi-smsc9514.dtsi
\ No newline at end of file
diff --git a/arch/arm64/boot/dts/broadcom/bcm283x.dtsi b/arch/arm64/boot/dts/broadcom/bcm283x.dtsi
new file mode 120000
index 0000000..5f54e4c
--- /dev/null
+++ b/arch/arm64/boot/dts/broadcom/bcm283x.dtsi
@@ -0,0 +1 @@
+../../../../arm/boot/dts/bcm283x.dtsi
\ No newline at end of file
--
2.8.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v2 2/2] ARM64: dts: bcm: Use a symlink to R-Pi dtsi files from arch=arm
2016-08-03 14:12 ` [PATCH v2 2/2] ARM64: dts: bcm: Use a symlink to R-Pi dtsi files from arch=arm Ian Campbell
@ 2016-08-03 14:54 ` Mark Rutland
0 siblings, 0 replies; 12+ messages in thread
From: Mark Rutland @ 2016-08-03 14:54 UTC (permalink / raw)
To: Ian Campbell
Cc: devicetree, arm, Stephen Warren, Catalin Marinas, Lee Jones,
Will Deacon, linux-kernel, Eric Anholt, Rob Herring,
Gerd Hoffmann, Frank Rowand, linux-arm-kernel, linux-rpi-kernel
On Wed, Aug 03, 2016 at 03:12:45PM +0100, Ian Campbell wrote:
> The ../../../arm... style cross-references added by commit 9d56c22a7861
> ("ARM: bcm2835: Add devicetree for the Raspberry Pi 3.") do not work in the
> context of the split device-tree repository[0] (where the directory
> structure differs). As with commit 8ee57b8182c4 ("ARM64: dts: vexpress: Use
> a symlink to vexpress-v2m-rs1.dtsi from arch=arm") use symlinks instead.
>
> [0] https://git.kernel.org/cgit/linux/kernel/git/devicetree/devicetree-rebasing.git/
>
> Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
As this matches what we did in 8ee57b8182c4, and no longer involves
raising skeletons back from the dead:
Acked-by: Mark Rutland <mark.rutland@arm.com>
Mark.
> diff --git a/arch/arm64/boot/dts/broadcom/bcm2835-rpi.dtsi b/arch/arm64/boot/dts/broadcom/bcm2835-rpi.dtsi
> new file mode 120000
> index 0000000..3937b77
> --- /dev/null
> +++ b/arch/arm64/boot/dts/broadcom/bcm2835-rpi.dtsi
> @@ -0,0 +1 @@
> +../../../../arm/boot/dts/bcm2835-rpi.dtsi
> \ No newline at end of file
> diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
> index 6f47dd2..7841b72 100644
> --- a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
> +++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
> @@ -1,7 +1,7 @@
> /dts-v1/;
> #include "bcm2837.dtsi"
> -#include "../../../../arm/boot/dts/bcm2835-rpi.dtsi"
> -#include "../../../../arm/boot/dts/bcm283x-rpi-smsc9514.dtsi"
> +#include "bcm2835-rpi.dtsi"
> +#include "bcm283x-rpi-smsc9514.dtsi"
>
> / {
> compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
> diff --git a/arch/arm64/boot/dts/broadcom/bcm2837.dtsi b/arch/arm64/boot/dts/broadcom/bcm2837.dtsi
> index f2a31d0..8216bbb 100644
> --- a/arch/arm64/boot/dts/broadcom/bcm2837.dtsi
> +++ b/arch/arm64/boot/dts/broadcom/bcm2837.dtsi
> @@ -1,4 +1,4 @@
> -#include "../../../../arm/boot/dts/bcm283x.dtsi"
> +#include "bcm283x.dtsi"
>
> / {
> compatible = "brcm,bcm2836";
> diff --git a/arch/arm64/boot/dts/broadcom/bcm283x-rpi-smsc9514.dtsi b/arch/arm64/boot/dts/broadcom/bcm283x-rpi-smsc9514.dtsi
> new file mode 120000
> index 0000000..dca7c05
> --- /dev/null
> +++ b/arch/arm64/boot/dts/broadcom/bcm283x-rpi-smsc9514.dtsi
> @@ -0,0 +1 @@
> +../../../../arm/boot/dts/bcm283x-rpi-smsc9514.dtsi
> \ No newline at end of file
> diff --git a/arch/arm64/boot/dts/broadcom/bcm283x.dtsi b/arch/arm64/boot/dts/broadcom/bcm283x.dtsi
> new file mode 120000
> index 0000000..5f54e4c
> --- /dev/null
> +++ b/arch/arm64/boot/dts/broadcom/bcm283x.dtsi
> @@ -0,0 +1 @@
> +../../../../arm/boot/dts/bcm283x.dtsi
> \ No newline at end of file
> --
> 2.8.1
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/2] ARM: dts: Remove use of skeleton.dtsi from bcm283x.dtsi
2016-08-03 14:12 [PATCH v2 1/2] ARM: dts: Remove use of skeleton.dtsi from bcm283x.dtsi Ian Campbell
2016-08-03 14:12 ` [PATCH v2 2/2] ARM64: dts: bcm: Use a symlink to R-Pi dtsi files from arch=arm Ian Campbell
@ 2016-08-03 14:48 ` Mark Rutland
2016-08-09 10:48 ` Ian Campbell
2016-08-03 16:57 ` Stefan Wahren
2 siblings, 1 reply; 12+ messages in thread
From: Mark Rutland @ 2016-08-03 14:48 UTC (permalink / raw)
To: Ian Campbell
Cc: devicetree, arm, Stephen Warren, Catalin Marinas, Lee Jones,
Will Deacon, linux-kernel, Eric Anholt, Rob Herring,
Gerd Hoffmann, Frank Rowand, linux-arm-kernel, linux-rpi-kernel
On Wed, Aug 03, 2016 at 03:12:44PM +0100, Ian Campbell wrote:
> This file is included from DTS files under arch/arm64 too (via
> broadcom/bcm2837-rpi-3-b.dts and broadcom/bcm2837.dtsi). There is a desire
> not to have skeleton.dtsi for ARM64. See commit 3ebee5a2e141 ("arm64: dts:
> kill skeleton.dtsi") for rationale for its removal.
>
> As well as the addition of #*-cells also requires adding the device_type to
> the rpi memory node explicitly.
>
> Note that this change results in the removal of an empty /aliases node from
> bcm2835-rpi-a.dtb and bcm2835-rpi-a-plus.dtb. I have no hardware to check
> if this is a problem or not.
>
> It also results in some reordering of the nodes in the DTBs (the /aliases
> and /memory nodes come later). This isn't supposed to matter but, again,
> I've no hardware to check if it is true in this particular case.
>
> Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
I also don't have the relevant hardware to test with, but this looks
generally like the right thing. So FWIW:
Acked-by: Mark Rutland <mark.rutland@arm.com>
Mark.
> diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi
> index caf2707..e9b47b2 100644
> --- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
> +++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
> @@ -2,6 +2,7 @@
>
> / {
> memory {
> + device_type = "memory";
> reg = <0 0x10000000>;
> };
>
> diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
> index b982522..445624a 100644
> --- a/arch/arm/boot/dts/bcm283x.dtsi
> +++ b/arch/arm/boot/dts/bcm283x.dtsi
> @@ -2,7 +2,6 @@
> #include <dt-bindings/clock/bcm2835.h>
> #include <dt-bindings/clock/bcm2835-aux.h>
> #include <dt-bindings/gpio/gpio.h>
> -#include "skeleton.dtsi"
>
> /* This include file covers the common peripherals and configuration between
> * bcm2835 and bcm2836 implementations, leaving the CPU configuration to
> @@ -13,6 +12,8 @@
> compatible = "brcm,bcm2835";
> model = "BCM2835";
> interrupt-parent = <&intc>;
> + #address-cells = <1>;
> + #size-cells = <1>;
>
> chosen {
> bootargs = "earlyprintk console=ttyAMA0";
> --
> 2.8.1
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/2] ARM: dts: Remove use of skeleton.dtsi from bcm283x.dtsi
2016-08-03 14:48 ` [PATCH v2 1/2] ARM: dts: Remove use of skeleton.dtsi from bcm283x.dtsi Mark Rutland
@ 2016-08-09 10:48 ` Ian Campbell
[not found] ` <1470739709.4745.23.camel-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>
0 siblings, 1 reply; 12+ messages in thread
From: Ian Campbell @ 2016-08-09 10:48 UTC (permalink / raw)
To: Mark Rutland, arm-DgEjT+Ai2ygdnm+yROfE0A
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
Catalin Marinas, Will Deacon, Rob Herring, Frank Rowand,
Eric Anholt, Stephen Warren, Lee Jones, Gerd Hoffmann,
devicetree-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
On Wed, 2016-08-03 at 15:48 +0100, Mark Rutland wrote:
>
> > [...]Signed-off-by: Ian Campbell <ijc-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>
>
> I also don't have the relevant hardware to test with, but this looks
> generally like the right thing. So FWIW:
>
> Acked-by: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>
Thanks (and Stefan too).
I think these things generally go via the arm-soc tree? Arnd & Olaf,
would it be possible to get this fix in for rc2 please (or in any event
for 4.8). Although it's an external tree I believe build breakage in
the split-out DT git repo is worth addressing.
Ian.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/2] ARM: dts: Remove use of skeleton.dtsi from bcm283x.dtsi
2016-08-03 14:12 [PATCH v2 1/2] ARM: dts: Remove use of skeleton.dtsi from bcm283x.dtsi Ian Campbell
2016-08-03 14:12 ` [PATCH v2 2/2] ARM64: dts: bcm: Use a symlink to R-Pi dtsi files from arch=arm Ian Campbell
2016-08-03 14:48 ` [PATCH v2 1/2] ARM: dts: Remove use of skeleton.dtsi from bcm283x.dtsi Mark Rutland
@ 2016-08-03 16:57 ` Stefan Wahren
2 siblings, 0 replies; 12+ messages in thread
From: Stefan Wahren @ 2016-08-03 16:57 UTC (permalink / raw)
To: Ian Campbell, linux-arm-kernel
Cc: Will Deacon, Lee Jones, Frank Rowand, Gerd Hoffmann, Eric Anholt,
linux-kernel, Rob Herring, Catalin Marinas, arm, Stephen Warren,
Mark Rutland, linux-rpi-kernel, devicetree
Hi Ian,
> Ian Campbell <ijc@hellion.org.uk> hat am 3. August 2016 um 16:12 geschrieben:
>
>
> This file is included from DTS files under arch/arm64 too (via
> broadcom/bcm2837-rpi-3-b.dts and broadcom/bcm2837.dtsi). There is a desire
> not to have skeleton.dtsi for ARM64. See commit 3ebee5a2e141 ("arm64: dts:
> kill skeleton.dtsi") for rationale for its removal.
>
> As well as the addition of #*-cells also requires adding the device_type to
> the rpi memory node explicitly.
>
> Note that this change results in the removal of an empty /aliases node from
> bcm2835-rpi-a.dtb and bcm2835-rpi-a-plus.dtb. I have no hardware to check
> if this is a problem or not.
>
> It also results in some reordering of the nodes in the DTBs (the /aliases
> and /memory nodes come later). This isn't supposed to matter but, again,
> I've no hardware to check if it is true in this particular case.
i tested this patch with a Raspberry Pi Model B successfully.
Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2016-09-09 16:21 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-03 14:12 [PATCH v2 1/2] ARM: dts: Remove use of skeleton.dtsi from bcm283x.dtsi Ian Campbell
2016-08-03 14:12 ` [PATCH v2 2/2] ARM64: dts: bcm: Use a symlink to R-Pi dtsi files from arch=arm Ian Campbell
2016-08-03 14:54 ` Mark Rutland
2016-08-03 14:48 ` [PATCH v2 1/2] ARM: dts: Remove use of skeleton.dtsi from bcm283x.dtsi Mark Rutland
2016-08-09 10:48 ` Ian Campbell
[not found] ` <1470739709.4745.23.camel-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>
2016-08-18 7:21 ` Ian Campbell
[not found] ` <1471504916.6295.32.camel-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>
2016-08-18 10:23 ` Mark Rutland
2016-08-23 10:09 ` Arnd Bergmann
2016-09-09 14:45 ` Ian Campbell
[not found] ` <1473432356.28111.60.camel-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>
2016-09-09 15:47 ` Arnd Bergmann
2016-09-09 16:21 ` Ian Campbell
2016-08-03 16:57 ` Stefan Wahren
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).