drm:verisilicon:hdmi-audio:Adjust when to configure registers
[platform/kernel/linux-starfive.git] / drivers / pwm / pwm-rockchip.c
index 301785f..f3647b3 100644 (file)
@@ -354,11 +354,6 @@ static int rockchip_pwm_probe(struct platform_device *pdev)
        pc->chip.ops = &rockchip_pwm_ops;
        pc->chip.npwm = 1;
 
-       if (pc->data->supports_polarity) {
-               pc->chip.of_xlate = of_pwm_xlate_with_flags;
-               pc->chip.of_pwm_n_cells = 3;
-       }
-
        enable_conf = pc->data->enable_conf;
        ctrl = readl_relaxed(pc->base + pc->data->regs.ctrl);
        enabled = (ctrl & enable_conf) == enable_conf;
@@ -389,24 +384,12 @@ static int rockchip_pwm_remove(struct platform_device *pdev)
 {
        struct rockchip_pwm_chip *pc = platform_get_drvdata(pdev);
 
-       /*
-        * Disable the PWM clk before unpreparing it if the PWM device is still
-        * running. This should only happen when the last PWM user left it
-        * enabled, or when nobody requested a PWM that was previously enabled
-        * by the bootloader.
-        *
-        * FIXME: Maybe the core should disable all PWM devices in
-        * pwmchip_remove(). In this case we'd only have to call
-        * clk_unprepare() after pwmchip_remove().
-        *
-        */
-       if (pwm_is_enabled(pc->chip.pwms))
-               clk_disable(pc->clk);
+       pwmchip_remove(&pc->chip);
 
        clk_unprepare(pc->pclk);
        clk_unprepare(pc->clk);
 
-       return pwmchip_remove(&pc->chip);
+       return 0;
 }
 
 static struct platform_driver rockchip_pwm_driver = {