dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] Remove unnecessary includes of <linux/screen_info.h>
@ 2023-07-06 10:42 Thomas Zimmermann
  2023-07-06 10:42 ` [PATCH v2 1/4] efi: Do not include <linux/screen_info.h> from EFI header Thomas Zimmermann
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Thomas Zimmermann @ 2023-07-06 10:42 UTC (permalink / raw)
  To: javierm, suijingfeng, arnd
  Cc: linux-fbdev, linux-efi, Thomas Zimmermann, linux-staging,
	linux-kernel, dri-devel, loongarch, linux-arm-kernel

(was: arch,fbdev: Move screen_info into arch/)

Remove include statements of <linux/screen_info.h> The patches have
been reviewed as part of the patchset at [1]. Patch 1 has a fix to make
it build on loongarch. 

v2:
	* update loongarch

[1] https://patchwork.freedesktop.org/series/120010/#rev1

Thomas Zimmermann (4):
  efi: Do not include <linux/screen_info.h> from EFI header
  fbdev/sm712fb: Do not include <linux/screen_info.h>
  sysfb: Do not include <linux/screen_info.h> from sysfb header
  staging/sm750fb: Do not include <linux/screen_info.h>

 arch/arm/kernel/efi.c                         | 2 ++
 arch/arm64/kernel/efi.c                       | 1 +
 arch/loongarch/kernel/efi.c                   | 1 +
 drivers/firmware/efi/libstub/efi-stub-entry.c | 2 ++
 drivers/firmware/efi/libstub/screen_info.c    | 2 ++
 drivers/staging/sm750fb/sm750.c               | 1 -
 drivers/staging/sm750fb/sm750_accel.c         | 1 -
 drivers/staging/sm750fb/sm750_cursor.c        | 1 -
 drivers/staging/sm750fb/sm750_hw.c            | 1 -
 drivers/video/fbdev/sm712fb.c                 | 9 +++++++--
 include/linux/efi.h                           | 3 ++-
 include/linux/sysfb.h                         | 3 ++-
 12 files changed, 19 insertions(+), 8 deletions(-)

-- 
2.41.0


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

* [PATCH v2 1/4] efi: Do not include <linux/screen_info.h> from EFI header
  2023-07-06 10:42 [PATCH v2 0/4] Remove unnecessary includes of <linux/screen_info.h> Thomas Zimmermann
@ 2023-07-06 10:42 ` Thomas Zimmermann
  2023-07-06 11:36   ` Arnd Bergmann
  2023-07-06 10:42 ` [PATCH v2 2/4] fbdev/sm712fb: Do not include <linux/screen_info.h> Thomas Zimmermann
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 9+ messages in thread
From: Thomas Zimmermann @ 2023-07-06 10:42 UTC (permalink / raw)
  To: javierm, suijingfeng, arnd
  Cc: linux-fbdev, linux-efi, Thomas Zimmermann, Catalin Marinas,
	linux-staging, linux-kernel, dri-devel, Russell King, loongarch,
	Will Deacon, Ard Biesheuvel, linux-arm-kernel

The header file <linux/efi.h> does not need anything from
<linux/screen_info.h>. Declare struct screen_info and remove
the include statements. Update a number of source files that
require struct screen_info's definition.

v2:
	* update loongarch (Jingfeng)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Reviewed-by: Sui Jingfeng <suijingfeng@loongson.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
---
 arch/arm/kernel/efi.c                         | 2 ++
 arch/arm64/kernel/efi.c                       | 1 +
 arch/loongarch/kernel/efi.c                   | 1 +
 drivers/firmware/efi/libstub/efi-stub-entry.c | 2 ++
 drivers/firmware/efi/libstub/screen_info.c    | 2 ++
 include/linux/efi.h                           | 3 ++-
 6 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/arch/arm/kernel/efi.c b/arch/arm/kernel/efi.c
index e2b9d2618c67..e94655ef16bb 100644
--- a/arch/arm/kernel/efi.c
+++ b/arch/arm/kernel/efi.c
@@ -5,6 +5,8 @@
 
 #include <linux/efi.h>
 #include <linux/memblock.h>
+#include <linux/screen_info.h>
+
 #include <asm/efi.h>
 #include <asm/mach/map.h>
 #include <asm/mmu_context.h>
diff --git a/arch/arm64/kernel/efi.c b/arch/arm64/kernel/efi.c
index baab8dd3ead3..3afbe503b066 100644
--- a/arch/arm64/kernel/efi.c
+++ b/arch/arm64/kernel/efi.c
@@ -9,6 +9,7 @@
 
 #include <linux/efi.h>
 #include <linux/init.h>
+#include <linux/screen_info.h>
 
 #include <asm/efi.h>
 #include <asm/stacktrace.h>
diff --git a/arch/loongarch/kernel/efi.c b/arch/loongarch/kernel/efi.c
index 3d448fef3af4..9fc10cea21e1 100644
--- a/arch/loongarch/kernel/efi.c
+++ b/arch/loongarch/kernel/efi.c
@@ -18,6 +18,7 @@
 #include <linux/kobject.h>
 #include <linux/memblock.h>
 #include <linux/reboot.h>
+#include <linux/screen_info.h>
 #include <linux/uaccess.h>
 
 #include <asm/early_ioremap.h>
diff --git a/drivers/firmware/efi/libstub/efi-stub-entry.c b/drivers/firmware/efi/libstub/efi-stub-entry.c
index cc4dcaea67fa..2f1902e5d407 100644
--- a/drivers/firmware/efi/libstub/efi-stub-entry.c
+++ b/drivers/firmware/efi/libstub/efi-stub-entry.c
@@ -1,6 +1,8 @@
 // SPDX-License-Identifier: GPL-2.0-only
 
 #include <linux/efi.h>
+#include <linux/screen_info.h>
+
 #include <asm/efi.h>
 
 #include "efistub.h"
diff --git a/drivers/firmware/efi/libstub/screen_info.c b/drivers/firmware/efi/libstub/screen_info.c
index 4be1c4d1f922..a51ec201ca3c 100644
--- a/drivers/firmware/efi/libstub/screen_info.c
+++ b/drivers/firmware/efi/libstub/screen_info.c
@@ -1,6 +1,8 @@
 // SPDX-License-Identifier: GPL-2.0
 
 #include <linux/efi.h>
+#include <linux/screen_info.h>
+
 #include <asm/efi.h>
 
 #include "efistub.h"
diff --git a/include/linux/efi.h b/include/linux/efi.h
index 571d1a6e1b74..360895a5572c 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
@@ -24,10 +24,11 @@
 #include <linux/range.h>
 #include <linux/reboot.h>
 #include <linux/uuid.h>
-#include <linux/screen_info.h>
 
 #include <asm/page.h>
 
+struct screen_info;
+
 #define EFI_SUCCESS		0
 #define EFI_LOAD_ERROR		( 1 | (1UL << (BITS_PER_LONG-1)))
 #define EFI_INVALID_PARAMETER	( 2 | (1UL << (BITS_PER_LONG-1)))
-- 
2.41.0


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

* [PATCH v2 2/4] fbdev/sm712fb: Do not include <linux/screen_info.h>
  2023-07-06 10:42 [PATCH v2 0/4] Remove unnecessary includes of <linux/screen_info.h> Thomas Zimmermann
  2023-07-06 10:42 ` [PATCH v2 1/4] efi: Do not include <linux/screen_info.h> from EFI header Thomas Zimmermann
@ 2023-07-06 10:42 ` Thomas Zimmermann
  2023-07-06 11:36   ` Arnd Bergmann
  2023-07-06 10:42 ` [PATCH v2 3/4] sysfb: Do not include <linux/screen_info.h> from sysfb header Thomas Zimmermann
  2023-07-06 10:42 ` [PATCH v2 4/4] staging/sm750fb: Do not include <linux/screen_info.h> Thomas Zimmermann
  3 siblings, 1 reply; 9+ messages in thread
From: Thomas Zimmermann @ 2023-07-06 10:42 UTC (permalink / raw)
  To: javierm, suijingfeng, arnd
  Cc: linux-fbdev, linux-efi, Thomas Zimmermann, Helge Deller,
	linux-staging, linux-kernel, dri-devel, loongarch,
	Sudip Mukherjee, linux-arm-kernel, Teddy Wang

Sm712fb's dependency on <linux/screen_info.h> is artificial in that
it only uses struct screen_info for its internals. Replace the use of
struct screen_info with a custom data structure and remove the include
of <linux/screen_info.h>.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Cc: Teddy Wang <teddy.wang@siliconmotion.com>
Cc: Helge Deller <deller@gmx.de>
---
 drivers/video/fbdev/sm712fb.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/video/fbdev/sm712fb.c b/drivers/video/fbdev/sm712fb.c
index b7ad3c644e13..f929091da4e7 100644
--- a/drivers/video/fbdev/sm712fb.c
+++ b/drivers/video/fbdev/sm712fb.c
@@ -27,12 +27,17 @@
 #include <linux/uaccess.h>
 #include <linux/module.h>
 #include <linux/console.h>
-#include <linux/screen_info.h>
 
 #include <linux/pm.h>
 
 #include "sm712.h"
 
+struct smtcfb_screen_info {
+	u16 lfb_width;
+	u16 lfb_height;
+	u16 lfb_depth;
+};
+
 /*
  * Private structure
  */
@@ -829,7 +834,7 @@ static const struct modeinit vgamode[] = {
 	},
 };
 
-static struct screen_info smtc_scr_info;
+static struct smtcfb_screen_info smtc_scr_info;
 
 static char *mode_option;
 
-- 
2.41.0


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

* [PATCH v2 3/4] sysfb: Do not include <linux/screen_info.h> from sysfb header
  2023-07-06 10:42 [PATCH v2 0/4] Remove unnecessary includes of <linux/screen_info.h> Thomas Zimmermann
  2023-07-06 10:42 ` [PATCH v2 1/4] efi: Do not include <linux/screen_info.h> from EFI header Thomas Zimmermann
  2023-07-06 10:42 ` [PATCH v2 2/4] fbdev/sm712fb: Do not include <linux/screen_info.h> Thomas Zimmermann
@ 2023-07-06 10:42 ` Thomas Zimmermann
  2023-07-06 11:38   ` Arnd Bergmann
  2023-07-06 10:42 ` [PATCH v2 4/4] staging/sm750fb: Do not include <linux/screen_info.h> Thomas Zimmermann
  3 siblings, 1 reply; 9+ messages in thread
From: Thomas Zimmermann @ 2023-07-06 10:42 UTC (permalink / raw)
  To: javierm, suijingfeng, arnd
  Cc: linux-fbdev, linux-efi, Thomas Zimmermann, linux-staging,
	linux-kernel, dri-devel, Hans de Goede, loongarch,
	Ard Biesheuvel, linux-arm-kernel

The header file <linux/sysfb.h> does not need anything from
<linux/screen_info.h>. Declare struct screen_info and remove
the include statements.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Reviewed-by: Sui Jingfeng <suijingfeng@loongson.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Javier Martinez Canillas <javierm@redhat.com>
---
 include/linux/sysfb.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/include/linux/sysfb.h b/include/linux/sysfb.h
index c1ef5fc60a3c..19cb803dd5ec 100644
--- a/include/linux/sysfb.h
+++ b/include/linux/sysfb.h
@@ -9,7 +9,8 @@
 
 #include <linux/kernel.h>
 #include <linux/platform_data/simplefb.h>
-#include <linux/screen_info.h>
+
+struct screen_info;
 
 enum {
 	M_I17,		/* 17-Inch iMac */
-- 
2.41.0


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

* [PATCH v2 4/4] staging/sm750fb: Do not include <linux/screen_info.h>
  2023-07-06 10:42 [PATCH v2 0/4] Remove unnecessary includes of <linux/screen_info.h> Thomas Zimmermann
                   ` (2 preceding siblings ...)
  2023-07-06 10:42 ` [PATCH v2 3/4] sysfb: Do not include <linux/screen_info.h> from sysfb header Thomas Zimmermann
@ 2023-07-06 10:42 ` Thomas Zimmermann
  2023-07-07  5:59   ` Greg KH
  3 siblings, 1 reply; 9+ messages in thread
From: Thomas Zimmermann @ 2023-07-06 10:42 UTC (permalink / raw)
  To: javierm, suijingfeng, arnd
  Cc: linux-fbdev, linux-efi, Thomas Zimmermann, linux-staging,
	linux-kernel, dri-devel, loongarch, Sudip Mukherjee,
	linux-arm-kernel, Teddy Wang

The sm750fb driver does not need anything from <linux/screen_info.h>.
Remove the include statements.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Cc: Teddy Wang <teddy.wang@siliconmotion.com>
---
 drivers/staging/sm750fb/sm750.c        | 1 -
 drivers/staging/sm750fb/sm750_accel.c  | 1 -
 drivers/staging/sm750fb/sm750_cursor.c | 1 -
 drivers/staging/sm750fb/sm750_hw.c     | 1 -
 4 files changed, 4 deletions(-)

diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c
index 55e302a27847..c260f73cf570 100644
--- a/drivers/staging/sm750fb/sm750.c
+++ b/drivers/staging/sm750fb/sm750.c
@@ -14,7 +14,6 @@
 #include <linux/mm_types.h>
 #include <linux/vmalloc.h>
 #include <linux/pagemap.h>
-#include <linux/screen_info.h>
 #include <linux/console.h>
 
 #include "sm750.h"
diff --git a/drivers/staging/sm750fb/sm750_accel.c b/drivers/staging/sm750fb/sm750_accel.c
index 24b9077a634a..44b9e3fe3a41 100644
--- a/drivers/staging/sm750fb/sm750_accel.c
+++ b/drivers/staging/sm750fb/sm750_accel.c
@@ -14,7 +14,6 @@
 #include <linux/pagemap.h>
 #include <linux/console.h>
 #include <linux/platform_device.h>
-#include <linux/screen_info.h>
 
 #include "sm750.h"
 #include "sm750_accel.h"
diff --git a/drivers/staging/sm750fb/sm750_cursor.c b/drivers/staging/sm750fb/sm750_cursor.c
index 43e6f52c2551..eea4d1bd36ce 100644
--- a/drivers/staging/sm750fb/sm750_cursor.c
+++ b/drivers/staging/sm750fb/sm750_cursor.c
@@ -14,7 +14,6 @@
 #include <linux/pagemap.h>
 #include <linux/console.h>
 #include <linux/platform_device.h>
-#include <linux/screen_info.h>
 
 #include "sm750.h"
 #include "sm750_cursor.h"
diff --git a/drivers/staging/sm750fb/sm750_hw.c b/drivers/staging/sm750fb/sm750_hw.c
index 55cb00e8b0d1..71247eaf26ee 100644
--- a/drivers/staging/sm750fb/sm750_hw.c
+++ b/drivers/staging/sm750fb/sm750_hw.c
@@ -17,7 +17,6 @@
 #include <asm/mtrr.h>
 #endif
 #include <linux/platform_device.h>
-#include <linux/screen_info.h>
 #include <linux/sizes.h>
 
 #include "sm750.h"
-- 
2.41.0


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

* Re: [PATCH v2 2/4] fbdev/sm712fb: Do not include <linux/screen_info.h>
  2023-07-06 10:42 ` [PATCH v2 2/4] fbdev/sm712fb: Do not include <linux/screen_info.h> Thomas Zimmermann
@ 2023-07-06 11:36   ` Arnd Bergmann
  0 siblings, 0 replies; 9+ messages in thread
From: Arnd Bergmann @ 2023-07-06 11:36 UTC (permalink / raw)
  To: Thomas Zimmermann, Javier Martinez Canillas, Sui Jingfeng
  Cc: linux-fbdev, linux-efi, Teddy Wang, Helge Deller, linux-staging,
	linux-kernel, dri-devel, loongarch, Sudip Mukherjee,
	linux-arm-kernel

On Thu, Jul 6, 2023, at 12:42, Thomas Zimmermann wrote:
> Sm712fb's dependency on <linux/screen_info.h> is artificial in that
> it only uses struct screen_info for its internals. Replace the use of
> struct screen_info with a custom data structure and remove the include
> of <linux/screen_info.h>.
>
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
> Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
> Cc: Teddy Wang <teddy.wang@siliconmotion.com>
> Cc: Helge Deller <deller@gmx.de>

Reviewed-by: Arnd Bergmann <arnd@arndb.de>

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

* Re: [PATCH v2 1/4] efi: Do not include <linux/screen_info.h> from EFI header
  2023-07-06 10:42 ` [PATCH v2 1/4] efi: Do not include <linux/screen_info.h> from EFI header Thomas Zimmermann
@ 2023-07-06 11:36   ` Arnd Bergmann
  0 siblings, 0 replies; 9+ messages in thread
From: Arnd Bergmann @ 2023-07-06 11:36 UTC (permalink / raw)
  To: Thomas Zimmermann, Javier Martinez Canillas, Sui Jingfeng
  Cc: linux-fbdev, linux-efi, Catalin Marinas, linux-staging,
	linux-kernel, dri-devel, Russell King, loongarch, Will Deacon,
	Ard Biesheuvel, linux-arm-kernel

On Thu, Jul 6, 2023, at 12:42, Thomas Zimmermann wrote:
> The header file <linux/efi.h> does not need anything from
> <linux/screen_info.h>. Declare struct screen_info and remove
> the include statements. Update a number of source files that
> require struct screen_info's definition.
>
> v2:
> 	* update loongarch (Jingfeng)
>
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
> Reviewed-by: Sui Jingfeng <suijingfeng@loongson.cn>
> Cc: Ard Biesheuvel <ardb@kernel.org>
> Cc: Russell King <linux@armlinux.org.uk>
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Will Deacon <will@kernel.org>

Reviewed-by: Arnd Bergmann <arnd@arndb.de>

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

* Re: [PATCH v2 3/4] sysfb: Do not include <linux/screen_info.h> from sysfb header
  2023-07-06 10:42 ` [PATCH v2 3/4] sysfb: Do not include <linux/screen_info.h> from sysfb header Thomas Zimmermann
@ 2023-07-06 11:38   ` Arnd Bergmann
  0 siblings, 0 replies; 9+ messages in thread
From: Arnd Bergmann @ 2023-07-06 11:38 UTC (permalink / raw)
  To: Thomas Zimmermann, Javier Martinez Canillas, Sui Jingfeng
  Cc: linux-fbdev, linux-efi, linux-staging, linux-kernel, dri-devel,
	Hans de Goede, loongarch, Ard Biesheuvel, linux-arm-kernel

On Thu, Jul 6, 2023, at 12:42, Thomas Zimmermann wrote:
> The header file <linux/sysfb.h> does not need anything from
> <linux/screen_info.h>. Declare struct screen_info and remove
> the include statements.
>
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
> Reviewed-by: Sui Jingfeng <suijingfeng@loongson.cn>
> Cc: Ard Biesheuvel <ardb@kernel.org>
> Cc: Hans de Goede <hdegoede@redhat.com>
> Cc: Javier Martinez Canillas <javierm@redhat.com>

Reviewed-by: Arnd Bergmann <arnd@arndb.de>

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

* Re: [PATCH v2 4/4] staging/sm750fb: Do not include <linux/screen_info.h>
  2023-07-06 10:42 ` [PATCH v2 4/4] staging/sm750fb: Do not include <linux/screen_info.h> Thomas Zimmermann
@ 2023-07-07  5:59   ` Greg KH
  0 siblings, 0 replies; 9+ messages in thread
From: Greg KH @ 2023-07-07  5:59 UTC (permalink / raw)
  To: Thomas Zimmermann
  Cc: linux-fbdev, linux-efi, suijingfeng, Teddy Wang, arnd,
	linux-staging, javierm, dri-devel, linux-kernel, loongarch,
	Sudip Mukherjee, linux-arm-kernel

On Thu, Jul 06, 2023 at 12:42:17PM +0200, Thomas Zimmermann wrote:
> The sm750fb driver does not need anything from <linux/screen_info.h>.
> Remove the include statements.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
> Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
> Cc: Teddy Wang <teddy.wang@siliconmotion.com>
> ---
>  drivers/staging/sm750fb/sm750.c        | 1 -
>  drivers/staging/sm750fb/sm750_accel.c  | 1 -
>  drivers/staging/sm750fb/sm750_cursor.c | 1 -
>  drivers/staging/sm750fb/sm750_hw.c     | 1 -
>  4 files changed, 4 deletions(-)
> 

Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

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

end of thread, other threads:[~2023-07-07  5:59 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-06 10:42 [PATCH v2 0/4] Remove unnecessary includes of <linux/screen_info.h> Thomas Zimmermann
2023-07-06 10:42 ` [PATCH v2 1/4] efi: Do not include <linux/screen_info.h> from EFI header Thomas Zimmermann
2023-07-06 11:36   ` Arnd Bergmann
2023-07-06 10:42 ` [PATCH v2 2/4] fbdev/sm712fb: Do not include <linux/screen_info.h> Thomas Zimmermann
2023-07-06 11:36   ` Arnd Bergmann
2023-07-06 10:42 ` [PATCH v2 3/4] sysfb: Do not include <linux/screen_info.h> from sysfb header Thomas Zimmermann
2023-07-06 11:38   ` Arnd Bergmann
2023-07-06 10:42 ` [PATCH v2 4/4] staging/sm750fb: Do not include <linux/screen_info.h> Thomas Zimmermann
2023-07-07  5:59   ` Greg KH

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).