Message ID | 1406279971-14957-1-git-send-email-ldewangan@nvidia.com (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Eduardo Valentin |
Headers | show |
[Fixed Eduardo's email *again*] On Fri, Jul 25, 2014 at 10:19:31AM +0100, Laxman Dewangan wrote: > There are some mfd devices which supports junction thermal interrupt > like ams,AS3722. The DT binding of these devices are defined as the > flat and drivers for sub module of such devices are registered as > the mfd_add_devices. In this method, the sub devices registered as > platform driver and these do not have the of_node pointer on their > device structure. In this case, use the parent of_node pointer to > get the required of_node pointer. > > Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> > --- > I typed differnet email ID for Eduardo and so it did not reach to him. > Resending the patch with correct ID. > > drivers/thermal/of-thermal.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/thermal/of-thermal.c b/drivers/thermal/of-thermal.c > index 04b1be7..85a7d71 100644 > --- a/drivers/thermal/of-thermal.c > +++ b/drivers/thermal/of-thermal.c > @@ -396,6 +396,8 @@ thermal_zone_of_sensor_register(struct device *dev, int sensor_id, > return ERR_PTR(-EINVAL); > > sensor_np = dev->of_node; > + if (!sensor_np && dev->parent) > + sensor_np = dev->parent->of_node; > > for_each_child_of_node(np, child) { > struct of_phandle_args sensor_specs; > -- > 1.8.1.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
Hello Laxman, On Fri, Jul 25, 2014 at 02:49:31PM +0530, Laxman Dewangan wrote: > There are some mfd devices which supports junction thermal interrupt > like ams,AS3722. The DT binding of these devices are defined as the > flat and drivers for sub module of such devices are registered as > the mfd_add_devices. In this method, the sub devices registered as > platform driver and these do not have the of_node pointer on their > device structure. In this case, use the parent of_node pointer to > get the required of_node pointer. > Can you please elaborate a bit more on your proposal? So, you would append the thermal zones on the DT node of the MFD device? To me looks like MFD becomes sowhat obsolete with DT. Besides, to what I could see from past iterations, MFD with DT seams to be a controvertial subject. That is, we have people that agree to have it, and people that are not fan of it. > Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> > --- > I typed differnet email ID for Eduardo and so it did not reach to him. > Resending the patch with correct ID. > > drivers/thermal/of-thermal.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/thermal/of-thermal.c b/drivers/thermal/of-thermal.c > index 04b1be7..85a7d71 100644 > --- a/drivers/thermal/of-thermal.c > +++ b/drivers/thermal/of-thermal.c > @@ -396,6 +396,8 @@ thermal_zone_of_sensor_register(struct device *dev, int sensor_id, > return ERR_PTR(-EINVAL); > > sensor_np = dev->of_node; > + if (!sensor_np && dev->parent) > + sensor_np = dev->parent->of_node; > > for_each_child_of_node(np, child) { > struct of_phandle_args sensor_specs; > -- > 1.8.1.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 -- 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
On Tuesday 29 July 2014 07:42 PM, Eduardo Valentin wrote: > Hello Laxman, > > On Fri, Jul 25, 2014 at 02:49:31PM +0530, Laxman Dewangan wrote: >> There are some mfd devices which supports junction thermal interrupt >> like ams,AS3722. The DT binding of these devices are defined as the >> flat and drivers for sub module of such devices are registered as >> the mfd_add_devices. In this method, the sub devices registered as >> platform driver and these do not have the of_node pointer on their >> device structure. In this case, use the parent of_node pointer to >> get the required of_node pointer. >> > Can you please elaborate a bit more on your proposal? So, you would > append the thermal zones on the DT node of the MFD device? Yes, mfd node for ams,as3722 is flat node, almost all sub-module driver have their property on this node only. Regulator have their own sub node under this node. as3722 { compatible = "ams,as3722"; #gpio-contorller; #gpio-cells = <2>; :::::::::: regulator { :::: }; }; So in this, the thermal sensor driver's property is on the as3722 node only and thermal zone need to refer this node for sensor. However, as3722 thermal sensor driver is register as sub mfd devices through mfd_add_devices() and thermal sensor drivers pdev->dev.of_node does not have any valid pointer. -- 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
Laxman, On Tue, Jul 29, 2014 at 07:53:58PM +0530, Laxman Dewangan wrote: > On Tuesday 29 July 2014 07:42 PM, Eduardo Valentin wrote: > > Hello Laxman, > > > > On Fri, Jul 25, 2014 at 02:49:31PM +0530, Laxman Dewangan wrote: > >> There are some mfd devices which supports junction thermal interrupt > >> like ams,AS3722. The DT binding of these devices are defined as the > >> flat and drivers for sub module of such devices are registered as > >> the mfd_add_devices. In this method, the sub devices registered as > >> platform driver and these do not have the of_node pointer on their > >> device structure. In this case, use the parent of_node pointer to > >> get the required of_node pointer. > >> > > Can you please elaborate a bit more on your proposal? So, you would > > append the thermal zones on the DT node of the MFD device? > > Yes, mfd node for ams,as3722 is flat node, almost all sub-module driver > have their property on this node only. Regulator have their own sub node > under this node. > > as3722 { > compatible = "ams,as3722"; > #gpio-contorller; > #gpio-cells = <2>; > :::::::::: > regulator { > :::: > }; > }; > > > So in this, the thermal sensor driver's property is on the as3722 node > only and thermal zone need to refer this node for sensor. > > However, as3722 thermal sensor driver is register as sub mfd devices > through mfd_add_devices() and thermal sensor drivers pdev->dev.of_node > does not have any valid pointer. In such case, the MFD driver shall populate the required data while creating the sub device, right? -- 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/of-thermal.c b/drivers/thermal/of-thermal.c index 04b1be7..85a7d71 100644 --- a/drivers/thermal/of-thermal.c +++ b/drivers/thermal/of-thermal.c @@ -396,6 +396,8 @@ thermal_zone_of_sensor_register(struct device *dev, int sensor_id, return ERR_PTR(-EINVAL); sensor_np = dev->of_node; + if (!sensor_np && dev->parent) + sensor_np = dev->parent->of_node; for_each_child_of_node(np, child) { struct of_phandle_args sensor_specs;
There are some mfd devices which supports junction thermal interrupt like ams,AS3722. The DT binding of these devices are defined as the flat and drivers for sub module of such devices are registered as the mfd_add_devices. In this method, the sub devices registered as platform driver and these do not have the of_node pointer on their device structure. In this case, use the parent of_node pointer to get the required of_node pointer. Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> --- I typed differnet email ID for Eduardo and so it did not reach to him. Resending the patch with correct ID. drivers/thermal/of-thermal.c | 2 ++ 1 file changed, 2 insertions(+)