From 9b133915f6fb96d917e63f50a465242fe1ccae56 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Thu, 5 Mar 2015 13:59:26 +0100 Subject: [PATCH] PWM: i.MX: register successfully without alias 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 --- drivers/pwm/pwm-imx.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/drivers/pwm/pwm-imx.c b/drivers/pwm/pwm-imx.c index fbfc3af0c..b00bf7e80 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->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; - } - } 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->chip.ops = &imx_pwm_ops; + if (dev->device_node) { + imx->chip.devname = of_alias_get(dev->device_node); + if (!imx->chip.devname) + imx->chip.devname = asprintf("pwm_%p", imx->mmio_base); + } else { + imx->chip.devname = asprintf("pwm%d", dev->id); + } + imx->config = data->config; imx->set_enable = data->set_enable;