Message ID | 20230710154932.68377-9-andriy.shevchenko@linux.intel.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9f45:0:b0:3ea:f831:8777 with SMTP id v5csp5130709vqx; Mon, 10 Jul 2023 09:09:11 -0700 (PDT) X-Google-Smtp-Source: APBJJlFVTEdZ34hS0xO35Vat0vvieRFC0cBI19Rp83fllGfguKk39s0+T+0YEr+XCnQ/COoss1XQ X-Received: by 2002:aa7:ca51:0:b0:51d:e495:626a with SMTP id j17-20020aa7ca51000000b0051de495626amr10980487edt.6.1689005350990; Mon, 10 Jul 2023 09:09:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689005350; cv=none; d=google.com; s=arc-20160816; b=P2tFiuLNe8VpI5KpHlMAcsC6EsPsn/6GZBj3qHbtFRa/MeQZygOcgqi77UifdLygto ia68JJl5TMNkSkDBCjBctvdQCexGOoGVrMNUF7T8lZspgA/DTVEpzJQWzoz2OaHXa+TJ TuqRattReqIvruzSg0hEMUNFZS5XUJ7lsDz0xQs1WygzcmM/V8yLE2LdhNs3FhuLyjyG 5sZhG9wfnhYlFQMxcd8Wgbaru4Fii2Kk+V21rfSShViFWenmtgHHA21wj6jPKrY3JUUP TDlbreZ3K7oi7flHava873apycXCA7Q+jzWgI9gWAH+UMCS+wGPT0sCVS9I18jSG3TWe FwRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=7+E5h/3KfyYlvQoSV523/vEMiTBzry7vfI4d7ZX9BSg=; fh=CWfEt6/vd4IsHMc+T8W3bMkH4b5uOoX72TeJSijIGlU=; b=wJK/l+beaajlm5+Q49mES/exd/KcwjbyJLxfPhw7LzLamf+RFJ7Lw8gZ7rWsk67d/P XIeRBMHQCjinCummTP2tK3WOGmvKXfwiIrRSpYFhUVRIvRtsP1dqVycVEEheEoDapbvF 8LSBUUDiAjeHaJTRFJpr+sz2ofRi3s5peoOnVkj4BS0YxzooHksIFA6RoeWWqE8zX80b Zzmbi4r7Hl2jRJtZcqsD/ejw5O9a3Jbru9/keafNisw7N0owop59OPXV6fNXpAHYflpt 0rvDtvvjAj2bYu4uLrK7ZrEGYB38eBV3IHRIUX/j5N7SP6HtsCn4P/Hhu/ErcvVGWQfk eb6w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Xhe7Uc3b; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e16-20020a056402089000b00516a1feabc6si9733351edy.657.2023.07.10.09.08.47; Mon, 10 Jul 2023 09:09:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Xhe7Uc3b; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233657AbjGJPuD (ORCPT <rfc822;ybw1215001957@gmail.com> + 99 others); Mon, 10 Jul 2023 11:50:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47618 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233562AbjGJPtu (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Mon, 10 Jul 2023 11:49:50 -0400 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2CE4C194; Mon, 10 Jul 2023 08:49:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689004188; x=1720540188; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=eCA4jmpHdK4tCQy+WYVaMHkZ61alyGNaPi2evxW0e9A=; b=Xhe7Uc3bWEFAN7lTH3RBzaljG/Fz36zbn7OKy5oU4TrvfA5Ud/5M7hkU oQnmtNIPm+s7VmlHK+IYqbqRVymvGWNefM8fWm0XyUiL1uTUR4IYgd9GF ZBmE09Qzq/nxtAgf22erwg3StRH5OBXMFD3jtepn/ff0ZH+f8iOALlDno n6vvCLCVy2LguzMpQgEWwD6sP17tJl4IMAXxo/LKHUPQ/FqYn3iJ/gtbx VysSzGU4T91AAH5NWHk0aR4ymr1+2Itze/L1OSnxhjzTa2iQ08Xh/SOTO 8mSdyodJxNsQlokgzsoM7HsowdViZFNXJQQYD2i9sTsfOuNQ+uKZcodpE g==; X-IronPort-AV: E=McAfee;i="6600,9927,10767"; a="361842484" X-IronPort-AV: E=Sophos;i="6.01,194,1684825200"; d="scan'208";a="361842484" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jul 2023 08:49:48 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10767"; a="720743959" X-IronPort-AV: E=Sophos;i="6.01,194,1684825200"; d="scan'208";a="720743959" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga002.jf.intel.com with ESMTP; 10 Jul 2023 08:49:35 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 9C17069F; Mon, 10 Jul 2023 18:49:34 +0300 (EEST) From: Andy Shevchenko <andriy.shevchenko@linux.intel.com> To: Mark Brown <broonie@kernel.org>, Cristian Ciocaltea <cristian.ciocaltea@collabora.com>, Yang Yingliang <yangyingliang@huawei.com>, Andy Shevchenko <andriy.shevchenko@linux.intel.com>, Amit Kumar Mahapatra via Alsa-devel <alsa-devel@alsa-project.org>, Neil Armstrong <neil.armstrong@linaro.org>, Tharun Kumar P <tharunkumar.pasumarthi@microchip.com>, Vijaya Krishna Nivarthi <quic_vnivarth@quicinc.com>, =?utf-8?q?Uwe_Kleine-K?= =?utf-8?q?=C3=B6nig?= <u.kleine-koenig@pengutronix.de>, linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-riscv@lists.infradead.org, linux-stm32@st-md-mailman.stormreply.com, linux-trace-kernel@vger.kernel.org, netdev@vger.kernel.org Cc: Sanjay R Mehta <sanju.mehta@amd.com>, Radu Pirea <radu_nicolae.pirea@upb.ro>, Nicolas Ferre <nicolas.ferre@microchip.com>, Alexandre Belloni <alexandre.belloni@bootlin.com>, Claudiu Beznea <claudiu.beznea@microchip.com>, Tudor Ambarus <tudor.ambarus@linaro.org>, Serge Semin <fancer.lancer@gmail.com>, Shawn Guo <shawnguo@kernel.org>, Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix Kernel Team <kernel@pengutronix.de>, Fabio Estevam <festevam@gmail.com>, NXP Linux Team <linux-imx@nxp.com>, Kevin Hilman <khilman@baylibre.com>, Jerome Brunet <jbrunet@baylibre.com>, Martin Blumenstingl <martin.blumenstingl@googlemail.com>, Matthias Brugger <matthias.bgg@gmail.com>, AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>, Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, Konrad Dybcio <konrad.dybcio@linaro.org>, Heiko Stuebner <heiko@sntech.de>, Palmer Dabbelt <palmer@dabbelt.com>, Paul Walmsley <paul.walmsley@sifive.com>, Orson Zhai <orsonzhai@gmail.com>, Baolin Wang <baolin.wang@linux.alibaba.com>, Chunyan Zhang <zhang.lyra@gmail.com>, Alain Volmat <alain.volmat@foss.st.com>, Maxime Coquelin <mcoquelin.stm32@gmail.com>, Alexandre Torgue <alexandre.torgue@foss.st.com>, Max Filippov <jcmvbkbc@gmail.com>, Steven Rostedt <rostedt@goodmis.org>, Masami Hiramatsu <mhiramat@kernel.org>, Richard Cochran <richardcochran@gmail.com> Subject: [PATCH v2 08/15] spi: Clean up headers Date: Mon, 10 Jul 2023 18:49:25 +0300 Message-Id: <20230710154932.68377-9-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b In-Reply-To: <20230710154932.68377-1-andriy.shevchenko@linux.intel.com> References: <20230710154932.68377-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771050475084140169 X-GMAIL-MSGID: 1771050475084140169 |
Series |
spi: Header and core clean up and refactoring
|
|
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
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?
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.
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.
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 --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,