dect
/
linux-2.6
Archived
13
0
Fork 0

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:
Thomas Bogendoerfer 2007-09-08 21:46:49 +02:00 committed by David S. Miller
parent 99cd149efe
commit ed9f0e0bf3
1 changed files with 7 additions and 54 deletions

View File

@ -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);