On Tue, Jan 29, 2013 at 04:24:07PM +0100, Florian Fainelli wrote: > - dev->err_interrupt = irq_of_parse_and_map(pdev->dev.of_node, 0); > + if (pdev->dev.of_node) { > + dev->regs = of_iomap(pdev->dev.of_node, 0); > + if (!dev->regs) { > + dev_err(&pdev->dev, "No SMI register address given in DT\n"); > + ret = -ENODEV; > + goto out_free; > + } > + > + dev->err_interrupt = irq_of_parse_and_map(pdev->dev.of_node, 0); > + } else { > + r = platform_get_resource(pdev, IORESOURCE_MEM, 0); > + > + dev->regs = ioremap(r->start, resource_size(r)); > + if (!dev->regs) { > + dev_err(&pdev->dev, "No SMI register address given\n"); > + ret = -ENODEV; > + goto out_free; > + } > + > + dev->err_interrupt = platform_get_irq(pdev, 0); > + } Why do you have these different paths for OF and platform? AFAIK these days when a OF device is automatically converted into a platform device all the struct resources are created too, so you can't you just use platform_get_resource and devm_request_and_ioremap for both flows? Ditto for the interrupt - platform_get_irq should work in both cases? Jason -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html