pwm: atmel: Remove unneeded check for match data
authorThierry Reding <thierry.reding@gmail.com>
Fri, 20 Sep 2019 23:55:48 +0000 (01:55 +0200)
committerThierry Reding <thierry.reding@gmail.com>
Sat, 21 Sep 2019 01:25:11 +0000 (03:25 +0200)
Since the driver is now exclusively DT, it only binds if it finds a
match in the of_device_id table. But in that case the associated data
can never be NULL, so drop the unnecessary check.

While at it, drop the extra local variable and store the pointer to
this per-SoC data in the driver data directly.

Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
drivers/pwm/pwm-atmel.c

index 5b861da3e32598d7c267175623e834c2b858d37b..2e0b3d985d24a767d10710dd4437cdee3052143f 100644 (file)
@@ -339,19 +339,16 @@ MODULE_DEVICE_TABLE(of, atmel_pwm_dt_ids);
 
 static int atmel_pwm_probe(struct platform_device *pdev)
 {
-       const struct atmel_pwm_data *data;
        struct atmel_pwm_chip *atmel_pwm;
        struct resource *res;
        int ret;
 
-       data = of_device_get_match_data(&pdev->dev);
-       if (!data)
-               return -ENODEV;
-
        atmel_pwm = devm_kzalloc(&pdev->dev, sizeof(*atmel_pwm), GFP_KERNEL);
        if (!atmel_pwm)
                return -ENOMEM;
 
+       atmel_pwm->data = of_device_get_match_data(&pdev->dev);
+
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        atmel_pwm->base = devm_ioremap_resource(&pdev->dev, res);
        if (IS_ERR(atmel_pwm->base))
@@ -375,7 +372,6 @@ static int atmel_pwm_probe(struct platform_device *pdev)
 
        atmel_pwm->chip.base = -1;
        atmel_pwm->chip.npwm = 4;
-       atmel_pwm->data = data;
        atmel_pwm->updated_pwms = 0;
        mutex_init(&atmel_pwm->isr_lock);