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 5b861da..2e0b3d9 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);