From a757ad8b391adb2129f8357545aaa678099df473 Mon Sep 17 00:00:00 2001 From: Eric Miao Date: Mon, 13 Apr 2009 18:51:31 +0800 Subject: [PATCH] [ARM] pxa: allow PWM ID base number to be specified in pwm_id_table PWMs on PXA168/910 start at number 1 instead of 0, (i.e. PWM1/2/3/4 instead of PWM0/1/2/3 on PXA25x/PXA27x/PXA3xx). Allow this number to be specified in pwm_id_table. Signed-off-by: Eric Miao --- arch/arm/mach-pxa/pwm.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-pxa/pwm.c b/arch/arm/mach-pxa/pwm.c index dec6f2c8dbf9..5513c51ff984 100644 --- a/arch/arm/mach-pxa/pwm.c +++ b/arch/arm/mach-pxa/pwm.c @@ -22,11 +22,12 @@ #include #define HAS_SECONDARY_PWM 0x10 +#define PWM_ID_BASE(d) ((d) & 0xf) static const struct platform_device_id pwm_id_table[] = { /* PWM has_secondary_pwm? */ { "pxa25x-pwm", 0 }, - { "pxa27x-pwm", HAS_SECONDARY_PWM }, + { "pxa27x-pwm", 0 | HAS_SECONDARY_PWM }, { }, }; MODULE_DEVICE_TABLE(platform, pwm_id_table); @@ -191,7 +192,7 @@ static int __devinit pwm_probe(struct platform_device *pdev) pwm->clk_enabled = 0; pwm->use_count = 0; - pwm->pwm_id = pdev->id; + pwm->pwm_id = PWM_ID_BASE(id->driver_data) + pdev->id; pwm->pdev = pdev; r = platform_get_resource(pdev, IORESOURCE_MEM, 0); -- 2.20.1