Linux Serial subsystem development
 help / color / mirror / Atom feed
* [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