--- v7
+++ v8
@@ -5,7 +5,11 @@
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
---
-Changes since v6:
+
+Changes since v7:
+ - Remove unwarranted RPI_PWM_DEF_DUTY_REG usage
+
+ Changes since v6:
- Use %pe
- Round divisions properly
- Use dev_err_probe()
@@ -29,15 +33,15 @@
drivers/pwm/Kconfig | 9 ++
drivers/pwm/Makefile | 1 +
- drivers/pwm/pwm-raspberrypi-poe.c | 220 ++++++++++++++++++++++++++++++
- 3 files changed, 230 insertions(+)
+ drivers/pwm/pwm-raspberrypi-poe.c | 206 ++++++++++++++++++++++++++++++
+ 3 files changed, 216 insertions(+)
create mode 100644 drivers/pwm/pwm-raspberrypi-poe.c
diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig
-index 0937e1c047ac..75e2344703b3 100644
+index a7a7a9f26aef..d3371ac7b871 100644
--- a/drivers/pwm/Kconfig
+++ b/drivers/pwm/Kconfig
-@@ -423,6 +423,15 @@ config PWM_PXA
+@@ -431,6 +431,15 @@ config PWM_PXA
To compile this driver as a module, choose M here: the module
will be called pwm-pxa.
@@ -54,10 +58,10 @@
tristate "Renesas R-Car PWM support"
depends on ARCH_RENESAS || COMPILE_TEST
diff --git a/drivers/pwm/Makefile b/drivers/pwm/Makefile
-index 18b89d7fd092..ed28d7bd4c64 100644
+index 4e35a55fa7b6..d3879619bd76 100644
--- a/drivers/pwm/Makefile
+++ b/drivers/pwm/Makefile
-@@ -38,6 +38,7 @@ obj-$(CONFIG_PWM_MXS) += pwm-mxs.o
+@@ -39,6 +39,7 @@ obj-$(CONFIG_PWM_NTXEC) += pwm-ntxec.o
obj-$(CONFIG_PWM_OMAP_DMTIMER) += pwm-omap-dmtimer.o
obj-$(CONFIG_PWM_PCA9685) += pwm-pca9685.o
obj-$(CONFIG_PWM_PXA) += pwm-pxa.o
@@ -67,10 +71,10 @@
obj-$(CONFIG_PWM_ROCKCHIP) += pwm-rockchip.o
diff --git a/drivers/pwm/pwm-raspberrypi-poe.c b/drivers/pwm/pwm-raspberrypi-poe.c
new file mode 100644
-index 000000000000..ca845e8fabe6
+index 000000000000..71ade5e55069
--- /dev/null
+++ b/drivers/pwm/pwm-raspberrypi-poe.c
-@@ -0,0 +1,220 @@
+@@ -0,0 +1,206 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright 2020 Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
@@ -97,7 +101,6 @@
+#define RPI_PWM_PERIOD_NS 80000 /* 12.5 kHz */
+
+#define RPI_PWM_CUR_DUTY_REG 0x0
-+#define RPI_PWM_DEF_DUTY_REG 0x1
+
+struct raspberrypi_pwm {
+ struct rpi_firmware *firmware;
@@ -199,19 +202,6 @@
+ return ret;
+ }
+
-+ /*
-+ * This sets the default duty cycle after resetting the board, we
-+ * updated it every time to mimic Raspberry Pi's downstream's driver
-+ * behaviour.
-+ */
-+ ret = raspberrypi_pwm_set_property(rpipwm->firmware, RPI_PWM_DEF_DUTY_REG,
-+ duty_cycle);
-+ if (ret) {
-+ dev_err(chip->dev, "Failed to set default duty cycle: %pe\n",
-+ ERR_PTR(ret));
-+ return ret;
-+ }
-+
+ rpipwm->duty_cycle = duty_cycle;
+
+ return 0;
@@ -292,5 +282,5 @@
+MODULE_DESCRIPTION("Raspberry Pi Firmware Based PWM Bus Driver");
+MODULE_LICENSE("GPL v2");
--
-2.29.2
-
+2.30.1
+