linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* linux-next: build failure after merge of the devicetree tree
@ 2014-05-26  5:05 Stephen Rothwell
  2014-05-26  7:22 ` Thomas Petazzoni
  0 siblings, 1 reply; 20+ messages in thread
From: Stephen Rothwell @ 2014-05-26  5:05 UTC (permalink / raw)
  To: Grant Likely; +Cc: linux-next, linux-kernel, Xiubo Li, Thomas Petazzoni

[-- Attachment #1: Type: text/plain, Size: 1516 bytes --]

Hi Grant,

After merging the devicetree tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

drivers/of/base.c: In function 'of_update_property':
drivers/of/base.c:1906:10: error: 'found' undeclared (first use in this function)
   return found ? 0 : -ENODEV;
          ^

Caused by a bad automatic merge resolution between commits 582da6527da3
("of: make of_update_property() usable earlier in the boot process")
(merged into Linus' tree between v3.15-rc4 and rc5) and 947fdaad0627
("of: fix race between search and remove in of_update_property()") from
the devicetree tree.

I have added the following merge fix patch:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 26 May 2014 14:50:40 +1000
Subject: [PATCH] of: fix bad merge of drivers/of/base.c

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/of/base.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/of/base.c b/drivers/of/base.c
index 395ee2b3146d..03e7fc6c93e8 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -1901,10 +1901,6 @@ int of_update_property(struct device_node *np, struct property *newprop)
 	if (!of_kset)
 		return 0;
 
-	/* At early boot, bail out and defer setup to of_init() */
-	if (!of_kset)
-		return found ? 0 : -ENODEV;
-
 	/* Update the sysfs attribute */
 	if (oldprop)
 		sysfs_remove_bin_file(&np->kobj, &oldprop->attr);
-- 
2.0.0.rc4

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* Re: linux-next: build failure after merge of the devicetree tree
  2014-05-26  5:05 linux-next: build failure after merge of the devicetree tree Stephen Rothwell
@ 2014-05-26  7:22 ` Thomas Petazzoni
  0 siblings, 0 replies; 20+ messages in thread
From: Thomas Petazzoni @ 2014-05-26  7:22 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: Grant Likely, linux-next, linux-kernel, Xiubo Li

Dear Stephen Rothwell,

On Mon, 26 May 2014 15:05:57 +1000, Stephen Rothwell wrote:

> diff --git a/drivers/of/base.c b/drivers/of/base.c
> index 395ee2b3146d..03e7fc6c93e8 100644
> --- a/drivers/of/base.c
> +++ b/drivers/of/base.c
> @@ -1901,10 +1901,6 @@ int of_update_property(struct device_node *np, struct property *newprop)
>  	if (!of_kset)
>  		return 0;
>  
> -	/* At early boot, bail out and defer setup to of_init() */
> -	if (!of_kset)
> -		return found ? 0 : -ENODEV;
> -

Seems like this is in fact reverting my change entirely, so maybe Grant
should drop my patch instead?

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* Re: linux-next: build failure after merge of the devicetree tree
  2024-01-19  0:58 ` Stephen Rothwell
@ 2024-01-19 14:07   ` Rob Herring
  0 siblings, 0 replies; 20+ messages in thread
From: Rob Herring @ 2024-01-19 14:07 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Andy Gross, Abel Vesa, Bjorn Andersson, Rajendra Nayak,
	Sibi Sankar, Linux Kernel Mailing List, Linux Next Mailing List

On Thu, Jan 18, 2024 at 6:58 PM Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Hi all,
>
> On Mon, 11 Dec 2023 16:05:10 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> >
> > After merging the devicetree tree, today's linux-next build (x86_64
> > allmodconfig) failed like this:
> >
> > drivers/clk/qcom/gcc-x1e80100.c:6786:15: error: variable 'gcc_x1e80100_driver' has initializer but incomplete type
> >  6786 | static struct platform_driver gcc_x1e80100_driver = {
> >       |               ^~~~~~~~~~~~~~~
> > drivers/clk/qcom/gcc-x1e80100.c:6787:10: error: 'struct platform_driver' has no member named 'probe'
> >  6787 |         .probe = gcc_x1e80100_probe,
> >       |          ^~~~~
> > drivers/clk/qcom/gcc-x1e80100.c:6787:18: warning: excess elements in struct initializer
> >  6787 |         .probe = gcc_x1e80100_probe,
> >       |                  ^~~~~~~~~~~~~~~~~~
> > drivers/clk/qcom/gcc-x1e80100.c:6787:18: note: (near initialization for 'gcc_x1e80100_driver')
> > drivers/clk/qcom/gcc-x1e80100.c:6788:10: error: 'struct platform_driver' has no member named 'driver'
> >  6788 |         .driver = {
> >       |          ^~~~~~
> > drivers/clk/qcom/gcc-x1e80100.c:6788:19: error: extra brace group at end of initializer
> >  6788 |         .driver = {
> >       |                   ^
> > drivers/clk/qcom/gcc-x1e80100.c:6788:19: note: (near initialization for 'gcc_x1e80100_driver')
> > drivers/clk/qcom/gcc-x1e80100.c:6788:19: warning: excess elements in struct initializer
> > drivers/clk/qcom/gcc-x1e80100.c:6788:19: note: (near initialization for 'gcc_x1e80100_driver')
> > drivers/clk/qcom/gcc-x1e80100.c: In function 'gcc_x1e80100_init':
> > drivers/clk/qcom/gcc-x1e80100.c:6796:16: error: implicit declaration of function 'platform_driver_register' [-Werror=implicit-function-declaration]
> >  6796 |         return platform_driver_register(&gcc_x1e80100_driver);
> >       |                ^~~~~~~~~~~~~~~~~~~~~~~~
> > drivers/clk/qcom/gcc-x1e80100.c: In function 'gcc_x1e80100_exit':
> > drivers/clk/qcom/gcc-x1e80100.c:6802:9: error: implicit declaration of function 'platform_driver_unregister'; did you mean 'driver_unregister'? [-Werror=implicit-function-declaration]
> >  6802 |         platform_driver_unregister(&gcc_x1e80100_driver);
> >       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
> >       |         driver_unregister
> > drivers/clk/qcom/gcc-x1e80100.c: At top level:
> > drivers/clk/qcom/gcc-x1e80100.c:6786:31: error: storage size of 'gcc_x1e80100_driver' isn't known
> >  6786 | static struct platform_driver gcc_x1e80100_driver = {
> >       |                               ^~~~~~~~~~~~~~~~~~~
> >
> > Caused by commit
> >
> >   0d18bcdebb2f ("of: Stop circularly including of_device.h and of_platform.h")
> >
> > interacting with commit
> >
> >   161b7c401f4b ("clk: qcom: Add Global Clock controller (GCC) driver for X1E80100")
> >
> > from the qcom tree.
> >
> > I have applied the following merge resolution patch.  This patch could
> > be applied to the gcom tree.
> >
> > From: Stephen Rothwell <sfr@canb.auug.org.au>
> > Date: Mon, 11 Dec 2023 15:47:55 +1100
> > Subject: [PATCH] fix up for "of: Stop circularly including of_device.h and of_platform.h"
> >
> > interacting with
> > "clk: qcom: Add Global Clock controller (GCC) driver for X1E80100"
> >
> > Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> > ---
> >  drivers/clk/qcom/gcc-x1e80100.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/clk/qcom/gcc-x1e80100.c b/drivers/clk/qcom/gcc-x1e80100.c
> > index 74db7fef237b..d7182d6e9783 100644
> > --- a/drivers/clk/qcom/gcc-x1e80100.c
> > +++ b/drivers/clk/qcom/gcc-x1e80100.c
> > @@ -4,8 +4,9 @@
> >   */
> >
> >  #include <linux/clk-provider.h>
> > +#include <linux/mod_devicetable.h>
> >  #include <linux/module.h>
> > -#include <linux/of_device.h>
> > +#include <linux/platform_device.h>
> >  #include <linux/regmap.h>
> >
> >  #include <dt-bindings/clock/qcom,x1e80100-gcc.h>
> > --
> > 2.40.1
>
> Did this get lost somewhere among the merges?  I am still applying the patch
> to linux-next.

Thanks for pointing that out. I guess the QCom folks never applied it.
I'm going to send the final patch to Linus today and will add this one
in.

Rob

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

* Re: linux-next: build failure after merge of the devicetree tree
  2023-12-11  5:05 Stephen Rothwell
  2023-12-12  9:04 ` Sibi Sankar
@ 2024-01-19  0:58 ` Stephen Rothwell
  2024-01-19 14:07   ` Rob Herring
  1 sibling, 1 reply; 20+ messages in thread
From: Stephen Rothwell @ 2024-01-19  0:58 UTC (permalink / raw)
  To: Rob Herring, Andy Gross
  Cc: Abel Vesa, Bjorn Andersson, Rajendra Nayak, Sibi Sankar,
	Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 3993 bytes --]

Hi all,

On Mon, 11 Dec 2023 16:05:10 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> After merging the devicetree tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> drivers/clk/qcom/gcc-x1e80100.c:6786:15: error: variable 'gcc_x1e80100_driver' has initializer but incomplete type
>  6786 | static struct platform_driver gcc_x1e80100_driver = {
>       |               ^~~~~~~~~~~~~~~
> drivers/clk/qcom/gcc-x1e80100.c:6787:10: error: 'struct platform_driver' has no member named 'probe'
>  6787 |         .probe = gcc_x1e80100_probe,
>       |          ^~~~~
> drivers/clk/qcom/gcc-x1e80100.c:6787:18: warning: excess elements in struct initializer
>  6787 |         .probe = gcc_x1e80100_probe,
>       |                  ^~~~~~~~~~~~~~~~~~
> drivers/clk/qcom/gcc-x1e80100.c:6787:18: note: (near initialization for 'gcc_x1e80100_driver')
> drivers/clk/qcom/gcc-x1e80100.c:6788:10: error: 'struct platform_driver' has no member named 'driver'
>  6788 |         .driver = {
>       |          ^~~~~~
> drivers/clk/qcom/gcc-x1e80100.c:6788:19: error: extra brace group at end of initializer
>  6788 |         .driver = {
>       |                   ^
> drivers/clk/qcom/gcc-x1e80100.c:6788:19: note: (near initialization for 'gcc_x1e80100_driver')
> drivers/clk/qcom/gcc-x1e80100.c:6788:19: warning: excess elements in struct initializer
> drivers/clk/qcom/gcc-x1e80100.c:6788:19: note: (near initialization for 'gcc_x1e80100_driver')
> drivers/clk/qcom/gcc-x1e80100.c: In function 'gcc_x1e80100_init':
> drivers/clk/qcom/gcc-x1e80100.c:6796:16: error: implicit declaration of function 'platform_driver_register' [-Werror=implicit-function-declaration]
>  6796 |         return platform_driver_register(&gcc_x1e80100_driver);
>       |                ^~~~~~~~~~~~~~~~~~~~~~~~
> drivers/clk/qcom/gcc-x1e80100.c: In function 'gcc_x1e80100_exit':
> drivers/clk/qcom/gcc-x1e80100.c:6802:9: error: implicit declaration of function 'platform_driver_unregister'; did you mean 'driver_unregister'? [-Werror=implicit-function-declaration]
>  6802 |         platform_driver_unregister(&gcc_x1e80100_driver);
>       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
>       |         driver_unregister
> drivers/clk/qcom/gcc-x1e80100.c: At top level:
> drivers/clk/qcom/gcc-x1e80100.c:6786:31: error: storage size of 'gcc_x1e80100_driver' isn't known
>  6786 | static struct platform_driver gcc_x1e80100_driver = {
>       |                               ^~~~~~~~~~~~~~~~~~~
> 
> Caused by commit
> 
>   0d18bcdebb2f ("of: Stop circularly including of_device.h and of_platform.h")
> 
> interacting with commit
> 
>   161b7c401f4b ("clk: qcom: Add Global Clock controller (GCC) driver for X1E80100")
> 
> from the qcom tree.
> 
> I have applied the following merge resolution patch.  This patch could
> be applied to the gcom tree.
> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Mon, 11 Dec 2023 15:47:55 +1100
> Subject: [PATCH] fix up for "of: Stop circularly including of_device.h and of_platform.h"
> 
> interacting with
> "clk: qcom: Add Global Clock controller (GCC) driver for X1E80100"
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
>  drivers/clk/qcom/gcc-x1e80100.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/clk/qcom/gcc-x1e80100.c b/drivers/clk/qcom/gcc-x1e80100.c
> index 74db7fef237b..d7182d6e9783 100644
> --- a/drivers/clk/qcom/gcc-x1e80100.c
> +++ b/drivers/clk/qcom/gcc-x1e80100.c
> @@ -4,8 +4,9 @@
>   */
>  
>  #include <linux/clk-provider.h>
> +#include <linux/mod_devicetable.h>
>  #include <linux/module.h>
> -#include <linux/of_device.h>
> +#include <linux/platform_device.h>
>  #include <linux/regmap.h>
>  
>  #include <dt-bindings/clock/qcom,x1e80100-gcc.h>
> -- 
> 2.40.1

Did this get lost somewhere among the merges?  I am still applying the patch
to linux-next.
-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: linux-next: build failure after merge of the devicetree tree
  2023-12-11  5:05 Stephen Rothwell
@ 2023-12-12  9:04 ` Sibi Sankar
  2024-01-19  0:58 ` Stephen Rothwell
  1 sibling, 0 replies; 20+ messages in thread
From: Sibi Sankar @ 2023-12-12  9:04 UTC (permalink / raw)
  To: Stephen Rothwell, Rob Herring, Andy Gross
  Cc: Abel Vesa, Bjorn Andersson, Rajendra Nayak,
	Linux Kernel Mailing List, Linux Next Mailing List



On 12/11/23 10:35, Stephen Rothwell wrote:
> Hi all,

Hey Stephen,
Thanks for the fix.

> 
> After merging the devicetree tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> drivers/clk/qcom/gcc-x1e80100.c:6786:15: error: variable 'gcc_x1e80100_driver' has initializer but incomplete type
>   6786 | static struct platform_driver gcc_x1e80100_driver = {
>        |               ^~~~~~~~~~~~~~~
> drivers/clk/qcom/gcc-x1e80100.c:6787:10: error: 'struct platform_driver' has no member named 'probe'
>   6787 |         .probe = gcc_x1e80100_probe,
>        |          ^~~~~
> drivers/clk/qcom/gcc-x1e80100.c:6787:18: warning: excess elements in struct initializer
>   6787 |         .probe = gcc_x1e80100_probe,
>        |                  ^~~~~~~~~~~~~~~~~~
> drivers/clk/qcom/gcc-x1e80100.c:6787:18: note: (near initialization for 'gcc_x1e80100_driver')
> drivers/clk/qcom/gcc-x1e80100.c:6788:10: error: 'struct platform_driver' has no member named 'driver'
>   6788 |         .driver = {
>        |          ^~~~~~
> drivers/clk/qcom/gcc-x1e80100.c:6788:19: error: extra brace group at end of initializer
>   6788 |         .driver = {
>        |                   ^
> drivers/clk/qcom/gcc-x1e80100.c:6788:19: note: (near initialization for 'gcc_x1e80100_driver')
> drivers/clk/qcom/gcc-x1e80100.c:6788:19: warning: excess elements in struct initializer
> drivers/clk/qcom/gcc-x1e80100.c:6788:19: note: (near initialization for 'gcc_x1e80100_driver')
> drivers/clk/qcom/gcc-x1e80100.c: In function 'gcc_x1e80100_init':
> drivers/clk/qcom/gcc-x1e80100.c:6796:16: error: implicit declaration of function 'platform_driver_register' [-Werror=implicit-function-declaration]
>   6796 |         return platform_driver_register(&gcc_x1e80100_driver);
>        |                ^~~~~~~~~~~~~~~~~~~~~~~~
> drivers/clk/qcom/gcc-x1e80100.c: In function 'gcc_x1e80100_exit':
> drivers/clk/qcom/gcc-x1e80100.c:6802:9: error: implicit declaration of function 'platform_driver_unregister'; did you mean 'driver_unregister'? [-Werror=implicit-function-declaration]
>   6802 |         platform_driver_unregister(&gcc_x1e80100_driver);
>        |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
>        |         driver_unregister
> drivers/clk/qcom/gcc-x1e80100.c: At top level:
> drivers/clk/qcom/gcc-x1e80100.c:6786:31: error: storage size of 'gcc_x1e80100_driver' isn't known
>   6786 | static struct platform_driver gcc_x1e80100_driver = {
>        |                               ^~~~~~~~~~~~~~~~~~~
> 
> Caused by commit
> 
>    0d18bcdebb2f ("of: Stop circularly including of_device.h and of_platform.h")
> 
> interacting with commit
> 
>    161b7c401f4b ("clk: qcom: Add Global Clock controller (GCC) driver for X1E80100")
> 
> from the qcom tree.
> 
> I have applied the following merge resolution patch.  This patch could
> be applied to the gcom tree.
> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Mon, 11 Dec 2023 15:47:55 +1100
> Subject: [PATCH] fix up for "of: Stop circularly including of_device.h and of_platform.h"
> 
> interacting with
> "clk: qcom: Add Global Clock controller (GCC) driver for X1E80100"
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>

Reviewed-by: Sibi Sankar <quic_sibis@quicinc.com>

> ---
>   drivers/clk/qcom/gcc-x1e80100.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/clk/qcom/gcc-x1e80100.c b/drivers/clk/qcom/gcc-x1e80100.c
> index 74db7fef237b..d7182d6e9783 100644
> --- a/drivers/clk/qcom/gcc-x1e80100.c
> +++ b/drivers/clk/qcom/gcc-x1e80100.c
> @@ -4,8 +4,9 @@
>    */
>   
>   #include <linux/clk-provider.h>
> +#include <linux/mod_devicetable.h>
>   #include <linux/module.h>
> -#include <linux/of_device.h>
> +#include <linux/platform_device.h>
>   #include <linux/regmap.h>
>   
>   #include <dt-bindings/clock/qcom,x1e80100-gcc.h>

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

* linux-next: build failure after merge of the devicetree tree
@ 2023-12-11  5:05 Stephen Rothwell
  2023-12-12  9:04 ` Sibi Sankar
  2024-01-19  0:58 ` Stephen Rothwell
  0 siblings, 2 replies; 20+ messages in thread
From: Stephen Rothwell @ 2023-12-11  5:05 UTC (permalink / raw)
  To: Rob Herring, Andy Gross
  Cc: Abel Vesa, Bjorn Andersson, Rajendra Nayak, Sibi Sankar,
	Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 3657 bytes --]

Hi all,

After merging the devicetree tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/clk/qcom/gcc-x1e80100.c:6786:15: error: variable 'gcc_x1e80100_driver' has initializer but incomplete type
 6786 | static struct platform_driver gcc_x1e80100_driver = {
      |               ^~~~~~~~~~~~~~~
drivers/clk/qcom/gcc-x1e80100.c:6787:10: error: 'struct platform_driver' has no member named 'probe'
 6787 |         .probe = gcc_x1e80100_probe,
      |          ^~~~~
drivers/clk/qcom/gcc-x1e80100.c:6787:18: warning: excess elements in struct initializer
 6787 |         .probe = gcc_x1e80100_probe,
      |                  ^~~~~~~~~~~~~~~~~~
drivers/clk/qcom/gcc-x1e80100.c:6787:18: note: (near initialization for 'gcc_x1e80100_driver')
drivers/clk/qcom/gcc-x1e80100.c:6788:10: error: 'struct platform_driver' has no member named 'driver'
 6788 |         .driver = {
      |          ^~~~~~
drivers/clk/qcom/gcc-x1e80100.c:6788:19: error: extra brace group at end of initializer
 6788 |         .driver = {
      |                   ^
drivers/clk/qcom/gcc-x1e80100.c:6788:19: note: (near initialization for 'gcc_x1e80100_driver')
drivers/clk/qcom/gcc-x1e80100.c:6788:19: warning: excess elements in struct initializer
drivers/clk/qcom/gcc-x1e80100.c:6788:19: note: (near initialization for 'gcc_x1e80100_driver')
drivers/clk/qcom/gcc-x1e80100.c: In function 'gcc_x1e80100_init':
drivers/clk/qcom/gcc-x1e80100.c:6796:16: error: implicit declaration of function 'platform_driver_register' [-Werror=implicit-function-declaration]
 6796 |         return platform_driver_register(&gcc_x1e80100_driver);
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/qcom/gcc-x1e80100.c: In function 'gcc_x1e80100_exit':
drivers/clk/qcom/gcc-x1e80100.c:6802:9: error: implicit declaration of function 'platform_driver_unregister'; did you mean 'driver_unregister'? [-Werror=implicit-function-declaration]
 6802 |         platform_driver_unregister(&gcc_x1e80100_driver);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |         driver_unregister
drivers/clk/qcom/gcc-x1e80100.c: At top level:
drivers/clk/qcom/gcc-x1e80100.c:6786:31: error: storage size of 'gcc_x1e80100_driver' isn't known
 6786 | static struct platform_driver gcc_x1e80100_driver = {
      |                               ^~~~~~~~~~~~~~~~~~~

Caused by commit

  0d18bcdebb2f ("of: Stop circularly including of_device.h and of_platform.h")

interacting with commit

  161b7c401f4b ("clk: qcom: Add Global Clock controller (GCC) driver for X1E80100")

from the qcom tree.

I have applied the following merge resolution patch.  This patch could
be applied to the gcom tree.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 11 Dec 2023 15:47:55 +1100
Subject: [PATCH] fix up for "of: Stop circularly including of_device.h and of_platform.h"

interacting with
"clk: qcom: Add Global Clock controller (GCC) driver for X1E80100"

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/clk/qcom/gcc-x1e80100.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/clk/qcom/gcc-x1e80100.c b/drivers/clk/qcom/gcc-x1e80100.c
index 74db7fef237b..d7182d6e9783 100644
--- a/drivers/clk/qcom/gcc-x1e80100.c
+++ b/drivers/clk/qcom/gcc-x1e80100.c
@@ -4,8 +4,9 @@
  */
 
 #include <linux/clk-provider.h>
+#include <linux/mod_devicetable.h>
 #include <linux/module.h>
-#include <linux/of_device.h>
+#include <linux/platform_device.h>
 #include <linux/regmap.h>
 
 #include <dt-bindings/clock/qcom,x1e80100-gcc.h>
-- 
2.40.1

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: linux-next: build failure after merge of the devicetree tree
  2023-12-08  2:51 Stephen Rothwell
@ 2023-12-08  7:34 ` Krzysztof Kozlowski
  0 siblings, 0 replies; 20+ messages in thread
From: Krzysztof Kozlowski @ 2023-12-08  7:34 UTC (permalink / raw)
  To: Stephen Rothwell, Rob Herring
  Cc: Kris Chaplin, Thomas Delev, Linux Kernel Mailing List,
	Linux Next Mailing List

On 08/12/2023 03:51, Stephen Rothwell wrote:
> Hi all,
> 
> After merging the devicetree tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> drivers/w1/masters/amd_axi_w1.c: In function 'amd_axi_w1_probe':
> drivers/w1/masters/amd_axi_w1.c:296:35: error: invalid use of undefined type 'struct platform_device'
>   296 |         struct device *dev = &pdev->dev;
>       |                                   ^~

Thanks. I saw a fix from Rob for this, I just did not know this is that
urgent. I will apply it today.

Best regards,
Krzysztof


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

* Re: linux-next: build failure after merge of the devicetree tree
  2023-12-07 22:05     ` Rob Herring
@ 2023-12-08  3:11       ` Stephen Rothwell
  0 siblings, 0 replies; 20+ messages in thread
From: Stephen Rothwell @ 2023-12-08  3:11 UTC (permalink / raw)
  To: Rob Herring; +Cc: Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 1725 bytes --]

Hi Rob,

On Thu, 7 Dec 2023 16:05:27 -0600 Rob Herring <robh@kernel.org> wrote:
>
> On Thu, Dec 7, 2023 at 2:58 PM Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> >
> > On Thu, 7 Dec 2023 09:11:22 -0600 Rob Herring <robh@kernel.org> wrote:  
> > >
> > > I'm sending out fixes for all these. I want to get the final patch
> > > ("of: Stop circularly including of_device.h and of_platform.h") for
> > > all this in next to get some better build coverage and catch any new
> > > drivers added. But if it is dropped for every new driver that breaks,
> > > I'll never get it in. Can you fix these up or just leave them broken?
> > > I can keep the fixes in my tree until they get applied by the
> > > corresponding subsystem.  
> >
> > These dependencies between trees are impossible to handle.  Please if
> > you really need the final patch in, then you must put all the necessary
> > fixes in the same branch.  There is no telling what order Linus (or I)
> > will merge the interdependent branches.
> >
> > The alternative is to spray the needed fixes out to the other
> > subsystems and then put the final patch in after the merge window
> > closes or the next release.  
> 
> Yes, that's what I've been doing since July and plan to do for the
> final patch. The final patch can't wait a cycle because then we'll
> just have more moles to wack. There's a couple of dependencies that
> still haven't been picked up (seems Sparc is unmaintained), so I'm
> going to send those along. I'll carry any further fixes until they I
> see they are applied.

OK, so I have moved your tree to be merged last and I fixed up the new
driver, so hopefully we are good, now.
-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* linux-next: build failure after merge of the devicetree tree
@ 2023-12-08  2:51 Stephen Rothwell
  2023-12-08  7:34 ` Krzysztof Kozlowski
  0 siblings, 1 reply; 20+ messages in thread
From: Stephen Rothwell @ 2023-12-08  2:51 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski
  Cc: Kris Chaplin, Thomas Delev, Linux Kernel Mailing List,
	Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 5808 bytes --]

Hi all,

After merging the devicetree tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/w1/masters/amd_axi_w1.c: In function 'amd_axi_w1_probe':
drivers/w1/masters/amd_axi_w1.c:296:35: error: invalid use of undefined type 'struct platform_device'
  296 |         struct device *dev = &pdev->dev;
      |                                   ^~
drivers/w1/masters/amd_axi_w1.c:307:25: error: implicit declaration of function 'devm_platform_ioremap_resource'; did you mean 'devm_ioremap_resource'? [-Werror=implicit-function-declaration]
  307 |         lp->base_addr = devm_platform_ioremap_resource(pdev, 0);
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                         devm_ioremap_resource
drivers/w1/masters/amd_axi_w1.c:307:23: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  307 |         lp->base_addr = devm_platform_ioremap_resource(pdev, 0);
      |                       ^
drivers/w1/masters/amd_axi_w1.c:311:19: error: implicit declaration of function 'platform_get_irq'; did you mean 'platform_notify'? [-Werror=implicit-function-declaration]
  311 |         lp->irq = platform_get_irq(pdev, 0);
      |                   ^~~~~~~~~~~~~~~~
      |                   platform_notify
drivers/w1/masters/amd_axi_w1.c:360:9: error: implicit declaration of function 'platform_set_drvdata' [-Werror=implicit-function-declaration]
  360 |         platform_set_drvdata(pdev, lp);
      |         ^~~~~~~~~~~~~~~~~~~~
drivers/w1/masters/amd_axi_w1.c: In function 'amd_axi_w1_remove':
drivers/w1/masters/amd_axi_w1.c:372:39: error: implicit declaration of function 'platform_get_drvdata' [-Werror=implicit-function-declaration]
  372 |         struct amd_axi_w1_local *lp = platform_get_drvdata(pdev);
      |                                       ^~~~~~~~~~~~~~~~~~~~
drivers/w1/masters/amd_axi_w1.c:372:39: warning: initialization of 'struct amd_axi_w1_local *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
drivers/w1/masters/amd_axi_w1.c: At top level:
drivers/w1/masters/amd_axi_w1.c:383:15: error: variable 'amd_axi_w1_driver' has initializer but incomplete type
  383 | static struct platform_driver amd_axi_w1_driver = {
      |               ^~~~~~~~~~~~~~~
drivers/w1/masters/amd_axi_w1.c:384:10: error: 'struct platform_driver' has no member named 'probe'
  384 |         .probe = amd_axi_w1_probe,
      |          ^~~~~
drivers/w1/masters/amd_axi_w1.c:384:18: warning: excess elements in struct initializer
  384 |         .probe = amd_axi_w1_probe,
      |                  ^~~~~~~~~~~~~~~~
drivers/w1/masters/amd_axi_w1.c:384:18: note: (near initialization for 'amd_axi_w1_driver')
drivers/w1/masters/amd_axi_w1.c:385:10: error: 'struct platform_driver' has no member named 'remove_new'
  385 |         .remove_new = amd_axi_w1_remove,
      |          ^~~~~~~~~~
drivers/w1/masters/amd_axi_w1.c:385:23: warning: excess elements in struct initializer
  385 |         .remove_new = amd_axi_w1_remove,
      |                       ^~~~~~~~~~~~~~~~~
drivers/w1/masters/amd_axi_w1.c:385:23: note: (near initialization for 'amd_axi_w1_driver')
drivers/w1/masters/amd_axi_w1.c:386:10: error: 'struct platform_driver' has no member named 'driver'
  386 |         .driver = {
      |          ^~~~~~
drivers/w1/masters/amd_axi_w1.c:386:19: error: extra brace group at end of initializer
  386 |         .driver = {
      |                   ^
drivers/w1/masters/amd_axi_w1.c:386:19: note: (near initialization for 'amd_axi_w1_driver')
drivers/w1/masters/amd_axi_w1.c:386:19: warning: excess elements in struct initializer
drivers/w1/masters/amd_axi_w1.c:386:19: note: (near initialization for 'amd_axi_w1_driver')
drivers/w1/masters/amd_axi_w1.c:391:1: warning: data definition has no type or storage class
  391 | module_platform_driver(amd_axi_w1_driver);
      | ^~~~~~~~~~~~~~~~~~~~~~
drivers/w1/masters/amd_axi_w1.c:391:1: error: type defaults to 'int' in declaration of 'module_platform_driver' [-Werror=implicit-int]
drivers/w1/masters/amd_axi_w1.c:391:1: warning: parameter names (without types) in function declaration
drivers/w1/masters/amd_axi_w1.c:383:31: error: storage size of 'amd_axi_w1_driver' isn't known
  383 | static struct platform_driver amd_axi_w1_driver = {
      |                               ^~~~~~~~~~~~~~~~~
drivers/w1/masters/amd_axi_w1.c:383:31: warning: 'amd_axi_w1_driver' defined but not used [-Wunused-variable]

Caused by commit

  0d18bcdebb2f ("of: Stop circularly including of_device.h and of_platform.h")

interacting with commit

  271c81935801 ("w1: Add AXI 1-wire host driver for AMD programmable logic IP core")

from the w1 tree.

I have applied the following merge fix patch for today (that could just
be applied to the w1 tree).

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Fri, 8 Dec 2023 13:37:03 +1100
Subject: [PATCH] amd_axi_w1: include the correct files

This is to cope with "of: Stop circularly including of_device.h and
of_platform.h"

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/w1/masters/amd_axi_w1.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/w1/masters/amd_axi_w1.c b/drivers/w1/masters/amd_axi_w1.c
index 24a05c2de5f1..f8b31cae450d 100644
--- a/drivers/w1/masters/amd_axi_w1.c
+++ b/drivers/w1/masters/amd_axi_w1.c
@@ -13,7 +13,8 @@
 #include <linux/jiffies.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
-#include <linux/of_platform.h>
+#include <linux/platform_device.h>
+#include <linux/mod_devicetable.h>
 #include <linux/types.h>
 #include <linux/wait.h>
 
-- 
2.40.1

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: linux-next: build failure after merge of the devicetree tree
  2023-12-07 20:58   ` Stephen Rothwell
@ 2023-12-07 22:05     ` Rob Herring
  2023-12-08  3:11       ` Stephen Rothwell
  0 siblings, 1 reply; 20+ messages in thread
From: Rob Herring @ 2023-12-07 22:05 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: Linux Kernel Mailing List, Linux Next Mailing List

On Thu, Dec 7, 2023 at 2:58 PM Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Hi Rob,
>
> On Thu, 7 Dec 2023 09:11:22 -0600 Rob Herring <robh@kernel.org> wrote:
> >
> > I'm sending out fixes for all these. I want to get the final patch
> > ("of: Stop circularly including of_device.h and of_platform.h") for
> > all this in next to get some better build coverage and catch any new
> > drivers added. But if it is dropped for every new driver that breaks,
> > I'll never get it in. Can you fix these up or just leave them broken?
> > I can keep the fixes in my tree until they get applied by the
> > corresponding subsystem.
>
> These dependencies between trees are impossible to handle.  Please if
> you really need the final patch in, then you must put all the necessary
> fixes in the same branch.  There is no telling what order Linus (or I)
> will merge the interdependent branches.
>
> The alternative is to spray the needed fixes out to the other
> subsystems and then put the final patch in after the merge window
> closes or the next release.

Yes, that's what I've been doing since July and plan to do for the
final patch. The final patch can't wait a cycle because then we'll
just have more moles to wack. There's a couple of dependencies that
still haven't been picked up (seems Sparc is unmaintained), so I'm
going to send those along. I'll carry any further fixes until they I
see they are applied.

> I cannot "just leave them broken" because that will interfere with
> other's trying to get their work done. I will try fix up the newly
> added drivers if they are obvious, but in the case of these include file
> cleanups, that can be quite difficult sometimes.

The simple (but not completely correct) fix is usually just add of.h
and platform_device.h. There could be a case of needing of_platform.h
instead of of_device.h or vice-versa, but those should all be fixed
and rare in new code.

Thanks,
Rob

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

* Re: linux-next: build failure after merge of the devicetree tree
  2023-12-07 15:11 ` Rob Herring
@ 2023-12-07 20:58   ` Stephen Rothwell
  2023-12-07 22:05     ` Rob Herring
  0 siblings, 1 reply; 20+ messages in thread
From: Stephen Rothwell @ 2023-12-07 20:58 UTC (permalink / raw)
  To: Rob Herring; +Cc: Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 1253 bytes --]

Hi Rob,

On Thu, 7 Dec 2023 09:11:22 -0600 Rob Herring <robh@kernel.org> wrote:
>
> I'm sending out fixes for all these. I want to get the final patch
> ("of: Stop circularly including of_device.h and of_platform.h") for
> all this in next to get some better build coverage and catch any new
> drivers added. But if it is dropped for every new driver that breaks,
> I'll never get it in. Can you fix these up or just leave them broken?
> I can keep the fixes in my tree until they get applied by the
> corresponding subsystem.

These dependencies between trees are impossible to handle.  Please if
you really need the final patch in, then you must put all the necessary
fixes in the same branch.  There is no telling what order Linus (or I)
will merge the interdependent branches.

The alternative is to spray the needed fixes out to the other
subsystems and then put the final patch in after the merge window
closes or the next release.

I cannot "just leave them broken" because that will interfere with
other's trying to get their work done.  I will try fix up the newly
added drivers if they are obvious, but in the case of these include file
cleanups, that can be quite difficult sometimes.
-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: linux-next: build failure after merge of the devicetree tree
  2023-12-07  1:57 Stephen Rothwell
@ 2023-12-07 15:11 ` Rob Herring
  2023-12-07 20:58   ` Stephen Rothwell
  0 siblings, 1 reply; 20+ messages in thread
From: Rob Herring @ 2023-12-07 15:11 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: Linux Kernel Mailing List, Linux Next Mailing List

On Wed, Dec 6, 2023 at 7:57 PM Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Hi all,
>
> After merging the devicetree tree, today's linux-next build (x86_64
> allmodconfig) failed like this:

Not too surprised...

> drivers/auxdisplay/img-ascii-lcd.c: In function 'img_ascii_lcd_probe':

This is fixed in the auxdisplay tree. There are other trees with
dependencies as well, so I guess they happen to get merged before the
DT tree?

> drivers/firmware/microchip/mpfs-auto-update.c:439:42: warning: 'struct platform_device' declared inside parameter list will not be visible outside of this definition or declaration
> drivers/gpu/drm/bridge/aux-hpd-bridge.c:27:9: error: implicit declaration of function 'of_node_put' [-Werror=implicit-function-declaration]

These look like new drivers since I last tested.

> drivers/tty/serial/esp32_acm.c:367:37: warning: 'struct platform_device' declared inside parameter list will not be visible outside of this definition or declaration
> drivers/tty/serial/esp32_uart.c:678:36: warning: 'struct platform_device' declared inside parameter list will not be visible outside of this definition or declaration

This one I just missed...

I'm sending out fixes for all these. I want to get the final patch
("of: Stop circularly including of_device.h and of_platform.h") for
all this in next to get some better build coverage and catch any new
drivers added. But if it is dropped for every new driver that breaks,
I'll never get it in. Can you fix these up or just leave them broken?
I can keep the fixes in my tree until they get applied by the
corresponding subsystem.

Rob

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

* linux-next: build failure after merge of the devicetree tree
@ 2023-12-07  1:57 Stephen Rothwell
  2023-12-07 15:11 ` Rob Herring
  0 siblings, 1 reply; 20+ messages in thread
From: Stephen Rothwell @ 2023-12-07  1:57 UTC (permalink / raw)
  To: Rob Herring; +Cc: Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 21439 bytes --]

Hi all,

After merging the devicetree tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/auxdisplay/img-ascii-lcd.c: In function 'img_ascii_lcd_probe':
drivers/auxdisplay/img-ascii-lcd.c:234:17: error: implicit declaration of function 'of_match_device'; did you mean 'of_match_node'? [-Werror=implicit-function-declaration]
  234 |         match = of_match_device(img_ascii_lcd_matches, dev);
      |                 ^~~~~~~~~~~~~~~
      |                 of_match_node
drivers/auxdisplay/img-ascii-lcd.c:234:15: warning: assignment to 'const struct of_device_id *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  234 |         match = of_match_device(img_ascii_lcd_matches, dev);
      |               ^
drivers/firmware/microchip/mpfs-auto-update.c:439:42: warning: 'struct platform_device' declared inside parameter list will not be visible outside of this definition or declaration
  439 | static int mpfs_auto_update_probe(struct platform_device *pdev)
      |                                          ^~~~~~~~~~~~~~~
drivers/firmware/microchip/mpfs-auto-update.c: In function 'mpfs_auto_update_probe':
drivers/firmware/microchip/mpfs-auto-update.c:441:35: error: invalid use of undefined type 'struct platform_device'
  441 |         struct device *dev = &pdev->dev;
      |                                   ^~
drivers/firmware/microchip/mpfs-auto-update.c:456:9: error: implicit declaration of function 'platform_set_drvdata' [-Werror=implicit-function-declaration]
  456 |         platform_set_drvdata(pdev, priv);
      |         ^~~~~~~~~~~~~~~~~~~~
drivers/firmware/microchip/mpfs-auto-update.c: At top level:
drivers/firmware/microchip/mpfs-auto-update.c:476:44: warning: 'struct platform_device' declared inside parameter list will not be visible outside of this definition or declaration
  476 | static void mpfs_auto_update_remove(struct platform_device *pdev)
      |                                            ^~~~~~~~~~~~~~~
drivers/firmware/microchip/mpfs-auto-update.c: In function 'mpfs_auto_update_remove':
drivers/firmware/microchip/mpfs-auto-update.c:478:46: error: implicit declaration of function 'platform_get_drvdata' [-Werror=implicit-function-declaration]
  478 |         struct mpfs_auto_update_priv *priv = platform_get_drvdata(pdev);
      |                                              ^~~~~~~~~~~~~~~~~~~~
drivers/firmware/microchip/mpfs-auto-update.c:478:46: warning: initialization of 'struct mpfs_auto_update_priv *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
drivers/firmware/microchip/mpfs-auto-update.c: At top level:
drivers/firmware/microchip/mpfs-auto-update.c:483:15: error: variable 'mpfs_auto_update_driver' has initializer but incomplete type
  483 | static struct platform_driver mpfs_auto_update_driver = {
      |               ^~~~~~~~~~~~~~~
drivers/firmware/microchip/mpfs-auto-update.c:484:10: error: 'struct platform_driver' has no member named 'driver'
  484 |         .driver = {
      |          ^~~~~~
drivers/firmware/microchip/mpfs-auto-update.c:484:19: error: extra brace group at end of initializer
  484 |         .driver = {
      |                   ^
drivers/firmware/microchip/mpfs-auto-update.c:484:19: note: (near initialization for 'mpfs_auto_update_driver')
drivers/firmware/microchip/mpfs-auto-update.c:484:19: warning: excess elements in struct initializer
drivers/firmware/microchip/mpfs-auto-update.c:484:19: note: (near initialization for 'mpfs_auto_update_driver')
drivers/firmware/microchip/mpfs-auto-update.c:487:10: error: 'struct platform_driver' has no member named 'probe'
  487 |         .probe = mpfs_auto_update_probe,
      |          ^~~~~
drivers/firmware/microchip/mpfs-auto-update.c:487:18: warning: excess elements in struct initializer
  487 |         .probe = mpfs_auto_update_probe,
      |                  ^~~~~~~~~~~~~~~~~~~~~~
drivers/firmware/microchip/mpfs-auto-update.c:487:18: note: (near initialization for 'mpfs_auto_update_driver')
drivers/firmware/microchip/mpfs-auto-update.c:488:10: error: 'struct platform_driver' has no member named 'remove_new'
  488 |         .remove_new = mpfs_auto_update_remove,
      |          ^~~~~~~~~~
drivers/firmware/microchip/mpfs-auto-update.c:488:23: warning: excess elements in struct initializer
  488 |         .remove_new = mpfs_auto_update_remove,
      |                       ^~~~~~~~~~~~~~~~~~~~~~~
drivers/firmware/microchip/mpfs-auto-update.c:488:23: note: (near initialization for 'mpfs_auto_update_driver')
drivers/firmware/microchip/mpfs-auto-update.c:490:1: warning: data definition has no type or storage class
  490 | module_platform_driver(mpfs_auto_update_driver);
      | ^~~~~~~~~~~~~~~~~~~~~~
drivers/firmware/microchip/mpfs-auto-update.c:490:1: error: type defaults to 'int' in declaration of 'module_platform_driver' [-Werror=implicit-int]
drivers/firmware/microchip/mpfs-auto-update.c:490:1: warning: parameter names (without types) in function declaration
drivers/firmware/microchip/mpfs-auto-update.c:483:31: error: storage size of 'mpfs_auto_update_driver' isn't known
  483 | static struct platform_driver mpfs_auto_update_driver = {
      |                               ^~~~~~~~~~~~~~~~~~~~~~~
drivers/firmware/microchip/mpfs-auto-update.c:483:31: warning: 'mpfs_auto_update_driver' defined but not used [-Wunused-variable]
drivers/gpu/drm/bridge/aux-hpd-bridge.c: In function 'drm_aux_hpd_bridge_release':
drivers/gpu/drm/bridge/aux-hpd-bridge.c:27:9: error: implicit declaration of function 'of_node_put' [-Werror=implicit-function-declaration]
   27 |         of_node_put(adev->dev.platform_data);
      |         ^~~~~~~~~~~
drivers/tty/serial/esp32_acm.c:367:37: warning: 'struct platform_device' declared inside parameter list will not be visible outside of this definition or declaration
  367 | static int esp32s3_acm_probe(struct platform_device *pdev)
      |                                     ^~~~~~~~~~~~~~~
drivers/tty/serial/esp32_acm.c: In function 'esp32s3_acm_probe':
drivers/tty/serial/esp32_acm.c:369:38: error: invalid use of undefined type 'struct platform_device'
  369 |         struct device_node *np = pdev->dev.of_node;
      |                                      ^~
drivers/tty/serial/esp32_acm.c:374:34: error: invalid use of undefined type 'struct platform_device'
  374 |         port = devm_kzalloc(&pdev->dev, sizeof(*port), GFP_KERNEL);
      |                                  ^~
In file included from include/linux/device.h:15,
                 from include/linux/cdev.h:8,
                 from include/linux/tty_driver.h:9,
                 from include/linux/tty.h:10,
                 from include/linux/serial_core.h:17,
                 from drivers/tty/serial/esp32_acm.c:12:
drivers/tty/serial/esp32_acm.c:380:30: error: invalid use of undefined type 'struct platform_device'
  380 |                 dev_err(&pdev->dev, "failed to get alias id, errno %d\n", ret);
      |                              ^~
include/linux/dev_printk.h:110:25: note: in definition of macro 'dev_printk_index_wrap'
  110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
      |                         ^~~
drivers/tty/serial/esp32_acm.c:380:17: note: in expansion of macro 'dev_err'
  380 |                 dev_err(&pdev->dev, "failed to get alias id, errno %d\n", ret);
      |                 ^~~~~~~
drivers/tty/serial/esp32_acm.c:384:30: error: invalid use of undefined type 'struct platform_device'
  384 |                 dev_err(&pdev->dev, "driver limited to %d serial ports\n",
      |                              ^~
include/linux/dev_printk.h:110:25: note: in definition of macro 'dev_printk_index_wrap'
  110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
      |                         ^~~
drivers/tty/serial/esp32_acm.c:384:17: note: in expansion of macro 'dev_err'
  384 |                 dev_err(&pdev->dev, "driver limited to %d serial ports\n",
      |                 ^~~~~~~
drivers/tty/serial/esp32_acm.c:391:15: error: implicit declaration of function 'platform_get_resource' [-Werror=implicit-function-declaration]
  391 |         res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
      |               ^~~~~~~~~~~~~~~~~~~~~
drivers/tty/serial/esp32_acm.c:391:13: warning: assignment to 'struct resource *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  391 |         res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
      |             ^
drivers/tty/serial/esp32_acm.c:396:52: error: invalid use of undefined type 'struct platform_device'
  396 |         port->membase = devm_ioremap_resource(&pdev->dev, res);
      |                                                    ^~
drivers/tty/serial/esp32_acm.c:400:26: error: invalid use of undefined type 'struct platform_device'
  400 |         port->dev = &pdev->dev;
      |                          ^~
drivers/tty/serial/esp32_acm.c:403:21: error: implicit declaration of function 'platform_get_irq'; did you mean 'platform_notify'? [-Werror=implicit-function-declaration]
  403 |         port->irq = platform_get_irq(pdev, 0);
      |                     ^~~~~~~~~~~~~~~~
      |                     platform_notify
drivers/tty/serial/esp32_acm.c:411:9: error: implicit declaration of function 'platform_set_drvdata' [-Werror=implicit-function-declaration]
  411 |         platform_set_drvdata(pdev, port);
      |         ^~~~~~~~~~~~~~~~~~~~
drivers/tty/serial/esp32_acm.c: At top level:
drivers/tty/serial/esp32_acm.c:416:38: warning: 'struct platform_device' declared inside parameter list will not be visible outside of this definition or declaration
  416 | static int esp32s3_acm_remove(struct platform_device *pdev)
      |                                      ^~~~~~~~~~~~~~~
drivers/tty/serial/esp32_acm.c: In function 'esp32s3_acm_remove':
drivers/tty/serial/esp32_acm.c:418:34: error: implicit declaration of function 'platform_get_drvdata' [-Werror=implicit-function-declaration]
  418 |         struct uart_port *port = platform_get_drvdata(pdev);
      |                                  ^~~~~~~~~~~~~~~~~~~~
drivers/tty/serial/esp32_acm.c:418:34: warning: initialization of 'struct uart_port *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
drivers/tty/serial/esp32_acm.c: At top level:
drivers/tty/serial/esp32_acm.c:425:15: error: variable 'esp32s3_acm_driver' has initializer but incomplete type
  425 | static struct platform_driver esp32s3_acm_driver = {
      |               ^~~~~~~~~~~~~~~
drivers/tty/serial/esp32_acm.c:426:10: error: 'struct platform_driver' has no member named 'probe'
  426 |         .probe          = esp32s3_acm_probe,
      |          ^~~~~
drivers/tty/serial/esp32_acm.c:426:27: warning: excess elements in struct initializer
  426 |         .probe          = esp32s3_acm_probe,
      |                           ^~~~~~~~~~~~~~~~~
drivers/tty/serial/esp32_acm.c:426:27: note: (near initialization for 'esp32s3_acm_driver')
drivers/tty/serial/esp32_acm.c:427:10: error: 'struct platform_driver' has no member named 'remove'
  427 |         .remove         = esp32s3_acm_remove,
      |          ^~~~~~
drivers/tty/serial/esp32_acm.c:427:27: warning: excess elements in struct initializer
  427 |         .remove         = esp32s3_acm_remove,
      |                           ^~~~~~~~~~~~~~~~~~
drivers/tty/serial/esp32_acm.c:427:27: note: (near initialization for 'esp32s3_acm_driver')
drivers/tty/serial/esp32_acm.c:428:10: error: 'struct platform_driver' has no member named 'driver'
  428 |         .driver         = {
      |          ^~~~~~
drivers/tty/serial/esp32_acm.c:428:27: error: extra brace group at end of initializer
  428 |         .driver         = {
      |                           ^
drivers/tty/serial/esp32_acm.c:428:27: note: (near initialization for 'esp32s3_acm_driver')
drivers/tty/serial/esp32_acm.c:428:27: warning: excess elements in struct initializer
drivers/tty/serial/esp32_acm.c:428:27: note: (near initialization for 'esp32s3_acm_driver')
drivers/tty/serial/esp32_acm.c: In function 'esp32s3_acm_init':
drivers/tty/serial/esp32_acm.c:442:15: error: implicit declaration of function 'platform_driver_register' [-Werror=implicit-function-declaration]
  442 |         ret = platform_driver_register(&esp32s3_acm_driver);
      |               ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/tty/serial/esp32_acm.c: In function 'esp32s3_acm_exit':
drivers/tty/serial/esp32_acm.c:451:9: error: implicit declaration of function 'platform_driver_unregister'; did you mean 'driver_unregister'? [-Werror=implicit-function-declaration]
  451 |         platform_driver_unregister(&esp32s3_acm_driver);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |         driver_unregister
drivers/tty/serial/esp32_acm.c: At top level:
drivers/tty/serial/esp32_acm.c:425:31: error: storage size of 'esp32s3_acm_driver' isn't known
  425 | static struct platform_driver esp32s3_acm_driver = {
      |                               ^~~~~~~~~~~~~~~~~~
drivers/tty/serial/esp32_uart.c:678:36: warning: 'struct platform_device' declared inside parameter list will not be visible outside of this definition or declaration
  678 | static int esp32_uart_probe(struct platform_device *pdev)
      |                                    ^~~~~~~~~~~~~~~
drivers/tty/serial/esp32_uart.c: In function 'esp32_uart_probe':
drivers/tty/serial/esp32_uart.c:680:38: error: invalid use of undefined type 'struct platform_device'
  680 |         struct device_node *np = pdev->dev.of_node;
      |                                      ^~
drivers/tty/serial/esp32_uart.c:687:57: error: invalid use of undefined type 'struct platform_device'
  687 |         match = of_match_device(esp32_uart_dt_ids, &pdev->dev);
      |                                                         ^~
drivers/tty/serial/esp32_uart.c:691:35: error: invalid use of undefined type 'struct platform_device'
  691 |         sport = devm_kzalloc(&pdev->dev, sizeof(*sport), GFP_KERNEL);
      |                                   ^~
In file included from include/linux/device.h:15,
                 from include/linux/cdev.h:8,
                 from include/linux/tty_driver.h:9,
                 from include/linux/tty.h:10,
                 from include/linux/serial_core.h:17,
                 from drivers/tty/serial/esp32_uart.c:13:
drivers/tty/serial/esp32_uart.c:699:30: error: invalid use of undefined type 'struct platform_device'
  699 |                 dev_err(&pdev->dev, "failed to get alias id, errno %d\n", ret);
      |                              ^~
include/linux/dev_printk.h:110:25: note: in definition of macro 'dev_printk_index_wrap'
  110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
      |                         ^~~
drivers/tty/serial/esp32_uart.c:699:17: note: in expansion of macro 'dev_err'
  699 |                 dev_err(&pdev->dev, "failed to get alias id, errno %d\n", ret);
      |                 ^~~~~~~
drivers/tty/serial/esp32_uart.c:703:30: error: invalid use of undefined type 'struct platform_device'
  703 |                 dev_err(&pdev->dev, "driver limited to %d serial ports\n", UART_NR);
      |                              ^~
include/linux/dev_printk.h:110:25: note: in definition of macro 'dev_printk_index_wrap'
  110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
      |                         ^~~
drivers/tty/serial/esp32_uart.c:703:17: note: in expansion of macro 'dev_err'
  703 |                 dev_err(&pdev->dev, "driver limited to %d serial ports\n", UART_NR);
      |                 ^~~~~~~
drivers/tty/serial/esp32_uart.c:709:15: error: implicit declaration of function 'platform_get_resource' [-Werror=implicit-function-declaration]
  709 |         res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
      |               ^~~~~~~~~~~~~~~~~~~~~
drivers/tty/serial/esp32_uart.c:709:13: warning: assignment to 'struct resource *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  709 |         res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
      |             ^
drivers/tty/serial/esp32_uart.c:714:52: error: invalid use of undefined type 'struct platform_device'
  714 |         port->membase = devm_ioremap_resource(&pdev->dev, res);
      |                                                    ^~
drivers/tty/serial/esp32_uart.c:718:40: error: invalid use of undefined type 'struct platform_device'
  718 |         sport->clk = devm_clk_get(&pdev->dev, NULL);
      |                                        ^~
drivers/tty/serial/esp32_uart.c:723:26: error: invalid use of undefined type 'struct platform_device'
  723 |         port->dev = &pdev->dev;
      |                          ^~
drivers/tty/serial/esp32_uart.c:726:21: error: implicit declaration of function 'platform_get_irq'; did you mean 'platform_notify'? [-Werror=implicit-function-declaration]
  726 |         port->irq = platform_get_irq(pdev, 0);
      |                     ^~~~~~~~~~~~~~~~
      |                     platform_notify
drivers/tty/serial/esp32_uart.c:735:9: error: implicit declaration of function 'platform_set_drvdata' [-Werror=implicit-function-declaration]
  735 |         platform_set_drvdata(pdev, port);
      |         ^~~~~~~~~~~~~~~~~~~~
drivers/tty/serial/esp32_uart.c: At top level:
drivers/tty/serial/esp32_uart.c:740:37: warning: 'struct platform_device' declared inside parameter list will not be visible outside of this definition or declaration
  740 | static int esp32_uart_remove(struct platform_device *pdev)
      |                                     ^~~~~~~~~~~~~~~
drivers/tty/serial/esp32_uart.c: In function 'esp32_uart_remove':
drivers/tty/serial/esp32_uart.c:742:34: error: implicit declaration of function 'platform_get_drvdata' [-Werror=implicit-function-declaration]
  742 |         struct uart_port *port = platform_get_drvdata(pdev);
      |                                  ^~~~~~~~~~~~~~~~~~~~
drivers/tty/serial/esp32_uart.c:742:34: warning: initialization of 'struct uart_port *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
drivers/tty/serial/esp32_uart.c: At top level:
drivers/tty/serial/esp32_uart.c:750:15: error: variable 'esp32_uart_driver' has initializer but incomplete type
  750 | static struct platform_driver esp32_uart_driver = {
      |               ^~~~~~~~~~~~~~~
drivers/tty/serial/esp32_uart.c:751:10: error: 'struct platform_driver' has no member named 'probe'
  751 |         .probe          = esp32_uart_probe,
      |          ^~~~~
drivers/tty/serial/esp32_uart.c:751:27: warning: excess elements in struct initializer
  751 |         .probe          = esp32_uart_probe,
      |                           ^~~~~~~~~~~~~~~~
drivers/tty/serial/esp32_uart.c:751:27: note: (near initialization for 'esp32_uart_driver')
drivers/tty/serial/esp32_uart.c:752:10: error: 'struct platform_driver' has no member named 'remove'
  752 |         .remove         = esp32_uart_remove,
      |          ^~~~~~
drivers/tty/serial/esp32_uart.c:752:27: warning: excess elements in struct initializer
  752 |         .remove         = esp32_uart_remove,
      |                           ^~~~~~~~~~~~~~~~~
drivers/tty/serial/esp32_uart.c:752:27: note: (near initialization for 'esp32_uart_driver')
drivers/tty/serial/esp32_uart.c:753:10: error: 'struct platform_driver' has no member named 'driver'
  753 |         .driver         = {
      |          ^~~~~~
drivers/tty/serial/esp32_uart.c:753:27: error: extra brace group at end of initializer
  753 |         .driver         = {
      |                           ^
drivers/tty/serial/esp32_uart.c:753:27: note: (near initialization for 'esp32_uart_driver')
drivers/tty/serial/esp32_uart.c:753:27: warning: excess elements in struct initializer
drivers/tty/serial/esp32_uart.c:753:27: note: (near initialization for 'esp32_uart_driver')
drivers/tty/serial/esp32_uart.c: In function 'esp32_uart_init':
drivers/tty/serial/esp32_uart.c:767:15: error: implicit declaration of function 'platform_driver_register' [-Werror=implicit-function-declaration]
  767 |         ret = platform_driver_register(&esp32_uart_driver);
      |               ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/tty/serial/esp32_uart.c: In function 'esp32_uart_exit':
drivers/tty/serial/esp32_uart.c:776:9: error: implicit declaration of function 'platform_driver_unregister'; did you mean 'driver_unregister'? [-Werror=implicit-function-declaration]
  776 |         platform_driver_unregister(&esp32_uart_driver);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |         driver_unregister
drivers/tty/serial/esp32_uart.c: At top level:
drivers/tty/serial/esp32_uart.c:750:31: error: storage size of 'esp32_uart_driver' isn't known
  750 | static struct platform_driver esp32_uart_driver = {
      |                               ^~~~~~~~~~~~~~~~~

Presumably caused by commit

  f793fea7761d ("of: Stop circularly including of_device.h and of_platform.h")

I have used the devicetree tree from next-20231206 for today.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* linux-next: build failure after merge of the devicetree tree
@ 2023-04-11  2:28 Stephen Rothwell
  0 siblings, 0 replies; 20+ messages in thread
From: Stephen Rothwell @ 2023-04-11  2:28 UTC (permalink / raw)
  To: Rob Herring
  Cc: Petr Pavlu, Rafael J. Wysocki, Linux Kernel Mailing List,
	Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 3924 bytes --]

Hi all,

After merging the devicetree tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/cpufreq/acpi-cpufreq.c:1024:15: error: variable 'acpi_cpufreq_platdrv' has initializer but incomplete type
 1024 | static struct platform_driver acpi_cpufreq_platdrv = {
      |               ^~~~~~~~~~~~~~~
drivers/cpufreq/acpi-cpufreq.c:1025:10: error: 'struct platform_driver' has no member named 'driver'
 1025 |         .driver = {
      |          ^~~~~~
drivers/cpufreq/acpi-cpufreq.c:1025:19: error: extra brace group at end of initializer
 1025 |         .driver = {
      |                   ^
drivers/cpufreq/acpi-cpufreq.c:1025:19: note: (near initialization for 'acpi_cpufreq_platdrv')
drivers/cpufreq/acpi-cpufreq.c:1025:19: error: excess elements in struct initializer [-Werror]
drivers/cpufreq/acpi-cpufreq.c:1025:19: note: (near initialization for 'acpi_cpufreq_platdrv')
drivers/cpufreq/acpi-cpufreq.c:1028:10: error: 'struct platform_driver' has no member named 'remove'
 1028 |         .remove         = acpi_cpufreq_remove,
      |          ^~~~~~
drivers/cpufreq/acpi-cpufreq.c:1028:27: error: excess elements in struct initializer [-Werror]
 1028 |         .remove         = acpi_cpufreq_remove,
      |                           ^~~~~~~~~~~~~~~~~~~
drivers/cpufreq/acpi-cpufreq.c:1028:27: note: (near initialization for 'acpi_cpufreq_platdrv')
drivers/cpufreq/acpi-cpufreq.c: In function 'acpi_cpufreq_init':
drivers/cpufreq/acpi-cpufreq.c:1033:16: error: implicit declaration of function 'platform_driver_probe' [-Werror=implicit-function-declaration]
 1033 |         return platform_driver_probe(&acpi_cpufreq_platdrv, acpi_cpufreq_probe);
      |                ^~~~~~~~~~~~~~~~~~~~~
drivers/cpufreq/acpi-cpufreq.c: In function 'acpi_cpufreq_exit':
drivers/cpufreq/acpi-cpufreq.c:1038:9: error: implicit declaration of function 'platform_driver_unregister'; did you mean 'driver_unregister'? [-Werror=implicit-function-declaration]
 1038 |         platform_driver_unregister(&acpi_cpufreq_platdrv);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |         driver_unregister
drivers/cpufreq/acpi-cpufreq.c: At top level:
drivers/cpufreq/acpi-cpufreq.c:1024:31: error: storage size of 'acpi_cpufreq_platdrv' isn't known
 1024 | static struct platform_driver acpi_cpufreq_platdrv = {
      |                               ^~~~~~~~~~~~~~~~~~~~

I am not sure which of the include file update commits were the direct
cause but they interacted with commit

  691a63712347 ("ACPI: cpufreq: Use platform devices to load ACPI PPC and PCC drivers")

from the pm tree.

I have applied the following merge fix patch.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Tue, 11 Apr 2023 12:15:29 +1000
Subject: [PATCH] devicetree: fix up for include rationalisation

interacting with "ACPI: cpufreq: Use platform devices to load ACPI PPC and PCC drivers"

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/cpufreq/acpi-cpufreq.c | 1 +
 drivers/cpufreq/pcc-cpufreq.c  | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/cpufreq/acpi-cpufreq.c b/drivers/cpufreq/acpi-cpufreq.c
index e1a5384cf21c..29904395e95f 100644
--- a/drivers/cpufreq/acpi-cpufreq.c
+++ b/drivers/cpufreq/acpi-cpufreq.c
@@ -20,6 +20,7 @@
 #include <linux/dmi.h>
 #include <linux/slab.h>
 #include <linux/string_helpers.h>
+#include <linux/platform_device.h>
 
 #include <linux/acpi.h>
 #include <linux/io.h>
diff --git a/drivers/cpufreq/pcc-cpufreq.c b/drivers/cpufreq/pcc-cpufreq.c
index 0c362932ca60..b4318a1a9335 100644
--- a/drivers/cpufreq/pcc-cpufreq.c
+++ b/drivers/cpufreq/pcc-cpufreq.c
@@ -36,6 +36,7 @@
 #include <linux/io.h>
 #include <linux/spinlock.h>
 #include <linux/uaccess.h>
+#include <linux/platform_device.h>
 
 #include <acpi/processor.h>
 
-- 
2.39.2

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: linux-next: build failure after merge of the devicetree tree
  2011-10-05  5:24 Stephen Rothwell
@ 2011-10-05  5:54 ` Grant Likely
  0 siblings, 0 replies; 20+ messages in thread
From: Grant Likely @ 2011-10-05  5:54 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: linux-next, linux-kernel, Ben Dooks

On Tue, Oct 4, 2011 at 11:24 PM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> Hi Grant,
>
> After merging the devicetree tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
>
> drivers/tty/serial/altera_jtaguart.c:483:3: error: implicit declaration of function 'of_match_ptr' [-Werror=implicit-function-declaration]
> drivers/tty/serial/altera_jtaguart.c:483:34: error: 'altera_jtaguart_match' undeclared here (not in a function)
>
> Caused by commit 85888069cf5d ("tty: use of_match_ptr() for
> of_match_table entry").

Thanks Stephen.

Looks like a missing include of linux/of.h from that driver.  I'll fix
up my tree.

g.

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

* linux-next: build failure after merge of the devicetree tree
@ 2011-10-05  5:24 Stephen Rothwell
  2011-10-05  5:54 ` Grant Likely
  0 siblings, 1 reply; 20+ messages in thread
From: Stephen Rothwell @ 2011-10-05  5:24 UTC (permalink / raw)
  To: Grant Likely; +Cc: linux-next, linux-kernel, Ben Dooks

[-- Attachment #1: Type: text/plain, Size: 646 bytes --]

Hi Grant,

After merging the devicetree tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/tty/serial/altera_jtaguart.c:483:3: error: implicit declaration of function 'of_match_ptr' [-Werror=implicit-function-declaration]
drivers/tty/serial/altera_jtaguart.c:483:34: error: 'altera_jtaguart_match' undeclared here (not in a function)

Caused by commit 85888069cf5d ("tty: use of_match_ptr() for
of_match_table entry").

I have used the version of the devicetree tree from next-20111004 for
today.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

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

* Re: linux-next: build failure after merge of the devicetree tree
  2010-07-30  3:57 Stephen Rothwell
@ 2010-07-30  6:11 ` Grant Likely
  0 siblings, 0 replies; 20+ messages in thread
From: Grant Likely @ 2010-07-30  6:11 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: linux-next, linux-kernel, Anatolij Gustschin

On Thu, Jul 29, 2010 at 9:57 PM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> Hi Grant,
>
> After merging the devicetree tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
>
> drivers/spi/xilinx_spi.c: In function 'xilinx_spi_init':
> drivers/spi/xilinx_spi.c:393: error: 'struct device' has no member named 'of_node'
> drivers/spi/xilinx_spi.c:393: error: 'struct device' has no member named 'of_node'
>
> Caused by commit 65b25b3c3080d96c42b31e0d97e7fcf4fabceeb4 ("of/spi: call
> of_register_spi_devices() from spi core code").
>
> I have used the devicetree tree from next-20100729 for today.

Thanks Stephen.  Should be fixed now.

g.

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

* linux-next: build failure after merge of the devicetree tree
@ 2010-07-30  3:57 Stephen Rothwell
  2010-07-30  6:11 ` Grant Likely
  0 siblings, 1 reply; 20+ messages in thread
From: Stephen Rothwell @ 2010-07-30  3:57 UTC (permalink / raw)
  To: Grant Likely; +Cc: linux-next, linux-kernel, Anatolij Gustschin

[-- Attachment #1: Type: text/plain, Size: 640 bytes --]

Hi Grant,

After merging the devicetree tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/spi/xilinx_spi.c: In function 'xilinx_spi_init':
drivers/spi/xilinx_spi.c:393: error: 'struct device' has no member named 'of_node'
drivers/spi/xilinx_spi.c:393: error: 'struct device' has no member named 'of_node'

Caused by commit 65b25b3c3080d96c42b31e0d97e7fcf4fabceeb4 ("of/spi: call
of_register_spi_devices() from spi core code").

I have used the devicetree tree from next-20100729 for today.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]

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

* Re: linux-next: build failure after merge of the devicetree tree
  2010-07-15  2:15 Stephen Rothwell
@ 2010-07-15  6:06 ` Grant Likely
  0 siblings, 0 replies; 20+ messages in thread
From: Grant Likely @ 2010-07-15  6:06 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: linux-next, linux-kernel, Andrew Morton

On Wed, Jul 14, 2010 at 8:15 PM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> Hi Grant,
>
> After merging the devicetree tree, today's linux-next build (powerpc
> ppc64_defconfig) failed like this:
>
> drivers/of/platform.c: In function 'of_device_make_bus_id':
> drivers/of/platform.c:437: error: implicit declaration of function 'of_translate_dcr_address'

Oops.  I reworked one of my patches which moved the dcr call into the
common code (protected by a #ifdef) because it was just to messy to
try and factor it out.  Here's the fix:

diff --git a/drivers/of/platform.c b/drivers/of/platform.c
index 125f2bc..5be0080 100644
--- a/drivers/of/platform.c
+++ b/drivers/of/platform.c
@@ -19,6 +19,10 @@
 #include <linux/of_device.h>
 #include <linux/of_platform.h>

+#if defined(CONFIG_PPC_DCR)
+#include <asm/dcr.h>
+#endif
+
 extern struct device_attribute of_platform_device_attrs[];

 static int of_platform_bus_match(struct device *dev, struct device_driver *drv)

I've pushed it out to my devicetree-next branch so it is ready for you tomorrow.

> As you requested, I have dropped that tree form linux-next for today.

Thanks.  I had to rebase, so by you dropping it I can do a trial merge
without conflicting against my old tree.

> Andrew, I hope this does not cause you too much pain.

If it does, you can pull in git://git.secretlab.ca/git/linux-2.6
next-devicetree.  It is fixed now.

g.

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.

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

* linux-next: build failure after merge of the devicetree tree
@ 2010-07-15  2:15 Stephen Rothwell
  2010-07-15  6:06 ` Grant Likely
  0 siblings, 1 reply; 20+ messages in thread
From: Stephen Rothwell @ 2010-07-15  2:15 UTC (permalink / raw)
  To: Grant Likely; +Cc: linux-next, linux-kernel, Andrew Morton

[-- Attachment #1: Type: text/plain, Size: 514 bytes --]

Hi Grant,

After merging the devicetree tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

drivers/of/platform.c: In function 'of_device_make_bus_id':
drivers/of/platform.c:437: error: implicit declaration of function 'of_translate_dcr_address'

As you requested, I have dropped that tree form linux-next for today.

Andrew, I hope this does not cause you too much pain.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]

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

end of thread, other threads:[~2024-01-19 14:07 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-26  5:05 linux-next: build failure after merge of the devicetree tree Stephen Rothwell
2014-05-26  7:22 ` Thomas Petazzoni
  -- strict thread matches above, loose matches on Subject: below --
2023-12-11  5:05 Stephen Rothwell
2023-12-12  9:04 ` Sibi Sankar
2024-01-19  0:58 ` Stephen Rothwell
2024-01-19 14:07   ` Rob Herring
2023-12-08  2:51 Stephen Rothwell
2023-12-08  7:34 ` Krzysztof Kozlowski
2023-12-07  1:57 Stephen Rothwell
2023-12-07 15:11 ` Rob Herring
2023-12-07 20:58   ` Stephen Rothwell
2023-12-07 22:05     ` Rob Herring
2023-12-08  3:11       ` Stephen Rothwell
2023-04-11  2:28 Stephen Rothwell
2011-10-05  5:24 Stephen Rothwell
2011-10-05  5:54 ` Grant Likely
2010-07-30  3:57 Stephen Rothwell
2010-07-30  6:11 ` Grant Likely
2010-07-15  2:15 Stephen Rothwell
2010-07-15  6:06 ` Grant Likely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).