drivers/net/ax88796.c: take IRQ flags from platform_device
This patch adds support to the ax88796 ethernet driver to take IRQ flags given by the platform_device definition. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
bef28b1159
commit
47cb035560
|
@ -93,6 +93,7 @@ struct ax_device {
|
||||||
|
|
||||||
unsigned char running;
|
unsigned char running;
|
||||||
unsigned char resume_open;
|
unsigned char resume_open;
|
||||||
|
unsigned int irqflags;
|
||||||
|
|
||||||
u32 reg_offsets[0x20];
|
u32 reg_offsets[0x20];
|
||||||
};
|
};
|
||||||
|
@ -474,7 +475,8 @@ static int ax_open(struct net_device *dev)
|
||||||
|
|
||||||
dev_dbg(&ax->dev->dev, "%s: open\n", dev->name);
|
dev_dbg(&ax->dev->dev, "%s: open\n", dev->name);
|
||||||
|
|
||||||
ret = request_irq(dev->irq, ax_ei_interrupt, 0, dev->name, dev);
|
ret = request_irq(dev->irq, ax_ei_interrupt, ax->irqflags,
|
||||||
|
dev->name, dev);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
@ -829,7 +831,7 @@ static int ax_probe(struct platform_device *pdev)
|
||||||
struct ax_device *ax;
|
struct ax_device *ax;
|
||||||
struct resource *res;
|
struct resource *res;
|
||||||
size_t size;
|
size_t size;
|
||||||
int ret;
|
int ret = 0;
|
||||||
|
|
||||||
dev = ax__alloc_ei_netdev(sizeof(struct ax_device));
|
dev = ax__alloc_ei_netdev(sizeof(struct ax_device));
|
||||||
if (dev == NULL)
|
if (dev == NULL)
|
||||||
|
@ -850,12 +852,14 @@ static int ax_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
/* find the platform resources */
|
/* find the platform resources */
|
||||||
|
|
||||||
ret = platform_get_irq(pdev, 0);
|
res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
|
||||||
if (ret < 0) {
|
if (res == NULL) {
|
||||||
dev_err(&pdev->dev, "no IRQ specified\n");
|
dev_err(&pdev->dev, "no IRQ specified\n");
|
||||||
goto exit_mem;
|
goto exit_mem;
|
||||||
}
|
}
|
||||||
dev->irq = ret;
|
|
||||||
|
dev->irq = res->start;
|
||||||
|
ax->irqflags = res->flags & IRQF_TRIGGER_MASK;
|
||||||
|
|
||||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||||
if (res == NULL) {
|
if (res == NULL) {
|
||||||
|
|
Loading…
Reference in a new issue