diff options
Diffstat (limited to 'drivers/mailbox/platform_mhu.c')
| -rw-r--r-- | drivers/mailbox/platform_mhu.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/mailbox/platform_mhu.c b/drivers/mailbox/platform_mhu.c index b6e34952246b..834aecd720ac 100644 --- a/drivers/mailbox/platform_mhu.c +++ b/drivers/mailbox/platform_mhu.c @@ -15,6 +15,7 @@ #include <linux/slab.h> #include <linux/err.h> #include <linux/io.h> +#include <linux/mod_devicetable.h> #include <linux/module.h> #include <linux/platform_device.h> #include <linux/mailbox_controller.h> @@ -117,7 +118,6 @@ static int platform_mhu_probe(struct platform_device *pdev) int i, err; struct platform_mhu *mhu; struct device *dev = &pdev->dev; - struct resource *res; int platform_mhu_reg[MHU_CHANS] = { MHU_SEC_OFFSET, MHU_LP_OFFSET, MHU_HP_OFFSET }; @@ -127,8 +127,7 @@ static int platform_mhu_probe(struct platform_device *pdev) if (!mhu) return -ENOMEM; - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - mhu->base = devm_ioremap_resource(dev, res); + mhu->base = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(mhu->base)) { dev_err(dev, "ioremap failed\n"); return PTR_ERR(mhu->base); @@ -137,10 +136,8 @@ static int platform_mhu_probe(struct platform_device *pdev) for (i = 0; i < MHU_CHANS; i++) { mhu->chan[i].con_priv = &mhu->mlink[i]; mhu->mlink[i].irq = platform_get_irq(pdev, i); - if (mhu->mlink[i].irq < 0) { - dev_err(dev, "failed to get irq%d\n", i); + if (mhu->mlink[i].irq < 0) return mhu->mlink[i].irq; - } mhu->mlink[i].rx_reg = mhu->base + platform_mhu_reg[i]; mhu->mlink[i].tx_reg = mhu->mlink[i].rx_reg + TX_REG_OFFSET; } |
