Re: [PATCH] drivers/core/of: Add symlink to device-tree from devices with an OF node

Arnd Bergmann
2014-11-19T08:38:34Z

On Wednesday 19 November 2014 13:35:44 Benjamin Herrenschmidt wrote:
> On Wed, 2014-11-19 at 10:39 +1100, Jeremy Kerr wrote:
> > Hi Rob,
> >
> > >> diff --git a/drivers/base/core.c b/drivers/base/core.c
> > >> index 20da3ad..8c7b607 100644
> > >> --- a/drivers/base/core.c
> > >> +++ b/drivers/base/core.c
> > >> @@ -493,6 +493,15 @@ static int device_add_attrs(struct device *dev)
> > >> goto err_remove_dev_groups;
> > >> }
> > >>
> > >> +#ifdef CONFIG_OF
> > >> + if (dev->of_node) {
> > >
> > > if (IS_ENABLED(CONFIG_OF) && dev->of_node)
> >
> > struct device doesn't have an of_node member if !CONFIG_OF, so we'll
> > need to disable this block in the preprocessor.
>
> Actually that's no longer the case since 2.6.39 afaik

I wonder if we should create a small helper for this, like

static inline struct device_node *dev_of_node(struct device *of_node)
{
if (!IS_ENABLED(CONFIG_OF))
return NULL;

return dev->of_node;
}

Adding the IS_ENABLED() in a lot of drivers isn't horrible, but we seem
to be doing it a lot.

Arnd