* [PATCH 0/4] gpio: Simplify with of_device_get_match_data()
@ 2025-11-06 16:16 Krzysztof Kozlowski
2025-11-06 16:16 ` [PATCH 1/4] gpio: tb10x: Drop unused tb10x_set_bits() function Krzysztof Kozlowski
` (4 more replies)
0 siblings, 5 replies; 9+ messages in thread
From: Krzysztof Kozlowski @ 2025-11-06 16:16 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Joel Stanley, Andrew Jeffery,
Eugeniy Paltsev, Shubhrajyoti Datta, Srinivas Neeli, Michal Simek
Cc: linux-gpio, linux-kernel, linux-arm-kernel, linux-aspeed,
Krzysztof Kozlowski
Few simple cleanups, not tested on the hardware.
Care has to be taken when converting of_match_data() into
of_device_get_match_data(), because first can check arbitrary
device_node and the latter checks device's node. Cases here should be
safe because of_match_data() uses 'pdev->dev.of_node'.
Best regards,
Krzysztof
---
Krzysztof Kozlowski (4):
gpio: tb10x: Drop unused tb10x_set_bits() function
gpio: aspeed: Simplify with of_device_get_match_data()
gpio: creg-snps: Simplify with of_device_get_match_data()
gpio: zynq: Simplify with of_device_get_match_data()
drivers/gpio/gpio-aspeed.c | 7 ++-----
drivers/gpio/gpio-creg-snps.c | 4 +---
drivers/gpio/gpio-tb10x.c | 19 -------------------
drivers/gpio/gpio-zynq.c | 8 +++-----
4 files changed, 6 insertions(+), 32 deletions(-)
---
base-commit: 5892a3d1e4764f041ce756d8f8b321d2c92f653a
change-id: 20251106-gpio-of-match-23b24cddf063
Best regards,
--
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/4] gpio: tb10x: Drop unused tb10x_set_bits() function
2025-11-06 16:16 [PATCH 0/4] gpio: Simplify with of_device_get_match_data() Krzysztof Kozlowski
@ 2025-11-06 16:16 ` Krzysztof Kozlowski
2025-11-06 16:16 ` [PATCH 2/4] gpio: aspeed: Simplify with of_device_get_match_data() Krzysztof Kozlowski
` (3 subsequent siblings)
4 siblings, 0 replies; 9+ messages in thread
From: Krzysztof Kozlowski @ 2025-11-06 16:16 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Joel Stanley, Andrew Jeffery,
Eugeniy Paltsev, Shubhrajyoti Datta, Srinivas Neeli, Michal Simek
Cc: linux-gpio, linux-kernel, linux-arm-kernel, linux-aspeed,
Krzysztof Kozlowski
tb10x_set_bits() is not referenced anywhere leading to W=1 warning:
gpio-tb10x.c:59:20: error: unused function 'tb10x_set_bits' [-Werror,-Wunused-function]
After its removal, tb10x_reg_write() becomes unused as well.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
drivers/gpio/gpio-tb10x.c | 19 -------------------
1 file changed, 19 deletions(-)
diff --git a/drivers/gpio/gpio-tb10x.c b/drivers/gpio/gpio-tb10x.c
index 09a448ce3eec..3c8fd322a713 100644
--- a/drivers/gpio/gpio-tb10x.c
+++ b/drivers/gpio/gpio-tb10x.c
@@ -50,25 +50,6 @@ static inline u32 tb10x_reg_read(struct tb10x_gpio *gpio, unsigned int offs)
return ioread32(gpio->base + offs);
}
-static inline void tb10x_reg_write(struct tb10x_gpio *gpio, unsigned int offs,
- u32 val)
-{
- iowrite32(val, gpio->base + offs);
-}
-
-static inline void tb10x_set_bits(struct tb10x_gpio *gpio, unsigned int offs,
- u32 mask, u32 val)
-{
- u32 r;
-
- guard(gpio_generic_lock_irqsave)(&gpio->chip);
-
- r = tb10x_reg_read(gpio, offs);
- r = (r & ~mask) | (val & mask);
-
- tb10x_reg_write(gpio, offs, r);
-}
-
static int tb10x_gpio_to_irq(struct gpio_chip *chip, unsigned offset)
{
struct tb10x_gpio *tb10x_gpio = gpiochip_get_data(chip);
--
2.48.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/4] gpio: aspeed: Simplify with of_device_get_match_data()
2025-11-06 16:16 [PATCH 0/4] gpio: Simplify with of_device_get_match_data() Krzysztof Kozlowski
2025-11-06 16:16 ` [PATCH 1/4] gpio: tb10x: Drop unused tb10x_set_bits() function Krzysztof Kozlowski
@ 2025-11-06 16:16 ` Krzysztof Kozlowski
2025-11-06 16:23 ` Bartosz Golaszewski
2025-11-06 16:16 ` [PATCH 3/4] gpio: creg-snps: " Krzysztof Kozlowski
` (2 subsequent siblings)
4 siblings, 1 reply; 9+ messages in thread
From: Krzysztof Kozlowski @ 2025-11-06 16:16 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Joel Stanley, Andrew Jeffery,
Eugeniy Paltsev, Shubhrajyoti Datta, Srinivas Neeli, Michal Simek
Cc: linux-gpio, linux-kernel, linux-arm-kernel, linux-aspeed,
Krzysztof Kozlowski
Driver's probe function matches against driver's of_device_id table,
where each entry has non-NULL match data, so of_match_node() can be
simplified with of_device_get_match_data().
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
drivers/gpio/gpio-aspeed.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/gpio/gpio-aspeed.c b/drivers/gpio/gpio-aspeed.c
index 2e0ae953dd99..3d675b63936c 100644
--- a/drivers/gpio/gpio-aspeed.c
+++ b/drivers/gpio/gpio-aspeed.c
@@ -1305,7 +1305,6 @@ MODULE_DEVICE_TABLE(of, aspeed_gpio_of_table);
static int aspeed_gpio_probe(struct platform_device *pdev)
{
- const struct of_device_id *gpio_id;
struct gpio_irq_chip *girq;
struct aspeed_gpio *gpio;
int rc, irq, i, banks, err;
@@ -1323,8 +1322,8 @@ static int aspeed_gpio_probe(struct platform_device *pdev)
raw_spin_lock_init(&gpio->lock);
- gpio_id = of_match_node(aspeed_gpio_of_table, pdev->dev.of_node);
- if (!gpio_id)
+ gpio->config = of_device_get_match_data(&pdev->dev);
+ if (!gpio->config)
return -EINVAL;
gpio->clk = devm_clk_get_enabled(&pdev->dev, NULL);
@@ -1334,8 +1333,6 @@ static int aspeed_gpio_probe(struct platform_device *pdev)
gpio->clk = NULL;
}
- gpio->config = gpio_id->data;
-
if (!gpio->config->llops->reg_bit_set || !gpio->config->llops->reg_bit_get ||
!gpio->config->llops->reg_bank_get)
return -EINVAL;
--
2.48.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 3/4] gpio: creg-snps: Simplify with of_device_get_match_data()
2025-11-06 16:16 [PATCH 0/4] gpio: Simplify with of_device_get_match_data() Krzysztof Kozlowski
2025-11-06 16:16 ` [PATCH 1/4] gpio: tb10x: Drop unused tb10x_set_bits() function Krzysztof Kozlowski
2025-11-06 16:16 ` [PATCH 2/4] gpio: aspeed: Simplify with of_device_get_match_data() Krzysztof Kozlowski
@ 2025-11-06 16:16 ` Krzysztof Kozlowski
2025-11-06 16:16 ` [PATCH 4/4] gpio: zynq: " Krzysztof Kozlowski
2025-11-06 17:19 ` (subset) [PATCH 0/4] gpio: " Bartosz Golaszewski
4 siblings, 0 replies; 9+ messages in thread
From: Krzysztof Kozlowski @ 2025-11-06 16:16 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Joel Stanley, Andrew Jeffery,
Eugeniy Paltsev, Shubhrajyoti Datta, Srinivas Neeli, Michal Simek
Cc: linux-gpio, linux-kernel, linux-arm-kernel, linux-aspeed,
Krzysztof Kozlowski
Driver's probe function matches against driver's of_device_id table,
where each entry has non-NULL match data, so of_match_node() can be
simplified with of_device_get_match_data().
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
drivers/gpio/gpio-creg-snps.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/gpio/gpio-creg-snps.c b/drivers/gpio/gpio-creg-snps.c
index f8ea961fa1de..cdb103b0fae3 100644
--- a/drivers/gpio/gpio-creg-snps.c
+++ b/drivers/gpio/gpio-creg-snps.c
@@ -134,7 +134,6 @@ static const struct of_device_id creg_gpio_ids[] = {
static int creg_gpio_probe(struct platform_device *pdev)
{
- const struct of_device_id *match;
struct device *dev = &pdev->dev;
struct creg_gpio *hcg;
u32 ngpios;
@@ -148,8 +147,7 @@ static int creg_gpio_probe(struct platform_device *pdev)
if (IS_ERR(hcg->regs))
return PTR_ERR(hcg->regs);
- match = of_match_node(creg_gpio_ids, pdev->dev.of_node);
- hcg->layout = match->data;
+ hcg->layout = of_device_get_match_data(dev);
if (!hcg->layout)
return -EINVAL;
--
2.48.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 4/4] gpio: zynq: Simplify with of_device_get_match_data()
2025-11-06 16:16 [PATCH 0/4] gpio: Simplify with of_device_get_match_data() Krzysztof Kozlowski
` (2 preceding siblings ...)
2025-11-06 16:16 ` [PATCH 3/4] gpio: creg-snps: " Krzysztof Kozlowski
@ 2025-11-06 16:16 ` Krzysztof Kozlowski
2025-11-06 17:19 ` (subset) [PATCH 0/4] gpio: " Bartosz Golaszewski
4 siblings, 0 replies; 9+ messages in thread
From: Krzysztof Kozlowski @ 2025-11-06 16:16 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Joel Stanley, Andrew Jeffery,
Eugeniy Paltsev, Shubhrajyoti Datta, Srinivas Neeli, Michal Simek
Cc: linux-gpio, linux-kernel, linux-arm-kernel, linux-aspeed,
Krzysztof Kozlowski
Driver's probe function matches against driver's of_device_id table,
where each entry has non-NULL match data, so of_match_node() can be
simplified with of_device_get_match_data().
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
drivers/gpio/gpio-zynq.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/gpio/gpio-zynq.c b/drivers/gpio/gpio-zynq.c
index 0ffd76e8951f..26071ed1bf22 100644
--- a/drivers/gpio/gpio-zynq.c
+++ b/drivers/gpio/gpio-zynq.c
@@ -904,18 +904,16 @@ static int zynq_gpio_probe(struct platform_device *pdev)
struct zynq_gpio *gpio;
struct gpio_chip *chip;
struct gpio_irq_chip *girq;
- const struct of_device_id *match;
gpio = devm_kzalloc(&pdev->dev, sizeof(*gpio), GFP_KERNEL);
if (!gpio)
return -ENOMEM;
- match = of_match_node(zynq_gpio_of_match, pdev->dev.of_node);
- if (!match) {
- dev_err(&pdev->dev, "of_match_node() failed\n");
+ gpio->p_data = of_device_get_match_data(&pdev->dev);
+ if (!gpio->p_data) {
+ dev_err(&pdev->dev, "of_device_get_match_data() failed\n");
return -EINVAL;
}
- gpio->p_data = match->data;
platform_set_drvdata(pdev, gpio);
gpio->base_addr = devm_platform_ioremap_resource(pdev, 0);
--
2.48.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/4] gpio: aspeed: Simplify with of_device_get_match_data()
2025-11-06 16:16 ` [PATCH 2/4] gpio: aspeed: Simplify with of_device_get_match_data() Krzysztof Kozlowski
@ 2025-11-06 16:23 ` Bartosz Golaszewski
2025-11-06 19:13 ` Krzysztof Kozlowski
0 siblings, 1 reply; 9+ messages in thread
From: Bartosz Golaszewski @ 2025-11-06 16:23 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Linus Walleij, Joel Stanley, Andrew Jeffery, Eugeniy Paltsev,
Shubhrajyoti Datta, Srinivas Neeli, Michal Simek, linux-gpio,
linux-kernel, linux-arm-kernel, linux-aspeed
On Thu, Nov 6, 2025 at 5:16 PM Krzysztof Kozlowski
<krzysztof.kozlowski@linaro.org> wrote:
>
> Driver's probe function matches against driver's of_device_id table,
> where each entry has non-NULL match data, so of_match_node() can be
> simplified with of_device_get_match_data().
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> ---
> drivers/gpio/gpio-aspeed.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpio/gpio-aspeed.c b/drivers/gpio/gpio-aspeed.c
> index 2e0ae953dd99..3d675b63936c 100644
> --- a/drivers/gpio/gpio-aspeed.c
> +++ b/drivers/gpio/gpio-aspeed.c
> @@ -1305,7 +1305,6 @@ MODULE_DEVICE_TABLE(of, aspeed_gpio_of_table);
>
> static int aspeed_gpio_probe(struct platform_device *pdev)
> {
> - const struct of_device_id *gpio_id;
> struct gpio_irq_chip *girq;
> struct aspeed_gpio *gpio;
> int rc, irq, i, banks, err;
> @@ -1323,8 +1322,8 @@ static int aspeed_gpio_probe(struct platform_device *pdev)
>
> raw_spin_lock_init(&gpio->lock);
>
> - gpio_id = of_match_node(aspeed_gpio_of_table, pdev->dev.of_node);
> - if (!gpio_id)
> + gpio->config = of_device_get_match_data(&pdev->dev);
If you're already doing it, just use device_get_match_data() here and
elsewhere in the series.
Bart
> + if (!gpio->config)
> return -EINVAL;
>
> gpio->clk = devm_clk_get_enabled(&pdev->dev, NULL);
> @@ -1334,8 +1333,6 @@ static int aspeed_gpio_probe(struct platform_device *pdev)
> gpio->clk = NULL;
> }
>
> - gpio->config = gpio_id->data;
> -
> if (!gpio->config->llops->reg_bit_set || !gpio->config->llops->reg_bit_get ||
> !gpio->config->llops->reg_bank_get)
> return -EINVAL;
>
> --
> 2.48.1
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: (subset) [PATCH 0/4] gpio: Simplify with of_device_get_match_data()
2025-11-06 16:16 [PATCH 0/4] gpio: Simplify with of_device_get_match_data() Krzysztof Kozlowski
` (3 preceding siblings ...)
2025-11-06 16:16 ` [PATCH 4/4] gpio: zynq: " Krzysztof Kozlowski
@ 2025-11-06 17:19 ` Bartosz Golaszewski
4 siblings, 0 replies; 9+ messages in thread
From: Bartosz Golaszewski @ 2025-11-06 17:19 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Joel Stanley, Andrew Jeffery,
Eugeniy Paltsev, Shubhrajyoti Datta, Srinivas Neeli, Michal Simek,
Krzysztof Kozlowski
Cc: Bartosz Golaszewski, linux-gpio, linux-kernel, linux-arm-kernel,
linux-aspeed
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
On Thu, 06 Nov 2025 17:16:24 +0100, Krzysztof Kozlowski wrote:
> Few simple cleanups, not tested on the hardware.
>
> Care has to be taken when converting of_match_data() into
> of_device_get_match_data(), because first can check arbitrary
> device_node and the latter checks device's node. Cases here should be
> safe because of_match_data() uses 'pdev->dev.of_node'.
>
> [...]
Applied, thanks!
[1/4] gpio: tb10x: Drop unused tb10x_set_bits() function
https://git.kernel.org/brgl/linux/c/4436f484cb437ba28dc58b7f787a6f80a65aa5c3
Best regards,
--
Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/4] gpio: aspeed: Simplify with of_device_get_match_data()
2025-11-06 16:23 ` Bartosz Golaszewski
@ 2025-11-06 19:13 ` Krzysztof Kozlowski
2025-11-07 10:32 ` Bartosz Golaszewski
0 siblings, 1 reply; 9+ messages in thread
From: Krzysztof Kozlowski @ 2025-11-06 19:13 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Linus Walleij, Joel Stanley, Andrew Jeffery, Eugeniy Paltsev,
Shubhrajyoti Datta, Srinivas Neeli, Michal Simek, linux-gpio,
linux-kernel, linux-arm-kernel, linux-aspeed
On 06/11/2025 17:23, Bartosz Golaszewski wrote:
> On Thu, Nov 6, 2025 at 5:16 PM Krzysztof Kozlowski
> <krzysztof.kozlowski@linaro.org> wrote:
>>
>> Driver's probe function matches against driver's of_device_id table,
>> where each entry has non-NULL match data, so of_match_node() can be
>> simplified with of_device_get_match_data().
>>
>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>> ---
>> drivers/gpio/gpio-aspeed.c | 7 ++-----
>> 1 file changed, 2 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/gpio/gpio-aspeed.c b/drivers/gpio/gpio-aspeed.c
>> index 2e0ae953dd99..3d675b63936c 100644
>> --- a/drivers/gpio/gpio-aspeed.c
>> +++ b/drivers/gpio/gpio-aspeed.c
>> @@ -1305,7 +1305,6 @@ MODULE_DEVICE_TABLE(of, aspeed_gpio_of_table);
>>
>> static int aspeed_gpio_probe(struct platform_device *pdev)
>> {
>> - const struct of_device_id *gpio_id;
>> struct gpio_irq_chip *girq;
>> struct aspeed_gpio *gpio;
>> int rc, irq, i, banks, err;
>> @@ -1323,8 +1322,8 @@ static int aspeed_gpio_probe(struct platform_device *pdev)
>>
>> raw_spin_lock_init(&gpio->lock);
>>
>> - gpio_id = of_match_node(aspeed_gpio_of_table, pdev->dev.of_node);
>> - if (!gpio_id)
>> + gpio->config = of_device_get_match_data(&pdev->dev);
>
> If you're already doing it, just use device_get_match_data() here and
> elsewhere in the series.
That's not exactly equivalent, but I guess it does not matter if driver
probes only via OF. Sure, I'll change it.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/4] gpio: aspeed: Simplify with of_device_get_match_data()
2025-11-06 19:13 ` Krzysztof Kozlowski
@ 2025-11-07 10:32 ` Bartosz Golaszewski
0 siblings, 0 replies; 9+ messages in thread
From: Bartosz Golaszewski @ 2025-11-07 10:32 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Linus Walleij, Joel Stanley, Andrew Jeffery, Eugeniy Paltsev,
Shubhrajyoti Datta, Srinivas Neeli, Michal Simek, linux-gpio,
linux-kernel, linux-arm-kernel, linux-aspeed
On Thu, Nov 6, 2025 at 8:13 PM Krzysztof Kozlowski
<krzysztof.kozlowski@linaro.org> wrote:
>
> On 06/11/2025 17:23, Bartosz Golaszewski wrote:
> > On Thu, Nov 6, 2025 at 5:16 PM Krzysztof Kozlowski
> > <krzysztof.kozlowski@linaro.org> wrote:
> >>
> >> Driver's probe function matches against driver's of_device_id table,
> >> where each entry has non-NULL match data, so of_match_node() can be
> >> simplified with of_device_get_match_data().
> >>
> >> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> >> ---
> >> drivers/gpio/gpio-aspeed.c | 7 ++-----
> >> 1 file changed, 2 insertions(+), 5 deletions(-)
> >>
> >> diff --git a/drivers/gpio/gpio-aspeed.c b/drivers/gpio/gpio-aspeed.c
> >> index 2e0ae953dd99..3d675b63936c 100644
> >> --- a/drivers/gpio/gpio-aspeed.c
> >> +++ b/drivers/gpio/gpio-aspeed.c
> >> @@ -1305,7 +1305,6 @@ MODULE_DEVICE_TABLE(of, aspeed_gpio_of_table);
> >>
> >> static int aspeed_gpio_probe(struct platform_device *pdev)
> >> {
> >> - const struct of_device_id *gpio_id;
> >> struct gpio_irq_chip *girq;
> >> struct aspeed_gpio *gpio;
> >> int rc, irq, i, banks, err;
> >> @@ -1323,8 +1322,8 @@ static int aspeed_gpio_probe(struct platform_device *pdev)
> >>
> >> raw_spin_lock_init(&gpio->lock);
> >>
> >> - gpio_id = of_match_node(aspeed_gpio_of_table, pdev->dev.of_node);
> >> - if (!gpio_id)
> >> + gpio->config = of_device_get_match_data(&pdev->dev);
> >
> > If you're already doing it, just use device_get_match_data() here and
> > elsewhere in the series.
>
> That's not exactly equivalent, but I guess it does not matter if driver
> probes only via OF. Sure, I'll change it.
>
In this case, it probably doesn't matter but in almost all cases it's
better to go through the fwnode path, as it also checks potential
secondary nodes when retrieving properties. Not to mention better
portability of the driver if needed in the future.
Bart
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2025-11-07 10:33 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-06 16:16 [PATCH 0/4] gpio: Simplify with of_device_get_match_data() Krzysztof Kozlowski
2025-11-06 16:16 ` [PATCH 1/4] gpio: tb10x: Drop unused tb10x_set_bits() function Krzysztof Kozlowski
2025-11-06 16:16 ` [PATCH 2/4] gpio: aspeed: Simplify with of_device_get_match_data() Krzysztof Kozlowski
2025-11-06 16:23 ` Bartosz Golaszewski
2025-11-06 19:13 ` Krzysztof Kozlowski
2025-11-07 10:32 ` Bartosz Golaszewski
2025-11-06 16:16 ` [PATCH 3/4] gpio: creg-snps: " Krzysztof Kozlowski
2025-11-06 16:16 ` [PATCH 4/4] gpio: zynq: " Krzysztof Kozlowski
2025-11-06 17:19 ` (subset) [PATCH 0/4] gpio: " Bartosz Golaszewski
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).