2015-02-16 03:59:32

by Benjamin Herrenschmidt

[permalink] [raw]
Subject: [PATCH 1/2] device: Add dev_of_node() accessor

Suggested by Arnd Bergmann, this gives a practical accessor for
the of_node field of struct device while instructing the compiler
that it will be NULL if CONFIG_OF is not set.

Signed-off-by: Benjamin Herrenschmidt <[email protected]>
---

This is what we discussed back in November and I had forgotten
to finish :)

include/linux/device.h | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/include/linux/device.h b/include/linux/device.h
index fb50673..08128288 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -916,6 +916,13 @@ static inline void device_lock_assert(struct device *dev)
lockdep_assert_held(&dev->mutex);
}

+static inline struct device_node *dev_of_node(struct device *dev)
+{
+ if (!IS_ENABLED(CONFIG_OF))
+ return NULL;
+ return dev->of_node;
+}
+
void driver_init(void);

/*



2015-02-18 01:04:06

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 1/2] device: Add dev_of_node() accessor

+Greg KH

On Sun, Feb 15, 2015 at 9:59 PM, Benjamin Herrenschmidt
<[email protected]> wrote:
> Suggested by Arnd Bergmann, this gives a practical accessor for
> the of_node field of struct device while instructing the compiler
> that it will be NULL if CONFIG_OF is not set.
>
> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
> ---

I'll let Greg take this with the other patch:

Acked-by: Rob Herring <[email protected]>

>
> This is what we discussed back in November and I had forgotten
> to finish :)
>
> include/linux/device.h | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/include/linux/device.h b/include/linux/device.h
> index fb50673..08128288 100644
> --- a/include/linux/device.h
> +++ b/include/linux/device.h
> @@ -916,6 +916,13 @@ static inline void device_lock_assert(struct device *dev)
> lockdep_assert_held(&dev->mutex);
> }
>
> +static inline struct device_node *dev_of_node(struct device *dev)
> +{
> + if (!IS_ENABLED(CONFIG_OF))
> + return NULL;
> + return dev->of_node;
> +}
> +
> void driver_init(void);
>
> /*
>
>
>