Subject: linux-next: build failure after merge of the iio tree

From: Mark Brown <[email-masked]>
Date: Mon, 19 Jan 2026 19:20:57 +0000

Hi all,

After merging the iio tree, today's linux-next build (x86_64
allmodconfig) failed like this:

/tmp/next/build/drivers/iio/adc/ad4062.c: In function 'ad4062_set_operation_mode':
/tmp/next/build/drivers/iio/adc/ad4062.c:471:24: error: variable 'xfer_trigger' has initializer but incomplete type
  471 |                 struct i3c_priv_xfer xfer_trigger = {
      |                        ^~~~~~~~~~~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:472:26: error: 'struct i3c_priv_xfer' has no member named 'data'
  472 |                         .data.out = &st->conv_addr,
      |                          ^~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:472:37: error: excess elements in struct initializer [-Werror]
  472 |                         .data.out = &st->conv_addr,
      |                                     ^
/tmp/next/build/drivers/iio/adc/ad4062.c:472:37: note: (near initialization for 'xfer_trigger')
/tmp/next/build/drivers/iio/adc/ad4062.c:473:26: error: 'struct i3c_priv_xfer' has no member named 'len'
  473 |                         .len = sizeof(st->conv_addr),
      |                          ^~~
/tmp/next/build/drivers/iio/adc/ad4062.c:473:32: error: excess elements in struct initializer [-Werror]
  473 |                         .len = sizeof(st->conv_addr),
      |                                ^~~~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:473:32: note: (near initialization for 'xfer_trigger')
/tmp/next/build/drivers/iio/adc/ad4062.c:474:26: error: 'struct i3c_priv_xfer' has no member named 'rnw'
  474 |                         .rnw = false,
      |                          ^~~
/tmp/next/build/drivers/iio/adc/ad4062.c:474:32: error: excess elements in struct initializer [-Werror]
  474 |                         .rnw = false,
      |                                ^~~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:474:32: note: (near initialization for 'xfer_trigger')
/tmp/next/build/drivers/iio/adc/ad4062.c:471:38: error: storage size of 'xfer_trigger' isn't known
  471 |                 struct i3c_priv_xfer xfer_trigger = {
      |                                      ^~~~~~~~~~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:477:24: error: implicit declaration of function 'i3c_device_do_priv_xfers'; did you mean 'i3c_device_do_xfers'? [-Wimplicit-function-declaration]
  477 |                 return i3c_device_do_priv_xfers(st->i3cdev, &xfer_trigger, 1);
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~
      |                        i3c_device_do_xfers
/tmp/next/build/drivers/iio/adc/ad4062.c:471:38: error: unused variable 'xfer_trigger' [-Werror=unused-variable]
  471 |                 struct i3c_priv_xfer xfer_trigger = {
      |                                      ^~~~~~~~~~~~
/tmp/next/build/drivers/iio/adc/ad4062.c: In function 'ad4062_trigger_work':
/tmp/next/build/drivers/iio/adc/ad4062.c:610:16: error: variable 'xfer_sample' has initializer but incomplete type
  610 |         struct i3c_priv_xfer xfer_sample = {
      |                ^~~~~~~~~~~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:611:18: error: 'struct i3c_priv_xfer' has no member named 'data'
  611 |                 .data.in = &st->buf.be32,
      |                  ^~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:611:28: error: excess elements in struct initializer [-Werror]
  611 |                 .data.in = &st->buf.be32,
      |                            ^
/tmp/next/build/drivers/iio/adc/ad4062.c:611:28: note: (near initialization for 'xfer_sample')
/tmp/next/build/drivers/iio/adc/ad4062.c:612:18: error: 'struct i3c_priv_xfer' has no member named 'len'
  612 |                 .len = st->conv_sizeof,
      |                  ^~~
/tmp/next/build/drivers/iio/adc/ad4062.c:612:24: error: excess elements in struct initializer [-Werror]
  612 |                 .len = st->conv_sizeof,
      |                        ^~
/tmp/next/build/drivers/iio/adc/ad4062.c:612:24: note: (near initialization for 'xfer_sample')
/tmp/next/build/drivers/iio/adc/ad4062.c:613:18: error: 'struct i3c_priv_xfer' has no member named 'rnw'
  613 |                 .rnw = true,
      |                  ^~~
/tmp/next/build/drivers/iio/adc/ad4062.c:613:24: error: excess elements in struct initializer [-Werror]
  613 |                 .rnw = true,
      |                        ^~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:613:24: note: (near initialization for 'xfer_sample')
/tmp/next/build/drivers/iio/adc/ad4062.c:610:30: error: storage size of 'xfer_sample' isn't known
  610 |         struct i3c_priv_xfer xfer_sample = {
      |                              ^~~~~~~~~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:615:16: error: variable 'xfer_trigger' has initializer but incomplete type
  615 |         struct i3c_priv_xfer xfer_trigger = {
      |                ^~~~~~~~~~~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:616:18: error: 'struct i3c_priv_xfer' has no member named 'data'
  616 |                 .data.out = &st->conv_addr,
      |                  ^~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:616:29: error: excess elements in struct initializer [-Werror]
  616 |                 .data.out = &st->conv_addr,
      |                             ^
/tmp/next/build/drivers/iio/adc/ad4062.c:616:29: note: (near initialization for 'xfer_trigger')
/tmp/next/build/drivers/iio/adc/ad4062.c:617:18: error: 'struct i3c_priv_xfer' has no member named 'len'
  617 |                 .len = sizeof(st->conv_addr),
      |                  ^~~
/tmp/next/build/drivers/iio/adc/ad4062.c:617:24: error: excess elements in struct initializer [-Werror]
  617 |                 .len = sizeof(st->conv_addr),
      |                        ^~~~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:617:24: note: (near initialization for 'xfer_trigger')
/tmp/next/build/drivers/iio/adc/ad4062.c:618:18: error: 'struct i3c_priv_xfer' has no member named 'rnw'
  618 |                 .rnw = false,
      |                  ^~~
/tmp/next/build/drivers/iio/adc/ad4062.c:618:24: error: excess elements in struct initializer [-Werror]
  618 |                 .rnw = false,
      |                        ^~~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:618:24: note: (near initialization for 'xfer_trigger')
/tmp/next/build/drivers/iio/adc/ad4062.c:615:30: error: storage size of 'xfer_trigger' isn't known
  615 |         struct i3c_priv_xfer xfer_trigger = {
      |                              ^~~~~~~~~~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:615:30: error: unused variable 'xfer_trigger' [-Werror=unused-variable]
/tmp/next/build/drivers/iio/adc/ad4062.c:610:30: error: unused variable 'xfer_sample' [-Werror=unused-variable]
  610 |         struct i3c_priv_xfer xfer_sample = {
      |                              ^~~~~~~~~~~
/tmp/next/build/drivers/iio/adc/ad4062.c: In function 'ad4062_read_chan_raw':
/tmp/next/build/drivers/iio/adc/ad4062.c:855:16: error: variable 'xfer_trigger' has initializer but incomplete type
  855 |         struct i3c_priv_xfer xfer_trigger = {
      |                ^~~~~~~~~~~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:856:18: error: 'struct i3c_priv_xfer' has no member named 'data'
  856 |                 .data.out = &st->conv_addr,
      |                  ^~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:856:29: error: excess elements in struct initializer [-Werror]
  856 |                 .data.out = &st->conv_addr,
      |                             ^
/tmp/next/build/drivers/iio/adc/ad4062.c:856:29: note: (near initialization for 'xfer_trigger')
/tmp/next/build/drivers/iio/adc/ad4062.c:857:18: error: 'struct i3c_priv_xfer' has no member named 'len'
  857 |                 .len = sizeof(st->conv_addr),
      |                  ^~~
/tmp/next/build/drivers/iio/adc/ad4062.c:857:24: error: excess elements in struct initializer [-Werror]
  857 |                 .len = sizeof(st->conv_addr),
      |                        ^~~~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:857:24: note: (near initialization for 'xfer_trigger')
/tmp/next/build/drivers/iio/adc/ad4062.c:858:18: error: 'struct i3c_priv_xfer' has no member named 'rnw'
  858 |                 .rnw = false,
      |                  ^~~
/tmp/next/build/drivers/iio/adc/ad4062.c:858:24: error: excess elements in struct initializer [-Werror]
  858 |                 .rnw = false,
      |                        ^~~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:858:24: note: (near initialization for 'xfer_trigger')
/tmp/next/build/drivers/iio/adc/ad4062.c:855:30: error: storage size of 'xfer_trigger' isn't known
  855 |         struct i3c_priv_xfer xfer_trigger = {
      |                              ^~~~~~~~~~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:860:16: error: variable 'xfer_sample' has initializer but incomplete type
  860 |         struct i3c_priv_xfer xfer_sample = {
      |                ^~~~~~~~~~~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:861:18: error: 'struct i3c_priv_xfer' has no member named 'data'
  861 |                 .data.in = &st->buf.be32,
      |                  ^~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:861:28: error: excess elements in struct initializer [-Werror]
  861 |                 .data.in = &st->buf.be32,
      |                            ^
/tmp/next/build/drivers/iio/adc/ad4062.c:861:28: note: (near initialization for 'xfer_sample')
/tmp/next/build/drivers/iio/adc/ad4062.c:862:18: error: 'struct i3c_priv_xfer' has no member named 'len'
  862 |                 .len = sizeof(st->buf.be32),
      |                  ^~~
/tmp/next/build/drivers/iio/adc/ad4062.c:862:24: error: excess elements in struct initializer [-Werror]
  862 |                 .len = sizeof(st->buf.be32),
      |                        ^~~~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:862:24: note: (near initialization for 'xfer_sample')
/tmp/next/build/drivers/iio/adc/ad4062.c:863:18: error: 'struct i3c_priv_xfer' has no member named 'rnw'
  863 |                 .rnw = true,
      |                  ^~~
/tmp/next/build/drivers/iio/adc/ad4062.c:863:24: error: excess elements in struct initializer [-Werror]
  863 |                 .rnw = true,
      |                        ^~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:863:24: note: (near initialization for 'xfer_sample')
/tmp/next/build/drivers/iio/adc/ad4062.c:860:30: error: storage size of 'xfer_sample' isn't known
  860 |         struct i3c_priv_xfer xfer_sample = {
      |                              ^~~~~~~~~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:860:30: error: unused variable 'xfer_sample' [-Werror=unused-variable]
/tmp/next/build/drivers/iio/adc/ad4062.c:855:30: error: unused variable 'xfer_trigger' [-Werror=unused-variable]
  855 |         struct i3c_priv_xfer xfer_trigger = {
      |                              ^~~~~~~~~~~~
/tmp/next/build/drivers/iio/adc/ad4062.c: In function 'pm_ad4062_triggered_buffer_postenable':
/tmp/next/build/drivers/iio/adc/ad4062.c:1239:30: error: array type has incomplete element type 'struct i3c_priv_xfer'
 1239 |         struct i3c_priv_xfer xfer_sample[2] = {
      |                              ^~~~~~~~~~~
/tmp/next/build/drivers/iio/adc/ad4062.c:1239:30: error: unused variable 'xfer_sample' [-Werror=unused-variable]
/tmp/next/build/drivers/iio/adc/ad4062.c:1254:1: error: control reaches end of non-void function [-Werror=return-type]
 1254 | }
      | ^

Caused by commit

    d5284402d28f3 (iio: adc: Add support for ad4062)

I have used the version from 20260116 instead.