On 09/13/2012 01:29 AM, Mark Brown wrote: > On Thu, Sep 13, 2012 at 04:26:34PM +0900, Alex Courbot wrote: >> On Thursday 13 September 2012 15:19:30 Mark Brown wrote: >>>> On Thursday 13 September 2012 14:25:53 Mark Brown wrote: >>>>> It would be sensible to make sure that the framework is done in such a >>>>> way that drivers can use it - there will be drivers (perhaps not display >>>>> ones) that have a known power sequence and which could benefit from the >>>>> ability to use library code to implement it based on the user simply >>>>> supplying named resources. > >>>> Not sure I understand what you mean, but things should be working this way >>>> already - regulators and PWMs are acquired by name using the standard >>>> regulator_get() and pwm_get() functions. GPIOs do not, AFAIK, have a way >>>> to be referenced by name so their number is used instead. > >>> Right, but the sequencing for enabling them is currently open coded in >>> each driver. > >> Mmm then I'm afraid I don't see what you wanted to say initially - could you >> elaborate? > > The driver knows the power sequence. Having to type the same sequence > into the DT or platform data for each board using the device wouuld be > retarded so we need the drivers to be able to give the sequence to the > library if they're going to be able to reuse it (which is a lot of what > Tomi is talking about). I believe that's trivial to implement. The relevant function is: struct power_seq_set *devm_power_seq_set_build(struct device *dev, struct platform_power_seq_set *pseq); It's up to the driver whether pseq comes from platform data or is hard-coded into the driver (or not provided at all, for the DT case). So, the only change needed to convert a "hard-coded" driver to this API is to convert the current custom data structure (or code) that describes the sequence into a struct platform_power_seq_set. -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html