pwm: davinci: Add Kconfig support for ECAP & EHRPWM devices
authorPhilip Avinash <avinashphilip@ti.com>
Wed, 20 Mar 2013 06:39:24 +0000 (12:09 +0530)
committerThierry Reding <thierry.reding@avionic-design.de>
Fri, 22 Mar 2013 10:35:20 +0000 (11:35 +0100)
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>
drivers/pwm/Kconfig
drivers/pwm/pwm-tipwmss.h

index 0e0bfa0..115b644 100644 (file)
@@ -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.
 
index 11f76a1..10ad804 100644 (file)
@@ -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)