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

Arnd Bergmann
2014-11-19T14:49:32Z

On Wednesday 19 November 2014 08:45:58 Rob Herring wrote:
> > 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.
>
> I think you misread things. of_node is always present now, so it
> should always be NULL for !CONFIG_OF.
>

No, I didn't misread it but I should have been clearer with the intention:
The idea is to tell the compiler that we know it will be NULL when CONFIG_OF
is unset, so it can optimize out all code that does

struct device_node *dn = dev_of_node(dev);

if (dn) {
...
/* complex code */
...
}

and we can avoid using an #ifdef or if(IS_ENABLED()) in the source to
compile out the DT-only sections of a driver.

Arnd