On Fri, 01 Jul 2016, Yoshinori Sato wrote: > On Thu, 30 Jun 2016 16:48:00 +0900, > Lee Jones wrote: > > > > On Thu, 30 Jun 2016, Yoshinori Sato wrote: > > > > > Signed-off-by: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> > > > --- > > > Documentation/devicetree/bindings/mfd/sm501.txt | 45 +++++++++++++++++++++++++ > > > drivers/mfd/sm501.c | 9 +++++ > > > 2 files changed, 54 insertions(+) > > > create mode 100644 Documentation/devicetree/bindings/mfd/sm501.txt [...] > > > diff --git a/drivers/mfd/sm501.c b/drivers/mfd/sm501.c > > > index 65cd0d2..e2e3f9b 100644 > > > --- a/drivers/mfd/sm501.c > > > +++ b/drivers/mfd/sm501.c [...] > > > @@ -1377,6 +1378,8 @@ static int sm501_plat_probe(struct platform_device *dev) > > > { > > > struct sm501_devdata *sm; > > > int ret; > > > + struct sm501_platdata private_platdata; > > > + struct sm501_initdata private_initdata; > > > > > > sm = kzalloc(sizeof(struct sm501_devdata), GFP_KERNEL); > > > if (sm == NULL) { > > > @@ -1388,6 +1391,12 @@ static int sm501_plat_probe(struct platform_device *dev) > > > sm->dev = &dev->dev; > > > sm->pdev_id = dev->id; > > > sm->platdata = dev_get_platdata(&dev->dev); > > > + if (!sm->platdata) { > > > + of_property_read_u32(dev->dev.of_node, "smi,devices", > > > + (u32 *)&private_initdata.devices); > > > + private_platdata.init = &private_initdata; > > > + sm->platdata = &private_platdata; > > > + } > > > > I've asked about this 3 times now. > > > > What consumes this platform data? > > > > It also looks ugly and fragile. > > It's appropriate to use dev.of_node, isn't it? > If it's misunderstood, I'm sorry. Yes, that's acceptable. I'm talking about the whole process of allocating an entire platform structure (on the stack, which will most likely be wiped when we return from probe()) just to populate this one, undocumented property. Hold up ... I've just taken a look at the driver myself. What a mess. It appears this driver pre-dates the MFD API and does everything I hate. First step is to see if the Device Tree guys like your new property. Please document it in bindings/display/sm501fb.txt, as suggested by Rob, so they can review it. Don't forget to CC me too. We can look at the C code changes later. -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html