Messages in this thread | | | Date | Wed, 1 May 2013 11:51:36 -0500 | From | Nishanth Menon <> | Subject | Re: [PATCH 2/2] PM / OPP: check for existing OPP list when initialising from device tree |
| |
On 17:33-20130501, Sudeep KarkadaNagesha wrote: > On 01/05/13 16:04, Nishanth Menon wrote: > > On 12:11-20130501, Sudeep.KarkadaNagesha@arm.com wrote: > >> From: Sudeep KarkadaNagesha <sudeep.karkadanagesha@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
| |