diff --git a/arch/arm/mach-pxa/pwm.c b/arch/arm/mach-pxa/pwm.c
index 70fb3ca6a058045bea6da5592107300f83c6a301..fa9323ee854c7d779d8282cf96c0d8dac0e7656a 100644
--- a/arch/arm/mach-pxa/pwm.c
+++ b/arch/arm/mach-pxa/pwm.c
@@ -221,11 +221,11 @@ static int __devinit pxa27x_pwm_probe(struct platform_device *pdev)
 {
 	struct pwm_device *pwm;
 
-	pwm = pwm_probe(pdev, pdev->id * 2, NULL);
+	pwm = pwm_probe(pdev, pdev->id, NULL);
 	if (IS_ERR(pwm))
 		return PTR_ERR(pwm);
 
-	pwm = pwm_probe(pdev, pdev->id * 2 + 1, pwm);
+	pwm = pwm_probe(pdev, pdev->id + 2, pwm);
 	if (IS_ERR(pwm))
 		return PTR_ERR(pwm);