Thread (4 messages) 4 messages, 3 authors, 2012-03-26

Re: [PATCH] netdev: fix compile issues for !CONFIG_PCI in 3c59x

From: Paul Gortmaker <hidden>
Date: 2012-03-26 13:38:48
Also in: linux-mips

On Sun, Mar 25, 2012 at 9:11 PM, Paul Gortmaker
[off-list ref] wrote:
I hate to add in more #ifdef CONFIG_PCI but there are already
quite a few in this driver, and it seems like it hasn't been
built with CONFIG_PCI set to off in quite some time.
Actually, please scrap this patch.  The uglyness of more ifdefs
made me look at it again.  It should be do-able in a cleaner way
with stubs, and it appears this may even be similar to an old fail
from the past:

http://lkml.indiana.edu/hypermail/linux/kernel/1107.3/00109.html

I'll dig into it some more and follow up.

Thanks,
Paul.
quoted hunk ↗ jump to hunk
The
MIPS allmodconfig (ISA/EISA based) doesn't set CONFIG_PCI
and that is why we are here looking at this, even though any
modern platform has had PCI since 1995 or so.

Signed-off-by: Paul Gortmaker <redacted>
diff --git a/drivers/net/ethernet/3com/3c59x.c b/drivers/net/ethernet/3com/3c59x.c
index e463d10..36ad150 100644
--- a/drivers/net/ethernet/3com/3c59x.c
+++ b/drivers/net/ethernet/3com/3c59x.c
@@ -999,6 +999,7 @@ static int __init vortex_eisa_init(void)
       return vortex_cards_found - orig_cards_found + eisa_found;
 }

+#ifdef CONFIG_PCI
 /* returns count (>= 0), or negative on error */
 static int __devinit vortex_init_one(struct pci_dev *pdev,
                                     const struct pci_device_id *ent)
@@ -1045,6 +1046,7 @@ static int __devinit vortex_init_one(struct pci_dev *pdev,
 out:
       return rc;
 }
+#endif

 static const struct net_device_ops boomrang_netdev_ops = {
       .ndo_open               = vortex_open,
@@ -1177,6 +1179,7 @@ static int __devinit vortex_probe1(struct device *gendev,
               compaq_net_device = dev;
       }

+#ifdef CONFIG_PCI
       /* PCI-only startup logic */
       if (pdev) {
               /* EISA resources already marked, so only PCI needs to do this here */
@@ -1204,6 +1207,7 @@ static int __devinit vortex_probe1(struct device *gendev,
                       }
               }
       }
+#endif

       spin_lock_init(&vp->lock);
       spin_lock_init(&vp->mii_lock);
@@ -1321,7 +1325,7 @@ static int __devinit vortex_probe1(struct device *gendev,
                       step, (eeprom[4]>>5) & 15, eeprom[4] & 31, eeprom[4]>>9);
       }

-
+#ifdef CONFIG_PCI
       if (pdev && vci->drv_flags & HAS_CB_FNS) {
               unsigned short n;
@@ -1348,6 +1352,7 @@ static int __devinit vortex_probe1(struct device *gendev,
                       window_write16(vp, 0x0800, 0, 0);
               }
       }
+#endif

       /* Extract our information from the EEPROM data. */
       vp->info1 = eeprom[13];
@@ -3222,6 +3227,7 @@ static void acpi_set_WOL(struct net_device *dev)
 }


+#ifdef CONFIG_PCI
 static void __devexit vortex_remove_one(struct pci_dev *pdev)
 {
       struct net_device *dev = pci_get_drvdata(pdev);
@@ -3269,6 +3275,7 @@ static struct pci_driver vortex_driver = {
       .id_table       = vortex_pci_tbl,
       .driver.pm      = VORTEX_PM_OPS,
 };
+#endif


 static int vortex_have_pci;
@@ -3277,9 +3284,13 @@ static int vortex_have_eisa;
 static int __init vortex_init(void)
 {
-       int pci_rc, eisa_rc;
+       int eisa_rc;
+#ifdef CONFIG_PCI
+       int pci_rc = pci_register_driver(&vortex_driver);
+#else
+       int pci_rc = -ENODEV;
+#endif

-       pci_rc = pci_register_driver(&vortex_driver);
       eisa_rc = vortex_eisa_init();

       if (pci_rc == 0)
@@ -3318,8 +3329,10 @@ static void __exit vortex_eisa_cleanup(void)
 static void __exit vortex_cleanup(void)
 {
+#ifdef CONFIG_PCI
       if (vortex_have_pci)
               pci_unregister_driver(&vortex_driver);
+#endif
       if (vortex_have_eisa)
               vortex_eisa_cleanup();
 }
--
1.7.9.4
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help