A lot of drivers were getting platform and of headers
indirectly via headers like asm/pci.h or asm/prom.h
Most of them were fixed during 5.19 cycle but a newissue was
introduced by commit 52b1b46c39ae ("of: Create platform devices
for OF framebuffers")
Include missing platform_device.h to allow cleaning asm/pci.h
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Fixes: 52b1b46c39ae ("of: Create platform devices for OF framebuffers")
Signed-off-by: Christophe Leroy <redacted>
Acked-by: Helge Deller <deller@gmx.de>
---
drivers/video/fbdev/offb.c | 1 +
1 file changed, 1 insertion(+)
powerpc's asm/prom.h brings some headers that it doesn't need itself.
Once those headers are removed from asm/prom.h, the following
errors occur:
CC [M] drivers/scsi/cxlflash/ocxl_hw.o
drivers/scsi/cxlflash/ocxl_hw.c: In function 'afu_map_irq':
drivers/scsi/cxlflash/ocxl_hw.c:195:16: error: implicit declaration of function 'irq_create_mapping' [-Werror=implicit-function-declaration]
195 | virq = irq_create_mapping(NULL, irq->hwirq);
| ^~~~~~~~~~~~~~~~~~
drivers/scsi/cxlflash/ocxl_hw.c:222:9: error: implicit declaration of function 'irq_dispose_mapping' [-Werror=implicit-function-declaration]
222 | irq_dispose_mapping(virq);
| ^~~~~~~~~~~~~~~~~~~
drivers/scsi/cxlflash/ocxl_hw.c: In function 'afu_unmap_irq':
drivers/scsi/cxlflash/ocxl_hw.c:264:13: error: implicit declaration of function 'irq_find_mapping'; did you mean 'is_cow_mapping'? [-Werror=implicit-function-declaration]
264 | if (irq_find_mapping(NULL, irq->hwirq)) {
| ^~~~~~~~~~~~~~~~
| is_cow_mapping
cc1: some warnings being treated as errors
Fix it by including linux/irqdomain.h
Signed-off-by: Christophe Leroy <redacted>
---
drivers/scsi/cxlflash/ocxl_hw.c | 1 +
1 file changed, 1 insertion(+)
@@ -14,7 +14,6 @@#include<asm/machdep.h>#include<asm/io.h>-#include<asm/prom.h>#include<asm/pci-bridge.h>/* Return values for pci_controller_ops.probe_mode function */
Remove all headers included from asm/prom.h which are not used
by asm/prom.h itself.
Declare struct device_node and struct property locally to
avoid including of.h
Signed-off-by: Christophe Leroy <redacted>
---
arch/powerpc/include/asm/prom.h | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
@@ -12,16 +12,10 @@*UpdatesforPPC64byPeterBergner&DavidEngebretsen,IBMCorp.*/#include<linux/types.h>-#include<asm/irq.h>-#include<linux/atomic.h>#include<asm/firmware.h>-/* These includes should be removed once implicit includes are cleaned up. */-#include<linux/of.h>-#include<linux/of_fdt.h>-#include<linux/of_address.h>-#include<linux/of_irq.h>-#include<linux/platform_device.h>+structdevice_node;+structproperty;#define OF_DT_BEGIN_NODE 0x1 /* Start of node, full name */#define OF_DT_END_NODE 0x2 /* End node */
arch/powerpc/kernel/prom.c:891:5: error: no previous prototype for 'of_get_ibm_chip_id' [-Werror=missing-prototypes]
891 | int of_get_ibm_chip_id(struct device_node *np)
| ^~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
vim +/of_get_ibm_chip_id +891 arch/powerpc/kernel/prom.c
b27652dd2174df1 Kevin Hao 2013-12-24 871
9b6b563c0d2d25e Paul Mackerras 2005-10-06 872 /*******
9b6b563c0d2d25e Paul Mackerras 2005-10-06 873 *
9b6b563c0d2d25e Paul Mackerras 2005-10-06 874 * New implementation of the OF "find" APIs, return a refcounted
9b6b563c0d2d25e Paul Mackerras 2005-10-06 875 * object, call of_node_put() when done. The device tree and list
9b6b563c0d2d25e Paul Mackerras 2005-10-06 876 * are protected by a rw_lock.
9b6b563c0d2d25e Paul Mackerras 2005-10-06 877 *
9b6b563c0d2d25e Paul Mackerras 2005-10-06 878 * Note that property management will need some locking as well,
9b6b563c0d2d25e Paul Mackerras 2005-10-06 879 * this isn't dealt with yet.
9b6b563c0d2d25e Paul Mackerras 2005-10-06 880 *
9b6b563c0d2d25e Paul Mackerras 2005-10-06 881 *******/
9b6b563c0d2d25e Paul Mackerras 2005-10-06 882
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 883 /**
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 884 * of_get_ibm_chip_id - Returns the IBM "chip-id" of a device
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 885 * @np: device node of the device
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 886 *
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 887 * This looks for a property "ibm,chip-id" in the node or any
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 888 * of its parents and returns its content, or -1 if it cannot
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 889 * be found.
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 890 */
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 @891 int of_get_ibm_chip_id(struct device_node *np)
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 892 {
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 893 of_node_get(np);
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 894 while (np) {
1856f50c66dff0a Christophe Jaillet 2015-10-16 895 u32 chip_id;
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 896
1856f50c66dff0a Christophe Jaillet 2015-10-16 897 /*
1856f50c66dff0a Christophe Jaillet 2015-10-16 898 * Skiboot may produce memory nodes that contain more than one
1856f50c66dff0a Christophe Jaillet 2015-10-16 899 * cell in chip-id, we only read the first one here.
1856f50c66dff0a Christophe Jaillet 2015-10-16 900 */
1856f50c66dff0a Christophe Jaillet 2015-10-16 901 if (!of_property_read_u32(np, "ibm,chip-id", &chip_id)) {
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 902 of_node_put(np);
1856f50c66dff0a Christophe Jaillet 2015-10-16 903 return chip_id;
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 904 }
16c1d606263ea37 Michael Ellerman 2015-10-26 905
16c1d606263ea37 Michael Ellerman 2015-10-26 906 np = of_get_next_parent(np);
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 907 }
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 908 return -1;
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 909 }
b130e7c04f1130f Dan Streetman 2015-05-07 910 EXPORT_SYMBOL(of_get_ibm_chip_id);
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 911
--
0-DAY CI Kernel Test Service
https://01.org/lkp
arch/powerpc/kernel/prom.c:891:5: warning: no previous prototype for function 'of_get_ibm_chip_id' [-Wmissing-prototypes]
int of_get_ibm_chip_id(struct device_node *np)
^
arch/powerpc/kernel/prom.c:891:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int of_get_ibm_chip_id(struct device_node *np)
^
static
1 warning generated.
vim +/of_get_ibm_chip_id +891 arch/powerpc/kernel/prom.c
b27652dd2174df1 Kevin Hao 2013-12-24 871
9b6b563c0d2d25e Paul Mackerras 2005-10-06 872 /*******
9b6b563c0d2d25e Paul Mackerras 2005-10-06 873 *
9b6b563c0d2d25e Paul Mackerras 2005-10-06 874 * New implementation of the OF "find" APIs, return a refcounted
9b6b563c0d2d25e Paul Mackerras 2005-10-06 875 * object, call of_node_put() when done. The device tree and list
9b6b563c0d2d25e Paul Mackerras 2005-10-06 876 * are protected by a rw_lock.
9b6b563c0d2d25e Paul Mackerras 2005-10-06 877 *
9b6b563c0d2d25e Paul Mackerras 2005-10-06 878 * Note that property management will need some locking as well,
9b6b563c0d2d25e Paul Mackerras 2005-10-06 879 * this isn't dealt with yet.
9b6b563c0d2d25e Paul Mackerras 2005-10-06 880 *
9b6b563c0d2d25e Paul Mackerras 2005-10-06 881 *******/
9b6b563c0d2d25e Paul Mackerras 2005-10-06 882
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 883 /**
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 884 * of_get_ibm_chip_id - Returns the IBM "chip-id" of a device
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 885 * @np: device node of the device
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 886 *
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 887 * This looks for a property "ibm,chip-id" in the node or any
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 888 * of its parents and returns its content, or -1 if it cannot
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 889 * be found.
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 890 */
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 @891 int of_get_ibm_chip_id(struct device_node *np)
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 892 {
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 893 of_node_get(np);
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 894 while (np) {
1856f50c66dff0a Christophe Jaillet 2015-10-16 895 u32 chip_id;
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 896
1856f50c66dff0a Christophe Jaillet 2015-10-16 897 /*
1856f50c66dff0a Christophe Jaillet 2015-10-16 898 * Skiboot may produce memory nodes that contain more than one
1856f50c66dff0a Christophe Jaillet 2015-10-16 899 * cell in chip-id, we only read the first one here.
1856f50c66dff0a Christophe Jaillet 2015-10-16 900 */
1856f50c66dff0a Christophe Jaillet 2015-10-16 901 if (!of_property_read_u32(np, "ibm,chip-id", &chip_id)) {
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 902 of_node_put(np);
1856f50c66dff0a Christophe Jaillet 2015-10-16 903 return chip_id;
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 904 }
16c1d606263ea37 Michael Ellerman 2015-10-26 905
16c1d606263ea37 Michael Ellerman 2015-10-26 906 np = of_get_next_parent(np);
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 907 }
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 908 return -1;
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 909 }
b130e7c04f1130f Dan Streetman 2015-05-07 910 EXPORT_SYMBOL(of_get_ibm_chip_id);
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 911
--
0-DAY CI Kernel Test Service
https://01.org/lkp
arch/powerpc/kernel/prom.c:891:5: error: no previous prototype for function 'of_get_ibm_chip_id' [-Werror,-Wmissing-prototypes]
int of_get_ibm_chip_id(struct device_node *np)
^
arch/powerpc/kernel/prom.c:891:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int of_get_ibm_chip_id(struct device_node *np)
^
static
1 error generated.
vim +/of_get_ibm_chip_id +891 arch/powerpc/kernel/prom.c
b27652dd2174df1 Kevin Hao 2013-12-24 871
9b6b563c0d2d25e Paul Mackerras 2005-10-06 872 /*******
9b6b563c0d2d25e Paul Mackerras 2005-10-06 873 *
9b6b563c0d2d25e Paul Mackerras 2005-10-06 874 * New implementation of the OF "find" APIs, return a refcounted
9b6b563c0d2d25e Paul Mackerras 2005-10-06 875 * object, call of_node_put() when done. The device tree and list
9b6b563c0d2d25e Paul Mackerras 2005-10-06 876 * are protected by a rw_lock.
9b6b563c0d2d25e Paul Mackerras 2005-10-06 877 *
9b6b563c0d2d25e Paul Mackerras 2005-10-06 878 * Note that property management will need some locking as well,
9b6b563c0d2d25e Paul Mackerras 2005-10-06 879 * this isn't dealt with yet.
9b6b563c0d2d25e Paul Mackerras 2005-10-06 880 *
9b6b563c0d2d25e Paul Mackerras 2005-10-06 881 *******/
9b6b563c0d2d25e Paul Mackerras 2005-10-06 882
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 883 /**
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 884 * of_get_ibm_chip_id - Returns the IBM "chip-id" of a device
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 885 * @np: device node of the device
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 886 *
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 887 * This looks for a property "ibm,chip-id" in the node or any
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 888 * of its parents and returns its content, or -1 if it cannot
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 889 * be found.
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 890 */
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 @891 int of_get_ibm_chip_id(struct device_node *np)
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 892 {
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 893 of_node_get(np);
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 894 while (np) {
1856f50c66dff0a Christophe Jaillet 2015-10-16 895 u32 chip_id;
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 896
1856f50c66dff0a Christophe Jaillet 2015-10-16 897 /*
1856f50c66dff0a Christophe Jaillet 2015-10-16 898 * Skiboot may produce memory nodes that contain more than one
1856f50c66dff0a Christophe Jaillet 2015-10-16 899 * cell in chip-id, we only read the first one here.
1856f50c66dff0a Christophe Jaillet 2015-10-16 900 */
1856f50c66dff0a Christophe Jaillet 2015-10-16 901 if (!of_property_read_u32(np, "ibm,chip-id", &chip_id)) {
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 902 of_node_put(np);
1856f50c66dff0a Christophe Jaillet 2015-10-16 903 return chip_id;
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 904 }
16c1d606263ea37 Michael Ellerman 2015-10-26 905
16c1d606263ea37 Michael Ellerman 2015-10-26 906 np = of_get_next_parent(np);
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 907 }
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 908 return -1;
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 909 }
b130e7c04f1130f Dan Streetman 2015-05-07 910 EXPORT_SYMBOL(of_get_ibm_chip_id);
b37193b71846858 Benjamin Herrenschmidt 2013-07-15 911
--
0-DAY CI Kernel Test Service
https://01.org/lkp