diff options
Diffstat (limited to 'drivers/pwm/pwm-lpss.h')
-rw-r--r-- | drivers/pwm/pwm-lpss.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/pwm/pwm-lpss.h b/drivers/pwm/pwm-lpss.h index 7a4238ad1fcb..3236be835bd9 100644 --- a/drivers/pwm/pwm-lpss.h +++ b/drivers/pwm/pwm-lpss.h | |||
@@ -16,13 +16,25 @@ | |||
16 | #include <linux/device.h> | 16 | #include <linux/device.h> |
17 | #include <linux/pwm.h> | 17 | #include <linux/pwm.h> |
18 | 18 | ||
19 | struct pwm_lpss_chip; | 19 | #define MAX_PWMS 4 |
20 | |||
21 | struct pwm_lpss_chip { | ||
22 | struct pwm_chip chip; | ||
23 | void __iomem *regs; | ||
24 | const struct pwm_lpss_boardinfo *info; | ||
25 | u32 saved_ctrl[MAX_PWMS]; | ||
26 | }; | ||
20 | 27 | ||
21 | struct pwm_lpss_boardinfo { | 28 | struct pwm_lpss_boardinfo { |
22 | unsigned long clk_rate; | 29 | unsigned long clk_rate; |
23 | unsigned int npwm; | 30 | unsigned int npwm; |
24 | unsigned long base_unit_bits; | 31 | unsigned long base_unit_bits; |
25 | bool bypass; | 32 | bool bypass; |
33 | /* | ||
34 | * On some devices the _PS0/_PS3 AML code of the GPU (GFX0) device | ||
35 | * messes with the PWM0 controllers state, | ||
36 | */ | ||
37 | bool other_devices_aml_touches_pwm_regs; | ||
26 | }; | 38 | }; |
27 | 39 | ||
28 | struct pwm_lpss_chip *pwm_lpss_probe(struct device *dev, struct resource *r, | 40 | struct pwm_lpss_chip *pwm_lpss_probe(struct device *dev, struct resource *r, |