llvm.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH 3/5] iio: mcp9600: Recognize chip id for mcp9601
       [not found] <20250815164627.22002-4-bcollins@watter.com>
@ 2025-08-16  8:46 ` kernel test robot
  2025-08-16 10:02   ` Jonathan Cameron
  0 siblings, 1 reply; 5+ messages in thread
From: kernel test robot @ 2025-08-16  8:46 UTC (permalink / raw)
  To: Ben Collins, Jonathan Cameron, David Lechner, Nuno Sá,
	Andy Shevchenko
  Cc: llvm, oe-kbuild-all, Ben Collins, linux-iio, linux-kernel

Hi Ben,

kernel test robot noticed the following build warnings:

[auto build test WARNING on jic23-iio/togreg]
[also build test WARNING on linus/master v6.17-rc1 next-20250815]
[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/Ben-Collins/dt-bindings-iio-mcp9600-Add-compatible-for-microchip-mcp9601/20250816-005705
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
patch link:    https://lore.kernel.org/r/20250815164627.22002-4-bcollins%40watter.com
patch subject: [PATCH 3/5] iio: mcp9600: Recognize chip id for mcp9601
config: riscv-randconfig-001-20250816 (https://download.01.org/0day-ci/archive/20250816/202508161646.PDl6V4EU-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 93d24b6b7b148c47a2fa228a4ef31524fa1d9f3f)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250816/202508161646.PDl6V4EU-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202508161646.PDl6V4EU-lkp@intel.com/

All warnings (new ones prefixed by >>):

   In file included from include/linux/regulator/consumer.h:35:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:27:
   In file included from include/linux/kernel_stat.h:8:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:11:
   In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:12:
   In file included from arch/riscv/include/asm/io.h:136:
   include/asm-generic/io.h:820:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
     820 |         insl(addr, buffer, count);
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~
   arch/riscv/include/asm/io.h:106:53: note: expanded from macro 'insl'
     106 | #define insl(addr, buffer, count) __insl(PCI_IOBASE + (addr), buffer, count)
         |                                          ~~~~~~~~~~ ^
   In file included from drivers/iio/temperature/mcp9600.c:13:
   In file included from include/linux/i2c.h:19:
   In file included from include/linux/regulator/consumer.h:35:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:27:
   In file included from include/linux/kernel_stat.h:8:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:11:
   In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:12:
   In file included from arch/riscv/include/asm/io.h:136:
   include/asm-generic/io.h:829:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
     829 |         outsb(addr, buffer, count);
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/riscv/include/asm/io.h:118:55: note: expanded from macro 'outsb'
     118 | #define outsb(addr, buffer, count) __outsb(PCI_IOBASE + (addr), buffer, count)
         |                                            ~~~~~~~~~~ ^
   In file included from drivers/iio/temperature/mcp9600.c:13:
   In file included from include/linux/i2c.h:19:
   In file included from include/linux/regulator/consumer.h:35:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:27:
   In file included from include/linux/kernel_stat.h:8:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:11:
   In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:12:
   In file included from arch/riscv/include/asm/io.h:136:
   include/asm-generic/io.h:838:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
     838 |         outsw(addr, buffer, count);
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/riscv/include/asm/io.h:119:55: note: expanded from macro 'outsw'
     119 | #define outsw(addr, buffer, count) __outsw(PCI_IOBASE + (addr), buffer, count)
         |                                            ~~~~~~~~~~ ^
   In file included from drivers/iio/temperature/mcp9600.c:13:
   In file included from include/linux/i2c.h:19:
   In file included from include/linux/regulator/consumer.h:35:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:27:
   In file included from include/linux/kernel_stat.h:8:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:11:
   In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:12:
   In file included from arch/riscv/include/asm/io.h:136:
   include/asm-generic/io.h:847:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
     847 |         outsl(addr, buffer, count);
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/riscv/include/asm/io.h:120:55: note: expanded from macro 'outsl'
     120 | #define outsl(addr, buffer, count) __outsl(PCI_IOBASE + (addr), buffer, count)
         |                                            ~~~~~~~~~~ ^
   In file included from drivers/iio/temperature/mcp9600.c:13:
   In file included from include/linux/i2c.h:19:
   In file included from include/linux/regulator/consumer.h:35:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:13:
   In file included from include/linux/cgroup.h:27:
   In file included from include/linux/kernel_stat.h:8:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:11:
   In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:12:
   In file included from arch/riscv/include/asm/io.h:136:
   include/asm-generic/io.h:1175:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
    1175 |         return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port;
         |                                                   ~~~~~~~~~~ ^
>> drivers/iio/temperature/mcp9600.c:440:53: warning: invalid conversion specifier '\x0a' [-Wformat-invalid-specifier]
     440 |                                 "Expected id %02x, but device responded with %02\n",
         |                                                                              ~~~^
   include/linux/dev_printk.h:156:62: note: expanded from macro 'dev_warn'
     156 |         dev_printk_index_wrap(_dev_warn, KERN_WARNING, dev, dev_fmt(fmt), ##__VA_ARGS__)
         |                                                                     ^~~
   include/linux/dev_printk.h:19:22: note: expanded from macro 'dev_fmt'
      19 | #define dev_fmt(fmt) fmt
         |                      ^~~
   include/linux/dev_printk.h:110:16: note: expanded from macro 'dev_printk_index_wrap'
     110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
         |                              ^~~
>> drivers/iio/temperature/mcp9600.c:441:26: warning: data argument not used by format string [-Wformat-extra-args]
     440 |                                 "Expected id %02x, but device responded with %02\n",
         |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     441 |                                  chip_info->chip_id, dev_id);
         |                                                      ^
   include/linux/dev_printk.h:156:70: note: expanded from macro 'dev_warn'
     156 |         dev_printk_index_wrap(_dev_warn, KERN_WARNING, dev, dev_fmt(fmt), ##__VA_ARGS__)
         |                                                                     ~~~     ^
   include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap'
     110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
         |                              ~~~    ^
   drivers/iio/temperature/mcp9600.c:428:22: warning: unused variable 'ret' [-Wunused-variable]
     428 |         int ch_sel, dev_id, ret;
         |                             ^~~
   10 warnings generated.


vim +/x0a +440 drivers/iio/temperature/mcp9600.c

   422	
   423	static int mcp9600_probe(struct i2c_client *client)
   424	{
   425		const struct mcp_chip_info *chip_info = i2c_get_match_data(client);
   426		struct iio_dev *indio_dev;
   427		struct mcp9600_data *data;
   428		int ch_sel, dev_id, ret;
   429	
   430		dev_id = i2c_smbus_read_byte_data(client, MCP9600_DEVICE_ID);
   431		if (dev_id < 0)
   432			return dev_err_probe(&client->dev, dev_id,
   433					     "Failed to read device ID\n");
   434	
   435		switch (dev_id) {
   436		case MCP9600_DEVICE_ID_MCP9600:
   437		case MCP9600_DEVICE_ID_MCP9601:
   438			if (dev_id != chip_info->chip_id)
   439				dev_warn(&client->dev,
 > 440					"Expected id %02x, but device responded with %02\n",
 > 441					 chip_info->chip_id, dev_id);
   442			break;
   443	
   444		default:
   445			dev_warn(&client->dev, "Unknown id %x, using %x\n", dev_id,
   446				 chip_info->chip_id);
   447		}
   448	
   449		indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
   450		if (!indio_dev)
   451			return -ENOMEM;
   452	
   453		data = iio_priv(indio_dev);
   454		data->client = client;
   455	
   456		ch_sel = mcp9600_probe_alerts(indio_dev);
   457		if (ch_sel < 0)
   458			return ch_sel;
   459	
   460		indio_dev->info = &mcp9600_info;
   461		indio_dev->name = chip_info->chip_name;
   462		indio_dev->modes = INDIO_DIRECT_MODE;
   463		indio_dev->channels = mcp9600_channels[ch_sel];
   464		indio_dev->num_channels = ARRAY_SIZE(mcp9600_channels[ch_sel]);
   465	
   466		return devm_iio_device_register(&client->dev, indio_dev);
   467	}
   468	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 3/5] iio: mcp9600: Recognize chip id for mcp9601
  2025-08-16  8:46 ` [PATCH 3/5] iio: mcp9600: Recognize chip id for mcp9601 kernel test robot
@ 2025-08-16 10:02   ` Jonathan Cameron
  2025-08-18 15:06     ` Nathan Chancellor
  0 siblings, 1 reply; 5+ messages in thread
From: Jonathan Cameron @ 2025-08-16 10:02 UTC (permalink / raw)
  To: kernel test robot
  Cc: Ben Collins, David Lechner, Nuno Sá, Andy Shevchenko, llvm,
	oe-kbuild-all, linux-iio, linux-kernel

On Sat, 16 Aug 2025 16:46:12 +0800
kernel test robot <lkp@intel.com> wrote:

> Hi Ben,
> 
> kernel test robot noticed the following build warnings:
> 
> [auto build test WARNING on jic23-iio/togreg]
> [also build test WARNING on linus/master v6.17-rc1 next-20250815]
> [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/Ben-Collins/dt-bindings-iio-mcp9600-Add-compatible-for-microchip-mcp9601/20250816-005705
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
> patch link:    https://lore.kernel.org/r/20250815164627.22002-4-bcollins%40watter.com
> patch subject: [PATCH 3/5] iio: mcp9600: Recognize chip id for mcp9601
> config: riscv-randconfig-001-20250816 (https://download.01.org/0day-ci/archive/20250816/202508161646.PDl6V4EU-lkp@intel.com/config)
> compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 93d24b6b7b148c47a2fa228a4ef31524fa1d9f3f)
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250816/202508161646.PDl6V4EU-lkp@intel.com/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@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202508161646.PDl6V4EU-lkp@intel.com/
> 
> All warnings (new ones prefixed by >>):
> 
>    In file included from include/linux/regulator/consumer.h:35:
>    In file included from include/linux/suspend.h:5:
>    In file included from include/linux/swap.h:9:
>    In file included from include/linux/memcontrol.h:13:
>    In file included from include/linux/cgroup.h:27:
>    In file included from include/linux/kernel_stat.h:8:
>    In file included from include/linux/interrupt.h:11:
>    In file included from include/linux/hardirq.h:11:
>    In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
>    In file included from include/asm-generic/hardirq.h:17:
>    In file included from include/linux/irq.h:20:
>    In file included from include/linux/io.h:12:
>    In file included from arch/riscv/include/asm/io.h:136:
>    include/asm-generic/io.h:820:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
>      820 |         insl(addr, buffer, count);
>          |         ^~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/riscv/include/asm/io.h:106:53: note: expanded from macro 'insl'
>      106 | #define insl(addr, buffer, count) __insl(PCI_IOBASE + (addr), buffer, count)
>          |                                          ~~~~~~~~~~ ^
>    In file included from drivers/iio/temperature/mcp9600.c:13:
>    In file included from include/linux/i2c.h:19:
>    In file included from include/linux/regulator/consumer.h:35:
>    In file included from include/linux/suspend.h:5:
>    In file included from include/linux/swap.h:9:
>    In file included from include/linux/memcontrol.h:13:
>    In file included from include/linux/cgroup.h:27:
>    In file included from include/linux/kernel_stat.h:8:
>    In file included from include/linux/interrupt.h:11:
>    In file included from include/linux/hardirq.h:11:
>    In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
>    In file included from include/asm-generic/hardirq.h:17:
>    In file included from include/linux/irq.h:20:
>    In file included from include/linux/io.h:12:
>    In file included from arch/riscv/include/asm/io.h:136:
>    include/asm-generic/io.h:829:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
>      829 |         outsb(addr, buffer, count);
>          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/riscv/include/asm/io.h:118:55: note: expanded from macro 'outsb'
>      118 | #define outsb(addr, buffer, count) __outsb(PCI_IOBASE + (addr), buffer, count)
>          |                                            ~~~~~~~~~~ ^
>    In file included from drivers/iio/temperature/mcp9600.c:13:
>    In file included from include/linux/i2c.h:19:
>    In file included from include/linux/regulator/consumer.h:35:
>    In file included from include/linux/suspend.h:5:
>    In file included from include/linux/swap.h:9:
>    In file included from include/linux/memcontrol.h:13:
>    In file included from include/linux/cgroup.h:27:
>    In file included from include/linux/kernel_stat.h:8:
>    In file included from include/linux/interrupt.h:11:
>    In file included from include/linux/hardirq.h:11:
>    In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
>    In file included from include/asm-generic/hardirq.h:17:
>    In file included from include/linux/irq.h:20:
>    In file included from include/linux/io.h:12:
>    In file included from arch/riscv/include/asm/io.h:136:
>    include/asm-generic/io.h:838:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
>      838 |         outsw(addr, buffer, count);
>          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/riscv/include/asm/io.h:119:55: note: expanded from macro 'outsw'
>      119 | #define outsw(addr, buffer, count) __outsw(PCI_IOBASE + (addr), buffer, count)
>          |                                            ~~~~~~~~~~ ^
>    In file included from drivers/iio/temperature/mcp9600.c:13:
>    In file included from include/linux/i2c.h:19:
>    In file included from include/linux/regulator/consumer.h:35:
>    In file included from include/linux/suspend.h:5:
>    In file included from include/linux/swap.h:9:
>    In file included from include/linux/memcontrol.h:13:
>    In file included from include/linux/cgroup.h:27:
>    In file included from include/linux/kernel_stat.h:8:
>    In file included from include/linux/interrupt.h:11:
>    In file included from include/linux/hardirq.h:11:
>    In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
>    In file included from include/asm-generic/hardirq.h:17:
>    In file included from include/linux/irq.h:20:
>    In file included from include/linux/io.h:12:
>    In file included from arch/riscv/include/asm/io.h:136:
>    include/asm-generic/io.h:847:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
>      847 |         outsl(addr, buffer, count);
>          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/riscv/include/asm/io.h:120:55: note: expanded from macro 'outsl'
>      120 | #define outsl(addr, buffer, count) __outsl(PCI_IOBASE + (addr), buffer, count)
>          |                                            ~~~~~~~~~~ ^
>    In file included from drivers/iio/temperature/mcp9600.c:13:
>    In file included from include/linux/i2c.h:19:
>    In file included from include/linux/regulator/consumer.h:35:
>    In file included from include/linux/suspend.h:5:
>    In file included from include/linux/swap.h:9:
>    In file included from include/linux/memcontrol.h:13:
>    In file included from include/linux/cgroup.h:27:
>    In file included from include/linux/kernel_stat.h:8:
>    In file included from include/linux/interrupt.h:11:
>    In file included from include/linux/hardirq.h:11:
>    In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
>    In file included from include/asm-generic/hardirq.h:17:
>    In file included from include/linux/irq.h:20:
>    In file included from include/linux/io.h:12:
>    In file included from arch/riscv/include/asm/io.h:136:
>    include/asm-generic/io.h:1175:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
>     1175 |         return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port;
>          |                                                   ~~~~~~~~~~ ^
> >> drivers/iio/temperature/mcp9600.c:440:53: warning: invalid conversion specifier '\x0a' [-Wformat-invalid-specifier]  
>      440 |                                 "Expected id %02x, but device responded with %02\n",
>          |                                                                              ~~~^
>    include/linux/dev_printk.h:156:62: note: expanded from macro 'dev_warn'
>      156 |         dev_printk_index_wrap(_dev_warn, KERN_WARNING, dev, dev_fmt(fmt), ##__VA_ARGS__)
>          |                                                                     ^~~
>    include/linux/dev_printk.h:19:22: note: expanded from macro 'dev_fmt'
>       19 | #define dev_fmt(fmt) fmt
>          |                      ^~~
>    include/linux/dev_printk.h:110:16: note: expanded from macro 'dev_printk_index_wrap'
>      110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
>          |                              ^~~
> >> drivers/iio/temperature/mcp9600.c:441:26: warning: data argument not used by format string [-Wformat-extra-args]  
>      440 |                                 "Expected id %02x, but device responded with %02\n",
>          |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>      441 |                                  chip_info->chip_id, dev_id);
>          |                                                      ^
>    include/linux/dev_printk.h:156:70: note: expanded from macro 'dev_warn'
>      156 |         dev_printk_index_wrap(_dev_warn, KERN_WARNING, dev, dev_fmt(fmt), ##__VA_ARGS__)
>          |                                                                     ~~~     ^
>    include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap'
>      110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
>          |                              ~~~    ^
>    drivers/iio/temperature/mcp9600.c:428:22: warning: unused variable 'ret' [-Wunused-variable]
>      428 |         int ch_sel, dev_id, ret;
>          |                             ^~~
>    10 warnings generated.
> 
> 
> vim +/x0a +440 drivers/iio/temperature/mcp9600.c
> 
>    422	
>    423	static int mcp9600_probe(struct i2c_client *client)
>    424	{
>    425		const struct mcp_chip_info *chip_info = i2c_get_match_data(client);

Probably a false positive as I don't think we can probe without something matching and hence
that not being NULL but an error check on that match is still a nice to have and should
resolve this build warning.  Note there is very little chance a compiler could ever figure
out if this can be NULL or not so it's a reasonable warning!

Jonathan


>    426		struct iio_dev *indio_dev;
>    427		struct mcp9600_data *data;
>    428		int ch_sel, dev_id, ret;
>    429	
>    430		dev_id = i2c_smbus_read_byte_data(client, MCP9600_DEVICE_ID);
>    431		if (dev_id < 0)
>    432			return dev_err_probe(&client->dev, dev_id,
>    433					     "Failed to read device ID\n");
>    434	
>    435		switch (dev_id) {
>    436		case MCP9600_DEVICE_ID_MCP9600:
>    437		case MCP9600_DEVICE_ID_MCP9601:
>    438			if (dev_id != chip_info->chip_id)
>    439				dev_warn(&client->dev,
>  > 440					"Expected id %02x, but device responded with %02\n",
>  > 441					 chip_info->chip_id, dev_id);  
>    442			break;
>    443	
>    444		default:
>    445			dev_warn(&client->dev, "Unknown id %x, using %x\n", dev_id,
>    446				 chip_info->chip_id);
>    447		}
>    448	
>    449		indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
>    450		if (!indio_dev)
>    451			return -ENOMEM;
>    452	
>    453		data = iio_priv(indio_dev);
>    454		data->client = client;
>    455	
>    456		ch_sel = mcp9600_probe_alerts(indio_dev);
>    457		if (ch_sel < 0)
>    458			return ch_sel;
>    459	
>    460		indio_dev->info = &mcp9600_info;
>    461		indio_dev->name = chip_info->chip_name;
>    462		indio_dev->modes = INDIO_DIRECT_MODE;
>    463		indio_dev->channels = mcp9600_channels[ch_sel];
>    464		indio_dev->num_channels = ARRAY_SIZE(mcp9600_channels[ch_sel]);
>    465	
>    466		return devm_iio_device_register(&client->dev, indio_dev);
>    467	}
>    468	
> 


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 3/5] iio: mcp9600: Recognize chip id for mcp9601
  2025-08-16 10:02   ` Jonathan Cameron
@ 2025-08-18 15:06     ` Nathan Chancellor
  2025-08-18 15:11       ` Ben Collins
  2025-08-18 15:18       ` Jonathan Cameron
  0 siblings, 2 replies; 5+ messages in thread
From: Nathan Chancellor @ 2025-08-18 15:06 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: kernel test robot, Ben Collins, David Lechner, Nuno Sá,
	Andy Shevchenko, llvm, oe-kbuild-all, linux-iio, linux-kernel

Hi Jonathan,

On Sat, Aug 16, 2025 at 11:02:43AM +0100, Jonathan Cameron wrote:
> On Sat, 16 Aug 2025 16:46:12 +0800
> kernel test robot <lkp@intel.com> wrote:
> 
> > Hi Ben,
> > 
> > kernel test robot noticed the following build warnings:
> > 
> > [auto build test WARNING on jic23-iio/togreg]
> > [also build test WARNING on linus/master v6.17-rc1 next-20250815]
> > [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/Ben-Collins/dt-bindings-iio-mcp9600-Add-compatible-for-microchip-mcp9601/20250816-005705
> > base:   https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
> > patch link:    https://lore.kernel.org/r/20250815164627.22002-4-bcollins%40watter.com
> > patch subject: [PATCH 3/5] iio: mcp9600: Recognize chip id for mcp9601
> > config: riscv-randconfig-001-20250816 (https://download.01.org/0day-ci/archive/20250816/202508161646.PDl6V4EU-lkp@intel.com/config)
> > compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 93d24b6b7b148c47a2fa228a4ef31524fa1d9f3f)
> > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250816/202508161646.PDl6V4EU-lkp@intel.com/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@intel.com>
> > | Closes: https://lore.kernel.org/oe-kbuild-all/202508161646.PDl6V4EU-lkp@intel.com/
> > 
> > All warnings (new ones prefixed by >>):

<trim unrelated -Wnull-pointer-arithmetic>

> > >> drivers/iio/temperature/mcp9600.c:440:53: warning: invalid conversion specifier '\x0a' [-Wformat-invalid-specifier]  
> >      440 |                                 "Expected id %02x, but device responded with %02\n",
> >          |                                                                              ~~~^
> >    include/linux/dev_printk.h:156:62: note: expanded from macro 'dev_warn'
> >      156 |         dev_printk_index_wrap(_dev_warn, KERN_WARNING, dev, dev_fmt(fmt), ##__VA_ARGS__)
> >          |                                                                     ^~~
> >    include/linux/dev_printk.h:19:22: note: expanded from macro 'dev_fmt'
> >       19 | #define dev_fmt(fmt) fmt
> >          |                      ^~~
> >    include/linux/dev_printk.h:110:16: note: expanded from macro 'dev_printk_index_wrap'
> >      110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
> >          |                              ^~~
> > >> drivers/iio/temperature/mcp9600.c:441:26: warning: data argument not used by format string [-Wformat-extra-args]  
> >      440 |                                 "Expected id %02x, but device responded with %02\n",
> >          |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >      441 |                                  chip_info->chip_id, dev_id);
> >          |                                                      ^
> >    include/linux/dev_printk.h:156:70: note: expanded from macro 'dev_warn'
> >      156 |         dev_printk_index_wrap(_dev_warn, KERN_WARNING, dev, dev_fmt(fmt), ##__VA_ARGS__)
> >          |                                                                     ~~~     ^
> >    include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap'
> >      110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
> >          |                              ~~~    ^
> >    drivers/iio/temperature/mcp9600.c:428:22: warning: unused variable 'ret' [-Wunused-variable]
> >      428 |         int ch_sel, dev_id, ret;
> >          |                             ^~~
> >    10 warnings generated.
> > 
> > 
> > vim +/x0a +440 drivers/iio/temperature/mcp9600.c
> > 
> >    422	
> >    423	static int mcp9600_probe(struct i2c_client *client)
> >    424	{
> >    425		const struct mcp_chip_info *chip_info = i2c_get_match_data(client);
> 
> Probably a false positive as I don't think we can probe without something matching and hence
> that not being NULL but an error check on that match is still a nice to have and should
> resolve this build warning.  Note there is very little chance a compiler could ever figure
> out if this can be NULL or not so it's a reasonable warning!

I am not sure I follow if you are referring to the -Wformat warnings
above. Isn't it pointing out that the second specifier is missing the
actual type? Shouldn't it be '%02x' or something of the sort?

Cheers,
Nathan

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 3/5] iio: mcp9600: Recognize chip id for mcp9601
  2025-08-18 15:06     ` Nathan Chancellor
@ 2025-08-18 15:11       ` Ben Collins
  2025-08-18 15:18       ` Jonathan Cameron
  1 sibling, 0 replies; 5+ messages in thread
From: Ben Collins @ 2025-08-18 15:11 UTC (permalink / raw)
  To: Nathan Chancellor
  Cc: Jonathan Cameron, kernel test robot, David Lechner, Nuno Sá,
	Andy Shevchenko, llvm, oe-kbuild-all, linux-iio, linux-kernel


> On Aug 18, 2025, at 11:06 AM, Nathan Chancellor <nathan@kernel.org> wrote:
> 
> Hi Jonathan,
> 
> On Sat, Aug 16, 2025 at 11:02:43AM +0100, Jonathan Cameron wrote:
>> On Sat, 16 Aug 2025 16:46:12 +0800
>> kernel test robot <lkp@intel.com> wrote:
>> 
>>> Hi Ben,
>>> 
>>> kernel test robot noticed the following build warnings:
>>> 
>>> [auto build test WARNING on jic23-iio/togreg]
>>> [also build test WARNING on linus/master v6.17-rc1 next-20250815]
>>> [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/Ben-Collins/dt-bindings-iio-mcp9600-Add-compatible-for-microchip-mcp9601/20250816-005705
>>> base:   https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
>>> patch link:    https://lore.kernel.org/r/20250815164627.22002-4-bcollins%40watter.com
>>> patch subject: [PATCH 3/5] iio: mcp9600: Recognize chip id for mcp9601
>>> config: riscv-randconfig-001-20250816 (https://download.01.org/0day-ci/archive/20250816/202508161646.PDl6V4EU-lkp@intel.com/config)
>>> compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 93d24b6b7b148c47a2fa228a4ef31524fa1d9f3f)
>>> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250816/202508161646.PDl6V4EU-lkp@intel.com/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@intel.com>
>>> | Closes: https://lore.kernel.org/oe-kbuild-all/202508161646.PDl6V4EU-lkp@intel.com/
>>> 
>>> All warnings (new ones prefixed by >>):
> 
> <trim unrelated -Wnull-pointer-arithmetic>
> 
>>>>> drivers/iio/temperature/mcp9600.c:440:53: warning: invalid conversion specifier '\x0a' [-Wformat-invalid-specifier]  
>>>     440 |                                 "Expected id %02x, but device responded with %02\n",
>>>         |                                                                              ~~~^
>>>   include/linux/dev_printk.h:156:62: note: expanded from macro 'dev_warn'
>>>     156 |         dev_printk_index_wrap(_dev_warn, KERN_WARNING, dev, dev_fmt(fmt), ##__VA_ARGS__)
>>>         |                                                                     ^~~
>>>   include/linux/dev_printk.h:19:22: note: expanded from macro 'dev_fmt'
>>>      19 | #define dev_fmt(fmt) fmt
>>>         |                      ^~~
>>>   include/linux/dev_printk.h:110:16: note: expanded from macro 'dev_printk_index_wrap'
>>>     110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
>>>         |                              ^~~
>>>>> drivers/iio/temperature/mcp9600.c:441:26: warning: data argument not used by format string [-Wformat-extra-args]  
>>>     440 |                                 "Expected id %02x, but device responded with %02\n",
>>>         |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>     441 |                                  chip_info->chip_id, dev_id);
>>>         |                                                      ^
>>>   include/linux/dev_printk.h:156:70: note: expanded from macro 'dev_warn'
>>>     156 |         dev_printk_index_wrap(_dev_warn, KERN_WARNING, dev, dev_fmt(fmt), ##__VA_ARGS__)
>>>         |                                                                     ~~~     ^
>>>   include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap'
>>>     110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
>>>         |                              ~~~    ^
>>>   drivers/iio/temperature/mcp9600.c:428:22: warning: unused variable 'ret' [-Wunused-variable]
>>>     428 |         int ch_sel, dev_id, ret;
>>>         |                             ^~~
>>>   10 warnings generated.
>>> 
>>> 
>>> vim +/x0a +440 drivers/iio/temperature/mcp9600.c
>>> 
>>>   422 
>>>   423 static int mcp9600_probe(struct i2c_client *client)
>>>   424 {
>>>   425 const struct mcp_chip_info *chip_info = i2c_get_match_data(client);
>> 
>> Probably a false positive as I don't think we can probe without something matching and hence
>> that not being NULL but an error check on that match is still a nice to have and should
>> resolve this build warning.  Note there is very little chance a compiler could ever figure
>> out if this can be NULL or not so it's a reasonable warning!
> 
> I am not sure I follow if you are referring to the -Wformat warnings
> above. Isn't it pointing out that the second specifier is missing the
> actual type? Shouldn't it be '%02x' or something of the sort?

That actually was the issue and has already been fixed in follow up.

Thanks

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 3/5] iio: mcp9600: Recognize chip id for mcp9601
  2025-08-18 15:06     ` Nathan Chancellor
  2025-08-18 15:11       ` Ben Collins
@ 2025-08-18 15:18       ` Jonathan Cameron
  1 sibling, 0 replies; 5+ messages in thread
From: Jonathan Cameron @ 2025-08-18 15:18 UTC (permalink / raw)
  To: Nathan Chancellor
  Cc: Jonathan Cameron, kernel test robot, Ben Collins, David Lechner,
	Nuno Sá, Andy Shevchenko, llvm, oe-kbuild-all, linux-iio,
	linux-kernel

On Mon, 18 Aug 2025 08:06:59 -0700
Nathan Chancellor <nathan@kernel.org> wrote:

> Hi Jonathan,
> 
> On Sat, Aug 16, 2025 at 11:02:43AM +0100, Jonathan Cameron wrote:
> > On Sat, 16 Aug 2025 16:46:12 +0800
> > kernel test robot <lkp@intel.com> wrote:
> >   
> > > Hi Ben,
> > > 
> > > kernel test robot noticed the following build warnings:
> > > 
> > > [auto build test WARNING on jic23-iio/togreg]
> > > [also build test WARNING on linus/master v6.17-rc1 next-20250815]
> > > [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/Ben-Collins/dt-bindings-iio-mcp9600-Add-compatible-for-microchip-mcp9601/20250816-005705
> > > base:   https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
> > > patch link:    https://lore.kernel.org/r/20250815164627.22002-4-bcollins%40watter.com
> > > patch subject: [PATCH 3/5] iio: mcp9600: Recognize chip id for mcp9601
> > > config: riscv-randconfig-001-20250816 (https://download.01.org/0day-ci/archive/20250816/202508161646.PDl6V4EU-lkp@intel.com/config)
> > > compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 93d24b6b7b148c47a2fa228a4ef31524fa1d9f3f)
> > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250816/202508161646.PDl6V4EU-lkp@intel.com/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@intel.com>
> > > | Closes: https://lore.kernel.org/oe-kbuild-all/202508161646.PDl6V4EU-lkp@intel.com/
> > > 
> > > All warnings (new ones prefixed by >>):  
> 
> <trim unrelated -Wnull-pointer-arithmetic>
> 
> > > >> drivers/iio/temperature/mcp9600.c:440:53: warning: invalid conversion specifier '\x0a' [-Wformat-invalid-specifier]    
> > >      440 |                                 "Expected id %02x, but device responded with %02\n",
> > >          |                                                                              ~~~^
> > >    include/linux/dev_printk.h:156:62: note: expanded from macro 'dev_warn'
> > >      156 |         dev_printk_index_wrap(_dev_warn, KERN_WARNING, dev, dev_fmt(fmt), ##__VA_ARGS__)
> > >          |                                                                     ^~~
> > >    include/linux/dev_printk.h:19:22: note: expanded from macro 'dev_fmt'
> > >       19 | #define dev_fmt(fmt) fmt
> > >          |                      ^~~
> > >    include/linux/dev_printk.h:110:16: note: expanded from macro 'dev_printk_index_wrap'
> > >      110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
> > >          |                              ^~~  
> > > >> drivers/iio/temperature/mcp9600.c:441:26: warning: data argument not used by format string [-Wformat-extra-args]    
> > >      440 |                                 "Expected id %02x, but device responded with %02\n",
> > >          |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > >      441 |                                  chip_info->chip_id, dev_id);
> > >          |                                                      ^
> > >    include/linux/dev_printk.h:156:70: note: expanded from macro 'dev_warn'
> > >      156 |         dev_printk_index_wrap(_dev_warn, KERN_WARNING, dev, dev_fmt(fmt), ##__VA_ARGS__)
> > >          |                                                                     ~~~     ^
> > >    include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap'
> > >      110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
> > >          |                              ~~~    ^
> > >    drivers/iio/temperature/mcp9600.c:428:22: warning: unused variable 'ret' [-Wunused-variable]
> > >      428 |         int ch_sel, dev_id, ret;
> > >          |                             ^~~
> > >    10 warnings generated.
> > > 
> > > 
> > > vim +/x0a +440 drivers/iio/temperature/mcp9600.c
> > > 
> > >    422	
> > >    423	static int mcp9600_probe(struct i2c_client *client)
> > >    424	{
> > >    425		const struct mcp_chip_info *chip_info = i2c_get_match_data(client);  
> > 
> > Probably a false positive as I don't think we can probe without something matching and hence
> > that not being NULL but an error check on that match is still a nice to have and should
> > resolve this build warning.  Note there is very little chance a compiler could ever figure
> > out if this can be NULL or not so it's a reasonable warning!  
> 
> I am not sure I follow if you are referring to the -Wformat warnings
> above. Isn't it pointing out that the second specifier is missing the
> actual type? Shouldn't it be '%02x' or something of the sort?

I think I completely misread the report!  Sorry about that. Ignore my comment.

Jonathan

> 
> Cheers,
> Nathan
> 


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-08-18 15:18 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20250815164627.22002-4-bcollins@watter.com>
2025-08-16  8:46 ` [PATCH 3/5] iio: mcp9600: Recognize chip id for mcp9601 kernel test robot
2025-08-16 10:02   ` Jonathan Cameron
2025-08-18 15:06     ` Nathan Chancellor
2025-08-18 15:11       ` Ben Collins
2025-08-18 15:18       ` Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).