Merge tag 'perf-tools-2020-12-24' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / drivers / pwm / pwm-sun4i.c
index 961c59c..ce5c4fc 100644 (file)
@@ -294,12 +294,8 @@ static int sun4i_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
 
        ctrl |= BIT_CH(PWM_CLK_GATING, pwm->hwpwm);
 
-       if (state->enabled) {
+       if (state->enabled)
                ctrl |= BIT_CH(PWM_EN, pwm->hwpwm);
-       } else {
-               ctrl &= ~BIT_CH(PWM_EN, pwm->hwpwm);
-               ctrl &= ~BIT_CH(PWM_CLK_GATING, pwm->hwpwm);
-       }
 
        sun4i_pwm_writel(sun4i_pwm, ctrl, PWM_CTRL_REG);
 
@@ -395,7 +391,6 @@ MODULE_DEVICE_TABLE(of, sun4i_pwm_dt_ids);
 static int sun4i_pwm_probe(struct platform_device *pdev)
 {
        struct sun4i_pwm_chip *pwm;
-       struct resource *res;
        int ret;
 
        pwm = devm_kzalloc(&pdev->dev, sizeof(*pwm), GFP_KERNEL);
@@ -406,8 +401,7 @@ static int sun4i_pwm_probe(struct platform_device *pdev)
        if (!pwm->data)
                return -ENODEV;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       pwm->base = devm_ioremap_resource(&pdev->dev, res);
+       pwm->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(pwm->base))
                return PTR_ERR(pwm->base);
 
@@ -423,38 +417,26 @@ static int sun4i_pwm_probe(struct platform_device *pdev)
         * back to the first clock of the PWM.
         */
        pwm->clk = devm_clk_get_optional(&pdev->dev, "mod");
-       if (IS_ERR(pwm->clk)) {
-               if (PTR_ERR(pwm->clk) != -EPROBE_DEFER)
-                       dev_err(&pdev->dev, "get mod clock failed %pe\n",
-                               pwm->clk);
-               return PTR_ERR(pwm->clk);
-       }
+       if (IS_ERR(pwm->clk))
+               return dev_err_probe(&pdev->dev, PTR_ERR(pwm->clk),
+                                    "get mod clock failed\n");
 
        if (!pwm->clk) {
                pwm->clk = devm_clk_get(&pdev->dev, NULL);
-               if (IS_ERR(pwm->clk)) {
-                       if (PTR_ERR(pwm->clk) != -EPROBE_DEFER)
-                               dev_err(&pdev->dev, "get unnamed clock failed %pe\n",
-                                       pwm->clk);
-                       return PTR_ERR(pwm->clk);
-               }
+               if (IS_ERR(pwm->clk))
+                       return dev_err_probe(&pdev->dev, PTR_ERR(pwm->clk),
+                                            "get unnamed clock failed\n");
        }
 
        pwm->bus_clk = devm_clk_get_optional(&pdev->dev, "bus");
-       if (IS_ERR(pwm->bus_clk)) {
-               if (PTR_ERR(pwm->bus_clk) != -EPROBE_DEFER)
-                       dev_err(&pdev->dev, "get bus clock failed %pe\n",
-                               pwm->bus_clk);
-               return PTR_ERR(pwm->bus_clk);
-       }
+       if (IS_ERR(pwm->bus_clk))
+               return dev_err_probe(&pdev->dev, PTR_ERR(pwm->bus_clk),
+                                    "get bus clock failed\n");
 
        pwm->rst = devm_reset_control_get_optional_shared(&pdev->dev, NULL);
-       if (IS_ERR(pwm->rst)) {
-               if (PTR_ERR(pwm->rst) != -EPROBE_DEFER)
-                       dev_err(&pdev->dev, "get reset failed %pe\n",
-                               pwm->rst);
-               return PTR_ERR(pwm->rst);
-       }
+       if (IS_ERR(pwm->rst))
+               return dev_err_probe(&pdev->dev, PTR_ERR(pwm->rst),
+                                    "get reset failed\n");
 
        /* Deassert reset */
        ret = reset_control_deassert(pwm->rst);