diff mbox series

[v2,08/15] spi: Clean up headers

Message ID 20230710154932.68377-9-andriy.shevchenko@linux.intel.com (mailing list archive)
State Superseded
Headers show
Series spi: Header and core clean up and refactoring | expand

Commit Message

Andy Shevchenko July 10, 2023, 3:49 p.m. UTC
There is a few things done:
- include only the headers we are direct user of
- when pointer is in use, provide a forward declaration
- add missing headers
- group generic headers and subsystem headers
- sort each group alphabetically

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 include/linux/spi/spi.h | 22 ++++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

Comments

Mark Brown July 10, 2023, 5:21 p.m. UTC | #1
On Mon, Jul 10, 2023 at 06:49:25PM +0300, Andy Shevchenko wrote:
> There is a few things done:
> - include only the headers we are direct user of
> - when pointer is in use, provide a forward declaration
> - add missing headers
> - group generic headers and subsystem headers
> - sort each group alphabetically

The previous commit was supposed to be sorting things and AFAICT did
so...

> +struct spi_device_id;

Why are we adding this given that there's also an inclusion of
mod_devicetable that you didn't remove?
Mark Brown July 11, 2023, 8:26 a.m. UTC | #2
On Mon, Jul 10, 2023 at 06:49:25PM +0300, Andy Shevchenko wrote:
> There is a few things done:
> - include only the headers we are direct user of
> - when pointer is in use, provide a forward declaration
> - add missing headers
> - group generic headers and subsystem headers
> - sort each group alphabetically

This breaks an x86 allmodconfig build:

/build/stage/linux/drivers/gpio/gpio-xra1403.c: In function ‘xra1403_probe’:
/build/stage/linux/drivers/gpio/gpio-xra1403.c:161:22: error: implicit declaration of function ‘devm_gpiod_get_optional’ [-Werror=implicit-function-declaration]
  161 |         reset_gpio = devm_gpiod_get_optional(&spi->dev, "reset", GPIOD_OUT_LOW);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/gpio/gpio-xra1403.c:161:66: error: ‘GPIOD_OUT_LOW’ undeclared (first use in this function)
  161 |         reset_gpio = devm_gpiod_get_optional(&spi->dev, "reset", GPIOD_OUT_LOW);
      |                                                                  ^~~~~~~~~~~~~
/build/stage/linux/drivers/gpio/gpio-xra1403.c:161:66: note: each undeclared identifier is reported only once for each function it appears in
cc1: all warnings being treated as errors
make[5]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/gpio/gpio-xra1403.o] Error 1
make[5]: Target 'drivers/gpio/' not remade because of errors.
make[4]: *** [/build/stage/linux/scripts/Makefile.build:477: drivers/gpio] Error 2
/build/stage/linux/sound/soc/intel/boards/bytcr_wm5102.c: In function ‘byt_wm5102_spkvdd_power_event’:
/build/stage/linux/sound/soc/intel/boards/bytcr_wm5102.c:46:9: error: implicit declaration of function ‘gpiod_set_value_cansleep’ [-Werror=implicit-function-declaration]
   46 |         gpiod_set_value_cansleep(priv->spkvdd_en_gpio,
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/sound/soc/intel/boards/bytcr_wm5102.c: In function ‘snd_byt_wm5102_mc_probe’:
/build/stage/linux/sound/soc/intel/boards/bytcr_wm5102.c:421:32: error: implicit declaration of function ‘gpiod_get’; did you mean ‘bio_get’? [-Werror=implicit-function-declaration]
  421 |         priv->spkvdd_en_gpio = gpiod_get(codec_dev, "wlf,spkvdd-ena", GPIOD_OUT_LOW);
      |                                ^~~~~~~~~
      |                                bio_get
/build/stage/linux/sound/soc/intel/boards/bytcr_wm5102.c:421:71: error: ‘GPIOD_OUT_LOW’ undeclared (first use in this function)
  421 |         priv->spkvdd_en_gpio = gpiod_get(codec_dev, "wlf,spkvdd-ena", GPIOD_OUT_LOW);
      |                                                                       ^~~~~~~~~~~~~
/build/stage/linux/sound/soc/intel/boards/bytcr_wm5102.c:421:71: note: each undeclared identifier is reported only once for each function it appears in
/build/stage/linux/sound/soc/intel/boards/bytcr_wm5102.c:465:9: error: implicit declaration of function ‘gpiod_put’; did you mean ‘bio_put’? [-Werror=implicit-function-declaration]
  465 |         gpiod_put(priv->spkvdd_en_gpio);
      |         ^~~~~~~~~
      |         bio_put
cc1: all warnings being treated as errors
make[7]: *** [/build/stage/linux/scripts/Makefile.build:243: sound/soc/intel/boards/bytcr_wm5102.o] Error 1
make[7]: Target 'sound/soc/intel/boards/' not remade because of errors.
make[6]: *** [/build/stage/linux/scripts/Makefile.build:477: sound/soc/intel/boards] Error 2
make[6]: Target 'sound/soc/intel/' not remade because of errors.
make[5]: *** [/build/stage/linux/scripts/Makefile.build:477: sound/soc/intel] Error 2
/build/stage/linux/drivers/gpu/drm/solomon/ssd130x-spi.c: In function ‘ssd130x_spi_write’:
/build/stage/linux/drivers/gpu/drm/solomon/ssd130x-spi.c:38:17: error: implicit declaration of function ‘gpiod_set_value_cansleep’ [-Werror=implicit-function-declaration]
   38 |                 gpiod_set_value_cansleep(t->dc, 0);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/gpu/drm/solomon/ssd130x-spi.c: In function ‘ssd130x_spi_probe’:
/build/stage/linux/drivers/gpu/drm/solomon/ssd130x-spi.c:70:14: error: implicit declaration of function ‘devm_gpiod_get’; did you mean ‘em_pd_get’? [-Werror=implicit-function-declaration]
   70 |         dc = devm_gpiod_get(dev, "dc", GPIOD_OUT_LOW);
      |              ^~~~~~~~~~~~~~
      |              em_pd_get
/build/stage/linux/drivers/gpu/drm/solomon/ssd130x-spi.c:70:40: error: ‘GPIOD_OUT_LOW’ undeclared (first use in this function)
   70 |         dc = devm_gpiod_get(dev, "dc", GPIOD_OUT_LOW);
      |                                        ^~~~~~~~~~~~~
/build/stage/linux/drivers/gpu/drm/solomon/ssd130x-spi.c:70:40: note: each undeclared identifier is reported only once for each function it appears in
cc1: all warnings being treated as errors
make[7]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/gpu/drm/solomon/ssd130x-spi.o] Error 1
make[7]: Target 'drivers/gpu/drm/solomon/' not remade because of errors.
make[6]: *** [/build/stage/linux/scripts/Makefile.build:477: drivers/gpu/drm/solomon] Error 2
/build/stage/linux/drivers/net/ethernet/asix/ax88796c_main.c: In function ‘ax88796c_hard_reset’:
/build/stage/linux/drivers/net/ethernet/asix/ax88796c_main.c:950:22: error: implicit declaration of function ‘gpiod_get’; did you mean ‘guid_gen’? [-Werror=implicit-function-declaration]
  950 |         reset_gpio = gpiod_get(dev, "reset", 0);
      |                      ^~~~~~~~~
      |                      guid_gen
/build/stage/linux/drivers/net/ethernet/asix/ax88796c_main.c:950:20: error: assignment to ‘struct gpio_desc *’ from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
  950 |         reset_gpio = gpiod_get(dev, "reset", 0);
      |                    ^
/build/stage/linux/drivers/net/ethernet/asix/ax88796c_main.c:957:9: error: implicit declaration of function ‘gpiod_direction_output’ [-Werror=implicit-function-declaration]
  957 |         gpiod_direction_output(reset_gpio, 1);
      |         ^~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/net/ethernet/asix/ax88796c_main.c:960:9: error: implicit declaration of function ‘gpiod_put’ [-Werror=implicit-function-declaration]
  960 |         gpiod_put(reset_gpio);
      |         ^~~~~~~~~
cc1: all warnings being treated as errors
make[7]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/net/ethernet/asix/ax88796c_main.o] Error 1
make[7]: Target 'drivers/net/ethernet/asix/' not remade because of errors.
make[6]: *** [/build/stage/linux/scripts/Makefile.build:477: drivers/net/ethernet/asix] Error 2
/build/stage/linux/drivers/gpu/drm/panel/panel-tpo-td043mtea1.c: In function ‘td043mtea1_power_on’:
/build/stage/linux/drivers/gpu/drm/panel/panel-tpo-td043mtea1.c:147:9: error: implicit declaration of function ‘gpiod_set_value’ [-Werror=implicit-function-declaration]
  147 |         gpiod_set_value(lcd->reset_gpio, 0);
      |         ^~~~~~~~~~~~~~~
/build/stage/linux/drivers/gpu/drm/panel/panel-tpo-td043mtea1.c: In function ‘td043mtea1_probe’:
/build/stage/linux/drivers/gpu/drm/panel/panel-tpo-td043mtea1.c:438:27: error: implicit declaration of function ‘devm_gpiod_get’; did you mean ‘em_pd_get’? [-Werror=implicit-function-declaration]
  438 |         lcd->reset_gpio = devm_gpiod_get(&spi->dev, "reset", GPIOD_OUT_HIGH);
      |                           ^~~~~~~~~~~~~~
      |                           em_pd_get
/build/stage/linux/drivers/gpu/drm/panel/panel-tpo-td043mtea1.c:438:62: error: ‘GPIOD_OUT_HIGH’ undeclared (first use in this function)
  438 |         lcd->reset_gpio = devm_gpiod_get(&spi->dev, "reset", GPIOD_OUT_HIGH);
      |                                                              ^~~~~~~~~~~~~~
/build/stage/linux/drivers/gpu/drm/panel/panel-tpo-td043mtea1.c:438:62: note: each undeclared identifier is reported only once for each function it appears in
cc1: all warnings being treated as errors
make[7]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/gpu/drm/panel/panel-tpo-td043mtea1.o] Error 1
make[7]: Target 'drivers/gpu/drm/panel/' not remade because of errors.
make[6]: *** [/build/stage/linux/scripts/Makefile.build:477: drivers/gpu/drm/panel] Error 2
/build/stage/linux/drivers/spi/spi-fsl-dspi.c: In function ‘dspi_assert_cs’:
/build/stage/linux/drivers/spi/spi-fsl-dspi.c:908:9: error: implicit declaration of function ‘gpiod_set_value_cansleep’ [-Werror=implicit-function-declaration]
  908 |         gpiod_set_value_cansleep(spi_get_csgpiod(spi, 0), true);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/spi/spi-fsl-dspi.c: In function ‘dspi_setup’:
/build/stage/linux/drivers/spi/spi-fsl-dspi.c:1076:9: error: implicit declaration of function ‘gpiod_direction_output’; did you mean ‘pinctrl_gpio_direction_output’? [-Werror=implicit-function-declaration]
 1076 |         gpiod_direction_output(spi_get_csgpiod(spi, 0), false);
      |         ^~~~~~~~~~~~~~~~~~~~~~
      |         pinctrl_gpio_direction_output
cc1: all warnings being treated as errors
make[5]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/spi/spi-fsl-dspi.o] Error 1
make[6]: Target 'drivers/net/ethernet/' not remade because of errors.
make[5]: *** [/build/stage/linux/scripts/Makefile.build:477: drivers/net/ethernet] Error 2
/build/stage/linux/drivers/media/i2c/ar0521.c: In function ‘ar0521_power_off’:
/build/stage/linux/drivers/media/i2c/ar0521.c:850:17: error: implicit declaration of function ‘gpiod_set_value’ [-Werror=implicit-function-declaration]
  850 |                 gpiod_set_value(sensor->reset_gpio, 1); /* assert RESET signal */
      |                 ^~~~~~~~~~~~~~~
/build/stage/linux/drivers/media/i2c/ar0521.c: In function ‘ar0521_probe’:
/build/stage/linux/drivers/media/i2c/ar0521.c:1114:30: error: implicit declaration of function ‘devm_gpiod_get_optional’; did you mean ‘devm_clk_get_optional’? [-Werror=implicit-function-declaration]
 1114 |         sensor->reset_gpio = devm_gpiod_get_optional(dev, "reset",
      |                              ^~~~~~~~~~~~~~~~~~~~~~~
      |                              devm_clk_get_optional
/build/stage/linux/drivers/media/i2c/ar0521.c:1115:54: error: ‘GPIOD_OUT_HIGH’ undeclared (first use in this function)
 1115 |                                                      GPIOD_OUT_HIGH);
      |                                                      ^~~~~~~~~~~~~~
/build/stage/linux/drivers/media/i2c/ar0521.c:1115:54: note: each undeclared identifier is reported only once for each function it appears in
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/media/i2c/ar0521.o] Error 1
make[6]: Target 'drivers/gpu/drm/' not remade because of errors.
make[5]: *** [/build/stage/linux/scripts/Makefile.build:477: drivers/gpu/drm] Error 2
make[5]: Target 'drivers/gpu/' not remade because of errors.
make[4]: *** [/build/stage/linux/scripts/Makefile.build:477: drivers/gpu] Error 2
/build/stage/linux/drivers/media/i2c/imx334.c: In function ‘imx334_parse_hw_config’:
/build/stage/linux/drivers/media/i2c/imx334.c:1081:30: error: implicit declaration of function ‘devm_gpiod_get_optional’; did you mean ‘devm_clk_get_optional’? [-Werror=implicit-function-declaration]
 1081 |         imx334->reset_gpio = devm_gpiod_get_optional(imx334->dev, "reset",
      |                              ^~~~~~~~~~~~~~~~~~~~~~~
      |                              devm_clk_get_optional
/build/stage/linux/drivers/media/i2c/imx334.c:1082:54: error: ‘GPIOD_OUT_LOW’ undeclared (first use in this function)
 1082 |                                                      GPIOD_OUT_LOW);
      |                                                      ^~~~~~~~~~~~~
/build/stage/linux/drivers/media/i2c/imx334.c:1082:54: note: each undeclared identifier is reported only once for each function it appears in
/build/stage/linux/drivers/media/i2c/imx334.c: In function ‘imx334_power_on’:
/build/stage/linux/drivers/media/i2c/imx334.c:1176:9: error: implicit declaration of function ‘gpiod_set_value_cansleep’ [-Werror=implicit-function-declaration]
 1176 |         gpiod_set_value_cansleep(imx334->reset_gpio, 1);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/media/i2c/imx334.o] Error 1
/build/stage/linux/drivers/media/i2c/imx335.c: In function ‘imx335_parse_hw_config’:
/build/stage/linux/drivers/media/i2c/imx335.c:785:30: error: implicit declaration of function ‘devm_gpiod_get_optional’; did you mean ‘devm_clk_get_optional’? [-Werror=implicit-function-declaration]
  785 |         imx335->reset_gpio = devm_gpiod_get_optional(imx335->dev, "reset",
      |                              ^~~~~~~~~~~~~~~~~~~~~~~
      |                              devm_clk_get_optional
/build/stage/linux/drivers/media/i2c/imx335.c:786:54: error: ‘GPIOD_OUT_LOW’ undeclared (first use in this function)
  786 |                                                      GPIOD_OUT_LOW);
      |                                                      ^~~~~~~~~~~~~
/build/stage/linux/drivers/media/i2c/imx335.c:786:54: note: each undeclared identifier is reported only once for each function it appears in
/build/stage/linux/drivers/media/i2c/imx335.c: In function ‘imx335_power_on’:
/build/stage/linux/drivers/media/i2c/imx335.c:871:9: error: implicit declaration of function ‘gpiod_set_value_cansleep’ [-Werror=implicit-function-declaration]
  871 |         gpiod_set_value_cansleep(imx335->reset_gpio, 1);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/media/i2c/imx335.o] Error 1
/build/stage/linux/drivers/media/i2c/imx412.c: In function ‘imx412_parse_hw_config’:
/build/stage/linux/drivers/media/i2c/imx412.c:937:30: error: implicit declaration of function ‘devm_gpiod_get_optional’; did you mean ‘devm_clk_get_optional’? [-Werror=implicit-function-declaration]
  937 |         imx412->reset_gpio = devm_gpiod_get_optional(imx412->dev, "reset",
      |                              ^~~~~~~~~~~~~~~~~~~~~~~
      |                              devm_clk_get_optional
/build/stage/linux/drivers/media/i2c/imx412.c:938:54: error: ‘GPIOD_OUT_LOW’ undeclared (first use in this function)
  938 |                                                      GPIOD_OUT_LOW);
      |                                                      ^~~~~~~~~~~~~
/build/stage/linux/drivers/media/i2c/imx412.c:938:54: note: each undeclared identifier is reported only once for each function it appears in
/build/stage/linux/drivers/media/i2c/imx412.c: In function ‘imx412_power_on’:
/build/stage/linux/drivers/media/i2c/imx412.c:1040:9: error: implicit declaration of function ‘gpiod_set_value_cansleep’ [-Werror=implicit-function-declaration]
 1040 |         gpiod_set_value_cansleep(imx412->reset_gpio, 0);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/media/i2c/imx412.o] Error 1
make[5]: Target 'drivers/net/' not remade because of errors.
make[4]: *** [/build/stage/linux/scripts/Makefile.build:477: drivers/net] Error 2
/build/stage/linux/drivers/spi/spi-tegra114.c: In function ‘tegra_spi_setup_transfer_one’:
/build/stage/linux/drivers/spi/spi-tegra114.c:835:25: error: implicit declaration of function ‘gpiod_set_value’ [-Werror=implicit-function-declaration]
  835 |                         gpiod_set_value(spi_get_csgpiod(spi, 0), 1);
      |                         ^~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[5]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/spi/spi-tegra114.o] Error 1
make[5]: Target 'drivers/spi/' not remade because of errors.
make[4]: *** [/build/stage/linux/scripts/Makefile.build:477: drivers/spi] Error 2
make[5]: Target 'sound/soc/' not remade because of errors.
make[4]: *** [/build/stage/linux/scripts/Makefile.build:477: sound/soc] Error 2
make[4]: Target 'sound/' not remade because of errors.
make[3]: *** [/build/stage/linux/scripts/Makefile.build:477: sound] Error 2
/build/stage/linux/drivers/media/i2c/ov5648.c: In function ‘ov5648_sensor_power’:
/build/stage/linux/drivers/media/i2c/ov5648.c:1878:17: error: implicit declaration of function ‘gpiod_set_value_cansleep’ [-Werror=implicit-function-declaration]
 1878 |                 gpiod_set_value_cansleep(sensor->reset, 1);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/media/i2c/ov5648.c: In function ‘ov5648_probe’:
/build/stage/linux/drivers/media/i2c/ov5648.c:2476:29: error: implicit declaration of function ‘devm_gpiod_get_optional’; did you mean ‘devm_clk_get_optional’? [-Werror=implicit-function-declaration]
 2476 |         sensor->powerdown = devm_gpiod_get_optional(dev, "powerdown",
      |                             ^~~~~~~~~~~~~~~~~~~~~~~
      |                             devm_clk_get_optional
/build/stage/linux/drivers/media/i2c/ov5648.c:2477:53: error: ‘GPIOD_OUT_HIGH’ undeclared (first use in this function)
 2477 |                                                     GPIOD_OUT_HIGH);
      |                                                     ^~~~~~~~~~~~~~
/build/stage/linux/drivers/media/i2c/ov5648.c:2477:53: note: each undeclared identifier is reported only once for each function it appears in
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/media/i2c/ov5648.o] Error 1
/build/stage/linux/drivers/media/i2c/ov5693.c: In function ‘ov5693_sensor_powerdown’:
/build/stage/linux/drivers/media/i2c/ov5693.c:793:9: error: implicit declaration of function ‘gpiod_set_value_cansleep’ [-Werror=implicit-function-declaration]
  793 |         gpiod_set_value_cansleep(ov5693->privacy_led, 0);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/media/i2c/ov5693.c: In function ‘ov5693_configure_gpios’:
/build/stage/linux/drivers/media/i2c/ov5693.c:1317:25: error: implicit declaration of function ‘devm_gpiod_get_optional’; did you mean ‘devm_clk_get_optional’? [-Werror=implicit-function-declaration]
 1317 |         ov5693->reset = devm_gpiod_get_optional(ov5693->dev, "reset",
      |                         ^~~~~~~~~~~~~~~~~~~~~~~
      |                         devm_clk_get_optional
/build/stage/linux/drivers/media/i2c/ov5693.c:1318:49: error: ‘GPIOD_OUT_HIGH’ undeclared (first use in this function)
 1318 |                                                 GPIOD_OUT_HIGH);
      |                                                 ^~~~~~~~~~~~~~
/build/stage/linux/drivers/media/i2c/ov5693.c:1318:49: note: each undeclared identifier is reported only once for each function it appears in
/build/stage/linux/drivers/media/i2c/ov5693.c:1332:55: error: ‘GPIOD_OUT_LOW’ undeclared (first use in this function)
 1332 |                                                       GPIOD_OUT_LOW);
      |                                                       ^~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/media/i2c/ov5693.o] Error 1
/build/stage/linux/drivers/media/i2c/ov8865.c: In function ‘ov8865_sensor_power’:
/build/stage/linux/drivers/media/i2c/ov8865.c:2403:17: error: implicit declaration of function ‘gpiod_set_value_cansleep’ [-Werror=implicit-function-declaration]
 2403 |                 gpiod_set_value_cansleep(sensor->reset, 1);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/media/i2c/ov9282.c: In function ‘ov9282_parse_hw_config’:
/build/stage/linux/drivers/media/i2c/ov9282.c:1129:30: error: implicit declaration of function ‘devm_gpiod_get_optional’; did you mean ‘devm_clk_get_optional’? [-Werror=implicit-function-declaration]
 1129 |         ov9282->reset_gpio = devm_gpiod_get_optional(ov9282->dev, "reset",
      |                              ^~~~~~~~~~~~~~~~~~~~~~~
      |                              devm_clk_get_optional
/build/stage/linux/drivers/media/i2c/ov8865.c: In function ‘ov8865_probe’:
/build/stage/linux/drivers/media/i2c/ov8865.c:2999:29: error: implicit declaration of function ‘devm_gpiod_get_optional’; did you mean ‘devm_clk_get_optional’? [-Werror=implicit-function-declaration]
 2999 |         sensor->powerdown = devm_gpiod_get_optional(dev, "powerdown",
      |                             ^~~~~~~~~~~~~~~~~~~~~~~
      |                             devm_clk_get_optional
/build/stage/linux/drivers/media/i2c/ov9282.c:1130:54: error: ‘GPIOD_OUT_LOW’ undeclared (first use in this function)
 1130 |                                                      GPIOD_OUT_LOW);
      |                                                      ^~~~~~~~~~~~~
/build/stage/linux/drivers/media/i2c/ov9282.c:1130:54: note: each undeclared identifier is reported only once for each function it appears in
/build/stage/linux/drivers/media/i2c/ov8865.c:3000:53: error: ‘GPIOD_OUT_HIGH’ undeclared (first use in this function)
 3000 |                                                     GPIOD_OUT_HIGH);
      |                                                     ^~~~~~~~~~~~~~
/build/stage/linux/drivers/media/i2c/ov8865.c:3000:53: note: each undeclared identifier is reported only once for each function it appears in
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/media/i2c/ov8865.o] Error 1
/build/stage/linux/drivers/media/i2c/ov9282.c: In function ‘ov9282_power_on’:
/build/stage/linux/drivers/media/i2c/ov9282.c:1238:9: error: implicit declaration of function ‘gpiod_set_value_cansleep’ [-Werror=implicit-function-declaration]
 1238 |         gpiod_set_value_cansleep(ov9282->reset_gpio, 1);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/media/i2c/ov9282.o] Error 1
/build/stage/linux/drivers/staging/media/max96712/max96712.c: In function ‘max96712_probe’:
/build/stage/linux/drivers/staging/media/max96712/max96712.c:411:28: error: implicit declaration of function ‘devm_gpiod_get_optional’; did you mean ‘devm_regulator_get_optional’? [-Werror=implicit-function-declaration]
  411 |         priv->gpiod_pwdn = devm_gpiod_get_optional(&client->dev, "enable",
      |                            ^~~~~~~~~~~~~~~~~~~~~~~
      |                            devm_regulator_get_optional
/build/stage/linux/drivers/staging/media/max96712/max96712.c:412:52: error: ‘GPIOD_OUT_HIGH’ undeclared (first use in this function)
  412 |                                                    GPIOD_OUT_HIGH);
      |                                                    ^~~~~~~~~~~~~~
/build/stage/linux/drivers/staging/media/max96712/max96712.c:412:52: note: each undeclared identifier is reported only once for each function it appears in
/build/stage/linux/drivers/staging/media/max96712/max96712.c:416:9: error: implicit declaration of function ‘gpiod_set_consumer_name’ [-Werror=implicit-function-declaration]
  416 |         gpiod_set_consumer_name(priv->gpiod_pwdn, "max96712-pwdn");
      |         ^~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/staging/media/max96712/max96712.c:417:9: error: implicit declaration of function ‘gpiod_set_value_cansleep’ [-Werror=implicit-function-declaration]
  417 |         gpiod_set_value_cansleep(priv->gpiod_pwdn, 1);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[7]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/staging/media/max96712/max96712.o] Error 1
make[7]: Target 'drivers/staging/media/max96712/' not remade because of errors.
make[6]: *** [/build/stage/linux/scripts/Makefile.build:477: drivers/staging/media/max96712] Error 2
/build/stage/linux/drivers/media/i2c/tc358746.c: In function ‘tc358746_probe’:
/build/stage/linux/drivers/media/i2c/tc358746.c:1538:32: error: implicit declaration of function ‘devm_gpiod_get_optional’; did you mean ‘devm_clk_get_optional’? [-Werror=implicit-function-declaration]
 1538 |         tc358746->reset_gpio = devm_gpiod_get_optional(dev, "reset",
      |                                ^~~~~~~~~~~~~~~~~~~~~~~
      |                                devm_clk_get_optional
/build/stage/linux/drivers/media/i2c/tc358746.c:1539:56: error: ‘GPIOD_OUT_HIGH’ undeclared (first use in this function)
 1539 |                                                        GPIOD_OUT_HIGH);
      |                                                        ^~~~~~~~~~~~~~
/build/stage/linux/drivers/media/i2c/tc358746.c:1539:56: note: each undeclared identifier is reported only once for each function it appears in
/build/stage/linux/drivers/media/i2c/tc358746.c: In function ‘tc358746_resume’:
/build/stage/linux/drivers/media/i2c/tc358746.c:1637:9: error: implicit declaration of function ‘gpiod_set_value’ [-Werror=implicit-function-declaration]
 1637 |         gpiod_set_value(tc358746->reset_gpio, 1);
      |         ^~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/media/i2c/tc358746.o] Error 1
make[6]: Target 'drivers/media/i2c/' not remade because of errors.
make[5]: *** [/build/stage/linux/scripts/Makefile.build:477: drivers/media/i2c] Error 2
make[6]: Target 'drivers/staging/media/' not remade because of errors.
make[5]: *** [/build/stage/linux/scripts/Makefile.build:477: drivers/staging/media] Error 2
make[5]: Target 'drivers/staging/' not remade because of errors.
make[4]: *** [/build/stage/linux/scripts/Makefile.build:477: drivers/staging] Error 2
make[5]: Target 'drivers/media/' not remade because of errors.
make[4]: *** [/build/stage/linux/scripts/Makefile.build:477: drivers/media] Error 2
/build/stage/linux/drivers/iio/amplifiers/ada4250.c: In function ‘ada4250_init’:
/build/stage/linux/drivers/iio/amplifiers/ada4250.c:307:25: error: implicit declaration of function ‘device_property_read_bool’ [-Werror=implicit-function-declaration]
  307 |         st->refbuf_en = device_property_read_bool(&spi->dev, "adi,refbuf-enable");
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/addac/ad74413r.c: In function ‘ad74413r_reset’:
/build/stage/linux/drivers/iio/addac/ad74413r.c:413:17: error: implicit declaration of function ‘gpiod_set_value_cansleep’ [-Werror=implicit-function-declaration]
  413 |                 gpiod_set_value_cansleep(st->reset_gpio, 1);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/addac/ad74115.c: In function ‘ad74115_reset’:
/build/stage/linux/drivers/iio/addac/ad74115.c:1765:22: error: implicit declaration of function ‘devm_gpiod_get_optional’; did you mean ‘devm_regulator_get_optional’? [-Werror=implicit-function-declaration]
 1765 |         reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
      |                      ^~~~~~~~~~~~~~~~~~~~~~~
      |                      devm_regulator_get_optional
cc1: all warnings being treated as errors
/build/stage/linux/drivers/iio/addac/ad74115.c:1765:60: error: ‘GPIOD_OUT_HIGH’ undeclared (first use in this function)
 1765 |         reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
      |                                                            ^~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/addac/ad74115.c:1765:60: note: each undeclared identifier is reported only once for each function it appears in
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/iio/amplifiers/ada4250.o] Error 1
make[6]: Target 'drivers/iio/amplifiers/' not remade because of errors.
make[5]: *** [/build/stage/linux/scripts/Makefile.build:477: drivers/iio/amplifiers] Error 2
/build/stage/linux/drivers/iio/addac/ad74413r.c: In function ‘ad74413r_probe’:
/build/stage/linux/drivers/iio/addac/ad74413r.c:1375:26: error: implicit declaration of function ‘devm_gpiod_get_optional’; did you mean ‘devm_regulator_get_optional’? [-Werror=implicit-function-declaration]
 1375 |         st->reset_gpio = devm_gpiod_get_optional(st->dev, "reset", GPIOD_OUT_LOW);
      |                          ^~~~~~~~~~~~~~~~~~~~~~~
      |                          devm_regulator_get_optional
/build/stage/linux/drivers/iio/addac/ad74413r.c:1375:68: error: ‘GPIOD_OUT_LOW’ undeclared (first use in this function)
 1375 |         st->reset_gpio = devm_gpiod_get_optional(st->dev, "reset", GPIOD_OUT_LOW);
      |                                                                    ^~~~~~~~~~~~~
/build/stage/linux/drivers/iio/addac/ad74413r.c:1375:68: note: each undeclared identifier is reported only once for each function it appears in
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/iio/addac/ad74413r.o] Error 1
/build/stage/linux/drivers/iio/addac/ad74115.c:1773:17: error: implicit declaration of function ‘gpiod_set_value_cansleep’ [-Werror=implicit-function-declaration]
 1773 |                 gpiod_set_value_cansleep(reset_gpio, 0);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/iio/addac/ad74115.o] Error 1
make[6]: Target 'drivers/iio/addac/' not remade because of errors.
make[5]: *** [/build/stage/linux/scripts/Makefile.build:477: drivers/iio/addac] Error 2
/build/stage/linux/drivers/iio/dac/ad3552r.c: In function ‘ad3552r_trigger_hw_ldac’:
/build/stage/linux/drivers/iio/dac/ad3552r.c:521:9: error: implicit declaration of function ‘gpiod_set_value_cansleep’ [-Werror=implicit-function-declaration]
  521 |         gpiod_set_value_cansleep(ldac, 0);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/dac/ad3552r.c: In function ‘ad3552r_reset’:
/build/stage/linux/drivers/iio/dac/ad3552r.c:661:27: error: implicit declaration of function ‘devm_gpiod_get_optional’; did you mean ‘devm_regulator_get_optional’? [-Werror=implicit-function-declaration]
  661 |         dac->gpio_reset = devm_gpiod_get_optional(&dac->spi->dev, "reset",
      |                           ^~~~~~~~~~~~~~~~~~~~~~~
      |                           devm_regulator_get_optional
/build/stage/linux/drivers/iio/dac/ad3552r.c:662:51: error: ‘GPIOD_OUT_LOW’ undeclared (first use in this function)
  662 |                                                   GPIOD_OUT_LOW);
      |                                                   ^~~~~~~~~~~~~
/build/stage/linux/drivers/iio/dac/ad3552r.c:662:51: note: each undeclared identifier is reported only once for each function it appears in
/build/stage/linux/drivers/iio/dac/ad3552r.c: In function ‘ad3552r_configure_custom_gain’:
/build/stage/linux/drivers/iio/dac/ad3552r.c:810:22: error: implicit declaration of function ‘fwnode_get_named_child_node’ [-Werror=implicit-function-declaration]
  810 |         gain_child = fwnode_get_named_child_node(child,
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/dac/ad3552r.c:810:20: error: assignment to ‘struct fwnode_handle *’ from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
  810 |         gain_child = fwnode_get_named_child_node(child,
      |                    ^
/build/stage/linux/drivers/iio/dac/ad3552r.c:821:15: error: implicit declaration of function ‘fwnode_property_read_u32’ [-Werror=implicit-function-declaration]
  821 |         err = fwnode_property_read_u32(gain_child, "adi,gain-scaling-p", &val);
      |               ^~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/dac/ad3552r.c:870:9: error: implicit declaration of function ‘fwnode_handle_put’ [-Werror=implicit-function-declaration]
  870 |         fwnode_handle_put(gain_child);
      |         ^~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/dac/ad3552r.c: In function ‘ad3552r_configure_device’:
/build/stage/linux/drivers/iio/dac/ad3552r.c:888:63: error: ‘GPIOD_OUT_HIGH’ undeclared (first use in this function)
  888 |         dac->gpio_ldac = devm_gpiod_get_optional(dev, "ldac", GPIOD_OUT_HIGH);
      |                                                               ^~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/dac/ad3552r.c:899:21: error: implicit declaration of function ‘device_property_read_bool’ [-Werror=implicit-function-declaration]
  899 |                 if (device_property_read_bool(dev, "adi,vref-out-en"))
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/dac/ad3552r.c:931:15: error: implicit declaration of function ‘device_property_read_u32’ [-Werror=implicit-function-declaration]
  931 |         err = device_property_read_u32(dev, "adi,sdo-drive-strength", &val);
      |               ^~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/dac/ad3552r.c:946:23: error: implicit declaration of function ‘device_get_child_node_count’ [-Werror=implicit-function-declaration]
  946 |         dac->num_ch = device_get_child_node_count(dev);
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/dac/ad3552r.c:952:9: error: implicit declaration of function ‘device_for_each_child_node’; did you mean ‘device_for_each_child’? [-Werror=implicit-function-declaration]
  952 |         device_for_each_child_node(dev, child) {
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |         device_for_each_child
/build/stage/linux/drivers/iio/dac/ad3552r.c:952:47: error: expected ‘;’ before ‘{’ token
  952 |         device_for_each_child_node(dev, child) {
      |                                               ^~
      |                                               ;
/build/stage/linux/drivers/iio/dac/ad3552r.c:1024:1: error: label ‘put_child’ defined but not used [-Werror=unused-label]
 1024 | put_child:
      | ^~~~~~~~~
/build/stage/linux/drivers/iio/dac/ad3552r.c:886:27: error: unused variable ‘ch’ [-Werror=unused-variable]
  886 |         u32 vals[2], val, ch;
      |                           ^~
/build/stage/linux/drivers/iio/dac/ad3552r.c:886:13: error: unused variable ‘vals’ [-Werror=unused-variable]
  886 |         u32 vals[2], val, ch;
      |             ^~~~
/build/stage/linux/drivers/iio/dac/ad3552r.c:885:18: error: unused variable ‘cnt’ [-Werror=unused-variable]
  885 |         int err, cnt = 0, voltage, delta = 100000;
      |                  ^~~
/build/stage/linux/drivers/iio/dac/ad3552r.c: At top level:
/build/stage/linux/drivers/iio/dac/ad3552r.c:799:12: error: ‘ad3552r_configure_custom_gain’ defined but not used [-Werror=unused-function]
  799 | static int ad3552r_configure_custom_gain(struct ad3552r_desc *dac,
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/dac/ad3552r.c:778:12: error: ‘ad3552r_find_range’ defined but not used [-Werror=unused-function]
  778 | static int ad3552r_find_range(u16 id, s32 *vals)
      |            ^~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/dac/ad3552r.c:738:13: error: ‘ad3552r_calc_gain_and_offset’ defined but not used [-Werror=unused-function]
  738 | static void ad3552r_calc_gain_and_offset(struct ad3552r_desc *dac, s32 ch)
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/iio/dac/ad3552r.o] Error 1
/build/stage/linux/drivers/iio/adc/ad7280a.c: In function ‘ad7280_probe’:
/build/stage/linux/drivers/iio/adc/ad7280a.c:974:17: error: implicit declaration of function ‘device_property_read_bool’ [-Werror=implicit-function-declaration]
  974 |                 device_property_read_bool(dev, "adi,thermistor-termination");
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/adc/ad7280a.c:976:13: error: implicit declaration of function ‘device_property_present’ [-Werror=implicit-function-declaration]
  976 |         if (device_property_present(dev, "adi,acquisition-time-ns")) {
      |             ^~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/adc/ad7280a.c:979:23: error: implicit declaration of function ‘device_property_read_u32’ [-Werror=implicit-function-declaration]
  979 |                 ret = device_property_read_u32(dev, "adi,acquisition-time-ns", &val);
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/iio/adc/ad7280a.o] Error 1
/build/stage/linux/drivers/iio/frequency/adf4371.c: In function ‘adf4371_setup’:
/build/stage/linux/drivers/iio/frequency/adf4371.c:492:13: error: implicit declaration of function ‘device_property_read_bool’ [-Werror=implicit-function-declaration]
  492 |         if (device_property_read_bool(&st->spi->dev, "adi,mute-till-lock-en")) {
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/iio/frequency/adf4371.o] Error 1
/build/stage/linux/drivers/iio/adc/ad7606_spi.c: In function ‘ad7606B_sw_mode_config’:
/build/stage/linux/drivers/iio/adc/ad7606_spi.c:261:17: error: implicit declaration of function ‘gpiod_set_array_value’ [-Werror=implicit-function-declaration]
  261 |                 gpiod_set_array_value(ARRAY_SIZE(os),
      |                 ^~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/adc/ad7606_spi.c:262:50: error: invalid use of undefined type ‘struct gpio_descs’
  262 |                                       st->gpio_os->desc, st->gpio_os->info, os);
      |                                                  ^~
/build/stage/linux/drivers/iio/adc/ad7606_spi.c:262:69: error: invalid use of undefined type ‘struct gpio_descs’
  262 |                                       st->gpio_os->desc, st->gpio_os->info, os);
      |                                                                     ^~
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/iio/adc/ad7606_spi.o] Error 1
/build/stage/linux/drivers/iio/adc/ad7768-1.c: In function ‘ad7768_set_channel_label’:
/build/stage/linux/drivers/iio/adc/ad7768-1.c:552:18: error: implicit declaration of function ‘dev_fwnode’; did you mean ‘dev_of_node’? [-Werror=implicit-function-declaration]
  552 |         fwnode = dev_fwnode(device);
      |                  ^~~~~~~~~~
      |                  dev_of_node
/build/stage/linux/drivers/iio/adc/ad7768-1.c:552:16: error: assignment to ‘struct fwnode_handle *’ from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
  552 |         fwnode = dev_fwnode(device);
      |                ^
/build/stage/linux/drivers/iio/dac/ad5766.c: In function ‘ad5766_get_output_range’:
/build/stage/linux/drivers/iio/dac/ad5766.c:500:15: error: implicit declaration of function ‘device_property_read_u32_array’ [-Werror=implicit-function-declaration]
  500 |         ret = device_property_read_u32_array(&st->spi->dev,
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/adc/ad7768-1.c:553:9: error: implicit declaration of function ‘fwnode_for_each_child_node’ [-Werror=implicit-function-declaration]
  553 |         fwnode_for_each_child_node(fwnode, child) {
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/adc/ad7768-1.c:553:50: error: expected ‘;’ before ‘{’ token
  553 |         fwnode_for_each_child_node(fwnode, child) {
      |                                                  ^~
      |                                                  ;
/build/stage/linux/drivers/iio/adc/ad7768-1.c:550:13: error: unused variable ‘crt_ch’ [-Werror=unused-variable]
  550 |         int crt_ch = 0;
      |             ^~~~~~
/build/stage/linux/drivers/iio/adc/ad7768-1.c:549:21: error: unused variable ‘label’ [-Werror=unused-variable]
  549 |         const char *label;
      |                     ^~~~~
/build/stage/linux/drivers/iio/adc/ad7768-1.c:545:30: error: unused variable ‘st’ [-Werror=unused-variable]
  545 |         struct ad7768_state *st = iio_priv(indio_dev);
      |                              ^~
/build/stage/linux/drivers/iio/adc/ad7768-1.c:567:1: error: no return statement in function returning non-void [-Werror=return-type]
  567 | }
      | ^
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/iio/adc/ad7768-1.o] Error 1
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/iio/dac/ad5766.o] Error 1
/build/stage/linux/drivers/iio/frequency/admv4420.c: In function ‘admv4420_fw_parse’:
/build/stage/linux/drivers/iio/frequency/admv4420.c:194:15: error: implicit declaration of function ‘device_property_read_u32’ [-Werror=implicit-function-declaration]
  194 |         ret = device_property_read_u32(dev, "adi,lo-freq-khz", &tmp);
      |               ^~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/frequency/admv4420.c:198:42: error: implicit declaration of function ‘device_property_read_bool’ [-Werror=implicit-function-declaration]
  198 |         st->ref_block.ref_single_ended = device_property_read_bool(dev,
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/iio/frequency/admv4420.o] Error 1
/build/stage/linux/drivers/iio/adc/ad7949.c: In function ‘ad7949_spi_probe’:
/build/stage/linux/drivers/iio/adc/ad7949.c:353:9: error: implicit declaration of function ‘device_property_read_u32’ [-Werror=implicit-function-declaration]
  353 |         device_property_read_u32(dev, "adi,internal-ref-microvolt", &tmp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/iio/adc/ad7949.o] Error 1
make[6]: Target 'drivers/iio/frequency/' not remade because of errors.
make[5]: *** [/build/stage/linux/scripts/Makefile.build:477: drivers/iio/frequency] Error 2
/build/stage/linux/drivers/iio/pressure/bmp280-spi.c: In function ‘bmp280_spi_probe’:
/build/stage/linux/drivers/iio/pressure/bmp280-spi.c:61:21: error: implicit declaration of function ‘device_get_match_data’; did you mean ‘device_match_any’? [-Werror=implicit-function-declaration]
   61 |         chip_info = device_get_match_data(&spi->dev);
      |                     ^~~~~~~~~~~~~~~~~~~~~
      |                     device_match_any
/build/stage/linux/drivers/iio/pressure/bmp280-spi.c:61:19: error: assignment to ‘const struct bmp280_chip_info *’ from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
   61 |         chip_info = device_get_match_data(&spi->dev);
      |                   ^
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/iio/pressure/bmp280-spi.o] Error 1
/build/stage/linux/drivers/iio/proximity/as3935.c: In function ‘as3935_probe’:
/build/stage/linux/drivers/iio/proximity/as3935.c:366:15: error: implicit declaration of function ‘device_property_read_u32’ [-Werror=implicit-function-declaration]
  366 |         ret = device_property_read_u32(dev,
      |               ^~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/iio/proximity/as3935.o] Error 1
make[6]: Target 'drivers/iio/proximity/' not remade because of errors.
make[5]: *** [/build/stage/linux/scripts/Makefile.build:477: drivers/iio/proximity] Error 2
/build/stage/linux/drivers/iio/temperature/ltc2983.c: In function ‘ltc2983_probe’:
/build/stage/linux/drivers/iio/temperature/ltc2983.c:1639:16: error: implicit declaration of function ‘devm_gpiod_get_optional’ [-Werror=implicit-function-declaration]
 1639 |         gpio = devm_gpiod_get_optional(&st->spi->dev, "reset", GPIOD_OUT_HIGH);
      |                ^~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/temperature/ltc2983.c:1639:64: error: ‘GPIOD_OUT_HIGH’ undeclared (first use in this function)
 1639 |         gpio = devm_gpiod_get_optional(&st->spi->dev, "reset", GPIOD_OUT_HIGH);
      |                                                                ^~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/temperature/ltc2983.c:1639:64: note: each undeclared identifier is reported only once for each function it appears in
/build/stage/linux/drivers/iio/temperature/ltc2983.c:1646:17: error: implicit declaration of function ‘gpiod_set_value_cansleep’ [-Werror=implicit-function-declaration]
 1646 |                 gpiod_set_value_cansleep(gpio, 0);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/iio/temperature/ltc2983.o] Error 1
make[6]: Target 'drivers/iio/temperature/' not remade because of errors.
make[5]: *** [/build/stage/linux/scripts/Makefile.build:477: drivers/iio/temperature] Error 2
/build/stage/linux/drivers/iio/dac/max5522.c: In function ‘max5522_spi_probe’:
/build/stage/linux/drivers/iio/dac/max5522.c:147:28: error: implicit declaration of function ‘device_get_match_data’; did you mean ‘device_match_any’? [-Werror=implicit-function-declaration]
  147 |         state->chip_info = device_get_match_data(&spi->dev);
      |                            ^~~~~~~~~~~~~~~~~~~~~
      |                            device_match_any
/build/stage/linux/drivers/iio/dac/max5522.c:147:26: error: assignment to ‘const struct max5522_chip_info *’ from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
  147 |         state->chip_info = device_get_match_data(&spi->dev);
      |                          ^
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/iio/dac/max5522.o] Error 1
make[6]: Target 'drivers/iio/dac/' not remade because of errors.
make[5]: *** [/build/stage/linux/scripts/Makefile.build:477: drivers/iio/dac] Error 2
/build/stage/linux/drivers/iio/adc/max11205.c: In function ‘max11205_probe’:
/build/stage/linux/drivers/iio/adc/max11205.c:119:25: error: implicit declaration of function ‘device_get_match_data’; did you mean ‘device_match_any’? [-Werror=implicit-function-declaration]
  119 |         st->chip_info = device_get_match_data(&spi->dev);
      |                         ^~~~~~~~~~~~~~~~~~~~~
      |                         device_match_any
/build/stage/linux/drivers/iio/adc/max11205.c:119:23: error: assignment to ‘const struct max11205_chip_info *’ from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
  119 |         st->chip_info = device_get_match_data(&spi->dev);
      |                       ^
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/iio/adc/max11205.o] Error 1
/build/stage/linux/drivers/iio/adc/max11410.c: In function ‘max11410_parse_channels’:
/build/stage/linux/drivers/iio/adc/max11410.c:707:18: error: implicit declaration of function ‘device_get_child_node_count’ [-Werror=implicit-function-declaration]
  707 |         num_ch = device_get_child_node_count(dev);
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/adc/max11410.c:723:9: error: implicit declaration of function ‘device_for_each_child_node’; did you mean ‘device_for_each_child’? [-Werror=implicit-function-declaration]
  723 |         device_for_each_child_node(dev, child) {
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |         device_for_each_child
/build/stage/linux/drivers/iio/adc/max11410.c:723:47: error: expected ‘;’ before ‘{’ token
  723 |         device_for_each_child_node(dev, child) {
      |                                               ^~
      |                                               ;
/build/stage/linux/drivers/iio/adc/max11410.c:705:18: error: unused variable ‘i’ [-Werror=unused-variable]
  705 |         int ret, i;
      |                  ^
/build/stage/linux/drivers/iio/adc/max11410.c:705:13: error: unused variable ‘ret’ [-Werror=unused-variable]
  705 |         int ret, i;
      |             ^~~
/build/stage/linux/drivers/iio/adc/max11410.c:702:24: error: unused variable ‘scale’ [-Werror=unused-variable]
  702 |         u32 inputs[2], scale;
      |                        ^~~~~
/build/stage/linux/drivers/iio/adc/max11410.c:702:13: error: unused variable ‘inputs’ [-Werror=unused-variable]
  702 |         u32 inputs[2], scale;
      |             ^~~~~~
/build/stage/linux/drivers/iio/adc/max11410.c:701:21: error: unused variable ‘node_name’ [-Werror=unused-variable]
  701 |         const char *node_name;
      |                     ^~~~~~~~~
/build/stage/linux/drivers/iio/adc/max11410.c:700:24: error: unused variable ‘sig_path’ [-Werror=unused-variable]
  700 |         u32 reference, sig_path;
      |                        ^~~~~~~~
/build/stage/linux/drivers/iio/adc/max11410.c:700:13: error: unused variable ‘reference’ [-Werror=unused-variable]
  700 |         u32 reference, sig_path;
      |             ^~~~~~~~~
/build/stage/linux/drivers/iio/adc/max11410.c:697:41: error: unused variable ‘cfg’ [-Werror=unused-variable]
  697 |         struct max11410_channel_config *cfg;
      |                                         ^~~
/build/stage/linux/drivers/iio/adc/max11410.c:695:30: error: unused variable ‘chanspec’ [-Werror=unused-variable]
  695 |         struct iio_chan_spec chanspec = chanspec_template;
      |                              ^~~~~~~~
/build/stage/linux/drivers/iio/adc/max11410.c: In function ‘max11410_probe’:
/build/stage/linux/drivers/iio/adc/max11410.c:976:19: error: implicit declaration of function ‘fwnode_irq_get_byname’ [-Werror=implicit-function-declaration]
  976 |         irqs[0] = fwnode_irq_get_byname(dev_fwnode(dev), "gpio0");
      |                   ^~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/adc/max11410.c:976:41: error: implicit declaration of function ‘dev_fwnode’; did you mean ‘dev_of_node’? [-Werror=implicit-function-declaration]
  976 |         irqs[0] = fwnode_irq_get_byname(dev_fwnode(dev), "gpio0");
      |                                         ^~~~~~~~~~
      |                                         dev_of_node
cc1: all warnings being treated as errors
make[6]: Target 'drivers/iio/pressure/' not remade because of errors.
make[5]: *** [/build/stage/linux/scripts/Makefile.build:477: drivers/iio/pressure] Error 2
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/iio/adc/max11410.o] Error 1
/build/stage/linux/drivers/iio/adc/ti-lmp92064.c: In function ‘lmp92064_adc_probe’:
/build/stage/linux/drivers/iio/adc/ti-lmp92064.c:265:15: error: implicit declaration of function ‘device_property_read_u32’ [-Werror=implicit-function-declaration]
  265 |         ret = device_property_read_u32(dev, "shunt-resistor-micro-ohms",
      |               ^~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/adc/ti-ads131e08.c: In function ‘ads131e08_alloc_channels’:
/build/stage/linux/drivers/iio/adc/ti-ads131e08.c:701:15: error: implicit declaration of function ‘device_property_read_u32’ [-Werror=implicit-function-declaration]
  701 |         ret = device_property_read_u32(dev, "ti,vref-internal", &tmp);
      |               ^~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/adc/ti-tsc2046.c: In function ‘tsc2046_adc_parse_fwnode’:
/build/stage/linux/drivers/iio/adc/ti-tsc2046.c:721:9: error: implicit declaration of function ‘device_for_each_child_node’; did you mean ‘device_for_each_child’? [-Werror=implicit-function-declaration]
  721 |         device_for_each_child_node(dev, child) {
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |         device_for_each_child
/build/stage/linux/drivers/iio/adc/ti-tsc2046.c:721:47: error: expected ‘;’ before ‘{’ token
  721 |         device_for_each_child_node(dev, child) {
      |                                               ^~
      |                                               ;
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/iio/adc/ti-lmp92064.o] Error 1
/build/stage/linux/drivers/iio/adc/ti-tsc2046.c: In function ‘tsc2046_adc_probe’:
/build/stage/linux/drivers/iio/adc/ti-tsc2046.c:807:16: error: implicit declaration of function ‘device_get_match_data’; did you mean ‘device_match_any’? [-Werror=implicit-function-declaration]
  807 |         dcfg = device_get_match_data(dev);
      |                ^~~~~~~~~~~~~~~~~~~~~
      |                device_match_any
/build/stage/linux/drivers/iio/adc/ti-tsc2046.c:807:14: error: assignment to ‘const struct tsc2046_adc_dcfg *’ from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
  807 |         dcfg = device_get_match_data(dev);
      |              ^
/build/stage/linux/drivers/iio/adc/ti-ads131e08.c:717:24: error: implicit declaration of function ‘device_get_child_node_count’ [-Werror=implicit-function-declaration]
  717 |         num_channels = device_get_child_node_count(dev);
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/iio/adc/ti-tsc2046.o] Error 1
/build/stage/linux/drivers/iio/adc/ti-ads131e08.c:739:9: error: implicit declaration of function ‘device_for_each_child_node’; did you mean ‘device_for_each_child’? [-Werror=implicit-function-declaration]
  739 |         device_for_each_child_node(dev, node) {
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |         device_for_each_child
/build/stage/linux/drivers/iio/adc/ti-ads131e08.c:739:46: error: expected ‘;’ before ‘{’ token
  739 |         device_for_each_child_node(dev, node) {
      |                                              ^~
      |                                              ;
/build/stage/linux/drivers/iio/adc/ti-ads131e08.c:789:9: error: implicit declaration of function ‘fwnode_handle_put’ [-Werror=implicit-function-declaration]
  789 |         fwnode_handle_put(node);
      |         ^~~~~~~~~~~~~~~~~
/build/stage/linux/drivers/iio/adc/ti-ads131e08.c:788:1: error: label ‘err_child_out’ defined but not used [-Werror=unused-label]
  788 | err_child_out:
      | ^~~~~~~~~~~~~
/build/stage/linux/drivers/iio/adc/ti-ads131e08.c:698:22: error: unused variable ‘channel’ [-Werror=unused-variable]
  698 |         unsigned int channel, tmp;
      |                      ^~~~~~~
/build/stage/linux/drivers/iio/adc/ti-ads131e08.c: In function ‘ads131e08_probe’:
/build/stage/linux/drivers/iio/adc/ti-ads131e08.c:809:16: error: implicit declaration of function ‘device_get_match_data’; did you mean ‘device_match_any’? [-Werror=implicit-function-declaration]
  809 |         info = device_get_match_data(&spi->dev);
      |                ^~~~~~~~~~~~~~~~~~~~~
      |                device_match_any
/build/stage/linux/drivers/iio/adc/ti-ads131e08.c:809:14: error: assignment to ‘const struct ads131e08_info *’ from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
  809 |         info = device_get_match_data(&spi->dev);
      |              ^
/build/stage/linux/drivers/iio/adc/ti-ads131e08.c: At top level:
/build/stage/linux/drivers/iio/adc/ti-ads131e08.c:320:12: error: ‘ads131e08_validate_channel_mux’ defined but not used [-Werror=unused-function]
  320 | static int ads131e08_validate_channel_mux(struct ads131e08_state *st,
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[6]: *** [/build/stage/linux/scripts/Makefile.build:243: drivers/iio/adc/ti-ads131e08.o] Error 1
make[6]: Target 'drivers/iio/adc/' not remade because of errors.
make[5]: *** [/build/stage/linux/scripts/Makefile.build:477: drivers/iio/adc] Error 2
make[5]: Target 'drivers/iio/' not remade because of errors.
make[4]: *** [/build/stage/linux/scripts/Makefile.build:477: drivers/iio] Error 2
make[4]: Target 'drivers/' not remade because of errors.
make[3]: *** [/build/stage/linux/scripts/Makefile.build:477: drivers] Error 2
make[3]: Target './' not remade because of errors.
make[2]: *** [/build/stage/linux/Makefile:2020: .] Error 2
make[2]: Target '__all' not remade because of errors.
make[1]: *** [/build/stage/linux/Makefile:234: __sub-make] Error 2
make[1]: Target '__all' not remade because of errors.
Andy Shevchenko July 11, 2023, 11:10 a.m. UTC | #3
On Tue, Jul 11, 2023 at 09:26:46AM +0100, Mark Brown wrote:
> On Mon, Jul 10, 2023 at 06:49:25PM +0300, Andy Shevchenko wrote:
> > There is a few things done:
> > - include only the headers we are direct user of
> > - when pointer is in use, provide a forward declaration
> > - add missing headers
> > - group generic headers and subsystem headers
> > - sort each group alphabetically
> 
> This breaks an x86 allmodconfig build:

Yeah, it was too brave to go. That's actually the answer why I left
mod_devicetable.h included. (However the mod_devicetable.h probably should
stay to be similar to i2c.h.

Let's postpone this one, but it's good to have the build report so we know
which drivers are missing GPIO header to be included.
Andy Shevchenko July 11, 2023, 11:10 a.m. UTC | #4
On Mon, Jul 10, 2023 at 06:21:44PM +0100, Mark Brown wrote:
> On Mon, Jul 10, 2023 at 06:49:25PM +0300, Andy Shevchenko wrote:
> > There is a few things done:
> > - include only the headers we are direct user of
> > - when pointer is in use, provide a forward declaration
> > - add missing headers
> > - group generic headers and subsystem headers
> > - sort each group alphabetically
> 
> The previous commit was supposed to be sorting things and AFAICT did
> so...

This is about forward declaration groups.

> > +struct spi_device_id;
> 
> Why are we adding this given that there's also an inclusion of
> mod_devicetable that you didn't remove?

Answered in the other email.
diff mbox series

Patch

diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h
index 2026eae97329..c9479badf38c 100644
--- a/include/linux/spi/spi.h
+++ b/include/linux/spi/spi.h
@@ -6,27 +6,41 @@ 
 #ifndef __LINUX_SPI_H
 #define __LINUX_SPI_H
 
-#include <linux/acpi.h>
 #include <linux/bits.h>
 #include <linux/completion.h>
+#include <linux/container_of.h>
 #include <linux/device.h>
-#include <linux/gpio/consumer.h>
+#include <linux/export.h>
 #include <linux/kthread.h>
+#include <linux/limits.h>
+#include <linux/list.h>
+#include <linux/minmax.h>
 #include <linux/mod_devicetable.h>
+#include <linux/mutex.h>
 #include <linux/scatterlist.h>
 #include <linux/slab.h>
+#include <linux/smp.h>
+#include <linux/spinlock_types.h>
+#include <linux/string.h>
+#include <linux/types.h>
 #include <linux/u64_stats_sync.h>
 
+#include <asm/byteorder.h>
+
 #include <uapi/linux/spi/spi.h>
 
+struct acpi_device;
 struct dma_chan;
-struct software_node;
+struct gpio_desc;
 struct ptp_system_timestamp;
+struct software_node;
+
 struct spi_controller;
-struct spi_transfer;
 struct spi_controller_mem_ops;
 struct spi_controller_mem_caps;
+struct spi_device_id;
 struct spi_message;
+struct spi_transfer;
 
 /*
  * INTERFACES between SPI master-side drivers and SPI slave protocol handlers,