diff mbox

[1/2,v2] bus: mvebu-mbus: Provide stub function for mvebu_mbus_get_io_win_info()

Message ID 20160901093904.26564-1-sr@denx.de (mailing list archive)
State New, archived
Headers show

Commit Message

Stefan Roese Sept. 1, 2016, 9:39 a.m. UTC
This patch provides a stub function for mvebu_mbus_get_io_win_info(),
which will be used for all non-Orion (ARM32 MVEBU) platforms for
compile test coverage.

On such platforms this function will return an error so that drivers
might detect a potential problem.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Gregory CLEMENT <gregory.clement@free-electrons.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Marcin Wojtas <mw@semihalf.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Vinod Koul <vinod.koul@intel.com>
---
v2:
- Return error code in stub function. This may be useful on Armada 3700
  boards. As Armada 3700 does not implement the MBus driver but some
  device driver might call into these functions anyways (e.g. mvneta).

 include/linux/mbus.h | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

Comments

kernel test robot Sept. 1, 2016, 11:31 a.m. UTC | #1
Hi Stefan,

[auto build test ERROR on linus/master]
[also build test ERROR on v4.8-rc4 next-20160825]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
[Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on]
[Check https://git-scm.com/docs/git-format-patch for more information]

url:    https://github.com/0day-ci/linux/commits/Stefan-Roese/bus-mvebu-mbus-Provide-stub-function-for-mvebu_mbus_get_io_win_info/20160901-174432
config: arm64-defconfig (attached as .config)
compiler: aarch64-linux-gnu-gcc (Debian 5.4.0-6) 5.4.0 20160609
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=arm64 

All errors (new ones prefixed by >>):

   In file included from drivers/ata/ahci_mvebu.c:16:0:
   include/linux/mbus.h: In function 'mvebu_mbus_get_io_win_info':
>> include/linux/mbus.h:79:10: error: 'EINVAL' undeclared (first use in this function)
     return -EINVAL;
             ^
   include/linux/mbus.h:79:10: note: each undeclared identifier is reported only once for each function it appears in

vim +/EINVAL +79 include/linux/mbus.h

    73		 * On all ARM32 MVEBU platforms with MBus support, this stub
    74		 * function will not get called. The real function from the
    75		 * MBus driver is called instead. ARM64 MVEBU platforms like
    76		 * the Armada 3700 could do use the mv_xor device which calls
    77		 * into this function
    78		 */
  > 79		return -EINVAL;
    80	}
    81	#endif
    82	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
Andrew Lunn Sept. 1, 2016, 12:23 p.m. UTC | #2
Hi Stefan

> +	/*
> +	 * On all ARM32 MVEBU platforms with MBus support, this stub
> +	 * function will not get called. The real function from the
> +	 * MBus driver is called instead. ARM64 MVEBU platforms like
> +	 * the Armada 3700 could do use the mv_xor device which calls

could us, or do us, but not both.

Thanks
	Andrew
diff mbox

Patch

diff --git a/include/linux/mbus.h b/include/linux/mbus.h
index d610232..ad0c7f2 100644
--- a/include/linux/mbus.h
+++ b/include/linux/mbus.h
@@ -55,6 +55,8 @@  struct mbus_dram_target_info
 #ifdef CONFIG_PLAT_ORION
 extern const struct mbus_dram_target_info *mv_mbus_dram_info(void);
 extern const struct mbus_dram_target_info *mv_mbus_dram_info_nooverlap(void);
+int mvebu_mbus_get_io_win_info(phys_addr_t phyaddr, u32 *size, u8 *target,
+			       u8 *attr);
 #else
 static inline const struct mbus_dram_target_info *mv_mbus_dram_info(void)
 {
@@ -64,14 +66,24 @@  static inline const struct mbus_dram_target_info *mv_mbus_dram_info_nooverlap(vo
 {
 	return NULL;
 }
+static inline int mvebu_mbus_get_io_win_info(phys_addr_t phyaddr, u32 *size,
+					     u8 *target, u8 *attr)
+{
+	/*
+	 * On all ARM32 MVEBU platforms with MBus support, this stub
+	 * function will not get called. The real function from the
+	 * MBus driver is called instead. ARM64 MVEBU platforms like
+	 * the Armada 3700 could do use the mv_xor device which calls
+	 * into this function
+	 */
+	return -EINVAL;
+}
 #endif
 
 int mvebu_mbus_save_cpu_target(u32 __iomem *store_addr);
 void mvebu_mbus_get_pcie_mem_aperture(struct resource *res);
 void mvebu_mbus_get_pcie_io_aperture(struct resource *res);
 int mvebu_mbus_get_dram_win_info(phys_addr_t phyaddr, u8 *target, u8 *attr);
-int mvebu_mbus_get_io_win_info(phys_addr_t phyaddr, u32 *size, u8 *target,
-			       u8 *attr);
 int mvebu_mbus_add_window_remap_by_id(unsigned int target,
 				      unsigned int attribute,
 				      phys_addr_t base, size_t size,