From: Thierry Reding <treding@xxxxxxxxxx> The mfd_add_devices() parameter takes a struct resource * as fifth argument, but the nvec driver passes in a void __iomem *. The driver gets away with it because none of the subdevices ever directly access the registers. While at it, use platform_get_irq() instead of platform_get_resource() to get the device's interrupt. This makes it easier to pass in the register region since the variable is no longer reused. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> --- Alternatively we could simply pass NULL into mfd_add_devices(), which might be a slightly more accurate representation of what's going on. Marc, Greg, any preferences? drivers/staging/nvec/nvec.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/staging/nvec/nvec.c b/drivers/staging/nvec/nvec.c index d32504844896..11f9e1c3447c 100644 --- a/drivers/staging/nvec/nvec.c +++ b/drivers/staging/nvec/nvec.c @@ -821,8 +821,8 @@ static int tegra_nvec_probe(struct platform_device *pdev) if (IS_ERR(base)) return PTR_ERR(base); - res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); - if (!res) { + nvec->irq = platform_get_irq(pdev, 0); + if (nvec->irq < 0) { dev_err(&pdev->dev, "no irq resource?\n"); return -ENODEV; } @@ -840,7 +840,6 @@ static int tegra_nvec_probe(struct platform_device *pdev) } nvec->base = base; - nvec->irq = res->start; nvec->i2c_clk = i2c_clk; nvec->rx = &nvec->msg_pool[0]; @@ -893,7 +892,7 @@ static int tegra_nvec_probe(struct platform_device *pdev) } ret = mfd_add_devices(nvec->dev, -1, nvec_devices, - ARRAY_SIZE(nvec_devices), base, 0, NULL); + ARRAY_SIZE(nvec_devices), res, 0, NULL); if (ret) dev_err(nvec->dev, "error adding subdevices\n"); -- 2.0.1 -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html