[PATCH 2/2] PM / OPP: check for existing OPP list when initialising from device tree

Nishanth Menon nm at ti.com
Thu May 2 02:51:36 EST 2013


On 17:33-20130501, Sudeep KarkadaNagesha wrote:
> On 01/05/13 16:04, Nishanth Menon wrote:
> > On 12:11-20130501, Sudeep.KarkadaNagesha at arm.com wrote:
> >> From: Sudeep KarkadaNagesha <sudeep.karkadanagesha at arm.com>
[...]
> >> diff --git a/drivers/base/power/opp.c b/drivers/base/power/opp.c
> >> index 4dfdc01..66d52d2 100644
> >> --- a/drivers/base/power/opp.c
> >> +++ b/drivers/base/power/opp.c
> >> @@ -706,6 +706,11 @@ static int of_init_opp_table_from_ofnode(struct device *dev,
> >>  	const __be32 *val;
> >>  	int nr;
> >>  
> >> +	/* Check for existing list for 'dev' */
> >> +	dev_opp = find_device_opp(dev);
> >> +	if (!IS_ERR(dev_opp))
> >> +		return 0; /* Device OPP already initialized */
> >> +
> > It gets a little touchy here -> the normal expectation is for the OPP
> > entries to be populated onetime at boot.
> > For example - driver bug where same device was attempted twice Vs the
> > usecase you mention here - how'd we differentiate between the two?
> 
> Do we really need to differentiate ? How about returning -EEXIST ?
We have tried to provide enough debug information for developers to
detect and fix their mistakes, error value is one part of the story for
callers, error messages emphasis on top of it for the developer.. But,
for some reason I might be led to believe probe and hotplug are separate
usecases - probe of a device indicates it's presence, and hotplug of a
device should ideally be a power state.. But that is just me.
-- 
Regards,
Nishanth Menon


More information about the devicetree-discuss mailing list