Linux Kernels

pwm: davinci: Add Kconfig support for ECAP & EHRPWM devices

This change “pwm: davinci: Add Kconfig support for ECAP & EHRPWM devices” (commit 1bf0f20) in Linux kernel is authored by Philip Avinash <avinashphilip [at] ti.com> on Wed Mar 20 12:09:24 2013 +0530.

Description of "pwm: davinci: Add Kconfig support for ECAP & EHRPWM devices"

The change “pwm: davinci: Add Kconfig support for ECAP & EHRPWM devices” introduces changes as follows.

pwm: davinci: Add Kconfig support for ECAP & EHRPWM devices

Add EHRPWM and ECAP support build support for DAVINCI_DA8XX platforms.

Also, since DAVINCI platforms doesn't support TI-PWM-Subsystem module,
remove the select option for CONFIG_PWM_TIPWMSS.

Also, update CONFIG_PWM_TIPWMSS compiler directive appropriately in
pwm-tipwmss.h to fix the below compiler error upon removal of
CONFIG_PWM_TIPWMSS for DAVINCI platforms.

        drivers/pwm/pwm-tiecap.c: In function 'ecap_pwm_probe':
        drivers/pwm/pwm-tiecap.c:263:4: error: 'PWMSS_ECAPCLK_EN' undeclared
        (first use in this function)
        drivers/pwm/pwm-tiecap.c:263:4: note: each undeclared identifier
        is reported only once for each function it appears in
        drivers/pwm/pwm-tiecap.c:264:17: error: 'PWMSS_ECAPCLK_EN_ACK'
        undeclared (first use in this function)
        drivers/pwm/pwm-tiecap.c: In function 'ecap_pwm_remove':
        drivers/pwm/pwm-tiecap.c:291:49: error: 'PWMSS_ECAPCLK_STOP_REQ'
        undeclared (first use in this function)
        make[2]: *** [drivers/pwm/pwm-tiecap.o] Error 1
        make[1]: *** [drivers/pwm] Error 2
        make: *** [drivers] Error 2

Signed-off-by: Philip Avinash <avinashphilip@ti.com>
Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>

Linux kernel releases containing commit 1bf0f20

The Linux kernel releases containing this commit are as follows.

Linux kernel code changes from "pwm: davinci: Add Kconfig support for ECAP & EHRPWM devices"

There are 10 lines of Linux source code added/deleted in this change. Code changes to Linux kernel are as follows.

 drivers/pwm/Kconfig       | 8 +++-----
 drivers/pwm/pwm-tipwmss.h | 2 +-
 2 files changed, 4 insertions(+), 6 deletions(-)
 
diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig
index 0e0bfa035083..115b64453493 100644
--- a/drivers/pwm/Kconfig
+++ b/drivers/pwm/Kconfig
@@ -147,8 +147,7 @@ config PWM_TEGRA
 
 config  PWM_TIECAP
 	tristate "ECAP PWM support"
-	depends on SOC_AM33XX
-	select PWM_TIPWMSS
+	depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX
 	help
 	  PWM driver support for the ECAP APWM controller found on AM33XX
 	  TI SOC
@@ -158,8 +157,7 @@ config  PWM_TIECAP
 
 config  PWM_TIEHRPWM
 	tristate "EHRPWM PWM support"
-	depends on SOC_AM33XX
-	select PWM_TIPWMSS
+	depends on SOC_AM33XX || ARCH_DAVINCI_DA8XX
 	help
 	  PWM driver support for the EHRPWM controller found on AM33XX
 	  TI SOC
@@ -169,7 +167,7 @@ config  PWM_TIEHRPWM
 
 config  PWM_TIPWMSS
 	bool
-	depends on SOC_AM33XX && (PWM_TIEHRPWM || PWM_TIECAP)
+	default y if SOC_AM33XX && (PWM_TIECAP || PWM_TIEHRPWM)
 	help
 	  PWM Subsystem driver support for AM33xx SOC.
 
diff --git a/drivers/pwm/pwm-tipwmss.h b/drivers/pwm/pwm-tipwmss.h
index 11f76a1e266b..10ad8040408b 100644
--- a/drivers/pwm/pwm-tipwmss.h
+++ b/drivers/pwm/pwm-tipwmss.h
@@ -18,7 +18,6 @@
 #ifndef __TIPWMSS_H
 #define __TIPWMSS_H
 
-#ifdef CONFIG_PWM_TIPWMSS
 /* PWM substem clock gating */
 #define PWMSS_ECAPCLK_EN	BIT(0)
 #define PWMSS_ECAPCLK_STOP_REQ	BIT(1)
@@ -28,6 +27,7 @@
 #define PWMSS_ECAPCLK_EN_ACK	BIT(0)
 #define PWMSS_EPWMCLK_EN_ACK	BIT(8)
 
+#ifdef CONFIG_PWM_TIPWMSS
 extern u16 pwmss_submodule_state_change(struct device *dev, int set);
 #else
 static inline u16 pwmss_submodule_state_change(struct device *dev, int set)

The commit for this change in Linux stable tree is 1bf0f20 (patch).

Last modified: 2020/01/11 09:35