From 487693fb19d72a34ac198cd61f26ad123c6c1f30 Mon Sep 17 00:00:00 2001 From: juhosg Date: Mon, 26 Oct 2009 17:17:18 +0000 Subject: ramips: use resource to pass irq and base address to the ethernet driver git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18166 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- target/linux/ramips/files/drivers/net/ramips.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'target/linux/ramips/files/drivers') diff --git a/target/linux/ramips/files/drivers/net/ramips.c b/target/linux/ramips/files/drivers/net/ramips.c index ae47230b7..4975adc77 100644 --- a/target/linux/ramips/files/drivers/net/ramips.c +++ b/target/linux/ramips/files/drivers/net/ramips.c @@ -338,6 +338,7 @@ ramips_eth_plat_probe(struct platform_device *plat) { struct raeth_priv *priv; struct ramips_eth_platform_data *data = plat->dev.platform_data; + struct resource *res; int err; if (!data) { @@ -345,7 +346,13 @@ ramips_eth_plat_probe(struct platform_device *plat) return -EINVAL; } - ramips_fe_base = ioremap_nocache(data->base_addr, PAGE_SIZE); + res = platform_get_resource(plat, IORESOURCE_MEM, 0); + if (!res) { + dev_err(&plat->dev, "no memory resource found\n"); + return -ENXIO; + } + + ramips_fe_base = ioremap_nocache(res->start, res->end - res->start + 1); if(!ramips_fe_base) return -ENOMEM; @@ -357,7 +364,12 @@ ramips_eth_plat_probe(struct platform_device *plat) } strcpy(ramips_dev->name, "eth%d"); - ramips_dev->irq = data->irq; + ramips_dev->irq = platform_get_irq(plat, 0); + if (ramips_dev->irq < 0) { + dev_err(&plat->dev, "no IRQ resource found\n"); + err = -ENXIO; + goto err_free_dev; + } ramips_dev->addr_len = ETH_ALEN; ramips_dev->base_addr = (unsigned long)ramips_fe_base; ramips_dev->init = ramips_eth_probe; -- cgit v1.2.3