All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] devicetree: Add empty of_platform_populate() for !CONFIG_OF_ADDRESS (sparc)
@ 2012-02-24 22:06 Grant Likely
  2012-02-27 10:39 ` Samuel Ortiz
  2012-03-02 21:20   ` Cousson, Benoit
  0 siblings, 2 replies; 12+ messages in thread
From: Grant Likely @ 2012-02-24 22:06 UTC (permalink / raw)
  To: linux-kernel, devicetree-discuss
  Cc: Grant Likely, Benoit Cousson, Samuel Ortiz

Sparc has its own helpers for translating address ranges when the device
tree is parsed at boot time, and it isn't able to use of_platform_populate().
However, there are some device drivers that want to use that function on
other DT enabled platforms (ie. TWL4030).  This patch adds an empty
of_platform_populate() implementation that returns an error when
CONFIG_OF_ADDRESS is not selected.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Samuel Ortiz <sameo@linux.intel.com>
---
 drivers/mfd/twl-core.c      |    5 ++---
 drivers/of/platform.c       |    4 ++--
 include/linux/of_platform.h |   12 ++++++++++--
 3 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c
index 66f9bff..4970d43 100644
--- a/drivers/mfd/twl-core.c
+++ b/drivers/mfd/twl-core.c
@@ -1305,11 +1305,10 @@ twl_probe(struct i2c_client *client, const struct i2c_device_id *id)
 		twl_i2c_write_u8(TWL4030_MODULE_INTBR, temp, REG_GPPUPDCTR1);
 	}
 
-#ifdef CONFIG_OF_DEVICE
+	status = -ENODEV;
 	if (node)
 		status = of_platform_populate(node, NULL, NULL, &client->dev);
-	else
-#endif
+	if (status)
 		status = add_children(pdata, id->driver_data);
 
 fail:
diff --git a/drivers/of/platform.c b/drivers/of/platform.c
index 63b3ec4..20fbebd 100644
--- a/drivers/of/platform.c
+++ b/drivers/of/platform.c
@@ -55,7 +55,7 @@ EXPORT_SYMBOL(of_find_device_by_node);
 #include <asm/dcr.h>
 #endif
 
-#if !defined(CONFIG_SPARC)
+#ifdef CONFIG_OF_ADDRESS
 /*
  * The following routines scan a subtree and registers a device for
  * each applicable node.
@@ -462,4 +462,4 @@ int of_platform_populate(struct device_node *root,
 	of_node_put(root);
 	return rc;
 }
-#endif /* !CONFIG_SPARC */
+#endif /* CONFIG_OF_ADDRESS */
diff --git a/include/linux/of_platform.h b/include/linux/of_platform.h
index 040ce2f..242fa35 100644
--- a/include/linux/of_platform.h
+++ b/include/linux/of_platform.h
@@ -81,7 +81,7 @@ extern struct platform_device *of_device_alloc(struct device_node *np,
 					 struct device *parent);
 extern struct platform_device *of_find_device_by_node(struct device_node *np);
 
-#if !defined(CONFIG_SPARC) /* SPARC has its own device registration method */
+#ifdef CONFIG_OF_ADDRESS /* device reg helpers depend on OF_ADDRESS */
 /* Platform devices and busses creation */
 extern struct platform_device *of_platform_device_create(struct device_node *np,
 						   const char *bus_id,
@@ -94,7 +94,15 @@ extern int of_platform_populate(struct device_node *root,
 				const struct of_device_id *matches,
 				const struct of_dev_auxdata *lookup,
 				struct device *parent);
-#endif /* !CONFIG_SPARC */
+#else
+static inline int of_platform_populate(struct device_node *root,
+					const struct of_device_id *matches,
+					const struct of_dev_auxdata *lookup,
+					struct device *parent)
+{
+	return -ENODEV;
+}
+#endif /* !CONFIG_OF_ADDRESS */
 
 #endif /* CONFIG_OF_DEVICE */
 
-- 
1.7.9


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH] devicetree: Add empty of_platform_populate() for !CONFIG_OF_ADDRESS (sparc)
  2012-02-24 22:06 [PATCH] devicetree: Add empty of_platform_populate() for !CONFIG_OF_ADDRESS (sparc) Grant Likely
@ 2012-02-27 10:39 ` Samuel Ortiz
  2012-02-27 13:56   ` Grant Likely
  2012-03-02 21:20   ` Cousson, Benoit
  1 sibling, 1 reply; 12+ messages in thread
From: Samuel Ortiz @ 2012-02-27 10:39 UTC (permalink / raw)
  To: Grant Likely; +Cc: linux-kernel, devicetree-discuss, Benoit Cousson

Hi Grant,

On Fri, Feb 24, 2012 at 03:06:58PM -0700, Grant Likely wrote:
> Sparc has its own helpers for translating address ranges when the device
> tree is parsed at boot time, and it isn't able to use of_platform_populate().
> However, there are some device drivers that want to use that function on
> other DT enabled platforms (ie. TWL4030).  This patch adds an empty
> of_platform_populate() implementation that returns an error when
> CONFIG_OF_ADDRESS is not selected.
Applied as well. Please let me know if you'd prefer to see this one going
through your irqdomain/next branch.

Cheers,
Samuel.

-- 
Intel Open Source Technology Centre
http://oss.intel.com/

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] devicetree: Add empty of_platform_populate() for !CONFIG_OF_ADDRESS (sparc)
  2012-02-27 10:39 ` Samuel Ortiz
@ 2012-02-27 13:56   ` Grant Likely
  0 siblings, 0 replies; 12+ messages in thread
From: Grant Likely @ 2012-02-27 13:56 UTC (permalink / raw)
  To: Samuel Ortiz
  Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA


[-- Attachment #1.1: Type: text/plain, Size: 874 bytes --]

On Feb 27, 2012 3:32 AM, "Samuel Ortiz" <sameo-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> wrote:
>
> Hi Grant,
>
> On Fri, Feb 24, 2012 at 03:06:58PM -0700, Grant Likely wrote:
> > Sparc has its own helpers for translating address ranges when the device
> > tree is parsed at boot time, and it isn't able to use
of_platform_populate().
> > However, there are some device drivers that want to use that function on
> > other DT enabled platforms (ie. TWL4030).  This patch adds an empty
> > of_platform_populate() implementation that returns an error when
> > CONFIG_OF_ADDRESS is not selected.
> Applied as well. Please let me know if you'd prefer to see this one going
> through your irqdomain/next branch.

Yes, it must go via my tree. I've already applied it and pushed it out.

g.

>
> Cheers,
> Samuel.
>
> --
> Intel Open Source Technology Centre
> http://oss.intel.com/

[-- Attachment #1.2: Type: text/html, Size: 1211 bytes --]

[-- Attachment #2: Type: text/plain, Size: 192 bytes --]

_______________________________________________
devicetree-discuss mailing list
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
https://lists.ozlabs.org/listinfo/devicetree-discuss

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] devicetree: Add empty of_platform_populate() for !CONFIG_OF_ADDRESS (sparc)
@ 2012-03-02 21:20   ` Cousson, Benoit
  0 siblings, 0 replies; 12+ messages in thread
From: Cousson, Benoit @ 2012-03-02 21:20 UTC (permalink / raw)
  To: Grant Likely; +Cc: linux-kernel, devicetree-discuss, Samuel Ortiz

Hi Grant,

In fact this patch is not working for build without CONFIG_OF like x86.

On 2/24/2012 11:06 PM, Grant Likely wrote:
> --- a/include/linux/of_platform.h
> +++ b/include/linux/of_platform.h
> @@ -81,7 +81,7 @@ extern struct platform_device *of_device_alloc(struct device_node *np,
>   					 struct device *parent);
>   extern struct platform_device *of_find_device_by_node(struct device_node *np);
>
> -#if !defined(CONFIG_SPARC) /* SPARC has its own device registration method */
> +#ifdef CONFIG_OF_ADDRESS /* device reg helpers depend on OF_ADDRESS */
>   /* Platform devices and busses creation */
>   extern struct platform_device *of_platform_device_create(struct device_node *np,
>   						   const char *bus_id,
> @@ -94,7 +94,15 @@ extern int of_platform_populate(struct device_node *root,
>   				const struct of_device_id *matches,
>   				const struct of_dev_auxdata *lookup,
>   				struct device *parent);
> -#endif /* !CONFIG_SPARC */
> +#else
> +static inline int of_platform_populate(struct device_node *root,
> +					const struct of_device_id *matches,
> +					const struct of_dev_auxdata *lookup,
> +					struct device *parent)
> +{
> +	return -ENODEV;
> +}
> +#endif /* !CONFIG_OF_ADDRESS */
>
>   #endif /* CONFIG_OF_DEVICE */

Because if CONFIG_OF_DEVICE is not defined, then the stub for 
of_platform_populate will not be defined either. It should exist for any 
config without CONFIG_OF.

Building twl4030 for x86 is actually broken.

Regards,
Benoit


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] devicetree: Add empty of_platform_populate() for !CONFIG_OF_ADDRESS (sparc)
@ 2012-03-02 21:20   ` Cousson, Benoit
  0 siblings, 0 replies; 12+ messages in thread
From: Cousson, Benoit @ 2012-03-02 21:20 UTC (permalink / raw)
  To: Grant Likely
  Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Samuel Ortiz

Hi Grant,

In fact this patch is not working for build without CONFIG_OF like x86.

On 2/24/2012 11:06 PM, Grant Likely wrote:
> --- a/include/linux/of_platform.h
> +++ b/include/linux/of_platform.h
> @@ -81,7 +81,7 @@ extern struct platform_device *of_device_alloc(struct device_node *np,
>   					 struct device *parent);
>   extern struct platform_device *of_find_device_by_node(struct device_node *np);
>
> -#if !defined(CONFIG_SPARC) /* SPARC has its own device registration method */
> +#ifdef CONFIG_OF_ADDRESS /* device reg helpers depend on OF_ADDRESS */
>   /* Platform devices and busses creation */
>   extern struct platform_device *of_platform_device_create(struct device_node *np,
>   						   const char *bus_id,
> @@ -94,7 +94,15 @@ extern int of_platform_populate(struct device_node *root,
>   				const struct of_device_id *matches,
>   				const struct of_dev_auxdata *lookup,
>   				struct device *parent);
> -#endif /* !CONFIG_SPARC */
> +#else
> +static inline int of_platform_populate(struct device_node *root,
> +					const struct of_device_id *matches,
> +					const struct of_dev_auxdata *lookup,
> +					struct device *parent)
> +{
> +	return -ENODEV;
> +}
> +#endif /* !CONFIG_OF_ADDRESS */
>
>   #endif /* CONFIG_OF_DEVICE */

Because if CONFIG_OF_DEVICE is not defined, then the stub for 
of_platform_populate will not be defined either. It should exist for any 
config without CONFIG_OF.

Building twl4030 for x86 is actually broken.

Regards,
Benoit

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] devicetree: Add empty of_platform_populate() for !CONFIG_OF_ADDRESS (sparc)
  2012-03-02 21:20   ` Cousson, Benoit
@ 2012-03-03  1:07     ` Andrew Morton
  -1 siblings, 0 replies; 12+ messages in thread
From: Andrew Morton @ 2012-03-03  1:07 UTC (permalink / raw)
  To: Cousson, Benoit
  Cc: Grant Likely, linux-kernel, devicetree-discuss, Samuel Ortiz

On Fri, 2 Mar 2012 22:20:16 +0100
"Cousson, Benoit" <b-cousson@ti.com> wrote:

> Hi Grant,
> 
> In fact this patch is not working for build without CONFIG_OF like x86.
> 
> On 2/24/2012 11:06 PM, Grant Likely wrote:
> > --- a/include/linux/of_platform.h
> > +++ b/include/linux/of_platform.h
> > @@ -81,7 +81,7 @@ extern struct platform_device *of_device_alloc(struct device_node *np,
> >   					 struct device *parent);
> >   extern struct platform_device *of_find_device_by_node(struct device_node *np);
> >
> > -#if !defined(CONFIG_SPARC) /* SPARC has its own device registration method */
> > +#ifdef CONFIG_OF_ADDRESS /* device reg helpers depend on OF_ADDRESS */
> >   /* Platform devices and busses creation */
> >   extern struct platform_device *of_platform_device_create(struct device_node *np,
> >   						   const char *bus_id,
> > @@ -94,7 +94,15 @@ extern int of_platform_populate(struct device_node *root,
> >   				const struct of_device_id *matches,
> >   				const struct of_dev_auxdata *lookup,
> >   				struct device *parent);
> > -#endif /* !CONFIG_SPARC */
> > +#else
> > +static inline int of_platform_populate(struct device_node *root,
> > +					const struct of_device_id *matches,
> > +					const struct of_dev_auxdata *lookup,
> > +					struct device *parent)
> > +{
> > +	return -ENODEV;
> > +}
> > +#endif /* !CONFIG_OF_ADDRESS */
> >
> >   #endif /* CONFIG_OF_DEVICE */
> 
> Because if CONFIG_OF_DEVICE is not defined, then the stub for 
> of_platform_populate will not be defined either. It should exist for any 
> config without CONFIG_OF.
> 
> Building twl4030 for x86 is actually broken.
> 

All twl is broken.  i386 allmodconfig with this monring's linux-next:

drivers/mfd/twl-core.c: In function 'twl_probe':
drivers/mfd/twl-core.c:1357: error: implicit declaration of function 'of_platform_populate'


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] devicetree: Add empty of_platform_populate() for !CONFIG_OF_ADDRESS (sparc)
@ 2012-03-03  1:07     ` Andrew Morton
  0 siblings, 0 replies; 12+ messages in thread
From: Andrew Morton @ 2012-03-03  1:07 UTC (permalink / raw)
  To: Cousson, Benoit
  Cc: Grant Likely, linux-kernel, devicetree-discuss, Samuel Ortiz

On Fri, 2 Mar 2012 22:20:16 +0100
"Cousson, Benoit" <b-cousson@ti.com> wrote:

> Hi Grant,
> 
> In fact this patch is not working for build without CONFIG_OF like x86.
> 
> On 2/24/2012 11:06 PM, Grant Likely wrote:
> > --- a/include/linux/of_platform.h
> > +++ b/include/linux/of_platform.h
> > @@ -81,7 +81,7 @@ extern struct platform_device *of_device_alloc(struct device_node *np,
> >   					 struct device *parent);
> >   extern struct platform_device *of_find_device_by_node(struct device_node *np);
> >
> > -#if !defined(CONFIG_SPARC) /* SPARC has its own device registration method */
> > +#ifdef CONFIG_OF_ADDRESS /* device reg helpers depend on OF_ADDRESS */
> >   /* Platform devices and busses creation */
> >   extern struct platform_device *of_platform_device_create(struct device_node *np,
> >   						   const char *bus_id,
> > @@ -94,7 +94,15 @@ extern int of_platform_populate(struct device_node *root,
> >   				const struct of_device_id *matches,
> >   				const struct of_dev_auxdata *lookup,
> >   				struct device *parent);
> > -#endif /* !CONFIG_SPARC */
> > +#else
> > +static inline int of_platform_populate(struct device_node *root,
> > +					const struct of_device_id *matches,
> > +					const struct of_dev_auxdata *lookup,
> > +					struct device *parent)
> > +{
> > +	return -ENODEV;
> > +}
> > +#endif /* !CONFIG_OF_ADDRESS */
> >
> >   #endif /* CONFIG_OF_DEVICE */
> 
> Because if CONFIG_OF_DEVICE is not defined, then the stub for 
> of_platform_populate will not be defined either. It should exist for any 
> config without CONFIG_OF.
> 
> Building twl4030 for x86 is actually broken.
> 

All twl is broken.  i386 allmodconfig with this monring's linux-next:

drivers/mfd/twl-core.c: In function 'twl_probe':
drivers/mfd/twl-core.c:1357: error: implicit declaration of function 'of_platform_populate'

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] devicetree: Add empty of_platform_populate() for !CONFIG_OF_ADDRESS (sparc)
@ 2012-03-03  4:09       ` Grant Likely
  0 siblings, 0 replies; 12+ messages in thread
From: Grant Likely @ 2012-03-03  4:09 UTC (permalink / raw)
  To: Andrew Morton, Cousson, Benoit
  Cc: linux-kernel, devicetree-discuss, Samuel Ortiz

On Fri, 2 Mar 2012 17:07:15 -0800, Andrew Morton <akpm@linux-foundation.org> wrote:
> On Fri, 2 Mar 2012 22:20:16 +0100
> "Cousson, Benoit" <b-cousson@ti.com> wrote:
> 
> > Hi Grant,
> > 
> > In fact this patch is not working for build without CONFIG_OF like x86.
> > 
> > On 2/24/2012 11:06 PM, Grant Likely wrote:
> > > --- a/include/linux/of_platform.h
> > > +++ b/include/linux/of_platform.h
> > > @@ -81,7 +81,7 @@ extern struct platform_device *of_device_alloc(struct device_node *np,
> > >   					 struct device *parent);
> > >   extern struct platform_device *of_find_device_by_node(struct device_node *np);
> > >
> > > -#if !defined(CONFIG_SPARC) /* SPARC has its own device registration method */
> > > +#ifdef CONFIG_OF_ADDRESS /* device reg helpers depend on OF_ADDRESS */
> > >   /* Platform devices and busses creation */
> > >   extern struct platform_device *of_platform_device_create(struct device_node *np,
> > >   						   const char *bus_id,
> > > @@ -94,7 +94,15 @@ extern int of_platform_populate(struct device_node *root,
> > >   				const struct of_device_id *matches,
> > >   				const struct of_dev_auxdata *lookup,
> > >   				struct device *parent);
> > > -#endif /* !CONFIG_SPARC */
> > > +#else
> > > +static inline int of_platform_populate(struct device_node *root,
> > > +					const struct of_device_id *matches,
> > > +					const struct of_dev_auxdata *lookup,
> > > +					struct device *parent)
> > > +{
> > > +	return -ENODEV;
> > > +}
> > > +#endif /* !CONFIG_OF_ADDRESS */
> > >
> > >   #endif /* CONFIG_OF_DEVICE */
> > 
> > Because if CONFIG_OF_DEVICE is not defined, then the stub for 
> > of_platform_populate will not be defined either. It should exist for any 
> > config without CONFIG_OF.
> > 
> > Building twl4030 for x86 is actually broken.
> > 
> 
> All twl is broken.  i386 allmodconfig with this monring's linux-next:
> 
> drivers/mfd/twl-core.c: In function 'twl_probe':
> drivers/mfd/twl-core.c:1357: error: implicit declaration of function 'of_platform_populate'
> 

This patch seems to solve it finally against irqdomain/next.  Benoit, with
your ack I'll push it out.

g.

---

commit 679946dfdbf990d3e75418fdaf92f3981ff1f4db
Author: Grant Likely <grant.likely@secretlab.ca>
Date:   Fri Mar 2 21:05:31 2012 -0700

    dt: fix twl4030 for non-dt compile on x86
    
    twl4030 still doesn't build correctly for x86 allmodconfig.  This
    fix solves the missing symbol errors.
    
    Signed-off-by: Grant Likely <grant.likely@secretlab.ca>

diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c
index 4970d43..54727ef 100644
--- a/drivers/mfd/twl-core.c
+++ b/drivers/mfd/twl-core.c
@@ -38,6 +38,7 @@
 #include <linux/of.h>
 #include <linux/of_irq.h>
 #include <linux/of_platform.h>
+#include <linux/irq.h>
 #include <linux/irqdomain.h>
 
 #include <linux/regulator/machine.h>
diff --git a/include/linux/of_platform.h b/include/linux/of_platform.h
index 242fa35..b47d204 100644
--- a/include/linux/of_platform.h
+++ b/include/linux/of_platform.h
@@ -94,7 +94,12 @@ extern int of_platform_populate(struct device_node *root,
 				const struct of_device_id *matches,
 				const struct of_dev_auxdata *lookup,
 				struct device *parent);
-#else
+#endif /* CONFIG_OF_ADDRESS */
+
+#endif /* CONFIG_OF_DEVICE */
+
+#if !defined(CONFIG_OF_ADDRESS)
+struct of_dev_auxdata;
 static inline int of_platform_populate(struct device_node *root,
 					const struct of_device_id *matches,
 					const struct of_dev_auxdata *lookup,
@@ -104,6 +109,4 @@ static inline int of_platform_populate(struct device_node *root,
 }
 #endif /* !CONFIG_OF_ADDRESS */
 
-#endif /* CONFIG_OF_DEVICE */
-
 #endif	/* _LINUX_OF_PLATFORM_H */
-- 
email sent from notmuch.vim plugin

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH] devicetree: Add empty of_platform_populate() for !CONFIG_OF_ADDRESS (sparc)
@ 2012-03-03  4:09       ` Grant Likely
  0 siblings, 0 replies; 12+ messages in thread
From: Grant Likely @ 2012-03-03  4:09 UTC (permalink / raw)
  To: Andrew Morton, Cousson, Benoit
  Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Samuel Ortiz

On Fri, 2 Mar 2012 17:07:15 -0800, Andrew Morton <akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org> wrote:
> On Fri, 2 Mar 2012 22:20:16 +0100
> "Cousson, Benoit" <b-cousson-l0cyMroinI0@public.gmane.org> wrote:
> 
> > Hi Grant,
> > 
> > In fact this patch is not working for build without CONFIG_OF like x86.
> > 
> > On 2/24/2012 11:06 PM, Grant Likely wrote:
> > > --- a/include/linux/of_platform.h
> > > +++ b/include/linux/of_platform.h
> > > @@ -81,7 +81,7 @@ extern struct platform_device *of_device_alloc(struct device_node *np,
> > >   					 struct device *parent);
> > >   extern struct platform_device *of_find_device_by_node(struct device_node *np);
> > >
> > > -#if !defined(CONFIG_SPARC) /* SPARC has its own device registration method */
> > > +#ifdef CONFIG_OF_ADDRESS /* device reg helpers depend on OF_ADDRESS */
> > >   /* Platform devices and busses creation */
> > >   extern struct platform_device *of_platform_device_create(struct device_node *np,
> > >   						   const char *bus_id,
> > > @@ -94,7 +94,15 @@ extern int of_platform_populate(struct device_node *root,
> > >   				const struct of_device_id *matches,
> > >   				const struct of_dev_auxdata *lookup,
> > >   				struct device *parent);
> > > -#endif /* !CONFIG_SPARC */
> > > +#else
> > > +static inline int of_platform_populate(struct device_node *root,
> > > +					const struct of_device_id *matches,
> > > +					const struct of_dev_auxdata *lookup,
> > > +					struct device *parent)
> > > +{
> > > +	return -ENODEV;
> > > +}
> > > +#endif /* !CONFIG_OF_ADDRESS */
> > >
> > >   #endif /* CONFIG_OF_DEVICE */
> > 
> > Because if CONFIG_OF_DEVICE is not defined, then the stub for 
> > of_platform_populate will not be defined either. It should exist for any 
> > config without CONFIG_OF.
> > 
> > Building twl4030 for x86 is actually broken.
> > 
> 
> All twl is broken.  i386 allmodconfig with this monring's linux-next:
> 
> drivers/mfd/twl-core.c: In function 'twl_probe':
> drivers/mfd/twl-core.c:1357: error: implicit declaration of function 'of_platform_populate'
> 

This patch seems to solve it finally against irqdomain/next.  Benoit, with
your ack I'll push it out.

g.

---

commit 679946dfdbf990d3e75418fdaf92f3981ff1f4db
Author: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
Date:   Fri Mar 2 21:05:31 2012 -0700

    dt: fix twl4030 for non-dt compile on x86
    
    twl4030 still doesn't build correctly for x86 allmodconfig.  This
    fix solves the missing symbol errors.
    
    Signed-off-by: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>

diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c
index 4970d43..54727ef 100644
--- a/drivers/mfd/twl-core.c
+++ b/drivers/mfd/twl-core.c
@@ -38,6 +38,7 @@
 #include <linux/of.h>
 #include <linux/of_irq.h>
 #include <linux/of_platform.h>
+#include <linux/irq.h>
 #include <linux/irqdomain.h>
 
 #include <linux/regulator/machine.h>
diff --git a/include/linux/of_platform.h b/include/linux/of_platform.h
index 242fa35..b47d204 100644
--- a/include/linux/of_platform.h
+++ b/include/linux/of_platform.h
@@ -94,7 +94,12 @@ extern int of_platform_populate(struct device_node *root,
 				const struct of_device_id *matches,
 				const struct of_dev_auxdata *lookup,
 				struct device *parent);
-#else
+#endif /* CONFIG_OF_ADDRESS */
+
+#endif /* CONFIG_OF_DEVICE */
+
+#if !defined(CONFIG_OF_ADDRESS)
+struct of_dev_auxdata;
 static inline int of_platform_populate(struct device_node *root,
 					const struct of_device_id *matches,
 					const struct of_dev_auxdata *lookup,
@@ -104,6 +109,4 @@ static inline int of_platform_populate(struct device_node *root,
 }
 #endif /* !CONFIG_OF_ADDRESS */
 
-#endif /* CONFIG_OF_DEVICE */
-
 #endif	/* _LINUX_OF_PLATFORM_H */
-- 
email sent from notmuch.vim plugin

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH] devicetree: Add empty of_platform_populate() for !CONFIG_OF_ADDRESS (sparc)
  2012-03-03  4:09       ` Grant Likely
@ 2012-03-05 13:30         ` Cousson, Benoit
  -1 siblings, 0 replies; 12+ messages in thread
From: Cousson, Benoit @ 2012-03-05 13:30 UTC (permalink / raw)
  To: Grant Likely
  Cc: Andrew Morton, linux-kernel, devicetree-discuss, Samuel Ortiz

Hi Grant,

On 3/3/2012 5:09 AM, Grant Likely wrote:
> On Fri, 2 Mar 2012 17:07:15 -0800, Andrew Morton<akpm@linux-foundation.org>  wrote:
>> On Fri, 2 Mar 2012 22:20:16 +0100
>> "Cousson, Benoit"<b-cousson@ti.com>  wrote:
>>
>>> Hi Grant,
>>>
>>> In fact this patch is not working for build without CONFIG_OF like x86.
>>>
>>> On 2/24/2012 11:06 PM, Grant Likely wrote:
>>>> --- a/include/linux/of_platform.h
>>>> +++ b/include/linux/of_platform.h
>>>> @@ -81,7 +81,7 @@ extern struct platform_device *of_device_alloc(struct device_node *np,
>>>>    					 struct device *parent);
>>>>    extern struct platform_device *of_find_device_by_node(struct device_node *np);
>>>>
>>>> -#if !defined(CONFIG_SPARC) /* SPARC has its own device registration method */
>>>> +#ifdef CONFIG_OF_ADDRESS /* device reg helpers depend on OF_ADDRESS */
>>>>    /* Platform devices and busses creation */
>>>>    extern struct platform_device *of_platform_device_create(struct device_node *np,
>>>>    						   const char *bus_id,
>>>> @@ -94,7 +94,15 @@ extern int of_platform_populate(struct device_node *root,
>>>>    				const struct of_device_id *matches,
>>>>    				const struct of_dev_auxdata *lookup,
>>>>    				struct device *parent);
>>>> -#endif /* !CONFIG_SPARC */
>>>> +#else
>>>> +static inline int of_platform_populate(struct device_node *root,
>>>> +					const struct of_device_id *matches,
>>>> +					const struct of_dev_auxdata *lookup,
>>>> +					struct device *parent)
>>>> +{
>>>> +	return -ENODEV;
>>>> +}
>>>> +#endif /* !CONFIG_OF_ADDRESS */
>>>>
>>>>    #endif /* CONFIG_OF_DEVICE */
>>>
>>> Because if CONFIG_OF_DEVICE is not defined, then the stub for
>>> of_platform_populate will not be defined either. It should exist for any
>>> config without CONFIG_OF.
>>>
>>> Building twl4030 for x86 is actually broken.
>>>
>>
>> All twl is broken.  i386 allmodconfig with this monring's linux-next:
>>
>> drivers/mfd/twl-core.c: In function 'twl_probe':
>> drivers/mfd/twl-core.c:1357: error: implicit declaration of function 'of_platform_populate'
>>
>
> This patch seems to solve it finally against irqdomain/next.  Benoit, with
> your ack I'll push it out.

I've just built it on x86 and tested it on OMAP4 board successfully.

Acked-by: Benoit Cousson <b-cousson@ti.com>

Thanks,
Benoit

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] devicetree: Add empty of_platform_populate() for !CONFIG_OF_ADDRESS (sparc)
@ 2012-03-05 13:30         ` Cousson, Benoit
  0 siblings, 0 replies; 12+ messages in thread
From: Cousson, Benoit @ 2012-03-05 13:30 UTC (permalink / raw)
  To: Grant Likely
  Cc: Andrew Morton, linux-kernel, devicetree-discuss, Samuel Ortiz

Hi Grant,

On 3/3/2012 5:09 AM, Grant Likely wrote:
> On Fri, 2 Mar 2012 17:07:15 -0800, Andrew Morton<akpm@linux-foundation.org>  wrote:
>> On Fri, 2 Mar 2012 22:20:16 +0100
>> "Cousson, Benoit"<b-cousson@ti.com>  wrote:
>>
>>> Hi Grant,
>>>
>>> In fact this patch is not working for build without CONFIG_OF like x86.
>>>
>>> On 2/24/2012 11:06 PM, Grant Likely wrote:
>>>> --- a/include/linux/of_platform.h
>>>> +++ b/include/linux/of_platform.h
>>>> @@ -81,7 +81,7 @@ extern struct platform_device *of_device_alloc(struct device_node *np,
>>>>    					 struct device *parent);
>>>>    extern struct platform_device *of_find_device_by_node(struct device_node *np);
>>>>
>>>> -#if !defined(CONFIG_SPARC) /* SPARC has its own device registration method */
>>>> +#ifdef CONFIG_OF_ADDRESS /* device reg helpers depend on OF_ADDRESS */
>>>>    /* Platform devices and busses creation */
>>>>    extern struct platform_device *of_platform_device_create(struct device_node *np,
>>>>    						   const char *bus_id,
>>>> @@ -94,7 +94,15 @@ extern int of_platform_populate(struct device_node *root,
>>>>    				const struct of_device_id *matches,
>>>>    				const struct of_dev_auxdata *lookup,
>>>>    				struct device *parent);
>>>> -#endif /* !CONFIG_SPARC */
>>>> +#else
>>>> +static inline int of_platform_populate(struct device_node *root,
>>>> +					const struct of_device_id *matches,
>>>> +					const struct of_dev_auxdata *lookup,
>>>> +					struct device *parent)
>>>> +{
>>>> +	return -ENODEV;
>>>> +}
>>>> +#endif /* !CONFIG_OF_ADDRESS */
>>>>
>>>>    #endif /* CONFIG_OF_DEVICE */
>>>
>>> Because if CONFIG_OF_DEVICE is not defined, then the stub for
>>> of_platform_populate will not be defined either. It should exist for any
>>> config without CONFIG_OF.
>>>
>>> Building twl4030 for x86 is actually broken.
>>>
>>
>> All twl is broken.  i386 allmodconfig with this monring's linux-next:
>>
>> drivers/mfd/twl-core.c: In function 'twl_probe':
>> drivers/mfd/twl-core.c:1357: error: implicit declaration of function 'of_platform_populate'
>>
>
> This patch seems to solve it finally against irqdomain/next.  Benoit, with
> your ack I'll push it out.

I've just built it on x86 and tested it on OMAP4 board successfully.

Acked-by: Benoit Cousson <b-cousson@ti.com>

Thanks,
Benoit

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] devicetree: Add empty of_platform_populate() for !CONFIG_OF_ADDRESS (sparc)
  2012-03-05 13:30         ` Cousson, Benoit
  (?)
@ 2012-03-05 15:10         ` Grant Likely
  -1 siblings, 0 replies; 12+ messages in thread
From: Grant Likely @ 2012-03-05 15:10 UTC (permalink / raw)
  To: Cousson, Benoit
  Cc: Andrew Morton, linux-kernel, devicetree-discuss, Samuel Ortiz

On Mon, Mar 05, 2012 at 02:30:01PM +0100, Cousson, Benoit wrote:
> On 3/3/2012 5:09 AM, Grant Likely wrote:
> >On Fri, 2 Mar 2012 17:07:15 -0800, Andrew Morton<akpm@linux-foundation.org>  wrote:
> >>All twl is broken.  i386 allmodconfig with this monring's linux-next:
> >>
> >>drivers/mfd/twl-core.c: In function 'twl_probe':
> >>drivers/mfd/twl-core.c:1357: error: implicit declaration of function 'of_platform_populate'
> >>
> >
> >This patch seems to solve it finally against irqdomain/next.  Benoit, with
> >your ack I'll push it out.
> 
> I've just built it on x86 and tested it on OMAP4 board successfully.
> 
> Acked-by: Benoit Cousson <b-cousson@ti.com>

Okay, I've pushed it out.

g.

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2012-03-05 15:10 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-24 22:06 [PATCH] devicetree: Add empty of_platform_populate() for !CONFIG_OF_ADDRESS (sparc) Grant Likely
2012-02-27 10:39 ` Samuel Ortiz
2012-02-27 13:56   ` Grant Likely
2012-03-02 21:20 ` Cousson, Benoit
2012-03-02 21:20   ` Cousson, Benoit
2012-03-03  1:07   ` Andrew Morton
2012-03-03  1:07     ` Andrew Morton
2012-03-03  4:09     ` Grant Likely
2012-03-03  4:09       ` Grant Likely
2012-03-05 13:30       ` Cousson, Benoit
2012-03-05 13:30         ` Cousson, Benoit
2012-03-05 15:10         ` Grant Likely

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.