All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nathan Chancellor <nathan@kernel.org>
To: "Uwe Kleine-König (The Capable Hub)" <u.kleine-koenig@baylibre.com>
Cc: "Tianrui Zhao" <zhaotianrui@loongson.cn>,
	"Bibo Mao" <maobibo@loongson.cn>,
	"Huacai Chen" <chenhuacai@kernel.org>,
	"Nicolas Schier" <nsc@kernel.org>,
	"Geert Uytterhoeven" <geert@linux-m68k.org>,
	"Takashi Sakamoto" <o-takashi@sakamocchi.jp>,
	"Raag Jadav" <raag.jadav@intel.com>,
	"Martin K. Petersen" <mkp@kernel.org>,
	"Heiner Kallweit" <hkallweit1@gmail.com>,
	"Dave Hansen" <dave.hansen@linux.intel.com>,
	"Ingo Molnar" <mingo@kernel.org>,
	"Josh Poimboeuf" <jpoimboe@kernel.org>,
	"Jorge Sanjuan Garcia" <dev-jorge.sanjuangarcia@duagon.com>,
	"Jose Javier Rodriguez Barbarin"
	<dev-josejavier.rodriguez@duagon.com>,
	"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
	"Alexey Gladkov" <legion@kernel.org>,
	"Hasan Basbunar" <basbunarhasan@gmail.com>,
	"Hugh Dickins" <hughd@google.com>, "Armin Wolf" <W_Armin@gmx.de>,
	"WANG Xuerui" <kernel@xen0n.name>,
	kvm@vger.kernel.org, loongarch@lists.linux.dev,
	linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org,
	"Sudeep Holla" <sudeep.holla@kernel.org>
Subject: Re: [PATCH v1 0/3] <linux/mod_devicetable.h> deprecation continues
Date: Tue, 6 Oct 2026 10:54:17 +0200	[thread overview]
Message-ID: <20261006085417.GA1522@ax162> (raw)
In-Reply-To: <179121379654.1159753.4410832336442519712.b4-review@b4>

On Mon, Oct 05, 2026 at 05:23:16PM +0200, Nathan Chancellor wrote:
> > this is a next step in the deprecation of <linux/mod_devicetable.h>.
> > scripts/mod/devicetable-offsets.c and scripts/mod/file2alias.c are the
> > only users of that header that use more than a few device-id structs. So
> > their number of lines actually grows when unfolding the needed includes
> > into them. Still it is a reduction in build dependencies.
> > 
> > I suggest to take this via kbuild during the merge window. Would be great to
> > cook in next for a while before.
> > 
> > Best regards
> > Uwe
> > 
> > Uwe Kleine-König (The Capable Hub) (3):
> >   Move struct cpu_feature to <linux/cpufeature.h>
> >   devicetable-offsets: Include the needed device-id headers instead of
> >     the catch-all
> >   file2alias: Include the needed device-id headers instead of the
> >     catch-all
> > 
> >  arch/loongarch/kvm/main.c         |  2 +-
> >  include/linux/cpufeature.h        | 12 ++++++-
> >  include/linux/mod_devicetable.h   | 13 -------
> >  scripts/mod/devicetable-offsets.c | 57 ++++++++++++++++++++++++++++++-
> >  scripts/mod/file2alias.c          | 56 +++++++++++++++++++++++++++++-
> >  5 files changed, 123 insertions(+), 17 deletions(-)
> 
> My apologies for taking some time to get to this. I was planning on
> building it using my personal test matrix on a local machine at home
> while travelling for Plumbers to avoid tying up my main workstation but
> my home's internet connection has been down for two weeks with very
> little hope of getting it online before I am back...
> 
> Sashiko has a few comments that seem relevant (most of them are the same
> issue):
> 
>   https://sashiko.dev/#/patchset/cover.1789988540.git.u.kleine-koenig@baylibre.com
> 
> I have applied it on top of next-20261005 to see what conflicts are
> looking like. I see a merge conflict with this series from
> 
>   d59717cfbe1e ("firmware: arm_scmi: Add SCMI device table alias support")
> 
> in the soc tree, which is fairly trivial. There is a semantic conflict
> that results in a build error from
> 
>   fe7f2a805443 ("firmware: smccc: Add an Arm SMCCC bus")
> 
> in the arm64 tree, which is also trivial but subtle.
> 
>   scripts/mod/devicetable-offsets.c:317:2: error: invalid application of 'sizeof' to an incomplete type 'struct arm_smccc_device_id'
>     317 |         DEVID(arm_smccc_device_id);
>         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
>   scripts/mod/devicetable-offsets.c:62:43: note: expanded from macro 'DEVID'
>      62 | #define DEVID(devid) DEFINE(SIZE_##devid, sizeof(struct devid))
>         |                      ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
>   include/linux/kbuild.h:6:62: note: expanded from macro 'DEFINE'
>       6 |         asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
>         |                                                                     ^~~
>   scripts/mod/devicetable-offsets.c:317:8: note: forward declaration of 'struct arm_smccc_device_id'
>     317 |         DEVID(arm_smccc_device_id);
>         |               ^
>   scripts/mod/devicetable-offsets.c:318:2: error: offsetof of incomplete type 'struct arm_smccc_device_id'
>     318 |         DEVID_FIELD(arm_smccc_device_id, func_id);
>         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>   scripts/mod/devicetable-offsets.c:64:32: note: expanded from macro 'DEVID_FIELD'
>      64 |         DEFINE(OFF_##devid##_##field, offsetof(struct devid, field))
>         |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>   include/linux/stddef.h:16:32: note: expanded from macro 'offsetof'
>      16 | #define offsetof(TYPE, MEMBER)  __builtin_offsetof(TYPE, MEMBER)
>         |                                 ^
>   include/linux/kbuild.h:6:62: note: expanded from macro 'DEFINE'
>       6 |         asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
>         |                                                                     ^~~
>   scripts/mod/devicetable-offsets.c:317:8: note: forward declaration of 'struct arm_smccc_device_id'
>     317 |         DEVID(arm_smccc_device_id);
>         |               ^
>   2 errors generated.
> 
> If you would like this in 7.4-rc1, I am not opposed to sticking your v2
> into -next now but I plan to finalize the Kbuild tree for 7.4 around
> October 15, so we'd only get a week or so of build coverage. If that
> feels like too little, we should defer this until after 7.4-rc1 is out.

Two more issues came up in my testing.

ARCH=loongarch defconfig:

  In file included from include/linux/mmzone.h:20,
                   from include/linux/gfp.h:7,
                   from include/linux/xarray.h:16,
                   from include/linux/list_lru.h:14,
                   from include/linux/fs/super_types.h:7,
                   from include/linux/fs/super.h:5,
                   from include/linux/fs.h:5,
                   from arch/loongarch/include/asm/elf.h:9,
                   from arch/loongarch/include/asm/cpufeature.h:13,
                   from include/linux/cpufeature.h:23,
                   from scripts/mod/devicetable-offsets.c:3:
  include/linux/page-flags-layout.h:6:10: fatal error: generated/bounds.h: No such file or directory
      6 | #include <generated/bounds.h>
        |          ^~~~~~~~~~~~~~~~~~~~
  compilation terminated.
  make[4]: *** [scripts/Makefile.build:185: scripts/mod/devicetable-offsets.s] Error 1

ARCH=s390 defconfig:

  drivers/s390/crypto/pkey_ep11.c:23:28: error: array type has incomplete element type 'struct ap_device_id'
     23 | static struct ap_device_id pkey_ep11_card_ids[] = {
        |                            ^~~~~~~~~~~~~~~~~~
  make[7]: *** [scripts/Makefile.build:290: drivers/s390/crypto/pkey_ep11.o] Error 1
  drivers/s390/crypto/pkey_cca.c:22:28: error: array type has incomplete element type 'struct ap_device_id'
     22 | static struct ap_device_id pkey_cca_card_ids[] = {
        |                            ^~~~~~~~~~~~~~~~~
  make[7]: *** [scripts/Makefile.build:290: drivers/s390/crypto/pkey_cca.o] Error 1

-- 
Cheers,
Nathan

  reply	other threads:[~2026-10-06  8:54 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-21 14:18 [PATCH v1 0/3] <linux/mod_devicetable.h> deprecation continues Uwe Kleine-König (The Capable Hub)
2026-09-21 14:18 ` [PATCH v1 1/3] Move struct cpu_feature to <linux/cpufeature.h> Uwe Kleine-König (The Capable Hub)
2026-09-21 14:28   ` sashiko-bot
2026-09-21 14:18 ` [PATCH v1 2/3] devicetable-offsets: Include the needed device-id headers instead of the catch-all Uwe Kleine-König (The Capable Hub)
2026-09-21 14:18 ` [PATCH v1 3/3] file2alias: " Uwe Kleine-König (The Capable Hub)
2026-09-22 19:43 ` [PATCH v1 0/3] <linux/mod_devicetable.h> deprecation continues Armin Wolf
2026-10-05 15:23 ` Nathan Chancellor
2026-10-06  8:54   ` Nathan Chancellor [this message]
2026-10-06 22:39   ` Uwe Kleine-König (The Capable Hub)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261006085417.GA1522@ax162 \
    --to=nathan@kernel.org \
    --cc=W_Armin@gmx.de \
    --cc=basbunarhasan@gmail.com \
    --cc=chenhuacai@kernel.org \
    --cc=dave.hansen@linux.intel.com \
    --cc=dev-jorge.sanjuangarcia@duagon.com \
    --cc=dev-josejavier.rodriguez@duagon.com \
    --cc=geert@linux-m68k.org \
    --cc=hkallweit1@gmail.com \
    --cc=hughd@google.com \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=jpoimboe@kernel.org \
    --cc=kernel@xen0n.name \
    --cc=kvm@vger.kernel.org \
    --cc=legion@kernel.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=loongarch@lists.linux.dev \
    --cc=maobibo@loongson.cn \
    --cc=mingo@kernel.org \
    --cc=mkp@kernel.org \
    --cc=nsc@kernel.org \
    --cc=o-takashi@sakamocchi.jp \
    --cc=raag.jadav@intel.com \
    --cc=sudeep.holla@kernel.org \
    --cc=u.kleine-koenig@baylibre.com \
    --cc=zhaotianrui@loongson.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.