lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20231207125737.5e7553e3@canb.auug.org.au>
Date:   Thu, 7 Dec 2023 12:57:37 +1100
From:   Stephen Rothwell <sfr@...b.auug.org.au>
To:     Rob Herring <robh@...nel.org>
Cc:     Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Linux Next Mailing List <linux-next@...r.kernel.org>
Subject: linux-next: build failure after merge of the devicetree tree

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

Content of type "application/pgp-signature" skipped

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ