[PATCH] PWM: i.MX: register successfully without alias

Sascha Hauer s.hauer at pengutronix.de
Thu Mar 5 06:18:01 PST 2015


When a PWM does not have an of alias generate a name from the
base address so that we can register it successfully.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 drivers/pwm/pwm-imx.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/drivers/pwm/pwm-imx.c b/drivers/pwm/pwm-imx.c
index fbfc3af..b00bf7e 100644
--- a/drivers/pwm/pwm-imx.c
+++ b/drivers/pwm/pwm-imx.c
@@ -226,21 +226,19 @@ static int imx_pwm_probe(struct device_d *dev)
 	if (IS_ERR(imx->clk_per))
 		return PTR_ERR(imx->clk_per);
 
+	imx->mmio_base = dev_request_mem_region(dev, 0);
+	if (IS_ERR(imx->mmio_base))
+		return PTR_ERR(imx->mmio_base);
+
 	imx->chip.ops = &imx_pwm_ops;
 	if (dev->device_node) {
 		imx->chip.devname = of_alias_get(dev->device_node);
-		if (!imx->chip.devname) {
-			dev_err(dev, "no alias for pwm\n");
-			return -EINVAL;
-		}
+		if (!imx->chip.devname)
+			imx->chip.devname = asprintf("pwm_%p", imx->mmio_base);
 	} else {
 		imx->chip.devname = asprintf("pwm%d", dev->id);
 	}
 
-	imx->mmio_base = dev_request_mem_region(dev, 0);
-	if (IS_ERR(imx->mmio_base))
-		return PTR_ERR(imx->mmio_base);
-
 	imx->config = data->config;
 	imx->set_enable = data->set_enable;
 
-- 
2.1.4




More information about the barebox mailing list