diff mbox series

[v3,3/4] powerpc: Remove asm/prom.h from asm/mpc52xx.h and asm/pci.h

Message ID cf5243343e2364c2b40f22ee5ad9a6e2453d1121.1657264228.git.christophe.leroy@csgroup.eu (mailing list archive)
State Awaiting Upstream
Headers show
Series [v3,1/4] video: fbdev: offb: Include missing linux/platform_device.h | expand

Commit Message

Christophe Leroy July 8, 2022, 7:11 a.m. UTC
asm/pci.h and asm/mpc52xx.h don't need asm/prom.h

Declare struct device_node locally to avoid including of.h

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
---
v3: Add prom.h to prom.c
---
 arch/powerpc/include/asm/mpc52xx.h | 3 ++-
 arch/powerpc/include/asm/pci.h     | 1 -
 arch/powerpc/kernel/prom.c         | 1 +
 3 files changed, 3 insertions(+), 2 deletions(-)

Comments

kernel test robot July 8, 2022, 1:23 p.m. UTC | #1
Hi Christophe,

I love your patch! Yet something to improve:

[auto build test ERROR on powerpc/next]
[also build test ERROR on mkp-scsi/for-next linus/master v5.19-rc5 next-20220708]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Christophe-Leroy/video-fbdev-offb-Include-missing-linux-platform_device-h/20220708-151246
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-randconfig-m031-20220708 (https://download.01.org/0day-ci/archive/20220708/202207082135.sstYWd2x-lkp@intel.com/config)
compiler: powerpc-linux-gcc (GCC) 11.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/intel-lab-lkp/linux/commit/e04280406bcc48b3e940fdd770fa9a7c62185e02
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Christophe-Leroy/video-fbdev-offb-Include-missing-linux-platform_device-h/20220708-151246
        git checkout e04280406bcc48b3e940fdd770fa9a7c62185e02
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=powerpc SHELL=/bin/bash drivers/edac/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/edac/mpc85xx_edac.c: In function 'mpc85xx_l2_err_probe':
>> drivers/edac/mpc85xx_edac.c:514:15: error: implicit declaration of function 'of_address_to_resource' [-Werror=implicit-function-declaration]
     514 |         res = of_address_to_resource(op->dev.of_node, 0, &r);
         |               ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/edac/mpc85xx_edac.c:559:30: error: implicit declaration of function 'irq_of_parse_and_map' [-Werror=implicit-function-declaration]
     559 |                 pdata->irq = irq_of_parse_and_map(op->dev.of_node, 0);
         |                              ^~~~~~~~~~~~~~~~~~~~
>> drivers/edac/mpc85xx_edac.c:566:25: error: implicit declaration of function 'irq_dispose_mapping' [-Werror=implicit-function-declaration]
     566 |                         irq_dispose_mapping(pdata->irq);
         |                         ^~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +/of_address_to_resource +514 drivers/edac/mpc85xx_edac.c

a9a753d53204bf Dave Jiang         2008-02-07  488  
9b3c6e85c2cfa7 Greg Kroah-Hartman 2012-12-21  489  static int mpc85xx_l2_err_probe(struct platform_device *op)
a9a753d53204bf Dave Jiang         2008-02-07  490  {
a9a753d53204bf Dave Jiang         2008-02-07  491  	struct edac_device_ctl_info *edac_dev;
a9a753d53204bf Dave Jiang         2008-02-07  492  	struct mpc85xx_l2_pdata *pdata;
a9a753d53204bf Dave Jiang         2008-02-07  493  	struct resource r;
a9a753d53204bf Dave Jiang         2008-02-07  494  	int res;
a9a753d53204bf Dave Jiang         2008-02-07  495  
a9a753d53204bf Dave Jiang         2008-02-07  496  	if (!devres_open_group(&op->dev, mpc85xx_l2_err_probe, GFP_KERNEL))
a9a753d53204bf Dave Jiang         2008-02-07  497  		return -ENOMEM;
a9a753d53204bf Dave Jiang         2008-02-07  498  
a9a753d53204bf Dave Jiang         2008-02-07  499  	edac_dev = edac_device_alloc_ctl_info(sizeof(*pdata),
a9a753d53204bf Dave Jiang         2008-02-07  500  					      "cpu", 1, "L", 1, 2, NULL, 0,
a9a753d53204bf Dave Jiang         2008-02-07  501  					      edac_dev_idx);
a9a753d53204bf Dave Jiang         2008-02-07  502  	if (!edac_dev) {
a9a753d53204bf Dave Jiang         2008-02-07  503  		devres_release_group(&op->dev, mpc85xx_l2_err_probe);
a9a753d53204bf Dave Jiang         2008-02-07  504  		return -ENOMEM;
a9a753d53204bf Dave Jiang         2008-02-07  505  	}
a9a753d53204bf Dave Jiang         2008-02-07  506  
a9a753d53204bf Dave Jiang         2008-02-07  507  	pdata = edac_dev->pvt_info;
a9a753d53204bf Dave Jiang         2008-02-07  508  	pdata->name = "mpc85xx_l2_err";
a9a753d53204bf Dave Jiang         2008-02-07  509  	edac_dev->dev = &op->dev;
a9a753d53204bf Dave Jiang         2008-02-07  510  	dev_set_drvdata(edac_dev->dev, edac_dev);
a9a753d53204bf Dave Jiang         2008-02-07  511  	edac_dev->ctl_name = pdata->name;
a9a753d53204bf Dave Jiang         2008-02-07  512  	edac_dev->dev_name = pdata->name;
a9a753d53204bf Dave Jiang         2008-02-07  513  
a26f95fed31d91 Anatolij Gustschin 2010-06-03 @514  	res = of_address_to_resource(op->dev.of_node, 0, &r);
a9a753d53204bf Dave Jiang         2008-02-07  515  	if (res) {
88857ebe7116b0 York Sun           2016-08-09  516  		pr_err("%s: Unable to get resource for L2 err regs\n", __func__);
a9a753d53204bf Dave Jiang         2008-02-07  517  		goto err;
a9a753d53204bf Dave Jiang         2008-02-07  518  	}
a9a753d53204bf Dave Jiang         2008-02-07  519  
a9a753d53204bf Dave Jiang         2008-02-07  520  	/* we only need the error registers */
a9a753d53204bf Dave Jiang         2008-02-07  521  	r.start += 0xe00;
a9a753d53204bf Dave Jiang         2008-02-07  522  
28f65c11f2ffb3 Joe Perches        2011-06-09  523  	if (!devm_request_mem_region(&op->dev, r.start, resource_size(&r),
28f65c11f2ffb3 Joe Perches        2011-06-09  524  				     pdata->name)) {
88857ebe7116b0 York Sun           2016-08-09  525  		pr_err("%s: Error while requesting mem region\n", __func__);
a9a753d53204bf Dave Jiang         2008-02-07  526  		res = -EBUSY;
a9a753d53204bf Dave Jiang         2008-02-07  527  		goto err;
a9a753d53204bf Dave Jiang         2008-02-07  528  	}
a9a753d53204bf Dave Jiang         2008-02-07  529  
28f65c11f2ffb3 Joe Perches        2011-06-09  530  	pdata->l2_vbase = devm_ioremap(&op->dev, r.start, resource_size(&r));
a9a753d53204bf Dave Jiang         2008-02-07  531  	if (!pdata->l2_vbase) {
88857ebe7116b0 York Sun           2016-08-09  532  		pr_err("%s: Unable to setup L2 err regs\n", __func__);
a9a753d53204bf Dave Jiang         2008-02-07  533  		res = -ENOMEM;
a9a753d53204bf Dave Jiang         2008-02-07  534  		goto err;
a9a753d53204bf Dave Jiang         2008-02-07  535  	}
a9a753d53204bf Dave Jiang         2008-02-07  536  
a9a753d53204bf Dave Jiang         2008-02-07  537  	out_be32(pdata->l2_vbase + MPC85XX_L2_ERRDET, ~0);
a9a753d53204bf Dave Jiang         2008-02-07  538  
a9a753d53204bf Dave Jiang         2008-02-07  539  	orig_l2_err_disable = in_be32(pdata->l2_vbase + MPC85XX_L2_ERRDIS);
a9a753d53204bf Dave Jiang         2008-02-07  540  
a9a753d53204bf Dave Jiang         2008-02-07  541  	/* clear the err_dis */
a9a753d53204bf Dave Jiang         2008-02-07  542  	out_be32(pdata->l2_vbase + MPC85XX_L2_ERRDIS, 0);
a9a753d53204bf Dave Jiang         2008-02-07  543  
a9a753d53204bf Dave Jiang         2008-02-07  544  	edac_dev->mod_name = EDAC_MOD_STR;
a9a753d53204bf Dave Jiang         2008-02-07  545  
a9a753d53204bf Dave Jiang         2008-02-07  546  	if (edac_op_state == EDAC_OPSTATE_POLL)
a9a753d53204bf Dave Jiang         2008-02-07  547  		edac_dev->edac_check = mpc85xx_l2_check;
a9a753d53204bf Dave Jiang         2008-02-07  548  
a9a753d53204bf Dave Jiang         2008-02-07  549  	mpc85xx_set_l2_sysfs_attributes(edac_dev);
a9a753d53204bf Dave Jiang         2008-02-07  550  
a9a753d53204bf Dave Jiang         2008-02-07  551  	pdata->edac_idx = edac_dev_idx++;
a9a753d53204bf Dave Jiang         2008-02-07  552  
a9a753d53204bf Dave Jiang         2008-02-07  553  	if (edac_device_add_device(edac_dev) > 0) {
956b9ba156dbfd Joe Perches        2012-04-29  554  		edac_dbg(3, "failed edac_device_add_device()\n");
a9a753d53204bf Dave Jiang         2008-02-07  555  		goto err;
a9a753d53204bf Dave Jiang         2008-02-07  556  	}
a9a753d53204bf Dave Jiang         2008-02-07  557  
a9a753d53204bf Dave Jiang         2008-02-07  558  	if (edac_op_state == EDAC_OPSTATE_INT) {
a26f95fed31d91 Anatolij Gustschin 2010-06-03 @559  		pdata->irq = irq_of_parse_and_map(op->dev.of_node, 0);
a9a753d53204bf Dave Jiang         2008-02-07  560  		res = devm_request_irq(&op->dev, pdata->irq,
a18c3f16a907b8 Borislav Petkov    2014-09-30  561  				       mpc85xx_l2_isr, IRQF_SHARED,
a9a753d53204bf Dave Jiang         2008-02-07  562  				       "[EDAC] L2 err", edac_dev);
a9a753d53204bf Dave Jiang         2008-02-07  563  		if (res < 0) {
88857ebe7116b0 York Sun           2016-08-09  564  			pr_err("%s: Unable to request irq %d for MPC85xx L2 err\n",
88857ebe7116b0 York Sun           2016-08-09  565  				__func__, pdata->irq);
a9a753d53204bf Dave Jiang         2008-02-07 @566  			irq_dispose_mapping(pdata->irq);
a9a753d53204bf Dave Jiang         2008-02-07  567  			res = -ENODEV;
a9a753d53204bf Dave Jiang         2008-02-07  568  			goto err2;
a9a753d53204bf Dave Jiang         2008-02-07  569  		}
a9a753d53204bf Dave Jiang         2008-02-07  570  
88857ebe7116b0 York Sun           2016-08-09  571  		pr_info(EDAC_MOD_STR " acquired irq %d for L2 Err\n", pdata->irq);
a9a753d53204bf Dave Jiang         2008-02-07  572  
a9a753d53204bf Dave Jiang         2008-02-07  573  		edac_dev->op_state = OP_RUNNING_INTERRUPT;
a9a753d53204bf Dave Jiang         2008-02-07  574  
a9a753d53204bf Dave Jiang         2008-02-07  575  		out_be32(pdata->l2_vbase + MPC85XX_L2_ERRINTEN, L2_EIE_MASK);
a9a753d53204bf Dave Jiang         2008-02-07  576  	}
a9a753d53204bf Dave Jiang         2008-02-07  577  
a9a753d53204bf Dave Jiang         2008-02-07  578  	devres_remove_group(&op->dev, mpc85xx_l2_err_probe);
a9a753d53204bf Dave Jiang         2008-02-07  579  
956b9ba156dbfd Joe Perches        2012-04-29  580  	edac_dbg(3, "success\n");
88857ebe7116b0 York Sun           2016-08-09  581  	pr_info(EDAC_MOD_STR " L2 err registered\n");
a9a753d53204bf Dave Jiang         2008-02-07  582  
a9a753d53204bf Dave Jiang         2008-02-07  583  	return 0;
a9a753d53204bf Dave Jiang         2008-02-07  584  
a9a753d53204bf Dave Jiang         2008-02-07  585  err2:
a9a753d53204bf Dave Jiang         2008-02-07  586  	edac_device_del_device(&op->dev);
a9a753d53204bf Dave Jiang         2008-02-07  587  err:
a9a753d53204bf Dave Jiang         2008-02-07  588  	devres_release_group(&op->dev, mpc85xx_l2_err_probe);
a9a753d53204bf Dave Jiang         2008-02-07  589  	edac_device_free_ctl_info(edac_dev);
a9a753d53204bf Dave Jiang         2008-02-07  590  	return res;
a9a753d53204bf Dave Jiang         2008-02-07  591  }
a9a753d53204bf Dave Jiang         2008-02-07  592
diff mbox series

Patch

diff --git a/arch/powerpc/include/asm/mpc52xx.h b/arch/powerpc/include/asm/mpc52xx.h
index ddd80aae1e32..5ea16a71c2f0 100644
--- a/arch/powerpc/include/asm/mpc52xx.h
+++ b/arch/powerpc/include/asm/mpc52xx.h
@@ -15,7 +15,6 @@ 
 
 #ifndef __ASSEMBLY__
 #include <asm/types.h>
-#include <asm/prom.h>
 #include <asm/mpc5xxx.h>
 #endif /* __ASSEMBLY__ */
 
@@ -268,6 +267,8 @@  struct mpc52xx_intr {
 
 #ifndef __ASSEMBLY__
 
+struct device_node;
+
 /* mpc52xx_common.c */
 extern void mpc5200_setup_xlb_arbiter(void);
 extern void mpc52xx_declare_of_platform_devices(void);
diff --git a/arch/powerpc/include/asm/pci.h b/arch/powerpc/include/asm/pci.h
index 915d6ee4b40a..0f182074cdb7 100644
--- a/arch/powerpc/include/asm/pci.h
+++ b/arch/powerpc/include/asm/pci.h
@@ -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 */
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
index 1066b072db35..0a68c99da573 100644
--- a/arch/powerpc/kernel/prom.c
+++ b/arch/powerpc/kernel/prom.c
@@ -54,6 +54,7 @@ 
 #include <asm/dt_cpu_ftrs.h>
 #include <asm/drmem.h>
 #include <asm/ultravisor.h>
+#include <asm/prom.h>
 
 #include <mm/mmu_decl.h>