remove setup of platform device from jazzsonic.c
remove setup platform device from jazzsonic, which is done in arch code now Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
99cd149efe
commit
ed9f0e0bf3
@ -45,7 +45,6 @@
|
||||
#include <asm/jazzdma.h>
|
||||
|
||||
static char jazz_sonic_string[] = "jazzsonic";
|
||||
static struct platform_device *jazz_sonic_device;
|
||||
|
||||
#define SONIC_MEM_SIZE 0x100
|
||||
|
||||
@ -69,14 +68,6 @@ static unsigned int sonic_debug = SONIC_DEBUG;
|
||||
static unsigned int sonic_debug = 1;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Base address and interrupt of the SONIC controller on JAZZ boards
|
||||
*/
|
||||
static struct {
|
||||
unsigned int port;
|
||||
unsigned int irq;
|
||||
} sonic_portlist[] = { {JAZZ_ETHERNET_BASE, JAZZ_ETHERNET_IRQ}, {0, 0}};
|
||||
|
||||
/*
|
||||
* We cannot use station (ethernet) address prefixes to detect the
|
||||
* sonic controller since these are board manufacturer depended.
|
||||
@ -215,13 +206,12 @@ static int __init jazz_sonic_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct net_device *dev;
|
||||
struct sonic_local *lp;
|
||||
struct resource *res;
|
||||
int err = 0;
|
||||
int i;
|
||||
|
||||
/*
|
||||
* Don't probe if we're not running on a Jazz board.
|
||||
*/
|
||||
if (mips_machgroup != MACH_GROUP_JAZZ)
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
if (!res)
|
||||
return -ENODEV;
|
||||
|
||||
dev = alloc_etherdev(sizeof(struct sonic_local));
|
||||
@ -235,20 +225,9 @@ static int __init jazz_sonic_probe(struct platform_device *pdev)
|
||||
|
||||
netdev_boot_setup_check(dev);
|
||||
|
||||
if (dev->base_addr >= KSEG0) { /* Check a single specified location. */
|
||||
err = sonic_probe1(dev);
|
||||
} else if (dev->base_addr != 0) { /* Don't probe at all. */
|
||||
err = -ENXIO;
|
||||
} else {
|
||||
for (i = 0; sonic_portlist[i].port; i++) {
|
||||
dev->base_addr = sonic_portlist[i].port;
|
||||
dev->irq = sonic_portlist[i].irq;
|
||||
if (sonic_probe1(dev) == 0)
|
||||
break;
|
||||
}
|
||||
if (!sonic_portlist[i].port)
|
||||
err = -ENODEV;
|
||||
}
|
||||
dev->base_addr = res->start;
|
||||
dev->irq = platform_get_irq(pdev, 0);
|
||||
err = sonic_probe1(dev);
|
||||
if (err)
|
||||
goto out;
|
||||
err = register_netdev(dev);
|
||||
@ -303,38 +282,12 @@ static struct platform_driver jazz_sonic_driver = {
|
||||
|
||||
static int __init jazz_sonic_init_module(void)
|
||||
{
|
||||
int err;
|
||||
|
||||
if ((err = platform_driver_register(&jazz_sonic_driver))) {
|
||||
printk(KERN_ERR "Driver registration failed\n");
|
||||
return err;
|
||||
}
|
||||
|
||||
jazz_sonic_device = platform_device_alloc(jazz_sonic_string, 0);
|
||||
if (!jazz_sonic_device)
|
||||
goto out_unregister;
|
||||
|
||||
if (platform_device_add(jazz_sonic_device)) {
|
||||
platform_device_put(jazz_sonic_device);
|
||||
jazz_sonic_device = NULL;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
out_unregister:
|
||||
platform_driver_unregister(&jazz_sonic_driver);
|
||||
|
||||
return -ENOMEM;
|
||||
return platform_driver_register(&jazz_sonic_driver);
|
||||
}
|
||||
|
||||
static void __exit jazz_sonic_cleanup_module(void)
|
||||
{
|
||||
platform_driver_unregister(&jazz_sonic_driver);
|
||||
|
||||
if (jazz_sonic_device) {
|
||||
platform_device_unregister(jazz_sonic_device);
|
||||
jazz_sonic_device = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
module_init(jazz_sonic_init_module);
|
||||
|
Loading…
Reference in New Issue
Block a user