* [PATCH 001/001] serial: add support of CPCI cards
@ 2025-11-08 21:46 Magne Bruno
2025-11-09 0:50 ` Greg KH
0 siblings, 1 reply; 6+ messages in thread
From: Magne Bruno @ 2025-11-08 21:46 UTC (permalink / raw)
To: gregkh, jirislaby, linux-serial; +Cc: Magne Bruno
Addi-Data GmbH is manufacturing multi-serial ports cards supporting CompactPCI (known as CPCI).
Those cards are identified with different DeviceIds. Those cards integrating standard UARTs
work the same way as PCI/PCIe models already supported in the serial driver.
Signed-off-by: Magne Bruno <magne.bruno@addi-data.com>
---
diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c
index 152f914c599d..924ea92d17d7 100644
--- a/drivers/tty/serial/8250/8250_pci.c
+++ b/drivers/tty/serial/8250/8250_pci.c
@@ -5996,6 +5996,38 @@ static const struct pci_device_id serial_pci_tbl[] = {
0,
pbn_ADDIDATA_PCIe_8_3906250 },
+ { PCI_VENDOR_ID_ADDIDATA,
+ PCI_DEVICE_ID_ADDIDATA_CPCI7500,
+ PCI_ANY_ID,
+ PCI_ANY_ID,
+ 0,
+ 0,
+ pbn_b0_4_115200 },
+
+ { PCI_VENDOR_ID_ADDIDATA,
+ PCI_DEVICE_ID_ADDIDATA_CPCI7500_NG,
+ PCI_ANY_ID,
+ PCI_ANY_ID,
+ 0,
+ 0,
+ pbn_b0_4_115200 },
+
+ { PCI_VENDOR_ID_ADDIDATA,
+ PCI_DEVICE_ID_ADDIDATA_CPCI7420_NG,
+ PCI_ANY_ID,
+ PCI_ANY_ID,
+ 0,
+ 0,
+ pbn_b0_2_115200 },
+
+ { PCI_VENDOR_ID_ADDIDATA,
+ PCI_DEVICE_ID_ADDIDATA_CPCI7300_NG,
+ PCI_ANY_ID,
+ PCI_ANY_ID,
+ 0,
+ 0,
+ pbn_b0_1_115200 },
+
{ PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9835,
PCI_VENDOR_ID_IBM, 0x0299,
0, 0, pbn_b0_bt_2_115200 },
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index 92ffc4373f6d..221a83d4e1ed 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -2333,6 +2333,7 @@
#define PCI_DEVICE_ID_ADDIDATA_APCI7500 0x7000
#define PCI_DEVICE_ID_ADDIDATA_APCI7420 0x7001
#define PCI_DEVICE_ID_ADDIDATA_APCI7300 0x7002
+#define PCI_DEVICE_ID_ADDIDATA_CPCI7500 0x7003
#define PCI_DEVICE_ID_ADDIDATA_APCI7500_2 0x7009
#define PCI_DEVICE_ID_ADDIDATA_APCI7420_2 0x700A
#define PCI_DEVICE_ID_ADDIDATA_APCI7300_2 0x700B
@@ -2344,6 +2345,9 @@
#define PCI_DEVICE_ID_ADDIDATA_APCIe7420 0x7011
#define PCI_DEVICE_ID_ADDIDATA_APCIe7500 0x7012
#define PCI_DEVICE_ID_ADDIDATA_APCIe7800 0x7013
+#define PCI_DEVICE_ID_ADDIDATA_CPCI7500_NG 0x7024
+#define PCI_DEVICE_ID_ADDIDATA_CPCI7420_NG 0x7025
+#define PCI_DEVICE_ID_ADDIDATA_CPCI7300_NG 0x7026
#define PCI_VENDOR_ID_PDC 0x15e9
ADDI-DATA GmbH - Airport Boulevard B210 - 77836 Rheinmünster (Germany) Amtsgericht Mannheim HRB210433 Geschäftsführer René Ohlmann
UST-ID-Nr.: DE 143754253 WEEE-Reg.-Nr. DE 65862200
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH 001/001] serial: add support of CPCI cards
2025-11-08 21:46 [PATCH 001/001] serial: add support of CPCI cards Magne Bruno
@ 2025-11-09 0:50 ` Greg KH
2025-11-09 7:03 ` Magne.Bruno
0 siblings, 1 reply; 6+ messages in thread
From: Greg KH @ 2025-11-09 0:50 UTC (permalink / raw)
To: Magne Bruno; +Cc: jirislaby, linux-serial
On Sat, Nov 08, 2025 at 10:46:17PM +0100, Magne Bruno wrote:
> Addi-Data GmbH is manufacturing multi-serial ports cards supporting CompactPCI (known as CPCI).
> Those cards are identified with different DeviceIds. Those cards integrating standard UARTs
> work the same way as PCI/PCIe models already supported in the serial driver.
>
> Signed-off-by: Magne Bruno <magne.bruno@addi-data.com>
> ---
>
> diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c
> index 152f914c599d..924ea92d17d7 100644
> --- a/drivers/tty/serial/8250/8250_pci.c
> +++ b/drivers/tty/serial/8250/8250_pci.c
> @@ -5996,6 +5996,38 @@ static const struct pci_device_id serial_pci_tbl[] = {
> 0,
> pbn_ADDIDATA_PCIe_8_3906250 },
>
> + { PCI_VENDOR_ID_ADDIDATA,
> + PCI_DEVICE_ID_ADDIDATA_CPCI7500,
> + PCI_ANY_ID,
> + PCI_ANY_ID,
> + 0,
> + 0,
> + pbn_b0_4_115200 },
> +
> + { PCI_VENDOR_ID_ADDIDATA,
> + PCI_DEVICE_ID_ADDIDATA_CPCI7500_NG,
> + PCI_ANY_ID,
> + PCI_ANY_ID,
> + 0,
> + 0,
> + pbn_b0_4_115200 },
> +
> + { PCI_VENDOR_ID_ADDIDATA,
> + PCI_DEVICE_ID_ADDIDATA_CPCI7420_NG,
> + PCI_ANY_ID,
> + PCI_ANY_ID,
> + 0,
> + 0,
> + pbn_b0_2_115200 },
> +
> + { PCI_VENDOR_ID_ADDIDATA,
> + PCI_DEVICE_ID_ADDIDATA_CPCI7300_NG,
> + PCI_ANY_ID,
> + PCI_ANY_ID,
> + 0,
> + 0,
> + pbn_b0_1_115200 },
> +
> { PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9835,
> PCI_VENDOR_ID_IBM, 0x0299,
> 0, 0, pbn_b0_bt_2_115200 },
> diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
> index 92ffc4373f6d..221a83d4e1ed 100644
> --- a/include/linux/pci_ids.h
> +++ b/include/linux/pci_ids.h
> @@ -2333,6 +2333,7 @@
> #define PCI_DEVICE_ID_ADDIDATA_APCI7500 0x7000
> #define PCI_DEVICE_ID_ADDIDATA_APCI7420 0x7001
> #define PCI_DEVICE_ID_ADDIDATA_APCI7300 0x7002
> +#define PCI_DEVICE_ID_ADDIDATA_CPCI7500 0x7003
> #define PCI_DEVICE_ID_ADDIDATA_APCI7500_2 0x7009
> #define PCI_DEVICE_ID_ADDIDATA_APCI7420_2 0x700A
> #define PCI_DEVICE_ID_ADDIDATA_APCI7300_2 0x700B
> @@ -2344,6 +2345,9 @@
> #define PCI_DEVICE_ID_ADDIDATA_APCIe7420 0x7011
> #define PCI_DEVICE_ID_ADDIDATA_APCIe7500 0x7012
> #define PCI_DEVICE_ID_ADDIDATA_APCIe7800 0x7013
> +#define PCI_DEVICE_ID_ADDIDATA_CPCI7500_NG 0x7024
> +#define PCI_DEVICE_ID_ADDIDATA_CPCI7420_NG 0x7025
> +#define PCI_DEVICE_ID_ADDIDATA_CPCI7300_NG 0x7026
>
> #define PCI_VENDOR_ID_PDC 0x15e9
Please look at the top of this file, there's no real need to add these
new ids to it, right?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 6+ messages in thread* RE: [PATCH 001/001] serial: add support of CPCI cards
2025-11-09 0:50 ` Greg KH
@ 2025-11-09 7:03 ` Magne.Bruno
2025-11-10 0:59 ` Greg KH
0 siblings, 1 reply; 6+ messages in thread
From: Magne.Bruno @ 2025-11-09 7:03 UTC (permalink / raw)
To: Greg KH; +Cc: jirislaby@kernel.org, linux-serial@vger.kernel.org
Dear Greg,
If, we do not add those Ids to the serial driver, the driver will not manage automatically our 4 CPCI cards, like it does for PCI and PCIe cards.
The result is that when booting the kernel, the port devices /dev/ttySx will not be created and the board is not usable.
Without this patch, when using "dmesg | grep /dev/ttyS" we cannot see the serial ports associated with those cards.
We have more and more users using Linux for industrial applications and this is a limitation that
those cards cannot be used out of the box from a a standard kernel, Debian or RedHat.
I hope that my explanations will convince you.
Best Regards
Bruno Magne
-----Message d'origine-----
De : Greg KH <gregkh@linuxfoundation.org>
Envoyé : dimanche 9 novembre 2025 01:50
À : Magne.Bruno <Magne.Bruno@addi-data.com>
Cc : jirislaby@kernel.org; linux-serial@vger.kernel.org
Objet : Re: [PATCH 001/001] serial: add support of CPCI cards
On Sat, Nov 08, 2025 at 10:46:17PM +0100, Magne Bruno wrote:
> Addi-Data GmbH is manufacturing multi-serial ports cards supporting CompactPCI (known as CPCI).
> Those cards are identified with different DeviceIds. Those cards
> integrating standard UARTs work the same way as PCI/PCIe models already supported in the serial driver.
>
> Signed-off-by: Magne Bruno <magne.bruno@addi-data.com>
> ---
>
> diff --git a/drivers/tty/serial/8250/8250_pci.c
> b/drivers/tty/serial/8250/8250_pci.c
> index 152f914c599d..924ea92d17d7 100644
> --- a/drivers/tty/serial/8250/8250_pci.c
> +++ b/drivers/tty/serial/8250/8250_pci.c
> @@ -5996,6 +5996,38 @@ static const struct pci_device_id serial_pci_tbl[] = {
> 0,
> pbn_ADDIDATA_PCIe_8_3906250 },
>
> + { PCI_VENDOR_ID_ADDIDATA,
> + PCI_DEVICE_ID_ADDIDATA_CPCI7500,
> + PCI_ANY_ID,
> + PCI_ANY_ID,
> + 0,
> + 0,
> + pbn_b0_4_115200 },
> +
> + { PCI_VENDOR_ID_ADDIDATA,
> + PCI_DEVICE_ID_ADDIDATA_CPCI7500_NG,
> + PCI_ANY_ID,
> + PCI_ANY_ID,
> + 0,
> + 0,
> + pbn_b0_4_115200 },
> +
> + { PCI_VENDOR_ID_ADDIDATA,
> + PCI_DEVICE_ID_ADDIDATA_CPCI7420_NG,
> + PCI_ANY_ID,
> + PCI_ANY_ID,
> + 0,
> + 0,
> + pbn_b0_2_115200 },
> +
> + { PCI_VENDOR_ID_ADDIDATA,
> + PCI_DEVICE_ID_ADDIDATA_CPCI7300_NG,
> + PCI_ANY_ID,
> + PCI_ANY_ID,
> + 0,
> + 0,
> + pbn_b0_1_115200 },
> +
> { PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9835,
> PCI_VENDOR_ID_IBM, 0x0299,
> 0, 0, pbn_b0_bt_2_115200 },
> diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index
> 92ffc4373f6d..221a83d4e1ed 100644
> --- a/include/linux/pci_ids.h
> +++ b/include/linux/pci_ids.h
> @@ -2333,6 +2333,7 @@
> #define PCI_DEVICE_ID_ADDIDATA_APCI7500 0x7000
> #define PCI_DEVICE_ID_ADDIDATA_APCI7420 0x7001
> #define PCI_DEVICE_ID_ADDIDATA_APCI7300 0x7002
> +#define PCI_DEVICE_ID_ADDIDATA_CPCI7500 0x7003
> #define PCI_DEVICE_ID_ADDIDATA_APCI7500_2 0x7009
> #define PCI_DEVICE_ID_ADDIDATA_APCI7420_2 0x700A
> #define PCI_DEVICE_ID_ADDIDATA_APCI7300_2 0x700B
> @@ -2344,6 +2345,9 @@
> #define PCI_DEVICE_ID_ADDIDATA_APCIe7420 0x7011
> #define PCI_DEVICE_ID_ADDIDATA_APCIe7500 0x7012
> #define PCI_DEVICE_ID_ADDIDATA_APCIe7800 0x7013
> +#define PCI_DEVICE_ID_ADDIDATA_CPCI7500_NG 0x7024
> +#define PCI_DEVICE_ID_ADDIDATA_CPCI7420_NG 0x7025
> +#define PCI_DEVICE_ID_ADDIDATA_CPCI7300_NG 0x7026
>
> #define PCI_VENDOR_ID_PDC 0x15e9
Please look at the top of this file, there's no real need to add these new ids to it, right?
thanks,
greg k-h
ADDI-DATA GmbH - Airport Boulevard B210 - 77836 Rheinmünster (Germany) Amtsgericht Mannheim HRB210433 Geschäftsführer René Ohlmann
UST-ID-Nr.: DE 143754253 WEEE-Reg.-Nr. DE 65862200
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH 001/001] serial: add support of CPCI cards
2025-11-09 7:03 ` Magne.Bruno
@ 2025-11-10 0:59 ` Greg KH
2025-11-10 16:23 ` Magne.Bruno
0 siblings, 1 reply; 6+ messages in thread
From: Greg KH @ 2025-11-10 0:59 UTC (permalink / raw)
To: Magne.Bruno; +Cc: jirislaby@kernel.org, linux-serial@vger.kernel.org
On Sun, Nov 09, 2025 at 07:03:14AM +0000, Magne.Bruno wrote:
> Dear Greg,
>
> If, we do not add those Ids to the serial driver, the driver will not manage automatically our 4 CPCI cards, like it does for PCI and PCIe cards.
I agree, sorry, what I was asking specifically was:
> > diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index
> > 92ffc4373f6d..221a83d4e1ed 100644
> > --- a/include/linux/pci_ids.h
> > +++ b/include/linux/pci_ids.h
This file, look at the top of it. You shouldn't be adding ids to this
file unless they are shared across multiple drivers. Just add the
#defines instead to the .c file where they are referenced. So this
patch should just be touching one file, not two.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: [PATCH 001/001] serial: add support of CPCI cards
2025-11-10 0:59 ` Greg KH
@ 2025-11-10 16:23 ` Magne.Bruno
0 siblings, 0 replies; 6+ messages in thread
From: Magne.Bruno @ 2025-11-10 16:23 UTC (permalink / raw)
To: Greg KH; +Cc: jirislaby@kernel.org, linux-serial@vger.kernel.org
Dear Greg,
I did the changes as you suggested. I send another email well formatted with the right patch.
But what about, the previous #define in include/linux/pci_ids.h ?
#define PCI_DEVICE_ID_ADDIDATA_APCI7500 0x7000
#define PCI_DEVICE_ID_ADDIDATA_APCI7420 0x7001
#define PCI_DEVICE_ID_ADDIDATA_APCI7300 0x7002
#define PCI_DEVICE_ID_ADDIDATA_APCI7500_2 0x7009
#define PCI_DEVICE_ID_ADDIDATA_APCI7420_2 0x700A
#define PCI_DEVICE_ID_ADDIDATA_APCI7300_2 0x700B
#define PCI_DEVICE_ID_ADDIDATA_APCI7500_3 0x700C
#define PCI_DEVICE_ID_ADDIDATA_APCI7420_3 0x700D
#define PCI_DEVICE_ID_ADDIDATA_APCI7300_3 0x700E
#define PCI_DEVICE_ID_ADDIDATA_APCI7800_3 0x700F
#define PCI_DEVICE_ID_ADDIDATA_APCIe7300 0x7010
#define PCI_DEVICE_ID_ADDIDATA_APCIe7420 0x7011
#define PCI_DEVICE_ID_ADDIDATA_APCIe7500 0x7012
#define PCI_DEVICE_ID_ADDIDATA_APCIe7800 0x7013
They are only used in ./drivers/tty/serial/8250/8250_pci.c.
Must we keep them as is or should we move them too ?
However the VendorId must be kept in include/linux/pci_ids.h, because we are contributing in Comedi driver ./drivers/comedi/
#define PCI_VENDOR_ID_ADDIDATA 0x15B8
Best Regards
Bruno Magne
-----Message d'origine-----
De : Greg KH <gregkh@linuxfoundation.org>
Envoyé : lundi 10 novembre 2025 01:59
À : Magne.Bruno <Magne.Bruno@addi-data.com>
Cc : jirislaby@kernel.org; linux-serial@vger.kernel.org
Objet : Re: [PATCH 001/001] serial: add support of CPCI cards
On Sun, Nov 09, 2025 at 07:03:14AM +0000, Magne.Bruno wrote:
> Dear Greg,
>
> If, we do not add those Ids to the serial driver, the driver will not manage automatically our 4 CPCI cards, like it does for PCI and PCIe cards.
I agree, sorry, what I was asking specifically was:
> > diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index
> > 92ffc4373f6d..221a83d4e1ed 100644
> > --- a/include/linux/pci_ids.h
> > +++ b/include/linux/pci_ids.h
This file, look at the top of it. You shouldn't be adding ids to this file unless they are shared across multiple drivers. Just add the #defines instead to the .c file where they are referenced. So this patch should just be touching one file, not two.
thanks,
greg k-h
ADDI-DATA GmbH - Airport Boulevard B210 - 77836 Rheinmünster (Germany) Amtsgericht Mannheim HRB210433 Geschäftsführer René Ohlmann
UST-ID-Nr.: DE 143754253 WEEE-Reg.-Nr. DE 65862200
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 001/001] serial: add support of CPCI cards
@ 2025-11-10 16:24 Magne Bruno
0 siblings, 0 replies; 6+ messages in thread
From: Magne Bruno @ 2025-11-10 16:24 UTC (permalink / raw)
To: gregkh, jirislaby, linux-serial; +Cc: Magne Bruno
Addi-Data GmbH is manufacturing multi-serial ports cards supporting CompactPCI (known as CPCI).
Those cards are identified with different DeviceIds. Those cards integrating standard UARTs
work the same way as PCI/PCIe models already supported in the serial driver.
Signed-off-by: Magne Bruno <magne.bruno@addi-data.com>
---
diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c
index 152f914c599d..12e8ceffab65 100644
--- a/drivers/tty/serial/8250/8250_pci.c
+++ b/drivers/tty/serial/8250/8250_pci.c
@@ -95,6 +95,11 @@
#define PCI_DEVICE_ID_MOXA_CP138E_A 0x1381
#define PCI_DEVICE_ID_MOXA_CP168EL_A 0x1683
+#define PCI_DEVICE_ID_ADDIDATA_CPCI7500 0x7003
+#define PCI_DEVICE_ID_ADDIDATA_CPCI7500_NG 0x7024
+#define PCI_DEVICE_ID_ADDIDATA_CPCI7420_NG 0x7025
+#define PCI_DEVICE_ID_ADDIDATA_CPCI7300_NG 0x7026
+
/* Unknown vendors/cards - this should not be in linux/pci_ids.h */
#define PCI_SUBDEVICE_ID_UNKNOWN_0x1584 0x1584
#define PCI_SUBDEVICE_ID_UNKNOWN_0x1588 0x1588
@@ -5996,6 +6001,38 @@ static const struct pci_device_id serial_pci_tbl[] = {
0,
pbn_ADDIDATA_PCIe_8_3906250 },
+ { PCI_VENDOR_ID_ADDIDATA,
+ PCI_DEVICE_ID_ADDIDATA_CPCI7500,
+ PCI_ANY_ID,
+ PCI_ANY_ID,
+ 0,
+ 0,
+ pbn_b0_4_115200 },
+
+ { PCI_VENDOR_ID_ADDIDATA,
+ PCI_DEVICE_ID_ADDIDATA_CPCI7500_NG,
+ PCI_ANY_ID,
+ PCI_ANY_ID,
+ 0,
+ 0,
+ pbn_b0_4_115200 },
+
+ { PCI_VENDOR_ID_ADDIDATA,
+ PCI_DEVICE_ID_ADDIDATA_CPCI7420_NG,
+ PCI_ANY_ID,
+ PCI_ANY_ID,
+ 0,
+ 0,
+ pbn_b0_2_115200 },
+
+ { PCI_VENDOR_ID_ADDIDATA,
+ PCI_DEVICE_ID_ADDIDATA_CPCI7300_NG,
+ PCI_ANY_ID,
+ PCI_ANY_ID,
+ 0,
+ 0,
+ pbn_b0_1_115200 },
+
{ PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9835,
PCI_VENDOR_ID_IBM, 0x0299,
0, 0, pbn_b0_bt_2_115200 },
ADDI-DATA GmbH - Airport Boulevard B210 - 77836 Rheinmünster (Germany) Amtsgericht Mannheim HRB210433 Geschäftsführer René Ohlmann
UST-ID-Nr.: DE 143754253 WEEE-Reg.-Nr. DE 65862200
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-11-10 16:25 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-08 21:46 [PATCH 001/001] serial: add support of CPCI cards Magne Bruno
2025-11-09 0:50 ` Greg KH
2025-11-09 7:03 ` Magne.Bruno
2025-11-10 0:59 ` Greg KH
2025-11-10 16:23 ` Magne.Bruno
-- strict thread matches above, loose matches on Subject: below --
2025-11-10 16:24 Magne Bruno
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox