linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [2.6 patch] drivers/serial/8250_pci.c: don't probe non-serial softmodems
@ 2005-04-19 23:56 Sasha Khapyorsky
  2005-04-30  8:54 ` Russell King
  0 siblings, 1 reply; 4+ messages in thread
From: Sasha Khapyorsky @ 2005-04-19 23:56 UTC (permalink / raw)
  To: rmk+serial; +Cc: linux-serial


Hello Russel,

Some soft modem pci devices (known list in the patch) claim to have 
'communication' class, and as result they are grabbed by serial driver.
Actually those devices are useless for serial drivers (it is not "real"
modem and doesn't have serial interface), but this prevents probing from
soft modem drivers (there are few in ALSA).

The patch below makes it possible to define ids of such known non-serial
devices and don't probe it by 8250_pci driver.

Thanks,
Sasha.


Signed-off-by: Sasha Khapyorsky <sashak@smlink.com>

diff -wru linux-2.6.12-rc1_orig/drivers/serial/8250_pci.c linux-2.6.12-rc1/drivers/serial/8250_pci.c
--- linux-2.6.12-rc1_orig/drivers/serial/8250_pci.c	2005-03-28 17:26:38.000000000 +0200
+++ linux-2.6.12-rc1/drivers/serial/8250_pci.c	2005-04-12 18:07:27.000000000 +0300
@@ -1605,6 +1605,22 @@
 }
 
 /*
+ * pci devices with appropriate class declared, but known as
+ * non modems or serial
+ */
+static struct pci_device_id __devinitdata non_serial_pci_tbl[] = {
+	{	0x163c, 0x3052,   /* smartlink softmodem */
+		PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+	{	0x134d, 0x2189,   /* HSP1688 softmodem */
+		PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+	{	PCI_VENDOR_ID_AL, 0x5457,
+		PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+	{	PCI_VENDOR_ID_AL, 0x5459,
+		PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+	{ 0, }
+};
+
+/*
  * Probe one serial board.  Unfortunately, there is no rhyme nor reason
  * to the arrangement of serial ports on a PCI card.
  */
@@ -1616,6 +1632,9 @@
 	struct pci_serial_quirk *quirk;
 	int rc, nr_ports, i;
 
+	if (pci_match_device(non_serial_pci_tbl, dev))
+		return -ENODEV;
+
 	if (ent->driver_data >= ARRAY_SIZE(pci_boards)) {
 		printk(KERN_ERR "pci_init_one: invalid driver_data: %ld\n",
 			ent->driver_data);

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

end of thread, other threads:[~2005-05-27 22:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-19 23:56 [2.6 patch] drivers/serial/8250_pci.c: don't probe non-serial softmodems Sasha Khapyorsky
2005-04-30  8:54 ` Russell King
2005-04-30 21:23   ` Sasha Khapyorsky
2005-05-27 23:00     ` Sasha Khapyorsky

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