Message ID | 1344516365-7230-6-git-send-email-durgadoss.r@intel.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
Hello, On Thu, Aug 09, 2012 at 06:15:57PM +0530, Durgadoss R wrote: > This patch retrieves the platform level data for > a zone during its registration. It is not an error > to not have any platform data. > > Signed-off-by: Durgadoss R <durgadoss.r@intel.com> > --- > drivers/thermal/thermal_sys.c | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) > > diff --git a/drivers/thermal/thermal_sys.c b/drivers/thermal/thermal_sys.c > index f043cd6..243a3f0 100644 > --- a/drivers/thermal/thermal_sys.c > +++ b/drivers/thermal/thermal_sys.c > @@ -142,6 +142,22 @@ struct thermal_instance *get_thermal_instance(struct thermal_zone_device *tz, > } > EXPORT_SYMBOL(get_thermal_instance); > > +static void retrieve_zone_params(struct thermal_zone_device *tz) > +{ > + int ret; > + > + /* Check whether the platform data pointer is defined */ > + if (!get_platform_thermal_params) > + return; > + > + ret = get_platform_thermal_params(tz); > + if (ret) { > + dev_err(&tz->device, > + "parameters for zone %s not defined:%d\n", tz->type, ret); If it is not an error to be without pdata, we should not be farty at the console log. This may generate several prints during boot, for instance. > + tz->tzp = NULL; > + } > +} > + > /* sys I/F for thermal zone */ > > #define to_thermal_zone(_dev) \ > @@ -1460,6 +1476,9 @@ struct thermal_zone_device *thermal_zone_device_register(const char *type, > if (result) > goto unregister; > > + /* Retrieve platform level parameters for this zone */ > + retrieve_zone_params(tz); > + Should it be any sanity check on the pdata passed? > mutex_lock(&thermal_list_lock); > list_add_tail(&tz->node, &thermal_tz_list); > if (ops->bind) > -- > 1.7.9.5 > -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/thermal/thermal_sys.c b/drivers/thermal/thermal_sys.c index f043cd6..243a3f0 100644 --- a/drivers/thermal/thermal_sys.c +++ b/drivers/thermal/thermal_sys.c @@ -142,6 +142,22 @@ struct thermal_instance *get_thermal_instance(struct thermal_zone_device *tz, } EXPORT_SYMBOL(get_thermal_instance); +static void retrieve_zone_params(struct thermal_zone_device *tz) +{ + int ret; + + /* Check whether the platform data pointer is defined */ + if (!get_platform_thermal_params) + return; + + ret = get_platform_thermal_params(tz); + if (ret) { + dev_err(&tz->device, + "parameters for zone %s not defined:%d\n", tz->type, ret); + tz->tzp = NULL; + } +} + /* sys I/F for thermal zone */ #define to_thermal_zone(_dev) \ @@ -1460,6 +1476,9 @@ struct thermal_zone_device *thermal_zone_device_register(const char *type, if (result) goto unregister; + /* Retrieve platform level parameters for this zone */ + retrieve_zone_params(tz); + mutex_lock(&thermal_list_lock); list_add_tail(&tz->node, &thermal_tz_list); if (ops->bind)
This patch retrieves the platform level data for a zone during its registration. It is not an error to not have any platform data. Signed-off-by: Durgadoss R <durgadoss.r@intel.com> --- drivers/thermal/thermal_sys.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)