Hi Mariel, kernel test robot noticed the following build warnings: [auto build test WARNING on 9900e7a54764998ba3a22f06ec629f7b5fe0b422] url: https://github.com/intel-lab-lkp/linux/commits/Mariel-Tinaco/dt-bindings-iio-dac-add-docs-for-ad8460/20240730-112724 base: 9900e7a54764998ba3a22f06ec629f7b5fe0b422 patch link: https://lore.kernel.org/r/20240730030509.57834-3-Mariel.Tinaco%40analog.com patch subject: [PATCH v2 2/2] iio: dac: support the ad8460 Waveform DAC config: i386-allyesconfig (https://download.01.org/0day-ci/archive/20240802/202408021321.uic81edY-lkp@xxxxxxxxx/config) compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240802/202408021321.uic81edY-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202408021321.uic81edY-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): drivers/iio/dac/ad8460.c: In function 'ad8460_dac_input_read': drivers/iio/dac/ad8460.c:159:15: error: implicit declaration of function 'ad8460_get_hvdac_word' [-Werror=implicit-function-declaration] 159 | ret = ad8460_get_hvdac_word(state, private, ®); | ^~~~~~~~~~~~~~~~~~~~~ >> drivers/iio/dac/ad8460.c:163:35: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'unsigned int' [-Wformat=] 163 | return sysfs_emit(buf, "%ld\n", reg); | ~~^ ~~~ | | | | | unsigned int | long int | %d drivers/iio/dac/ad8460.c: In function 'ad8460_dac_input_write': >> drivers/iio/dac/ad8460.c:176:30: warning: passing argument 2 of 'kstrtou32' makes integer from pointer without a cast [-Wint-conversion] 176 | ret = kstrtou32(buf, ®); | ^~~~ | | | unsigned int * In file included from include/linux/kernel.h:25, from include/linux/clk.h:13, from drivers/iio/dac/ad8460.c:10: include/linux/kstrtox.h:84:70: note: expected 'unsigned int' but argument is of type 'unsigned int *' 84 | static inline int __must_check kstrtou32(const char *s, unsigned int base, u32 *res) | ~~~~~~~~~~~~~^~~~ drivers/iio/dac/ad8460.c:176:15: error: too few arguments to function 'kstrtou32' 176 | ret = kstrtou32(buf, ®); | ^~~~~~~~~ include/linux/kstrtox.h:84:32: note: declared here 84 | static inline int __must_check kstrtou32(const char *s, unsigned int base, u32 *res) | ^~~~~~~~~ drivers/iio/dac/ad8460.c:182:16: error: implicit declaration of function 'ad8460_set_hvdac_word' [-Werror=implicit-function-declaration] 182 | return ad8460_set_hvdac_word(state, private, reg); | ^~~~~~~~~~~~~~~~~~~~~ drivers/iio/dac/ad8460.c: In function 'ad8460_write_symbol': >> drivers/iio/dac/ad8460.c:211:30: warning: passing argument 2 of 'kstrtou16' makes integer from pointer without a cast [-Wint-conversion] 211 | ret = kstrtou16(buf, &sym); | ^~~~ | | | bool * {aka _Bool *} include/linux/kstrtox.h:94:56: note: expected 'unsigned int' but argument is of type 'bool *' {aka '_Bool *'} 94 | int __must_check kstrtou16(const char *s, unsigned int base, u16 *res); | ~~~~~~~~~~~~~^~~~ drivers/iio/dac/ad8460.c:211:15: error: too few arguments to function 'kstrtou16' 211 | ret = kstrtou16(buf, &sym); | ^~~~~~~~~ include/linux/kstrtox.h:94:18: note: declared here 94 | int __must_check kstrtou16(const char *s, unsigned int base, u16 *res); | ^~~~~~~~~ drivers/iio/dac/ad8460.c: In function 'ad8460_write_toggle_en': drivers/iio/dac/ad8460.c:249:30: warning: passing argument 2 of 'kstrtou16' makes integer from pointer without a cast [-Wint-conversion] 249 | ret = kstrtou16(buf, &toggle_en); | ^~~~~~~~~~ | | | bool * {aka _Bool *} include/linux/kstrtox.h:94:56: note: expected 'unsigned int' but argument is of type 'bool *' {aka '_Bool *'} 94 | int __must_check kstrtou16(const char *s, unsigned int base, u16 *res); | ~~~~~~~~~~~~~^~~~ drivers/iio/dac/ad8460.c:249:15: error: too few arguments to function 'kstrtou16' 249 | ret = kstrtou16(buf, &toggle_en); | ^~~~~~~~~ include/linux/kstrtox.h:94:18: note: declared here 94 | int __must_check kstrtou16(const char *s, unsigned int base, u16 *res); | ^~~~~~~~~ drivers/iio/dac/ad8460.c: At top level: drivers/iio/dac/ad8460.c:335:12: error: static declaration of 'ad8460_get_hvdac_word' follows non-static declaration 335 | static int ad8460_get_hvdac_word(struct ad8460_state *state, | ^~~~~~~~~~~~~~~~~~~~~ drivers/iio/dac/ad8460.c:159:15: note: previous implicit declaration of 'ad8460_get_hvdac_word' with type 'int()' 159 | ret = ad8460_get_hvdac_word(state, private, ®); | ^~~~~~~~~~~~~~~~~~~~~ drivers/iio/dac/ad8460.c: In function 'ad8460_get_hvdac_word': drivers/iio/dac/ad8460.c:346:16: error: implicit declaration of function 'get_unaligned_le16' [-Werror=implicit-function-declaration] 346 | *val = get_unaligned_le16(state->spi_tx_buf); | ^~~~~~~~~~~~~~~~~~ drivers/iio/dac/ad8460.c: At top level: drivers/iio/dac/ad8460.c:351:12: error: static declaration of 'ad8460_set_hvdac_word' follows non-static declaration 351 | static int ad8460_set_hvdac_word(struct ad8460_state *state, | ^~~~~~~~~~~~~~~~~~~~~ drivers/iio/dac/ad8460.c:182:16: note: previous implicit declaration of 'ad8460_set_hvdac_word' with type 'int()' 182 | return ad8460_set_hvdac_word(state, private, reg); | ^~~~~~~~~~~~~~~~~~~~~ drivers/iio/dac/ad8460.c: In function 'ad8460_set_hvdac_word': drivers/iio/dac/ad8460.c:355:9: error: implicit declaration of function 'put_unaligned_le16' [-Werror=implicit-function-declaration] 355 | put_unaligned_le16(val & 0x3FFF, &state->spi_tx_buf); | ^~~~~~~~~~~~~~~~~~ drivers/iio/dac/ad8460.c: In function 'ad8460_probe': drivers/iio/dac/ad8460.c:855:15: error: implicit declaration of function 'devm_regulator_get_enable_read_voltage'; did you mean 'devm_regulator_get_enable_optional'? [-Werror=implicit-function-declaration] 855 | ret = devm_regulator_get_enable_read_voltage(&spi->dev, "refio_1p2v"); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | devm_regulator_get_enable_optional drivers/iio/dac/ad8460.c:859:57: error: 'vrefio' undeclared (first use in this function) 859 | return dev_err_probe(&spi->dev, PTR_ERR(vrefio), | ^~~~~~ drivers/iio/dac/ad8460.c:859:57: note: each undeclared identifier is reported only once for each function it appears in >> drivers/iio/dac/ad8460.c:819:27: warning: unused variable 'refio_1p2v' [-Wunused-variable] 819 | struct regulator *refio_1p2v; | ^~~~~~~~~~ cc1: some warnings being treated as errors vim +163 drivers/iio/dac/ad8460.c 149 150 static ssize_t ad8460_dac_input_read(struct iio_dev *indio_dev, 151 uintptr_t private, 152 const struct iio_chan_spec *chan, 153 char *buf) 154 { 155 struct ad8460_state *state = iio_priv(indio_dev); 156 unsigned int reg; 157 int ret; 158 159 ret = ad8460_get_hvdac_word(state, private, ®); 160 if (ret) 161 return ret; 162 > 163 return sysfs_emit(buf, "%ld\n", reg); 164 } 165 166 static ssize_t ad8460_dac_input_write(struct iio_dev *indio_dev, 167 uintptr_t private, 168 const struct iio_chan_spec *chan, 169 const char *buf, 170 size_t len) 171 { 172 struct ad8460_state *state = iio_priv(indio_dev); 173 unsigned int reg; 174 int ret; 175 > 176 ret = kstrtou32(buf, ®); 177 if (ret) 178 return ret; 179 180 guard(mutex)(&state->lock); 181 182 return ad8460_set_hvdac_word(state, private, reg); 183 } 184 185 static ssize_t ad8460_read_symbol(struct iio_dev *indio_dev, 186 uintptr_t private, 187 const struct iio_chan_spec *chan, 188 char *buf) 189 { 190 struct ad8460_state *state = iio_priv(indio_dev); 191 unsigned int reg; 192 int ret; 193 194 ret = regmap_read(state->regmap, AD8460_CTRL_REG(0x02), ®); 195 if (ret) 196 return ret; 197 198 return sysfs_emit(buf, "%ld\n", FIELD_GET(AD8460_PATTERN_DEPTH_MSK, reg)); 199 } 200 201 static ssize_t ad8460_write_symbol(struct iio_dev *indio_dev, 202 uintptr_t private, 203 const struct iio_chan_spec *chan, 204 const char *buf, 205 size_t len) 206 { 207 struct ad8460_state *state = iio_priv(indio_dev); 208 bool sym; 209 int ret; 210 > 211 ret = kstrtou16(buf, &sym); 212 if (ret) 213 return ret; 214 215 guard(mutex)(&state->lock); 216 217 return regmap_update_bits(state->regmap, 218 AD8460_CTRL_REG(0x02), 219 AD8460_PATTERN_DEPTH_MSK, 220 FIELD_PREP(AD8460_PATTERN_DEPTH_MSK, sym)); 221 } 222 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki