struct device           *dev;
        void __iomem            *regs;
        struct clk              *clk;
-       int                     irq;
 
        struct i2c_msg          *msg;
        int                     state;
        struct device_node *np = pdev->dev.of_node;
        struct meson_i2c *i2c;
        struct resource *mem;
-       int ret = 0;
+       int irq, ret = 0;
 
        i2c = devm_kzalloc(&pdev->dev, sizeof(struct meson_i2c), GFP_KERNEL);
        if (!i2c)
        if (IS_ERR(i2c->regs))
                return PTR_ERR(i2c->regs);
 
-       i2c->irq = platform_get_irq(pdev, 0);
-       if (i2c->irq < 0) {
+       irq = platform_get_irq(pdev, 0);
+       if (irq < 0) {
                dev_err(&pdev->dev, "can't find IRQ\n");
-               return i2c->irq;
+               return irq;
        }
 
-       ret = devm_request_irq(&pdev->dev, i2c->irq, meson_i2c_irq,
-                              0, dev_name(&pdev->dev), i2c);
+       ret = devm_request_irq(&pdev->dev, irq, meson_i2c_irq, 0, NULL, i2c);
        if (ret < 0) {
                dev_err(&pdev->dev, "can't request IRQ\n");
                return ret;