lkml.org 
[lkml]   [2012]   [Aug]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2/2] pwm: samsung: fix the number of PWMs
On Thu, Aug 02, 2012 at 05:56:27PM +0900, Jingoo Han wrote:
> Samsung SoC can provide 4 PWMs; thus, the number of PWMs should be
> set as 4.
>
> Signed-off-by: Jingoo Han <jg1.han@samsung.com>
> ---
> drivers/pwm/pwm-samsung.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/pwm/pwm-samsung.c b/drivers/pwm/pwm-samsung.c
> index e5187c0..32562c6 100644
> --- a/drivers/pwm/pwm-samsung.c
> +++ b/drivers/pwm/pwm-samsung.c
> @@ -228,7 +228,7 @@ static int s3c_pwm_probe(struct platform_device *pdev)
> s3c->chip.dev = &pdev->dev;
> s3c->chip.ops = &s3c_pwm_ops;
> s3c->chip.base = -1;
> - s3c->chip.npwm = 1;
> + s3c->chip.npwm = 4;

I don't think this is correct. The driver seems to be using the platform
device id as index currently, which indicates that the driver is bound
against 4 different platform devices, each representing a single PWM. If
you want to service multiple PWM devices by a single instance you need
to make further changes to the driver. For instance the tcon_base is
initialized based on the platform id. This could easily be replaced by
making it depend on the .hwpwm member of pwm_device.

You may also want to consider making the driver a proper module if that
works on the platforms that need it. I see that it is currently an
arch_initcall, but it might be cleaner to use deferred driver probe
instead.

Thierry
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2012-08-02 12:41    [W:0.083 / U:0.120 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site