The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
To: "Uwe Kleine-König (The Capable Hub)" <u.kleine-koenig@baylibre.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	 Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	 Hans de Goede <hansg@kernel.org>,
	platform-driver-x86@vger.kernel.org,
	 LKML <linux-kernel@vger.kernel.org>,
	Danilo Krummrich <dakr@kernel.org>
Subject: Re: [PATCH v3 09/16] platform/x86: x86-android-tablets: Add include defining struct dmi_system_id
Date: Tue, 30 Jun 2026 17:58:54 +0300 (EEST)	[thread overview]
Message-ID: <32255bd6-4015-e945-2ee2-4bc3ca0c3a9c@linux.intel.com> (raw)
In-Reply-To: <akJzYlHHcvPCl0HW@monoceros>

[-- Attachment #1: Type: text/plain, Size: 3480 bytes --]

On Mon, 29 Jun 2026, Uwe Kleine-König (The Capable Hub) wrote:
> On Mon, Jun 29, 2026 at 02:38:35PM +0300, Ilpo Järvinen wrote:
> > On Sun, 28 Jun 2026, Uwe Kleine-König (The Capable Hub) wrote:
> > 
> > > Currently <linux/i2c.h> includes <linux/mod_devicetable.h> transitively
> > > which ensures that struct dmi_system_id is defined in
> > > drivers/platform/x86/x86-android-tablets/x86-android-tablets.h. However
> > > this include in <linux/i2c.h> will be replaced by one for i2c_device_id
> > > only. To ensure that dmi_system_id is available add the include for that
> > > explicitly.
> > > 
> > > Acked-by: Danilo Krummrich <dakr@kernel.org>
> > > Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com>
> > > ---
> > >  drivers/platform/x86/x86-android-tablets/x86-android-tablets.h | 1 +
> > >  1 file changed, 1 insertion(+)
> > > 
> > > diff --git a/drivers/platform/x86/x86-android-tablets/x86-android-tablets.h b/drivers/platform/x86/x86-android-tablets/x86-android-tablets.h
> > > index 2498390958ad..c756961ae5fd 100644
> > > --- a/drivers/platform/x86/x86-android-tablets/x86-android-tablets.h
> > > +++ b/drivers/platform/x86/x86-android-tablets/x86-android-tablets.h
> > > @@ -13,6 +13,7 @@
> > >  #include <linux/gpio/consumer.h>
> > >  #include <linux/i2c.h>
> > >  #include <linux/irqdomain_defs.h>
> > > +#include <linux/device-id/dmi.h>
> > >  #include <linux/spi/spi.h>
> > >  
> > >  struct gpio_desc;
> > 
> > Indirect include patchs are never a good idea as it always makes header 
> > reorganizations minefield. So for this change,
> > 
> > Acked-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> > 
> > 
> > When it comes to the series, I certainly like the direction it goes very 
> > much (never have been fan of mod_devicetable.h) but I'd have preferred 
> > stepwise approach over trying to introduce it to some mid-rc.
> 
> The hurdle here is that at least the header part isn't easily
> automateable.

Patch 1?

> (Well it is, but the script that I have now to check all
> .c files already takes longer than an hour to run. I guess it's not as
> optimal as it could, but still.) And so getting this ready for inclusion
> in next and keeping it up to date until the merge window opens is a
> tough job.
> 
> The further downside is that each modification to one of the highly used
> headers is expensive (in rebuild time) when these are merged one after
> another (or when bisecting). So getting these changes in in one batch is
> beneficial.
> 
> So while I agree with your preference, I don't think it's feasible.

While I understand keeping it up-to-date must be a pain, I'm not entirely 
convinced by the rebuild time argument as it has been the status quo so 
far too for anything touching mod_devicetable.h.

If one commit would move all linux/device-id/* AND ADD them all into 
mod_devicetable.h as includes, that's just one rebuild more (and one 
rebuild will occur anyway whichever way you architect this).

Only if includes would be then removed one-by-one from mod_devicetable.h 
(e.g. per subsystem basis), I can see it causing n rebuilds (+conflicts), 
but they could be removed in bulk as well.

What you can achieve is preventing those "normal" mod_devicetable.h 
changes enforcing rebuilds right after this has been applied, but that is 
just the rebuilds as status quo would have without this series and no 
more.


-- 
 i.

  reply	other threads:[~2026-06-30 14:59 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-28 21:58 [PATCH v3 00/16] mod_devicetable.h: Split into per subsystem headers Uwe Kleine-König (The Capable Hub)
2026-06-28 21:58 ` [PATCH v3 01/16] " Uwe Kleine-König (The Capable Hub)
2026-06-28 21:58 ` [PATCH v3 02/16] media: ti: vpe: #include <linux/platform_device.h> explicitly Uwe Kleine-König (The Capable Hub)
2026-06-29  5:42   ` Yemike Abhilash Chandra
2026-06-28 21:58 ` [PATCH v3 03/16] driver: core: Include headers for acpi_device_id and of_device_id for struct device_driver Uwe Kleine-König (The Capable Hub)
2026-06-29 13:43   ` Rafael J. Wysocki (Intel)
2026-06-28 21:58 ` [PATCH v3 04/16] driver core: platform: Include header for struct platform_device_id Uwe Kleine-König (The Capable Hub)
2026-06-28 21:58 ` [PATCH v3 05/16] usb: serial: Include <linux/usb.h> in <linux/usb/serial.h> Uwe Kleine-König (The Capable Hub)
2026-06-28 21:58 ` [PATCH v3 06/16] platform/x86: msi-ec: Ensure dmi_system_id is defined Uwe Kleine-König (The Capable Hub)
2026-06-29 11:39   ` Ilpo Järvinen
2026-06-28 21:58 ` [PATCH v3 07/16] of: Explicitly include <linux/types.h> and <linux/err.h> Uwe Kleine-König (The Capable Hub)
2026-06-28 21:58 ` [PATCH v3 08/16] i2c: Let i2c-core.h include <linux/i2c.h> Uwe Kleine-König (The Capable Hub)
2026-06-29  6:31   ` Wolfram Sang
2026-06-29 10:09     ` Uwe Kleine-König (The Capable Hub)
2026-06-28 21:58 ` [PATCH v3 09/16] platform/x86: x86-android-tablets: Add include defining struct dmi_system_id Uwe Kleine-König (The Capable Hub)
2026-06-29 11:38   ` Ilpo Järvinen
2026-06-29 13:36     ` Uwe Kleine-König (The Capable Hub)
2026-06-30 14:58       ` Ilpo Järvinen [this message]
2026-06-28 21:58 ` [PATCH v3 10/16] platform/x86: int3472: " Uwe Kleine-König (The Capable Hub)
2026-06-29 12:18   ` Ilpo Järvinen
2026-06-28 21:58 ` [PATCH v3 11/16] usb: dwc2: Add include defining struct pci_device_id Uwe Kleine-König (The Capable Hub)
2026-06-28 21:58 ` [PATCH v3 12/16] ALSA: hda/core: Add include defining struct hda_device_id Uwe Kleine-König (The Capable Hub)
2026-06-28 21:58 ` [PATCH v3 13/16] LoongArch: KVM: Add include defining struct cpu_feature Uwe Kleine-König (The Capable Hub)
2026-06-29  2:20   ` Bibo Mao
2026-06-28 21:58 ` [PATCH v3 14/16] media: em28xx: Add include for struct usb_device_id Uwe Kleine-König (The Capable Hub)
2026-06-28 21:58 ` [PATCH v3 15/16] Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (headers) Uwe Kleine-König (The Capable Hub)
2026-06-28 21:58 ` [PATCH v3 16/16] Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) Uwe Kleine-König (The Capable Hub)
2026-06-29 23:58 ` [PATCH v3 00/16] mod_devicetable.h: Split into per subsystem headers Takashi Sakamoto
2026-06-30  6:04   ` Uwe Kleine-König (The Capable Hub)
2026-06-30 13:11     ` Takashi Sakamoto

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=32255bd6-4015-e945-2ee2-4bc3ca0c3a9c@linux.intel.com \
    --to=ilpo.jarvinen@linux.intel.com \
    --cc=dakr@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hansg@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=u.kleine-koenig@baylibre.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox