Re: [PATCH] thermal: of: look for sensor driver parent node if device node missing

From: Eduardo Valentin
Date: Wed Jul 30 2014 - 09:19:01 EST


Laxman,

On Mon, Jul 14, 2014 at 02:04:55PM +0200, Lucas Stach wrote:
> Am Montag, den 14.07.2014, 16:42 +0530 schrieb Laxman Dewangan:
> > 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@xxxxxxxxxx>
> > ---
> > 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;
>
> This seems like the wrong way around. If the MFD has subdev information
> stored in the parent node it should be the MFD drivers responsibility to
> populate the subdev of_node with its own node. The subdev should not be
> forced to make such possible unsafe assumptions.
>

This is my understanding too. MFD device drivers must populate the
required data onto their sub devices while creating them.

> Regards,
> Lucas
> --
> Pengutronix e.K. | Lucas Stach |
> Industrial Linux Solutions | http://www.pengutronix.de/ |
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pm" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/