Re: [PATCH v5 04/16] pwm: Add table-based lookup for static mappings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Mar 30, 2012 at 07:06:41AM +0200, Thierry Reding wrote:
> * Mark Brown wrote:

> > The clock and regulator APIs namespace the consumers by struct device -
> > might this not be sensible here?  pwm_get() does already take the device
> > as an argument.  It'd feel safer, and for example there's plenty of
> > phones out there with two backlit displays...

> That's actually how this is supposed to work. "pwm-backlight" in the above
> case is matched against the name of the struct device that you pass in to
> pwm_get(). The only difference, at least as far as I can tell, to the clock
> and regulator APIs is that a second name is not listed explicitly in the
> lookup table.

Both clock and regulator APIs map (source) -> (dev, name).  This only
has a mapping (source) -> (dev).

> So compared with the clock and regulator APIs it doesn't make too much sense
> to pass both the struct device and the name to pwm_get() because it will
> match the device name against the consumer name in the lookup table first and
> only use the passed name if no match was found.

This is different to what the clock and regulator APIs do - they look up
the name in the context of the struct device.  This is because...

> In case you have two backlight devices I would expect the following to work:

> 	static struct pwm_lookup board_pwm_lookup[] = {
> 		PWM_LOOKUP("tegra-pwm", 0, "pwm-backlight.0"),
> 		PWM_LOOKUP("tegra-pwm", 1, "pwm-backlight.1"),
> 	};

...if a single device uses more than one PWM then the above scheme won't
work - unless I'm missing something?

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux