All of lore.kernel.org
 help / color / mirror / Atom feed
* [frank-w-bpi-r2-4.14:5.15-rc 7/27] drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:279:45: error: incomplete definition of type 'struct CONSYS_BASE_ADDRESS'
@ 2021-10-27  9:23 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-10-27  9:23 UTC (permalink / raw)
  To: kbuild-all

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

tree:   https://github.com/frank-w/BPI-R2-4.14 5.15-rc
head:   b4616b4e20f223576bc39fb4c0e0d6221777967e
commit: 16958c4d4815a21ac1a6b29ccbea126229936629 [7/27] mt6625l: add changes outside driver dir
config: arm-randconfig-r025-20211027 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 5db7568a6a1fcb408eb8988abdaff2a225a8eb72)
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
        # install arm cross compiling tool for clang build
        # apt-get install binutils-arm-linux-gnueabi
        # https://github.com/frank-w/BPI-R2-4.14/commit/16958c4d4815a21ac1a6b29ccbea126229936629
        git remote add frank-w-bpi-r2-4.14 https://github.com/frank-w/BPI-R2-4.14
        git fetch --no-tags frank-w-bpi-r2-4.14 5.15-rc
        git checkout 16958c4d4815a21ac1a6b29ccbea126229936629
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash drivers/irqchip/ drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/

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

All errors (new ones prefixed by >>):

   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:191:6: error: no previous prototype for function 'mtk_wcn_consys_power_on' [-Werror,-Wmissing-prototypes]
   VOID mtk_wcn_consys_power_on(VOID)
        ^
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:191:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   VOID mtk_wcn_consys_power_on(VOID)
   ^
   static 
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:207:6: error: no previous prototype for function 'mtk_wcn_consys_power_off' [-Werror,-Wmissing-prototypes]
   VOID mtk_wcn_consys_power_off(VOID)
        ^
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:207:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   VOID mtk_wcn_consys_power_off(VOID)
   ^
   static 
>> drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:279:45: error: incomplete definition of type 'struct CONSYS_BASE_ADDRESS'
                           consysHwChipId = CONSYS_REG_READ(conn_reg.mcu_base + CONSYS_CHIP_ID_OFFSET) - 0xf6d;
                                                            ~~~~~~~~^
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/include/mtk_wcn_consys_hw.h:89:53: note: expanded from macro 'CONSYS_REG_READ'
   #define CONSYS_REG_READ(addr) (*((volatile UINT32*)(addr)))
                                                       ^~~~
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/include/mtk_wcn_consys_hw.h:251:15: note: forward declaration of 'struct CONSYS_BASE_ADDRESS'
   extern struct CONSYS_BASE_ADDRESS conn_reg;
                 ^
>> drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:279:57: error: use of undeclared identifier 'CONSYS_CHIP_ID_OFFSET'
                           consysHwChipId = CONSYS_REG_READ(conn_reg.mcu_base + CONSYS_CHIP_ID_OFFSET) - 0xf6d;
                                                                                ^
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:224:7: error: no previous prototype for function 'mtk_wcn_consys_hw_reg_ctrl' [-Werror,-Wmissing-prototypes]
   INT32 mtk_wcn_consys_hw_reg_ctrl(UINT32 on, UINT32 co_clock_type)
         ^
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:224:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   INT32 mtk_wcn_consys_hw_reg_ctrl(UINT32 on, UINT32 co_clock_type)
   ^
   static 
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:335:7: error: no previous prototype for function 'mtk_wcn_consys_hw_gpio_ctrl' [-Werror,-Wmissing-prototypes]
   INT32 mtk_wcn_consys_hw_gpio_ctrl(UINT32 on)
         ^
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:335:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   INT32 mtk_wcn_consys_hw_gpio_ctrl(UINT32 on)
   ^
   static 
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:568:30: error: incomplete definition of type 'struct CONSYS_BASE_ADDRESS'
                                    CONSYS_REG_READ(conn_reg.topckgen_base + CONSYS_EMI_MAPPING_OFFSET) | addrPhy);
                                                    ~~~~~~~~^
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/include/mtk_wcn_consys_hw.h:89:53: note: expanded from macro 'CONSYS_REG_READ'
   #define CONSYS_REG_READ(addr) (*((volatile UINT32*)(addr)))
                                                       ^~~~
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/include/mtk_wcn_consys_hw.h:91:58: note: expanded from macro 'CONSYS_REG_WRITE'
   #define CONSYS_REG_WRITE(addr, data)  mt_reg_sync_writel(data, addr)
                                                            ^~~~
   drivers/misc/mediatek/include/mt-plat/sync_write.h:27:17: note: expanded from macro 'mt_reg_sync_writel'
                   __raw_writel((v), (void __force __iomem *)((a)));   \
                                 ^
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/include/mtk_wcn_consys_hw.h:251:15: note: forward declaration of 'struct CONSYS_BASE_ADDRESS'
   extern struct CONSYS_BASE_ADDRESS conn_reg;
                 ^
>> drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:568:47: error: use of undeclared identifier 'CONSYS_EMI_MAPPING_OFFSET'
                                    CONSYS_REG_READ(conn_reg.topckgen_base + CONSYS_EMI_MAPPING_OFFSET) | addrPhy);
                                                                             ^
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:567:28: error: incomplete definition of type 'struct CONSYS_BASE_ADDRESS'
                   CONSYS_REG_WRITE(conn_reg.topckgen_base + CONSYS_EMI_MAPPING_OFFSET,
                                    ~~~~~~~~^
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/include/mtk_wcn_consys_hw.h:91:64: note: expanded from macro 'CONSYS_REG_WRITE'
   #define CONSYS_REG_WRITE(addr, data)  mt_reg_sync_writel(data, addr)
                                                                  ^~~~
   drivers/misc/mediatek/include/mt-plat/sync_write.h:27:47: note: expanded from macro 'mt_reg_sync_writel'
                   __raw_writel((v), (void __force __iomem *)((a)));   \
                                                               ^
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/include/mtk_wcn_consys_hw.h:251:15: note: forward declaration of 'struct CONSYS_BASE_ADDRESS'
   extern struct CONSYS_BASE_ADDRESS conn_reg;
                 ^
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:567:45: error: use of undeclared identifier 'CONSYS_EMI_MAPPING_OFFSET'
                   CONSYS_REG_WRITE(conn_reg.topckgen_base + CONSYS_EMI_MAPPING_OFFSET,
                                                             ^
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:571:32: error: incomplete definition of type 'struct CONSYS_BASE_ADDRESS'
                                      CONSYS_REG_READ(conn_reg.topckgen_base + CONSYS_EMI_MAPPING_OFFSET));
                                                      ~~~~~~~~^
   drivers/misc/mediatek/connectivity/common/conn_soc/include/wmt_plat.h:60:48: note: expanded from macro 'WMT_PLAT_INFO_FUNC'
                   pr_debug(DFT_TAG "[I]%s:"  fmt, __func__ , ##arg); \
                                                                ^~~
   include/linux/printk.h:576:38: note: expanded from macro 'pr_debug'
           no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
                                               ^~~~~~~~~~~
   include/linux/printk.h:132:17: note: expanded from macro 'no_printk'
                   printk(fmt, ##__VA_ARGS__);             \
                                 ^~~~~~~~~~~
   include/linux/printk.h:446:60: note: expanded from macro 'printk'
   #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
                                                              ^~~~~~~~~~~
   include/linux/printk.h:418:19: note: expanded from macro 'printk_index_wrap'
                   _p_func(_fmt, ##__VA_ARGS__);                           \
                                   ^~~~~~~~~~~
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/include/mtk_wcn_consys_hw.h:89:53: note: expanded from macro 'CONSYS_REG_READ'
   #define CONSYS_REG_READ(addr) (*((volatile UINT32*)(addr)))
                                                       ^~~~
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/include/mtk_wcn_consys_hw.h:251:15: note: forward declaration of 'struct CONSYS_BASE_ADDRESS'
   extern struct CONSYS_BASE_ADDRESS conn_reg;
                 ^
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:571:49: error: use of undeclared identifier 'CONSYS_EMI_MAPPING_OFFSET'
                                      CONSYS_REG_READ(conn_reg.topckgen_base + CONSYS_EMI_MAPPING_OFFSET));
                                                                               ^
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:539:7: error: no previous prototype for function 'mtk_wcn_consys_hw_restore' [-Werror,-Wmissing-prototypes]
   INT32 mtk_wcn_consys_hw_restore(struct device *device)
         ^
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:539:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   INT32 mtk_wcn_consys_hw_restore(struct device *device)
   ^
   static 
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:592:5: error: no previous prototype for function 'reserve_memory_consys_fn' [-Werror,-Wmissing-prototypes]
   int reserve_memory_consys_fn(struct reserved_mem *rmem)
       ^
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:592:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int reserve_memory_consys_fn(struct reserved_mem *rmem)
   ^
   static 
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:614:11: error: incomplete definition of type 'struct CONSYS_BASE_ADDRESS'
                   conn_reg.mcu_base = (SIZE_T) of_iomap(node, i);
                   ~~~~~~~~^
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/include/mtk_wcn_consys_hw.h:251:15: note: forward declaration of 'struct CONSYS_BASE_ADDRESS'
   extern struct CONSYS_BASE_ADDRESS conn_reg;
                 ^
>> drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:614:32: error: implicit declaration of function 'of_iomap' [-Werror,-Wimplicit-function-declaration]
                   conn_reg.mcu_base = (SIZE_T) of_iomap(node, i);
                                                ^
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:615:63: error: incomplete definition of type 'struct CONSYS_BASE_ADDRESS'
                   WMT_PLAT_DBG_FUNC("Get mcu register base(0x%zx)\n", conn_reg.mcu_base);
                                                                       ~~~~~~~~^
   drivers/misc/mediatek/connectivity/common/conn_soc/include/wmt_plat.h:75:48: note: expanded from macro 'WMT_PLAT_DBG_FUNC'
                   pr_debug(DFT_TAG "[D]%s:"  fmt, __func__ , ##arg); \
                                                                ^~~
   include/linux/printk.h:576:38: note: expanded from macro 'pr_debug'
           no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
                                               ^~~~~~~~~~~
   include/linux/printk.h:132:17: note: expanded from macro 'no_printk'
                   printk(fmt, ##__VA_ARGS__);             \
                                 ^~~~~~~~~~~
   include/linux/printk.h:446:60: note: expanded from macro 'printk'
   #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
                                                              ^~~~~~~~~~~
   include/linux/printk.h:418:19: note: expanded from macro 'printk_index_wrap'
                   _p_func(_fmt, ##__VA_ARGS__);                           \
                                   ^~~~~~~~~~~
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/include/mtk_wcn_consys_hw.h:251:15: note: forward declaration of 'struct CONSYS_BASE_ADDRESS'
   extern struct CONSYS_BASE_ADDRESS conn_reg;
                 ^
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:618:11: error: incomplete definition of type 'struct CONSYS_BASE_ADDRESS'
                   conn_reg.topckgen_base = (SIZE_T) of_iomap(node, i);
                   ~~~~~~~~^
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/include/mtk_wcn_consys_hw.h:251:15: note: forward declaration of 'struct CONSYS_BASE_ADDRESS'
   extern struct CONSYS_BASE_ADDRESS conn_reg;
                 ^
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:619:68: error: incomplete definition of type 'struct CONSYS_BASE_ADDRESS'
                   WMT_PLAT_DBG_FUNC("Get topckgen register base(0x%zx)\n", conn_reg.topckgen_base);
                                                                            ~~~~~~~~^
   drivers/misc/mediatek/connectivity/common/conn_soc/include/wmt_plat.h:75:48: note: expanded from macro 'WMT_PLAT_DBG_FUNC'
                   pr_debug(DFT_TAG "[D]%s:"  fmt, __func__ , ##arg); \
                                                                ^~~
   include/linux/printk.h:576:38: note: expanded from macro 'pr_debug'
           no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
                                               ^~~~~~~~~~~
   include/linux/printk.h:132:17: note: expanded from macro 'no_printk'
                   printk(fmt, ##__VA_ARGS__);             \
                                 ^~~~~~~~~~~
   include/linux/printk.h:446:60: note: expanded from macro 'printk'
   #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
                                                              ^~~~~~~~~~~
   include/linux/printk.h:418:19: note: expanded from macro 'printk_index_wrap'
                   _p_func(_fmt, ##__VA_ARGS__);                           \
                                   ^~~~~~~~~~~
   drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/include/mtk_wcn_consys_hw.h:251:15: note: forward declaration of 'struct CONSYS_BASE_ADDRESS'
   extern struct CONSYS_BASE_ADDRESS conn_reg;
                 ^
   fatal error: too many errors emitted, stopping now [-ferror-limit=]
   20 errors generated.

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for ARM_CPU_SUSPEND
   Depends on ARCH_SUSPEND_POSSIBLE
   Selected by
   - ARM_QCOM_SPM_CPUIDLE && CPU_IDLE && (ARM || ARM64) && (ARCH_QCOM || COMPILE_TEST && !ARM64 && MMU


vim +279 drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c

4869b61f63f06f Frank Wunderlich 2021-08-29  223  
4869b61f63f06f Frank Wunderlich 2021-08-29  224  INT32 mtk_wcn_consys_hw_reg_ctrl(UINT32 on, UINT32 co_clock_type)
4869b61f63f06f Frank Wunderlich 2021-08-29  225  {
4869b61f63f06f Frank Wunderlich 2021-08-29  226  	UINT32 retry = 10;
4869b61f63f06f Frank Wunderlich 2021-08-29  227  	UINT32 consysHwChipId = 0;
4869b61f63f06f Frank Wunderlich 2021-08-29  228  
4869b61f63f06f Frank Wunderlich 2021-08-29  229  	WMT_PLAT_DBG_FUNC("CONSYS-HW-REG-CTRL(0x%08x),start\n", on);
4869b61f63f06f Frank Wunderlich 2021-08-29  230  	if (on) {
4869b61f63f06f Frank Wunderlich 2021-08-29  231  		WMT_PLAT_DBG_FUNC("++\n");
4869b61f63f06f Frank Wunderlich 2021-08-29  232  		/*need PMIC driver provide new API protocol */
4869b61f63f06f Frank Wunderlich 2021-08-29  233  		/*1.AP power on VCN_1V8 LDO (with PMIC_WRAP API) VCN_1V8  */
4869b61f63f06f Frank Wunderlich 2021-08-29  234  		regulator_set_mode(reg_VCN18, REGULATOR_MODE_STANDBY);
4869b61f63f06f Frank Wunderlich 2021-08-29  235  		/* VOL_DEFAULT, VOL_1200, VOL_1300, VOL_1500, VOL_1800... */
4869b61f63f06f Frank Wunderlich 2021-08-29  236  		if (reg_VCN18) {
4869b61f63f06f Frank Wunderlich 2021-08-29  237  			regulator_set_voltage(reg_VCN18, 1800000, 1800000);
4869b61f63f06f Frank Wunderlich 2021-08-29  238  			if (regulator_enable(reg_VCN18))
4869b61f63f06f Frank Wunderlich 2021-08-29  239  				WMT_PLAT_ERR_FUNC("enable VCN18 fail\n");
4869b61f63f06f Frank Wunderlich 2021-08-29  240  			else
4869b61f63f06f Frank Wunderlich 2021-08-29  241  				WMT_PLAT_DBG_FUNC("enable VCN18 ok\n");
4869b61f63f06f Frank Wunderlich 2021-08-29  242  		}
4869b61f63f06f Frank Wunderlich 2021-08-29  243  		udelay(150);
4869b61f63f06f Frank Wunderlich 2021-08-29  244  		if (co_clock_type) {
4869b61f63f06f Frank Wunderlich 2021-08-29  245  			/*step0,clk buf ctrl */
4869b61f63f06f Frank Wunderlich 2021-08-29  246  			WMT_PLAT_INFO_FUNC("co clock type(%d),turn on clk buf\n", co_clock_type);
4869b61f63f06f Frank Wunderlich 2021-08-29  247  #if CONSYS_CLOCK_BUF_CTRL
4869b61f63f06f Frank Wunderlich 2021-08-29  248  			clk_buf_ctrl(CLK_BUF_CONN, 1);
4869b61f63f06f Frank Wunderlich 2021-08-29  249  #endif
4869b61f63f06f Frank Wunderlich 2021-08-29  250  			/*if co-clock mode: */
4869b61f63f06f Frank Wunderlich 2021-08-29  251  			/*2.set VCN28 to SW control mode (with PMIC_WRAP API) */
4869b61f63f06f Frank Wunderlich 2021-08-29  252  			/*turn on VCN28 LDO only when FMSYS is activated"  */
4869b61f63f06f Frank Wunderlich 2021-08-29  253  			regmap_update_bits(pmic_regmap, 0x41C, 0x1 << 14, 0x0 << 14);/*V28*/
4869b61f63f06f Frank Wunderlich 2021-08-29  254  		} else {
4869b61f63f06f Frank Wunderlich 2021-08-29  255  			/*if NOT co-clock: */
4869b61f63f06f Frank Wunderlich 2021-08-29  256  			/*2.1.switch VCN28 to HW control mode (with PMIC_WRAP API) */
4869b61f63f06f Frank Wunderlich 2021-08-29  257  			regmap_update_bits(pmic_regmap, 0x41C, 0x1 << 14, 0x1 << 14);/*V28*/
4869b61f63f06f Frank Wunderlich 2021-08-29  258  			/*2.2.turn on VCN28 LDO (with PMIC_WRAP API)" */
4869b61f63f06f Frank Wunderlich 2021-08-29  259  			/*fix vcn28 not balance warning */
4869b61f63f06f Frank Wunderlich 2021-08-29  260  			if (reg_VCN28) {
4869b61f63f06f Frank Wunderlich 2021-08-29  261  				regulator_set_voltage(reg_VCN28, 2800000, 2800000);
4869b61f63f06f Frank Wunderlich 2021-08-29  262  				if (regulator_enable(reg_VCN28))
4869b61f63f06f Frank Wunderlich 2021-08-29  263  					WMT_PLAT_ERR_FUNC("enable VCN_2V8 fail!\n");
4869b61f63f06f Frank Wunderlich 2021-08-29  264  				else
4869b61f63f06f Frank Wunderlich 2021-08-29  265  					WMT_PLAT_DBG_FUNC("enable VCN_2V8 ok\n");
4869b61f63f06f Frank Wunderlich 2021-08-29  266  			}
4869b61f63f06f Frank Wunderlich 2021-08-29  267  		}
4869b61f63f06f Frank Wunderlich 2021-08-29  268  
4869b61f63f06f Frank Wunderlich 2021-08-29  269  		/*3.assert CONNSYS CPU SW reset  0x10007018 "[12]=1'b1  [31:24]=8'h88 (key)" */
4869b61f63f06f Frank Wunderlich 2021-08-29  270  		reset_control_reset(rstc);
4869b61f63f06f Frank Wunderlich 2021-08-29  271  		mtk_wcn_consys_power_on();
4869b61f63f06f Frank Wunderlich 2021-08-29  272  		/*11.26M is ready now, delay 10us for mem_pd de-assert */
4869b61f63f06f Frank Wunderlich 2021-08-29  273  		udelay(10);
4869b61f63f06f Frank Wunderlich 2021-08-29  274  		/*enable AP bus clock : connmcu_bus_pd  API: enable_clock() ++?? */
4869b61f63f06f Frank Wunderlich 2021-08-29  275  		clk_prepare_enable(clk_infra_conn_main);
4869b61f63f06f Frank Wunderlich 2021-08-29  276  		WMT_PLAT_DBG_FUNC("[CCF]enable clk_infra_conn_main\n");
4869b61f63f06f Frank Wunderlich 2021-08-29  277  		/*12.poll CONNSYS CHIP ID until chipid is returned  0x18070008 */
4869b61f63f06f Frank Wunderlich 2021-08-29  278  		while (retry-- > 0) {
4869b61f63f06f Frank Wunderlich 2021-08-29 @279  			consysHwChipId = CONSYS_REG_READ(conn_reg.mcu_base + CONSYS_CHIP_ID_OFFSET) - 0xf6d;
4869b61f63f06f Frank Wunderlich 2021-08-29  280  
4869b61f63f06f Frank Wunderlich 2021-08-29  281  			if ((consysHwChipId == 0x0321) || (consysHwChipId == 0x0335) || (consysHwChipId == 0x0337)) {
4869b61f63f06f Frank Wunderlich 2021-08-29  282  				WMT_PLAT_INFO_FUNC("retry(%d)consys chipId(0x%08x)\n", retry, consysHwChipId);
4869b61f63f06f Frank Wunderlich 2021-08-29  283  				break;
4869b61f63f06f Frank Wunderlich 2021-08-29  284  			}
4869b61f63f06f Frank Wunderlich 2021-08-29  285  			if ((consysHwChipId == 0x8163) || (consysHwChipId == 0x8127) || (consysHwChipId == 0x7623)) {
4869b61f63f06f Frank Wunderlich 2021-08-29  286  				WMT_PLAT_INFO_FUNC("retry(%d)consys chipId(0x%08x)\n", retry, consysHwChipId);
4869b61f63f06f Frank Wunderlich 2021-08-29  287  				break;
4869b61f63f06f Frank Wunderlich 2021-08-29  288  			}
4869b61f63f06f Frank Wunderlich 2021-08-29  289  
4869b61f63f06f Frank Wunderlich 2021-08-29  290  			WMT_PLAT_ERR_FUNC("Read CONSYS chipId(0x%08x)", consysHwChipId);
4869b61f63f06f Frank Wunderlich 2021-08-29  291  			msleep(20);
4869b61f63f06f Frank Wunderlich 2021-08-29  292  		}
4869b61f63f06f Frank Wunderlich 2021-08-29  293  
4869b61f63f06f Frank Wunderlich 2021-08-29  294  		if ((0 == retry) || (0 == consysHwChipId))
4869b61f63f06f Frank Wunderlich 2021-08-29  295  			WMT_PLAT_ERR_FUNC("Maybe has a consys power on issue,(0x%08x)\n", consysHwChipId);
4869b61f63f06f Frank Wunderlich 2021-08-29  296  
4869b61f63f06f Frank Wunderlich 2021-08-29  297  		msleep(40);
4869b61f63f06f Frank Wunderlich 2021-08-29  298  
4869b61f63f06f Frank Wunderlich 2021-08-29  299  	} else {
4869b61f63f06f Frank Wunderlich 2021-08-29  300  
4869b61f63f06f Frank Wunderlich 2021-08-29  301  		clk_disable_unprepare(clk_infra_conn_main);
4869b61f63f06f Frank Wunderlich 2021-08-29  302  		WMT_PLAT_DBG_FUNC("[CCF] clk_disable_unprepare(clk_infra_conn_main) calling\n");
4869b61f63f06f Frank Wunderlich 2021-08-29  303  		mtk_wcn_consys_power_off();
4869b61f63f06f Frank Wunderlich 2021-08-29  304  
4869b61f63f06f Frank Wunderlich 2021-08-29  305  		if (co_clock_type) {
4869b61f63f06f Frank Wunderlich 2021-08-29  306  			/*VCN28 has been turned off by GPS OR FM */
4869b61f63f06f Frank Wunderlich 2021-08-29  307  #if CONSYS_CLOCK_BUF_CTRL
4869b61f63f06f Frank Wunderlich 2021-08-29  308  			clk_buf_ctrl(CLK_BUF_CONN, 0);
4869b61f63f06f Frank Wunderlich 2021-08-29  309  #endif
4869b61f63f06f Frank Wunderlich 2021-08-29  310  		} else {
4869b61f63f06f Frank Wunderlich 2021-08-29  311  			regmap_update_bits(pmic_regmap, 0x41C, 0x1 << 14, 0x0 << 14);/*V28*/
4869b61f63f06f Frank Wunderlich 2021-08-29  312  			/*turn off VCN28 LDO (with PMIC_WRAP API)" */
4869b61f63f06f Frank Wunderlich 2021-08-29  313  			if (reg_VCN28) {
4869b61f63f06f Frank Wunderlich 2021-08-29  314  				if (regulator_disable(reg_VCN28))
4869b61f63f06f Frank Wunderlich 2021-08-29  315  					WMT_PLAT_ERR_FUNC("disable VCN_2V8 fail!\n");
4869b61f63f06f Frank Wunderlich 2021-08-29  316  				else
4869b61f63f06f Frank Wunderlich 2021-08-29  317  					WMT_PLAT_DBG_FUNC("disable VCN_2V8 ok\n");
4869b61f63f06f Frank Wunderlich 2021-08-29  318  			}
4869b61f63f06f Frank Wunderlich 2021-08-29  319  		}
4869b61f63f06f Frank Wunderlich 2021-08-29  320  
4869b61f63f06f Frank Wunderlich 2021-08-29  321  		/*AP power off MT6625L VCN_1V8 LDO */
4869b61f63f06f Frank Wunderlich 2021-08-29  322  		regulator_set_mode(reg_VCN18, REGULATOR_MODE_STANDBY);
4869b61f63f06f Frank Wunderlich 2021-08-29  323  		if (reg_VCN18) {
4869b61f63f06f Frank Wunderlich 2021-08-29  324  			if (regulator_disable(reg_VCN18))
4869b61f63f06f Frank Wunderlich 2021-08-29  325  				WMT_PLAT_ERR_FUNC("disable VCN_1V8 fail!\n");
4869b61f63f06f Frank Wunderlich 2021-08-29  326  			else
4869b61f63f06f Frank Wunderlich 2021-08-29  327  				WMT_PLAT_DBG_FUNC("disable VCN_1V8 ok\n");
4869b61f63f06f Frank Wunderlich 2021-08-29  328  		}
4869b61f63f06f Frank Wunderlich 2021-08-29  329  
4869b61f63f06f Frank Wunderlich 2021-08-29  330  	}
4869b61f63f06f Frank Wunderlich 2021-08-29  331  	WMT_PLAT_DBG_FUNC("CONSYS-HW-REG-CTRL(0x%08x),finish\n", on);
4869b61f63f06f Frank Wunderlich 2021-08-29  332  	return 0;
4869b61f63f06f Frank Wunderlich 2021-08-29  333  }
4869b61f63f06f Frank Wunderlich 2021-08-29  334  

:::::: The code@line 279 was first introduced by commit
:::::: 4869b61f63f06f9f440579f2d889a36c72ca29cc mt6625l: add driver folder from 5.14

:::::: TO: Frank Wunderlich <frank-w@public-files.de>
:::::: CC: Frank Wunderlich <frank-w@public-files.de>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 33613 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-10-27  9:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-27  9:23 [frank-w-bpi-r2-4.14:5.15-rc 7/27] drivers/misc/mediatek/connectivity/common/conn_soc/mt7623/mtk_wcn_consys_hw.c:279:45: error: incomplete definition of type 'struct CONSYS_BASE_ADDRESS' kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.