2014-12-03 04:27:43

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: manual merge of the devicetree tree with the regulator tree

Hi Grant,

Today's linux-next merge of the devicetree tree got a conflict in
include/linux/of.h between commit 8f73110f6bac ("of: Rename
"poweroff-source" property to "system-power-controller"") from the pm
tree and commit 7518b5890d8a ("of/overlay: Introduce DT overlay
support") from the devicetree tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

--
Cheers,
Stephen Rothwell [email protected]

diff --cc include/linux/of.h
index b47096730dc5,aa01cf5852f8..000000000000
--- a/include/linux/of.h
+++ b/include/linux/of.h
@@@ -23,7 -23,7 +23,8 @@@
#include <linux/spinlock.h>
#include <linux/topology.h>
#include <linux/notifier.h>
+#include <linux/property.h>
+ #include <linux/list.h>

#include <asm/byteorder.h>
#include <asm/errno.h>
@@@ -108,27 -111,18 +114,27 @@@ static inline struct device_node *of_no
static inline void of_node_put(struct device_node *node) { }
#endif /* !CONFIG_OF_DYNAMIC */

-#ifdef CONFIG_OF
-
/* Pointer for first entry in chain of all nodes. */
- extern struct device_node *of_allnodes;
+ extern struct device_node *of_root;
extern struct device_node *of_chosen;
extern struct device_node *of_aliases;
extern struct device_node *of_stdout;
extern raw_spinlock_t devtree_lock;

+#ifdef CONFIG_OF
+static inline bool is_of_node(struct fwnode_handle *fwnode)
+{
+ return fwnode && fwnode->type == FWNODE_OF;
+}
+
+static inline struct device_node *of_node(struct fwnode_handle *fwnode)
+{
+ return fwnode ? container_of(fwnode, struct device_node, fwnode) : NULL;
+}
+
static inline bool of_have_populated_dt(void)
{
- return of_allnodes != NULL;
+ return of_root != NULL;
}

static inline bool of_node_is_root(const struct device_node *node)
@@@ -956,14 -959,33 +992,44 @@@ static inline int of_reconfig_get_state
extern int of_resolve_phandles(struct device_node *tree);

/**
+ * of_device_is_system_power_controller - Tells if system-power-controller is found for device_node
+ * @np: Pointer to the given device_node
+ *
+ * return true if present false otherwise
+ */
+static inline bool of_device_is_system_power_controller(const struct device_node *np)
+{
+ return of_property_read_bool(np, "system-power-controller");
+}
+
++/**
+ * Overlay support
+ */
+
+ #ifdef CONFIG_OF_OVERLAY
+
+ /* ID based overlays; the API for external users */
+ int of_overlay_create(struct device_node *tree);
+ int of_overlay_destroy(int id);
+ int of_overlay_destroy_all(void);
+
+ #else
+
+ static inline int of_overlay_create(struct device_node *tree)
+ {
+ return -ENOTSUPP;
+ }
+
+ static inline int of_overlay_destroy(int id)
+ {
+ return -ENOTSUPP;
+ }
+
+ static inline int of_overlay_destroy_all(void)
+ {
+ return -ENOTSUPP;
+ }
+
+ #endif
+
#endif /* _LINUX_OF_H */


Attachments:
(No filename) (819.00 B)
OpenPGP digital signature

2014-12-03 07:02:14

by Romain Perier

[permalink] [raw]
Subject: Re: linux-next: manual merge of the devicetree tree with the regulator tree

Hi,

My part looks good and unchanged (first commit), however I would
prefer a confirmation from Grant about the full merge.

Thanks,
Romain

2014-12-03 5:27 GMT+01:00 Stephen Rothwell <[email protected]>:
> Hi Grant,
>
> Today's linux-next merge of the devicetree tree got a conflict in
> include/linux/of.h between commit 8f73110f6bac ("of: Rename
> "poweroff-source" property to "system-power-controller"") from the pm
> tree and commit 7518b5890d8a ("of/overlay: Introduce DT overlay
> support") from the devicetree tree.
>
> I fixed it up (see below) and can carry the fix as necessary (no action
> is required).
>
> --
> Cheers,
> Stephen Rothwell [email protected]
>
> diff --cc include/linux/of.h
> index b47096730dc5,aa01cf5852f8..000000000000
> --- a/include/linux/of.h
> +++ b/include/linux/of.h
> @@@ -23,7 -23,7 +23,8 @@@
> #include <linux/spinlock.h>
> #include <linux/topology.h>
> #include <linux/notifier.h>
> +#include <linux/property.h>
> + #include <linux/list.h>
>
> #include <asm/byteorder.h>
> #include <asm/errno.h>
> @@@ -108,27 -111,18 +114,27 @@@ static inline struct device_node *of_no
> static inline void of_node_put(struct device_node *node) { }
> #endif /* !CONFIG_OF_DYNAMIC */
>
> -#ifdef CONFIG_OF
> -
> /* Pointer for first entry in chain of all nodes. */
> - extern struct device_node *of_allnodes;
> + extern struct device_node *of_root;
> extern struct device_node *of_chosen;
> extern struct device_node *of_aliases;
> extern struct device_node *of_stdout;
> extern raw_spinlock_t devtree_lock;
>
> +#ifdef CONFIG_OF
> +static inline bool is_of_node(struct fwnode_handle *fwnode)
> +{
> + return fwnode && fwnode->type == FWNODE_OF;
> +}
> +
> +static inline struct device_node *of_node(struct fwnode_handle *fwnode)
> +{
> + return fwnode ? container_of(fwnode, struct device_node, fwnode) : NULL;
> +}
> +
> static inline bool of_have_populated_dt(void)
> {
> - return of_allnodes != NULL;
> + return of_root != NULL;
> }
>
> static inline bool of_node_is_root(const struct device_node *node)
> @@@ -956,14 -959,33 +992,44 @@@ static inline int of_reconfig_get_state
> extern int of_resolve_phandles(struct device_node *tree);
>
> /**
> + * of_device_is_system_power_controller - Tells if system-power-controller is found for device_node
> + * @np: Pointer to the given device_node
> + *
> + * return true if present false otherwise
> + */
> +static inline bool of_device_is_system_power_controller(const struct device_node *np)
> +{
> + return of_property_read_bool(np, "system-power-controller");
> +}
> +
> ++/**
> + * Overlay support
> + */
> +
> + #ifdef CONFIG_OF_OVERLAY
> +
> + /* ID based overlays; the API for external users */
> + int of_overlay_create(struct device_node *tree);
> + int of_overlay_destroy(int id);
> + int of_overlay_destroy_all(void);
> +
> + #else
> +
> + static inline int of_overlay_create(struct device_node *tree)
> + {
> + return -ENOTSUPP;
> + }
> +
> + static inline int of_overlay_destroy(int id)
> + {
> + return -ENOTSUPP;
> + }
> +
> + static inline int of_overlay_destroy_all(void)
> + {
> + return -ENOTSUPP;
> + }
> +
> + #endif
> +
> #endif /* _LINUX_OF_H */

2014-12-03 15:29:51

by Grant Likely

[permalink] [raw]
Subject: Re: linux-next: manual merge of the devicetree tree with the regulator tree

On Wed, Dec 3, 2014 at 7:02 AM, Romain Perier <[email protected]> wrote:
> Hi,
>
> My part looks good and unchanged (first commit), however I would
> prefer a confirmation from Grant about the full merge.
>
> Thanks,
> Romain

Looks okay to me.

g.

>
> 2014-12-03 5:27 GMT+01:00 Stephen Rothwell <[email protected]>:
>> Hi Grant,
>>
>> Today's linux-next merge of the devicetree tree got a conflict in
>> include/linux/of.h between commit 8f73110f6bac ("of: Rename
>> "poweroff-source" property to "system-power-controller"") from the pm
>> tree and commit 7518b5890d8a ("of/overlay: Introduce DT overlay
>> support") from the devicetree tree.
>>
>> I fixed it up (see below) and can carry the fix as necessary (no action
>> is required).
>>
>> --
>> Cheers,
>> Stephen Rothwell [email protected]
>>
>> diff --cc include/linux/of.h
>> index b47096730dc5,aa01cf5852f8..000000000000
>> --- a/include/linux/of.h
>> +++ b/include/linux/of.h
>> @@@ -23,7 -23,7 +23,8 @@@
>> #include <linux/spinlock.h>
>> #include <linux/topology.h>
>> #include <linux/notifier.h>
>> +#include <linux/property.h>
>> + #include <linux/list.h>
>>
>> #include <asm/byteorder.h>
>> #include <asm/errno.h>
>> @@@ -108,27 -111,18 +114,27 @@@ static inline struct device_node *of_no
>> static inline void of_node_put(struct device_node *node) { }
>> #endif /* !CONFIG_OF_DYNAMIC */
>>
>> -#ifdef CONFIG_OF
>> -
>> /* Pointer for first entry in chain of all nodes. */
>> - extern struct device_node *of_allnodes;
>> + extern struct device_node *of_root;
>> extern struct device_node *of_chosen;
>> extern struct device_node *of_aliases;
>> extern struct device_node *of_stdout;
>> extern raw_spinlock_t devtree_lock;
>>
>> +#ifdef CONFIG_OF
>> +static inline bool is_of_node(struct fwnode_handle *fwnode)
>> +{
>> + return fwnode && fwnode->type == FWNODE_OF;
>> +}
>> +
>> +static inline struct device_node *of_node(struct fwnode_handle *fwnode)
>> +{
>> + return fwnode ? container_of(fwnode, struct device_node, fwnode) : NULL;
>> +}
>> +
>> static inline bool of_have_populated_dt(void)
>> {
>> - return of_allnodes != NULL;
>> + return of_root != NULL;
>> }
>>
>> static inline bool of_node_is_root(const struct device_node *node)
>> @@@ -956,14 -959,33 +992,44 @@@ static inline int of_reconfig_get_state
>> extern int of_resolve_phandles(struct device_node *tree);
>>
>> /**
>> + * of_device_is_system_power_controller - Tells if system-power-controller is found for device_node
>> + * @np: Pointer to the given device_node
>> + *
>> + * return true if present false otherwise
>> + */
>> +static inline bool of_device_is_system_power_controller(const struct device_node *np)
>> +{
>> + return of_property_read_bool(np, "system-power-controller");
>> +}
>> +
>> ++/**
>> + * Overlay support
>> + */
>> +
>> + #ifdef CONFIG_OF_OVERLAY
>> +
>> + /* ID based overlays; the API for external users */
>> + int of_overlay_create(struct device_node *tree);
>> + int of_overlay_destroy(int id);
>> + int of_overlay_destroy_all(void);
>> +
>> + #else
>> +
>> + static inline int of_overlay_create(struct device_node *tree)
>> + {
>> + return -ENOTSUPP;
>> + }
>> +
>> + static inline int of_overlay_destroy(int id)
>> + {
>> + return -ENOTSUPP;
>> + }
>> +
>> + static inline int of_overlay_destroy_all(void)
>> + {
>> + return -ENOTSUPP;
>> + }
>> +
>> + #endif
>> +
>> #endif /* _LINUX_OF_H */