Message ID | 20210406105018.59463-6-jiri.prchal@aksignal.cz (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | SOC Codecs: TLV320AIC3X add SPI support | expand |
On Tue, Apr 06, 2021 at 12:50:18PM +0200, Jiri Prchal wrote: > config SND_SOC_TLV320AIC3X > tristate "Texas Instruments TLV320AIC3x CODECs" > + > +config SND_SOC_TLV320AIC3X_I2C The old single option should not be user selectable when there are bus specific options so the help text should be removed from it.
Hi Jiri, Thank you for the patch! Yet something to improve: [auto build test ERROR on asoc/for-next] [also build test ERROR on v5.12-rc6 next-20210406] [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] url: https://github.com/0day-ci/linux/commits/Jiri-Prchal/SOC-Codecs-TLV320AIC3X-add-SPI-support/20210406-185528 base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next config: s390-randconfig-r011-20210406 (attached as .config) compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project a46f59a747a7273cc439efaf3b4f98d8b63d2f20) 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 s390 cross compiling tool for clang build # apt-get install binutils-s390x-linux-gnu # https://github.com/0day-ci/linux/commit/8001328cfb49d6387002a8314bc25241e46a969d git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Jiri-Prchal/SOC-Codecs-TLV320AIC3X-add-SPI-support/20210406-185528 git checkout 8001328cfb49d6387002a8314bc25241e46a969d # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=s390 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 >>): In file included from sound/soc/codecs/tlv320aic3x-i2c.c:15: In file included from include/linux/regmap.h:20: In file included from include/linux/iopoll.h:14: In file included from include/linux/io.h:13: In file included from arch/s390/include/asm/io.h:80: include/asm-generic/io.h:464:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] val = __raw_readb(PCI_IOBASE + addr); ~~~~~~~~~~ ^ include/asm-generic/io.h:477:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr)); ~~~~~~~~~~ ^ include/uapi/linux/byteorder/big_endian.h:36:59: note: expanded from macro '__le16_to_cpu' #define __le16_to_cpu(x) __swab16((__force __u16)(__le16)(x)) ^ include/uapi/linux/swab.h:102:54: note: expanded from macro '__swab16' #define __swab16(x) (__u16)__builtin_bswap16((__u16)(x)) ^ In file included from sound/soc/codecs/tlv320aic3x-i2c.c:15: In file included from include/linux/regmap.h:20: In file included from include/linux/iopoll.h:14: In file included from include/linux/io.h:13: In file included from arch/s390/include/asm/io.h:80: include/asm-generic/io.h:490:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr)); ~~~~~~~~~~ ^ include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro '__le32_to_cpu' #define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x)) ^ include/uapi/linux/swab.h:115:54: note: expanded from macro '__swab32' #define __swab32(x) (__u32)__builtin_bswap32((__u32)(x)) ^ In file included from sound/soc/codecs/tlv320aic3x-i2c.c:15: In file included from include/linux/regmap.h:20: In file included from include/linux/iopoll.h:14: In file included from include/linux/io.h:13: In file included from arch/s390/include/asm/io.h:80: include/asm-generic/io.h:501:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] __raw_writeb(value, PCI_IOBASE + addr); ~~~~~~~~~~ ^ include/asm-generic/io.h:511:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr); ~~~~~~~~~~ ^ include/asm-generic/io.h:521:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] __raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr); ~~~~~~~~~~ ^ include/asm-generic/io.h:609:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] readsb(PCI_IOBASE + addr, buffer, count); ~~~~~~~~~~ ^ include/asm-generic/io.h:617:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] readsw(PCI_IOBASE + addr, buffer, count); ~~~~~~~~~~ ^ include/asm-generic/io.h:625:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] readsl(PCI_IOBASE + addr, buffer, count); ~~~~~~~~~~ ^ include/asm-generic/io.h:634:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] writesb(PCI_IOBASE + addr, buffer, count); ~~~~~~~~~~ ^ include/asm-generic/io.h:643:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] writesw(PCI_IOBASE + addr, buffer, count); ~~~~~~~~~~ ^ include/asm-generic/io.h:652:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] writesl(PCI_IOBASE + addr, buffer, count); ~~~~~~~~~~ ^ >> sound/soc/codecs/tlv320aic3x-i2c.c:61:32: error: expected '}' .of_match_table = aic3x_of_id), ^ sound/soc/codecs/tlv320aic3x-i2c.c:59:12: note: to match this '{' .driver = { ^ >> sound/soc/codecs/tlv320aic3x-i2c.c:62:3: error: expected ';' at end of declaration }, ^ ; >> sound/soc/codecs/tlv320aic3x-i2c.c:63:2: error: expected identifier or '(' .probe = aic3x_i2c_probe, ^ >> sound/soc/codecs/tlv320aic3x-i2c.c:66:1: error: extraneous closing brace ('}') }; ^ 12 warnings and 4 errors generated. vim +61 sound/soc/codecs/tlv320aic3x-i2c.c eab5358b511ef2 Jiri Prchal 2021-04-06 57 eab5358b511ef2 Jiri Prchal 2021-04-06 58 static struct i2c_driver aic3x_i2c_driver = { eab5358b511ef2 Jiri Prchal 2021-04-06 59 .driver = { eab5358b511ef2 Jiri Prchal 2021-04-06 60 .name = "tlv320aic3x", eab5358b511ef2 Jiri Prchal 2021-04-06 @61 .of_match_table = aic3x_of_id), eab5358b511ef2 Jiri Prchal 2021-04-06 @62 }, eab5358b511ef2 Jiri Prchal 2021-04-06 @63 .probe = aic3x_i2c_probe, eab5358b511ef2 Jiri Prchal 2021-04-06 64 .remove = aic3x_i2c_remove, eab5358b511ef2 Jiri Prchal 2021-04-06 65 .id_table = aic3x_i2c_id, eab5358b511ef2 Jiri Prchal 2021-04-06 @66 }; eab5358b511ef2 Jiri Prchal 2021-04-06 67 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Hi Jiri, Thank you for the patch! Yet something to improve: [auto build test ERROR on asoc/for-next] [also build test ERROR on v5.12-rc6 next-20210406] [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] url: https://github.com/0day-ci/linux/commits/Jiri-Prchal/SOC-Codecs-TLV320AIC3X-add-SPI-support/20210406-185528 base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next config: arc-allyesconfig (attached as .config) compiler: arceb-elf-gcc (GCC) 9.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/0day-ci/linux/commit/8001328cfb49d6387002a8314bc25241e46a969d git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Jiri-Prchal/SOC-Codecs-TLV320AIC3X-add-SPI-support/20210406-185528 git checkout 8001328cfb49d6387002a8314bc25241e46a969d # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc 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 >>): >> sound/soc/codecs/tlv320aic3x-i2c.c:61:32: error: expected '}' before ')' token 61 | .of_match_table = aic3x_of_id), | ^ sound/soc/codecs/tlv320aic3x-i2c.c:59:12: note: to match this '{' 59 | .driver = { | ^ >> sound/soc/codecs/tlv320aic3x-i2c.c:61:32: error: expected '}' before ')' token 61 | .of_match_table = aic3x_of_id), | ^ sound/soc/codecs/tlv320aic3x-i2c.c:58:45: note: to match this '{' 58 | static struct i2c_driver aic3x_i2c_driver = { | ^ >> sound/soc/codecs/tlv320aic3x-i2c.c:61:32: error: expected ',' or ';' before ')' token 61 | .of_match_table = aic3x_of_id), | ^ >> sound/soc/codecs/tlv320aic3x-i2c.c:62:3: error: expected identifier or '(' before ',' token 62 | }, | ^ sound/soc/codecs/tlv320aic3x-i2c.c:38:35: warning: 'aic3x_i2c_id' defined but not used [-Wunused-const-variable=] 38 | static const struct i2c_device_id aic3x_i2c_id[] = { | ^~~~~~~~~~~~ sound/soc/codecs/tlv320aic3x-i2c.c:33:12: warning: 'aic3x_i2c_remove' defined but not used [-Wunused-function] 33 | static int aic3x_i2c_remove(struct i2c_client *i2c) | ^~~~~~~~~~~~~~~~ sound/soc/codecs/tlv320aic3x-i2c.c:20:12: warning: 'aic3x_i2c_probe' defined but not used [-Wunused-function] 20 | static int aic3x_i2c_probe(struct i2c_client *i2c, const struct i2c_device_id *id) | ^~~~~~~~~~~~~~~ vim +61 sound/soc/codecs/tlv320aic3x-i2c.c eab5358b511ef2 Jiri Prchal 2021-04-06 57 eab5358b511ef2 Jiri Prchal 2021-04-06 58 static struct i2c_driver aic3x_i2c_driver = { eab5358b511ef2 Jiri Prchal 2021-04-06 59 .driver = { eab5358b511ef2 Jiri Prchal 2021-04-06 60 .name = "tlv320aic3x", eab5358b511ef2 Jiri Prchal 2021-04-06 @61 .of_match_table = aic3x_of_id), eab5358b511ef2 Jiri Prchal 2021-04-06 @62 }, eab5358b511ef2 Jiri Prchal 2021-04-06 63 .probe = aic3x_i2c_probe, eab5358b511ef2 Jiri Prchal 2021-04-06 64 .remove = aic3x_i2c_remove, eab5358b511ef2 Jiri Prchal 2021-04-06 65 .id_table = aic3x_i2c_id, eab5358b511ef2 Jiri Prchal 2021-04-06 66 }; eab5358b511ef2 Jiri Prchal 2021-04-06 67 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig index 1c87b42606c9..d1fecf3b17c6 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -215,6 +215,8 @@ config SND_SOC_ALL_CODECS imply SND_SOC_TLV320AIC32X4_I2C imply SND_SOC_TLV320AIC32X4_SPI imply SND_SOC_TLV320AIC3X + imply SND_SOC_TLV320AIC3X_I2C + imply SND_SOC_TLV320AIC3X_SPI imply SND_SOC_TPA6130A2 imply SND_SOC_TLV320DAC33 imply SND_SOC_TSCS42XX @@ -1420,7 +1422,16 @@ config SND_SOC_TLV320AIC32X4_SPI config SND_SOC_TLV320AIC3X tristate "Texas Instruments TLV320AIC3x CODECs" + +config SND_SOC_TLV320AIC3X_I2C + tristate "Texas Instruments TLV320AIC3x audio CODECs - I2C" depends on I2C + select SND_SOC_TLV320AIC3X + +config SND_SOC_TLV320AIC3X_SPI + tristate "Texas Instruments TLV320AIC3x audio CODECs - SPI" + depends on SPI_MASTER + select SND_SOC_TLV320AIC3X config SND_SOC_TLV320DAC33 tristate diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile index 81357dc62ea0..022b3801d964 100644 --- a/sound/soc/codecs/Makefile +++ b/sound/soc/codecs/Makefile @@ -233,6 +233,8 @@ snd-soc-tlv320aic32x4-objs := tlv320aic32x4.o tlv320aic32x4-clk.o snd-soc-tlv320aic32x4-i2c-objs := tlv320aic32x4-i2c.o snd-soc-tlv320aic32x4-spi-objs := tlv320aic32x4-spi.o snd-soc-tlv320aic3x-objs := tlv320aic3x.o +snd-soc-tlv320aic3x-i2c-objs := tlv320aic3x-i2c.o +snd-soc-tlv320aic3x-spi-objs := tlv320aic3x-spi.o snd-soc-tlv320dac33-objs := tlv320dac33.o snd-soc-tlv320adcx140-objs := tlv320adcx140.o snd-soc-tscs42xx-objs := tscs42xx.o @@ -548,6 +550,8 @@ obj-$(CONFIG_SND_SOC_TLV320AIC32X4) += snd-soc-tlv320aic32x4.o obj-$(CONFIG_SND_SOC_TLV320AIC32X4_I2C) += snd-soc-tlv320aic32x4-i2c.o obj-$(CONFIG_SND_SOC_TLV320AIC32X4_SPI) += snd-soc-tlv320aic32x4-spi.o obj-$(CONFIG_SND_SOC_TLV320AIC3X) += snd-soc-tlv320aic3x.o +obj-$(CONFIG_SND_SOC_TLV320AIC3X_I2C) += snd-soc-tlv320aic3x-i2c.o +obj-$(CONFIG_SND_SOC_TLV320AIC3X_SPI) += snd-soc-tlv320aic3x-spi.o obj-$(CONFIG_SND_SOC_TLV320DAC33) += snd-soc-tlv320dac33.o obj-$(CONFIG_SND_SOC_TLV320ADCX140) += snd-soc-tlv320adcx140.o obj-$(CONFIG_SND_SOC_TSCS42XX) += snd-soc-tscs42xx.o
Adds configuration option for SPI. Compile new sources. Signed-off-by: Jiri Prchal <jiri.prchal@aksignal.cz> --- sound/soc/codecs/Kconfig | 11 +++++++++++ sound/soc/codecs/Makefile | 4 ++++ 2 files changed, 15 insertions(+)