diff mbox series

[V3,6/6] ASoC:codecs:aw883xx corresponds to the modified Makefile and Kconfig

Message ID 1668165992-6493-7-git-send-email-wangweidong.a@awinic.com (mailing list archive)
State Superseded
Headers show
Series ASoC: codecs: Add Awinic AW883XX audio amplifier driver | expand

Commit Message

wangweidong.a@awinic.com Nov. 11, 2022, 11:26 a.m. UTC
From: Weidong Wang <wangweidong.a@awinic.com>

Modified the Makefile and Kconfig to compile aw883xx

Signed-off-by: Weidong Wang <wangweidong.a@awinic.com>
---
 sound/soc/codecs/Kconfig  | 10 ++++++++++
 sound/soc/codecs/Makefile |  7 +++++++
 2 files changed, 17 insertions(+)

Comments

kernel test robot Nov. 11, 2022, 3:31 p.m. UTC | #1
Hi,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on broonie-sound/for-next]
[also build test WARNING on linus/master v6.1-rc4 next-20221111]
[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/wangweidong-a-awinic-com/ASoC-codecs-Add-i2c-and-codec-registration-for/20221111-202637
base:   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
patch link:    https://lore.kernel.org/r/1668165992-6493-7-git-send-email-wangweidong.a%40awinic.com
patch subject: [PATCH V3 6/6] ASoC:codecs:aw883xx corresponds to the modified Makefile and Kconfig
config: sparc-allyesconfig
compiler: sparc64-linux-gcc (GCC) 12.1.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/b8778077cd1bc1375124d18df7afeec32dca1950
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review wangweidong-a-awinic-com/ASoC-codecs-Add-i2c-and-codec-registration-for/20221111-202637
        git checkout b8778077cd1bc1375124d18df7afeec32dca1950
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=sparc SHELL=/bin/bash sound/soc/

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

All warnings (new ones prefixed by >>):

   sound/soc/codecs/aw883xx/aw883xx.c: In function 'reg_store':
>> sound/soc/codecs/aw883xx/aw883xx.c:1095:9: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
    1095 |         if (sscanf(buf, "%x %x", &databuf[0], &databuf[1]) == 2)
         |         ^~
   sound/soc/codecs/aw883xx/aw883xx.c:1097:17: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
    1097 |                 regmap_write(aw883xx->regmap, databuf[0], databuf[1]);
         |                 ^~~~~~~~~~~~
   sound/soc/codecs/aw883xx/aw883xx.c: At top level:
   sound/soc/codecs/aw883xx/aw883xx.c:1799:19: error: initialization of 'void (*)(struct i2c_client *)' from incompatible pointer type 'int (*)(struct i2c_client *)' [-Werror=incompatible-pointer-types]
    1799 |         .remove = aw883xx_i2c_remove,
         |                   ^~~~~~~~~~~~~~~~~~
   sound/soc/codecs/aw883xx/aw883xx.c:1799:19: note: (near initialization for 'aw883xx_i2c_driver.remove')
   In file included from sound/soc/codecs/aw883xx/aw883xx.c:30:
   sound/soc/codecs/aw883xx/aw883xx_pid_2049_reg.h:110:28: warning: 'aw_pid_2049_reg_access' defined but not used [-Wunused-const-variable=]
     110 | static const unsigned char aw_pid_2049_reg_access[AW_PID_2049_REG_MAX] = {
         |                            ^~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors
--
>> sound/soc/codecs/aw883xx/aw883xx_device.c:634:5: warning: no previous prototype for 'aw883xx_dev_get_int_status' [-Wmissing-prototypes]
     634 | int aw883xx_dev_get_int_status(struct aw_device *aw_dev, uint16_t *int_status)
         |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> sound/soc/codecs/aw883xx/aw883xx_device.c:650:6: warning: no previous prototype for 'aw883xx_dev_clear_int_status' [-Wmissing-prototypes]
     650 | void aw883xx_dev_clear_int_status(struct aw_device *aw_dev)
         |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> sound/soc/codecs/aw883xx/aw883xx_device.c:1000:5: warning: no previous prototype for 'aw_dev_get_ra' [-Wmissing-prototypes]
    1000 | int aw_dev_get_ra(struct aw_cali_desc *cali_desc)
         |     ^~~~~~~~~~~~~
>> sound/soc/codecs/aw883xx/aw883xx_device.c:1062:5: warning: no previous prototype for 'aw_dev_dsp_fw_update' [-Wmissing-prototypes]
    1062 | int aw_dev_dsp_fw_update(struct aw_device *aw_dev,
         |     ^~~~~~~~~~~~~~~~~~~~


vim +/if +1095 sound/soc/codecs/aw883xx/aw883xx.c

00cbb9c2078dff Weidong Wang 2022-11-11  1087  
00cbb9c2078dff Weidong Wang 2022-11-11  1088  static ssize_t reg_store(struct device *dev,
00cbb9c2078dff Weidong Wang 2022-11-11  1089  				struct device_attribute *attr, const char *buf,
00cbb9c2078dff Weidong Wang 2022-11-11  1090  				size_t count)
00cbb9c2078dff Weidong Wang 2022-11-11  1091  {
00cbb9c2078dff Weidong Wang 2022-11-11  1092  	struct aw883xx *aw883xx = dev_get_drvdata(dev);
00cbb9c2078dff Weidong Wang 2022-11-11  1093  	unsigned int databuf[2] = { 0 };
00cbb9c2078dff Weidong Wang 2022-11-11  1094  
00cbb9c2078dff Weidong Wang 2022-11-11 @1095  	if (sscanf(buf, "%x %x", &databuf[0], &databuf[1]) == 2)
00cbb9c2078dff Weidong Wang 2022-11-11  1096  		mutex_lock(&aw883xx->dsp_lock);
00cbb9c2078dff Weidong Wang 2022-11-11  1097  		regmap_write(aw883xx->regmap, databuf[0], databuf[1]);
00cbb9c2078dff Weidong Wang 2022-11-11  1098  		mutex_unlock(&aw883xx->dsp_lock);
00cbb9c2078dff Weidong Wang 2022-11-11  1099  
00cbb9c2078dff Weidong Wang 2022-11-11  1100  	return count;
00cbb9c2078dff Weidong Wang 2022-11-11  1101  }
00cbb9c2078dff Weidong Wang 2022-11-11  1102
kernel test robot Nov. 11, 2022, 4:12 p.m. UTC | #2
Hi,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on broonie-sound/for-next]
[also build test WARNING on linus/master v6.1-rc4 next-20221111]
[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/wangweidong-a-awinic-com/ASoC-codecs-Add-i2c-and-codec-registration-for/20221111-202637
base:   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
patch link:    https://lore.kernel.org/r/1668165992-6493-7-git-send-email-wangweidong.a%40awinic.com
patch subject: [PATCH V3 6/6] ASoC:codecs:aw883xx corresponds to the modified Makefile and Kconfig
config: x86_64-allyesconfig
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
reproduce (this is a W=1 build):
        # https://github.com/intel-lab-lkp/linux/commit/b8778077cd1bc1375124d18df7afeec32dca1950
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review wangweidong-a-awinic-com/ASoC-codecs-Add-i2c-and-codec-registration-for/20221111-202637
        git checkout b8778077cd1bc1375124d18df7afeec32dca1950
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash sound/soc/codecs/

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

All warnings (new ones prefixed by >>):

   sound/soc/codecs/aw883xx/aw883xx.c: In function 'reg_store':
   sound/soc/codecs/aw883xx/aw883xx.c:1095:9: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
    1095 |         if (sscanf(buf, "%x %x", &databuf[0], &databuf[1]) == 2)
         |         ^~
   sound/soc/codecs/aw883xx/aw883xx.c:1097:17: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
    1097 |                 regmap_write(aw883xx->regmap, databuf[0], databuf[1]);
         |                 ^~~~~~~~~~~~
   sound/soc/codecs/aw883xx/aw883xx.c: At top level:
   sound/soc/codecs/aw883xx/aw883xx.c:1799:19: error: initialization of 'void (*)(struct i2c_client *)' from incompatible pointer type 'int (*)(struct i2c_client *)' [-Werror=incompatible-pointer-types]
    1799 |         .remove = aw883xx_i2c_remove,
         |                   ^~~~~~~~~~~~~~~~~~
   sound/soc/codecs/aw883xx/aw883xx.c:1799:19: note: (near initialization for 'aw883xx_i2c_driver.remove')
   In file included from sound/soc/codecs/aw883xx/aw883xx.c:30:
>> sound/soc/codecs/aw883xx/aw883xx_pid_2049_reg.h:110:28: warning: 'aw_pid_2049_reg_access' defined but not used [-Wunused-const-variable=]
     110 | static const unsigned char aw_pid_2049_reg_access[AW_PID_2049_REG_MAX] = {
         |                            ^~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +/aw_pid_2049_reg_access +110 sound/soc/codecs/aw883xx/aw883xx_pid_2049_reg.h

92f03a652991d3 Weidong Wang 2022-11-11  109  
92f03a652991d3 Weidong Wang 2022-11-11 @110  static const unsigned char aw_pid_2049_reg_access[AW_PID_2049_REG_MAX] = {
92f03a652991d3 Weidong Wang 2022-11-11  111  	[AW_PID_2049_ID_REG]		= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  112  	[AW_PID_2049_SYSST_REG]		= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  113  	[AW_PID_2049_SYSINT_REG]	= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  114  	[AW_PID_2049_SYSINTM_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  115  	[AW_PID_2049_SYSCTRL_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  116  	[AW_PID_2049_SYSCTRL2_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  117  	[AW_PID_2049_I2SCTRL_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  118  	[AW_PID_2049_I2SCFG1_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  119  	[AW_PID_2049_I2SCFG2_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  120  	[AW_PID_2049_HAGCCFG1_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  121  	[AW_PID_2049_HAGCCFG2_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  122  	[AW_PID_2049_HAGCCFG3_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  123  	[AW_PID_2049_HAGCCFG4_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  124  	[AW_PID_2049_HAGCCFG5_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  125  	[AW_PID_2049_HAGCCFG6_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  126  	[AW_PID_2049_HAGCCFG7_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  127  	[AW_PID_2049_MPDCFG_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  128  	[AW_PID_2049_PWMCTRL_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  129  	[AW_PID_2049_I2SCFG3_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  130  	[AW_PID_2049_DBGCTRL_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  131  	[AW_PID_2049_HAGCST_REG]	= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  132  	[AW_PID_2049_VBAT_REG]		= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  133  	[AW_PID_2049_TEMP_REG]		= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  134  	[AW_PID_2049_PVDD_REG]		= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  135  	[AW_PID_2049_ISNDAT_REG]	= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  136  	[AW_PID_2049_VSNDAT_REG]	= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  137  	[AW_PID_2049_I2SINT_REG]	= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  138  	[AW_PID_2049_I2SCAPCNT_REG]	= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  139  	[AW_PID_2049_ANASTA1_REG]	= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  140  	[AW_PID_2049_ANASTA2_REG]	= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  141  	[AW_PID_2049_ANASTA3_REG]	= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  142  	[AW_PID_2049_ANASTA4_REG]	= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  143  	[AW_PID_2049_TESTDET_REG]	= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  144  	[AW_PID_2049_TESTIN_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  145  	[AW_PID_2049_TESTOUT_REG]	= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  146  	[AW_PID_2049_DSPMADD_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  147  	[AW_PID_2049_DSPMDAT_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  148  	[AW_PID_2049_WDT_REG]		= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  149  	[AW_PID_2049_ACR1_REG]		= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  150  	[AW_PID_2049_ACR2_REG]		= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  151  	[AW_PID_2049_ASR1_REG]		= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  152  	[AW_PID_2049_ASR2_REG]		= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  153  	[AW_PID_2049_DSPCFG_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  154  	[AW_PID_2049_ASR3_REG]		= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  155  	[AW_PID_2049_ASR4_REG]		= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  156  	[AW_PID_2049_VSNCTRL1_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  157  	[AW_PID_2049_ISNCTRL1_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  158  	[AW_PID_2049_PLLCTRL1_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  159  	[AW_PID_2049_PLLCTRL2_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  160  	[AW_PID_2049_PLLCTRL3_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  161  	[AW_PID_2049_CDACTRL1_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  162  	[AW_PID_2049_CDACTRL2_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  163  	[AW_PID_2049_SADCCTRL1_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  164  	[AW_PID_2049_SADCCTRL2_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  165  	[AW_PID_2049_CPCTRL1_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  166  	[AW_PID_2049_BSTCTRL1_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  167  	[AW_PID_2049_BSTCTRL2_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  168  	[AW_PID_2049_BSTCTRL3_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  169  	[AW_PID_2049_BSTCTRL4_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  170  	[AW_PID_2049_BSTCTRL5_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  171  	[AW_PID_2049_BSTCTRL6_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  172  	[AW_PID_2049_BSTCTRL7_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  173  	[AW_PID_2049_DSMCFG1_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  174  	[AW_PID_2049_DSMCFG2_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  175  	[AW_PID_2049_DSMCFG3_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  176  	[AW_PID_2049_DSMCFG4_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  177  	[AW_PID_2049_DSMCFG5_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  178  	[AW_PID_2049_DSMCFG6_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  179  	[AW_PID_2049_DSMCFG7_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  180  	[AW_PID_2049_DSMCFG8_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  181  	[AW_PID_2049_TESTCTRL1_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  182  	[AW_PID_2049_TESTCTRL2_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  183  	[AW_PID_2049_EFCTRL1_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  184  	[AW_PID_2049_EFCTRL2_REG]	= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  185  	[AW_PID_2049_EFWH_REG]		= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  186  	[AW_PID_2049_EFWM2_REG]		= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  187  	[AW_PID_2049_EFWM1_REG]		= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  188  	[AW_PID_2049_EFWL_REG]		= (REG_RD_ACCESS | REG_WR_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  189  	[AW_PID_2049_EFRH_REG]		= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  190  	[AW_PID_2049_EFRM2_REG]		= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  191  	[AW_PID_2049_EFRM1_REG]		= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  192  	[AW_PID_2049_EFRL_REG]		= (REG_RD_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  193  	[AW_PID_2049_TM_REG]		= (REG_NONE_ACCESS),
92f03a652991d3 Weidong Wang 2022-11-11  194  };
92f03a652991d3 Weidong Wang 2022-11-11  195
kernel test robot Nov. 11, 2022, 6:54 p.m. UTC | #3
Hi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on broonie-sound/for-next]
[also build test ERROR on linus/master v6.1-rc4 next-20221111]
[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/wangweidong-a-awinic-com/ASoC-codecs-Add-i2c-and-codec-registration-for/20221111-202637
base:   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
patch link:    https://lore.kernel.org/r/1668165992-6493-7-git-send-email-wangweidong.a%40awinic.com
patch subject: [PATCH V3 6/6] ASoC:codecs:aw883xx corresponds to the modified Makefile and Kconfig
config: nios2-randconfig-r036-20221111
compiler: nios2-linux-gcc (GCC) 12.1.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/b8778077cd1bc1375124d18df7afeec32dca1950
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review wangweidong-a-awinic-com/ASoC-codecs-Add-i2c-and-codec-registration-for/20221111-202637
        git checkout b8778077cd1bc1375124d18df7afeec32dca1950
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=nios2 SHELL=/bin/bash sound/soc/codecs/

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

All error/warnings (new ones prefixed by >>):

   sound/soc/codecs/aw883xx/aw883xx.c: In function 'reg_store':
>> sound/soc/codecs/aw883xx/aw883xx.c:1095:9: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
    1095 |         if (sscanf(buf, "%x %x", &databuf[0], &databuf[1]) == 2)
         |         ^~
   sound/soc/codecs/aw883xx/aw883xx.c:1097:17: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
    1097 |                 regmap_write(aw883xx->regmap, databuf[0], databuf[1]);
         |                 ^~~~~~~~~~~~
   sound/soc/codecs/aw883xx/aw883xx.c: At top level:
>> sound/soc/codecs/aw883xx/aw883xx.c:1799:19: error: initialization of 'void (*)(struct i2c_client *)' from incompatible pointer type 'int (*)(struct i2c_client *)' [-Werror=incompatible-pointer-types]
    1799 |         .remove = aw883xx_i2c_remove,
         |                   ^~~~~~~~~~~~~~~~~~
   sound/soc/codecs/aw883xx/aw883xx.c:1799:19: note: (near initialization for 'aw883xx_i2c_driver.remove')
   In file included from sound/soc/codecs/aw883xx/aw883xx.c:30:
   sound/soc/codecs/aw883xx/aw883xx_pid_2049_reg.h:110:28: warning: 'aw_pid_2049_reg_access' defined but not used [-Wunused-const-variable=]
     110 | static const unsigned char aw_pid_2049_reg_access[AW_PID_2049_REG_MAX] = {
         |                            ^~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors
--
>> sound/soc/codecs/aw883xx/aw883xx_device.c:634:5: warning: no previous prototype for 'aw883xx_dev_get_int_status' [-Wmissing-prototypes]
     634 | int aw883xx_dev_get_int_status(struct aw_device *aw_dev, uint16_t *int_status)
         |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> sound/soc/codecs/aw883xx/aw883xx_device.c:650:6: warning: no previous prototype for 'aw883xx_dev_clear_int_status' [-Wmissing-prototypes]
     650 | void aw883xx_dev_clear_int_status(struct aw_device *aw_dev)
         |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> sound/soc/codecs/aw883xx/aw883xx_device.c:1000:5: warning: no previous prototype for 'aw_dev_get_ra' [-Wmissing-prototypes]
    1000 | int aw_dev_get_ra(struct aw_cali_desc *cali_desc)
         |     ^~~~~~~~~~~~~
>> sound/soc/codecs/aw883xx/aw883xx_device.c:1062:5: warning: no previous prototype for 'aw_dev_dsp_fw_update' [-Wmissing-prototypes]
    1062 | int aw_dev_dsp_fw_update(struct aw_device *aw_dev,
         |     ^~~~~~~~~~~~~~~~~~~~


vim +1799 sound/soc/codecs/aw883xx/aw883xx.c

00cbb9c2078dff Weidong Wang 2022-11-11  1791  
00cbb9c2078dff Weidong Wang 2022-11-11  1792  static struct i2c_driver aw883xx_i2c_driver = {
00cbb9c2078dff Weidong Wang 2022-11-11  1793  	.driver = {
00cbb9c2078dff Weidong Wang 2022-11-11  1794  		.name = AW883XX_I2C_NAME,
00cbb9c2078dff Weidong Wang 2022-11-11  1795  		.owner = THIS_MODULE,
00cbb9c2078dff Weidong Wang 2022-11-11  1796  		.of_match_table = of_match_ptr(aw883xx_dt_match),
00cbb9c2078dff Weidong Wang 2022-11-11  1797  	},
00cbb9c2078dff Weidong Wang 2022-11-11  1798  	.probe = aw883xx_i2c_probe,
00cbb9c2078dff Weidong Wang 2022-11-11 @1799  	.remove = aw883xx_i2c_remove,
00cbb9c2078dff Weidong Wang 2022-11-11  1800  	.id_table = aw883xx_i2c_id,
00cbb9c2078dff Weidong Wang 2022-11-11  1801  };
00cbb9c2078dff Weidong Wang 2022-11-11  1802  module_i2c_driver(aw883xx_i2c_driver);
00cbb9c2078dff Weidong Wang 2022-11-11  1803
diff mbox series

Patch

diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
index d16b4ef..033c285 100644
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -54,6 +54,7 @@  config SND_SOC_ALL_CODECS
 	imply SND_SOC_ALC5623
 	imply SND_SOC_ALC5632
 	imply SND_SOC_AW8738
+	imply SND_SOC_AW883XX
 	imply SND_SOC_BT_SCO
 	imply SND_SOC_BD28623
 	imply SND_SOC_CQ0093VC
@@ -2128,4 +2129,13 @@  config SND_SOC_LPASS_TX_MACRO
 	select SND_SOC_LPASS_MACRO_COMMON
 	tristate "Qualcomm TX Macro in LPASS(Low Power Audio SubSystem)"
 
+config SND_SOC_AW883XX
+	tristate "Soc Audio for awinic aw883xx series"
+	depends on I2C
+	help
+	  this option enables support for aw883xx series Smart PA.
+	  The Awinic AW883XX is an I2S/TDM input, high efficiency
+	  digital Smart K audio amplifier with an integrated 10V
+	  smart boost convert.
+
 endmenu
diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile
index 92fd441..e10d95f 100644
--- a/sound/soc/codecs/Makefile
+++ b/sound/soc/codecs/Makefile
@@ -352,6 +352,11 @@  snd-soc-tas2780-objs := tas2780.o
 # Mux
 snd-soc-simple-mux-objs := simple-mux.o
 
+snd_soc_aw883xx-objs := aw883xx/aw883xx.o \
+						aw883xx/aw883xx_init.o \
+						aw883xx/aw883xx_device.o \
+						aw883xx/aw883xx_bin_parse.o \
+
 obj-$(CONFIG_SND_SOC_88PM860X)	+= snd-soc-88pm860x.o
 obj-$(CONFIG_SND_SOC_AB8500_CODEC)	+= snd-soc-ab8500-codec.o
 obj-$(CONFIG_SND_SOC_AC97_CODEC)	+= snd-soc-ac97.o
@@ -709,3 +714,5 @@  obj-$(CONFIG_SND_SOC_LPASS_TX_MACRO)	+= snd-soc-lpass-tx-macro.o
 
 # Mux
 obj-$(CONFIG_SND_SOC_SIMPLE_MUX)	+= snd-soc-simple-mux.o
+
+obj-$(CONFIG_SND_SOC_AW883XX) +=snd_soc_aw883xx.o