All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
To: Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Benjamin Herrenschmidt
	<benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org>,
	Jeremy Kerr <jeremy.kerr-8fk3Idey6ehBDgjK7y7TUQ@public.gmane.org>,
	"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Olof Johansson <olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org>,
	Grant Likely
	<grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	Greg KH
	<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>
Subject: Re: [PATCH] drivers/core/of: Add symlink to device-tree from devices with an OF node
Date: Wed, 19 Nov 2014 15:49:13 +0100	[thread overview]
Message-ID: <11269246.iBzpsM0jDI@wuerfel> (raw)
In-Reply-To: <CAL_JsqKk5UdFEa02wA+3N5BCM7coWAK=4jAr96Pw5eFh2n0ioQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

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
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: Rob Herring <robherring2@gmail.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Jeremy Kerr <jeremy.kerr@au1.ibm.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Olof Johansson <olof@lixom.net>,
	Grant Likely <grant.likely@linaro.org>,
	Greg KH <gregkh@linuxfoundation.org>
Subject: Re: [PATCH] drivers/core/of: Add symlink to device-tree from devices with an OF node
Date: Wed, 19 Nov 2014 15:49:13 +0100	[thread overview]
Message-ID: <11269246.iBzpsM0jDI@wuerfel> (raw)
In-Reply-To: <CAL_JsqKk5UdFEa02wA+3N5BCM7coWAK=4jAr96Pw5eFh2n0ioQ@mail.gmail.com>

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

  parent reply	other threads:[~2014-11-19 14:49 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-07  6:33 [RFC] Add of_path property for all devices with a node Benjamin Herrenschmidt
2014-11-07  6:33 ` Benjamin Herrenschmidt
     [not found] ` <1415342031.4925.27.camel-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org>
2014-11-07  6:35   ` Benjamin Herrenschmidt
2014-11-07  6:35     ` Benjamin Herrenschmidt
     [not found]     ` <1415342117.4925.29.camel-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org>
2014-11-10  5:17       ` Benjamin Herrenschmidt
2014-11-10  5:17         ` Benjamin Herrenschmidt
2014-11-10 14:06         ` Rob Herring
2014-11-10 22:48           ` Benjamin Herrenschmidt
     [not found]           ` <CAL_JsqKG=vpeGKj3v-2VW9oGQsnmuYMHRfy6LuXDXE=ROjHT4w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-11-13  1:10             ` [PATCH] drivers/core/of: Add symlink to device-tree from devices with an OF node Benjamin Herrenschmidt
2014-11-13  1:10               ` Benjamin Herrenschmidt
2014-11-18 16:37               ` Rob Herring
2014-11-18 23:39                 ` Jeremy Kerr
2014-11-18 23:53                   ` Jeremy Kerr
     [not found]                   ` <546BD8BD.2010605-8fk3Idey6ehBDgjK7y7TUQ@public.gmane.org>
2014-11-19  2:35                     ` Benjamin Herrenschmidt
2014-11-19  2:35                       ` Benjamin Herrenschmidt
     [not found]                       ` <1416364544.5704.23.camel-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org>
2014-11-19  8:38                         ` Arnd Bergmann
2014-11-19  8:38                           ` Arnd Bergmann
2014-11-19 14:45                           ` Rob Herring
2014-11-19 14:45                             ` Rob Herring
     [not found]                             ` <CAL_JsqKk5UdFEa02wA+3N5BCM7coWAK=4jAr96Pw5eFh2n0ioQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-11-19 14:49                               ` Arnd Bergmann [this message]
2014-11-19 14:49                                 ` Arnd Bergmann
2014-11-19 15:39                                 ` Rob Herring
2014-11-19 15:39                                   ` Rob Herring
     [not found]                                   ` <CAL_JsqJm9c+GozQssLmjuSLzcsqDiMW8=1P_fM6-Zfdk=N6Lqg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-11-19 16:30                                     ` Grant Likely
2014-11-19 16:30                                       ` Grant Likely
     [not found]                 ` <CAL_Jsq+YyfMWxiOFv4x3g5hZJH0XRqCKj2He1XO9eyXWjHTMrg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-11-19  2:30                   ` Benjamin Herrenschmidt
2014-11-19  2:30                     ` Benjamin Herrenschmidt
     [not found]               ` <1415841047.5124.62.camel-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org>
2014-11-27  3:39                 ` Greg KH
2014-11-27  3:39                   ` Greg KH
     [not found]                   ` <20141127033923.GA28286-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2014-11-27  6:24                     ` Benjamin Herrenschmidt
2014-11-27  6:24                       ` Benjamin Herrenschmidt
2015-02-18  0:25             ` [PATCH 2/2 v3] " Benjamin Herrenschmidt
2015-02-18  0:25               ` Benjamin Herrenschmidt
     [not found]               ` <1424219118.21410.111.camel-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org>
2015-02-18  1:07                 ` Rob Herring
2015-02-18  1:07                   ` Rob Herring
2015-02-18  4:57                   ` Greg Kroah-Hartman
2015-02-18  9:50                     ` Benjamin Herrenschmidt
2015-03-10 14:22                       ` Rob Herring
2015-03-10 15:11                         ` Greg Kroah-Hartman
2015-02-18  4:57               ` Greg Kroah-Hartman
2014-11-18 15:18           ` [RFC] Add of_path property for all devices with a node Grant Likely
     [not found]             ` <CACxGe6vg8SxwCHZ8HxzLzimQOAf8Q81wd5eO=x2LavD4dv81Rw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-11-19  2:25               ` Benjamin Herrenschmidt
2014-11-19  2:25                 ` Benjamin Herrenschmidt
2014-11-13  4:28   ` Frank Rowand
2014-11-13  4:28     ` Frank Rowand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=11269246.iBzpsM0jDI@wuerfel \
    --to=arnd-r2ngtmty4d4@public.gmane.org \
    --cc=benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
    --cc=jeremy.kerr-8fk3Idey6ehBDgjK7y7TUQ@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org \
    --cc=robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.