diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-01-25 14:52:48 +0000 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-01-25 14:52:48 +0000 |
commit | f1487fcbe47cd2bc0c71e8598bf9eb6a82dec544 (patch) | |
tree | 4c7abed6047538c13dd024a8ecffd15f31b4609a /drivers/net/tulip/dmfe.c | |
parent | 84549d239ab9bb2e3a85c6efcf0e6478a38b4260 (diff) | |
parent | 40aa7030e5213a43e9e0554fd7f95534ea310bf3 (diff) | |
download | kernel-crypto-f1487fcbe47cd2bc0c71e8598bf9eb6a82dec544.tar.gz kernel-crypto-f1487fcbe47cd2bc0c71e8598bf9eb6a82dec544.tar.xz kernel-crypto-f1487fcbe47cd2bc0c71e8598bf9eb6a82dec544.zip |
Merge branch 'for-2.6.33' into for-2.6.34
Diffstat (limited to 'drivers/net/tulip/dmfe.c')
-rw-r--r-- | drivers/net/tulip/dmfe.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/net/tulip/dmfe.c b/drivers/net/tulip/dmfe.c index ad63621913c..6f44ebf5891 100644 --- a/drivers/net/tulip/dmfe.c +++ b/drivers/net/tulip/dmfe.c @@ -92,6 +92,10 @@ #include <asm/uaccess.h> #include <asm/irq.h> +#ifdef CONFIG_TULIP_DM910X +#include <linux/of.h> +#endif + /* Board/System/Debug information/definition ---------------- */ #define PCI_DM9132_ID 0x91321282 /* Davicom DM9132 ID */ @@ -377,6 +381,23 @@ static int __devinit dmfe_init_one (struct pci_dev *pdev, if (!printed_version++) printk(version); + /* + * SPARC on-board DM910x chips should be handled by the main + * tulip driver, except for early DM9100s. + */ +#ifdef CONFIG_TULIP_DM910X + if ((ent->driver_data == PCI_DM9100_ID && pdev->revision >= 0x30) || + ent->driver_data == PCI_DM9102_ID) { + struct device_node *dp = pci_device_to_OF_node(pdev); + + if (dp && of_get_property(dp, "local-mac-address", NULL)) { + printk(KERN_INFO DRV_NAME + ": skipping on-board DM910x (use tulip)\n"); + return -ENODEV; + } + } +#endif + /* Init network device */ dev = alloc_etherdev(sizeof(*db)); if (dev == NULL) |