can: c_can_platform: fix irq check in probe
authorMarc Kleine-Budde <mkl@pengutronix.de>
Thu, 24 Mar 2011 02:34:33 +0000 (02:34 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Mar 2011 06:35:01 +0000 (23:35 -0700)
This patch fixes the check in the probe function whether a IRQ was supplied
to the driver. The original driver check the irq "struct resource *" against
<= 0. Use "platform_get_irq" instead.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Cc: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/can/c_can/c_can_platform.c

index e629b961ae2d710292c624dda6519f8f2488c121..cc90824f2c9c2dc36ce8ab57f44741c307cd90bd 100644 (file)
@@ -73,7 +73,8 @@ static int __devinit c_can_plat_probe(struct platform_device *pdev)
        void __iomem *addr;
        struct net_device *dev;
        struct c_can_priv *priv;
-       struct resource *mem, *irq;
+       struct resource *mem;
+       int irq;
 #ifdef CONFIG_HAVE_CLK
        struct clk *clk;
 
@@ -88,8 +89,8 @@ static int __devinit c_can_plat_probe(struct platform_device *pdev)
 
        /* get the platform data */
        mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
-       if (!mem || (irq <= 0)) {
+       irq = platform_get_irq(pdev, 0);
+       if (!mem || irq <= 0) {
                ret = -ENODEV;
                goto exit_free_clk;
        }
@@ -117,7 +118,7 @@ static int __devinit c_can_plat_probe(struct platform_device *pdev)
 
        priv = netdev_priv(dev);
 
-       dev->irq = irq->start;
+       dev->irq = irq;
        priv->regs = addr;
 #ifdef CONFIG_HAVE_CLK
        priv->can.clock.freq = clk_get_rate(clk);