Re: [PATCH 2/2] pwm: samsung: fix the number of PWMs

From: Jingoo Han
Date: Thu Aug 02 2012 - 19:18:06 EST


On Thursday, August 02, 2012 6:54 PM Thierry Reding wrote:
>
> 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@xxxxxxxxxxx>
> > ---
> > 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.

I just want to use pwm backlight on Samsung SoC boards.
After moving samusng pwm driver from 'arch/arm/plat-samsung/'
to 'drivers/pwm/', pwm bakclight does not work properly.

When pwm_id is '1' and PWM backlight calls pwm_request(data->pwm_id,
"pwm-backlight"), pwm_to_device() returns NULL.

Then, do you mean that?
s3c->chip.npwm = id + 1;

>
> 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.

Sorry, I cannot understand what you say.

>
> Thierry

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/