From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 20BB54F68A8; Tue, 29 Sep 2026 09:39:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.20 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790674801; cv=none; b=P3C8ncCHhyQ3qc4MN+dd5fbCGXXEmUqnhvHNpeYTHWxoKiIhS+mP2r2mYH+gYtRcnuXL5vmBWddQKMAiLkUoQ2QF6QOrvTozVegOZe+YMrc3voVlqNq01Own0pjHhJx78aTy0cask9Eiux+0BFyY3qTJovz7lv97gqpguczIOwA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790674801; c=relaxed/simple; bh=mYHd2x9gH2QrqNkIN6yVLhGCn/puXKYOmZh0XNuYC4Q=; h=From:Date:To:cc:Subject:In-Reply-To:Message-ID:References: MIME-Version:Content-Type; b=c+KUSnfFUFws08l7nBd3jiSW9DqvDcB0bvan0+VjbpiV3HkyVwMGg1zHVFwPvT5FcUGAFiZYjq47Oz3Ng3KICKKDqjmd6h7jMLArBhiyFxew6WnJwamgHslTjlpNtGuYPY+Xl2HmB08eWYocrgtWGwakjrLwa/YF+NvgBl19EdM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=pass smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=G3etLlL8; arc=none smtp.client-ip=198.175.65.20 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="G3etLlL8" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1790674799; x=1822210799; h=from:date:to:cc:subject:in-reply-to:message-id: references:mime-version; bh=mYHd2x9gH2QrqNkIN6yVLhGCn/puXKYOmZh0XNuYC4Q=; b=G3etLlL8XXlUMaBWGmdyAxTCZvGatn0I/J5HMWkF0B7Q+24xAD/mEvll xGbXb9oG0XUB018nkAptFXUVbptum0CE0Ig6U8atnMUQ2aIMmD2GnI2mS ibBcFLu36Aw4vzsNtbHB+K49pASKI7ulRUtnH95fs2EjEJyH6W/jImZC6 VK550wwmUycfEm3SfXSfmXgEE1MsuIIu6NZkFDb++NyNn7j385CqhGkxo gFoFqGBg8aRWwM70AY5JMMjkYnixpQ7tg5gFkkNQ/wDTp5z2jtyOT7waU 7kRosw3+9KwooIIpZpdqh4gUngdbvBvTqnnZcguqlJ/KYr8D8SXCHojQ4 w==; X-CSE-ConnectionGUID: 5/LW3zX6QveXKxxkpG6HMA== X-CSE-MsgGUID: 3rZ6xpO9R/GN9FSPUM3g4Q== X-IronPort-AV: E=McAfee;i="6800,10657,11919"; a="90155119" X-IronPort-AV: E=Sophos;i="6.27,130,1787036400"; d="scan'208";a="90155119" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by orvoesa112.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2026 02:39:58 -0700 X-CSE-ConnectionGUID: p2+jYi8cQ4aeKms3L6icWg== X-CSE-MsgGUID: 0DgteiZ6Q4WQexaNFLOozA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.27,130,1787036400"; d="scan'208";a="273453717" Received: from ijarvine-mobl1.ger.corp.intel.com (HELO localhost) ([10.245.244.234]) by orviesa010-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2026 02:39:42 -0700 From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= Date: Tue, 29 Sep 2026 12:39:37 +0300 (EEST) To: Sean Rhodes cc: LKML , Hans de Goede , Corentin Chary , "Luke D. Jones" , Denis Benato , Prasanth Ksr , Jorge Lopez , Mark Pearson , "Derek J. Clark" , Joshua Grisham , Will Deacon , Douglas Anderson , "Kiryl Shutsemau (Meta)" , Huacai Chen , Chen-Yu Tsai , Thomas Zimmermann , platform-driver-x86@vger.kernel.org, Dell.Client.Kernel@dell.com, Tzung-Bi Shih , Brian Norris , Julius Werner , Javier Martinez Canillas , Bjorn Helgaas , Danilo Krummrich , =?ISO-8859-15?Q?Uwe_Kleine-K=F6nig_=28The_Capable_Hub=29?= , Titouan Ameline de Cadeville , Laxman Acharya Padhya , Yidi Lin , Kees Cook , Takashi Sakamoto , chrome-platform@lists.linux.dev, Maarten Lankhorst , Maxime Ripard , David Airlie , Simona Vetter , dri-devel@lists.freedesktop.org, Krzysztof Kozlowski , Bjorn Andersson , Dmitry Baryshkov , Geert Uytterhoeven , Arnd Bergmann , Eric Biggers , Luca Weiss , Michal Simek , Sven Peter , Alexandre Belloni , Linus Walleij , Drew Fustini , linux-arm-kernel@lists.infradead.org, soc@lists.linux.dev Subject: Re: [PATCH v14 1/5] firmware: Move firmware attributes class helper In-Reply-To: <5682c2228fa4a784d3953664b56a06e0dd9ccdef.1788284852.git.sean@starlabs.systems> Message-ID: References: <5682c2228fa4a784d3953664b56a06e0dd9ccdef.1788284852.git.sean@starlabs.systems> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="8323328-661677443-1790674777=:1173" This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323328-661677443-1790674777=:1173 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE On Tue, 1 Sep 2026, Sean Rhodes wrote: > Move the firmware attributes class helper from drivers/platform/x86 to > drivers/firmware and expose its class declaration through a public Linux > header. >=20 > The helper is not x86-specific. Keeping it in drivers/firmware lets > coreboot firmware drivers use the standard firmware-attributes ABI withou= t > living under platform/x86. >=20 > Replace the affected drivers' relative helper includes directly with the > new public header. >=20 > Suggested-by: Derek J. Clark > Reviewed-by: Mark Pearson > Reviewed-by: Derek J. Clark > Tested-by: Oliver Lin > Signed-off-by: Sean Rhodes > --- > MAINTAINERS | 8 ++++++++ > drivers/firmware/Kconfig | 3 +++ > drivers/firmware/Makefile | 1 + > .../x86 =3D> firmware}/firmware_attributes_class.c | 2 +- > drivers/platform/x86/Kconfig | 3 --- > drivers/platform/x86/Makefile | 2 -- > drivers/platform/x86/asus-armoury.c | 2 +- > drivers/platform/x86/dell/dell-wmi-sysman/sysman.c | 2 +- > drivers/platform/x86/hp/hp-bioscfg/bioscfg.c | 2 +- > drivers/platform/x86/lenovo/think-lmi.c | 2 +- > drivers/platform/x86/lenovo/wmi-other.c | 2 +- > drivers/platform/x86/samsung-galaxybook.c | 2 +- > .../linux/firmware_attributes.h | 6 +++--- > 13 files changed, 22 insertions(+), 15 deletions(-) > rename drivers/{platform/x86 =3D> firmware}/firmware_attributes_class.c = (94%) > rename drivers/platform/x86/firmware_attributes_class.h =3D> include/lin= ux/firmware_attributes.h (60%) >=20 > diff --git a/MAINTAINERS b/MAINTAINERS > index 4dfc1fb14ef7..a8048eaf49e5 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -10181,6 +10181,14 @@ F:=09include/linux/firewire.h > F:=09include/uapi/linux/firewire*.h > F:=09tools/firewire/ > =20 > +FIRMWARE ATTRIBUTES CLASS > +M:=09Hans de Goede > +M:=09Ilpo J=C3=A4rvinen > +L:=09platform-driver-x86@vger.kernel.org > +S:=09Maintained > +F:=09drivers/firmware/firmware_attributes_class.c > +F:=09include/linux/firmware_attributes.h > + > FIRMWARE FRAMEWORK FOR ARMV8-A > M:=09Sudeep Holla > L:=09linux-arm-kernel@lists.infradead.org (moderated for non-subscribers= ) > diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig > index b7cc11e4fbfa..35dd6d422caf 100644 > --- a/drivers/firmware/Kconfig > +++ b/drivers/firmware/Kconfig > @@ -8,6 +8,9 @@ menu "Firmware Drivers" > =20 > source "drivers/firmware/arm_scmi/Kconfig" > =20 > +config FW_ATTR_CLASS > +=09tristate > + > config ARM_SCPI_PROTOCOL > =09tristate "ARM System Control and Power Interface (SCPI) Message Proto= col" > =09depends on ARM || ARM64 || COMPILE_TEST > diff --git a/drivers/firmware/Makefile b/drivers/firmware/Makefile > index be46f1e1dc77..0e1e1b92a486 100644 > --- a/drivers/firmware/Makefile > +++ b/drivers/firmware/Makefile > @@ -17,6 +17,7 @@ obj-$(CONFIG_FIRMWARE_MEMMAP)=09+=3D memmap.o > obj-$(CONFIG_MTK_ADSP_IPC)=09+=3D mtk-adsp-ipc.o > obj-$(CONFIG_RASPBERRYPI_FIRMWARE) +=3D raspberrypi.o > obj-$(CONFIG_FW_CFG_SYSFS)=09+=3D qemu_fw_cfg.o > +obj-$(CONFIG_FW_ATTR_CLASS)=09+=3D firmware_attributes_class.o > obj-$(CONFIG_SYSFB)=09=09+=3D sysfb.o > obj-$(CONFIG_SYSFB_SIMPLEFB)=09+=3D sysfb_simplefb.o > obj-$(CONFIG_TH1520_AON_PROTOCOL) +=3D thead,th1520-aon.o > diff --git a/drivers/platform/x86/firmware_attributes_class.c b/drivers/f= irmware/firmware_attributes_class.c > similarity index 94% > rename from drivers/platform/x86/firmware_attributes_class.c > rename to drivers/firmware/firmware_attributes_class.c > index 736e96c186d9..503ecc288086 100644 > --- a/drivers/platform/x86/firmware_attributes_class.c > +++ b/drivers/firmware/firmware_attributes_class.c > @@ -3,7 +3,7 @@ > /* Firmware attributes class helper module */ > =20 > #include > -#include "firmware_attributes_class.h" > +#include > =20 > const struct class firmware_attributes_class =3D { > =09.name =3D "firmware-attributes", > diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig > index 957034f39e4e..4851bf45157d 100644 > --- a/drivers/platform/x86/Kconfig > +++ b/drivers/platform/x86/Kconfig > @@ -925,9 +925,6 @@ config DASHARO_ACPI > =20 > source "drivers/platform/x86/x86-android-tablets/Kconfig" > =20 > -config FW_ATTR_CLASS > -=09tristate > - > config INTEL_IMR > =09bool "Intel Isolated Memory Region support" > =09depends on X86_INTEL_QUARK && IOSF_MBI > diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefil= e > index 872ac3842391..cab20a4145e3 100644 > --- a/drivers/platform/x86/Makefile > +++ b/drivers/platform/x86/Makefile > @@ -63,8 +63,6 @@ obj-$(CONFIG_X86_PLATFORM_DRIVERS_HP)=09+=3D hp/ > # Hewlett Packard Enterprise > obj-$(CONFIG_UV_SYSFS) +=3D uv_sysfs.o > =20 > -obj-$(CONFIG_FW_ATTR_CLASS)=09+=3D firmware_attributes_class.o > - > # IBM Thinkpad (before 2005) > obj-$(CONFIG_IBM_RTL)=09=09+=3D ibm_rtl.o > obj-$(CONFIG_SENSORS_HDAPS)=09+=3D hdaps.o > diff --git a/drivers/platform/x86/asus-armoury.c b/drivers/platform/x86/a= sus-armoury.c > index 93d9665717af..fb382de5b57b 100644 > --- a/drivers/platform/x86/asus-armoury.c > +++ b/drivers/platform/x86/asus-armoury.c > @@ -21,6 +21,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -35,7 +36,6 @@ > #include > =20 > #include "asus-armoury.h" > -#include "firmware_attributes_class.h" > =20 > #define ASUS_NB_WMI_EVENT_GUID "0B3CBB35-E3C2-45ED-91C2-4C5A6D195D1C" > =20 > diff --git a/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c b/drivers= /platform/x86/dell/dell-wmi-sysman/sysman.c > index ab46a023cc34..ae89670f73b4 100644 > --- a/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c > +++ b/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c > @@ -10,13 +10,13 @@ > #include > #include > #include > +#include > #include > #include > #include > #include > #include > #include "dell-wmi-sysman.h" > -#include "../../firmware_attributes_class.h" > =20 > #define MAX_TYPES 4 > #include > diff --git a/drivers/platform/x86/hp/hp-bioscfg/bioscfg.c b/drivers/platf= orm/x86/hp/hp-bioscfg/bioscfg.c > index 309634c1cc20..d5a2d0963bbf 100644 > --- a/drivers/platform/x86/hp/hp-bioscfg/bioscfg.c > +++ b/drivers/platform/x86/hp/hp-bioscfg/bioscfg.c > @@ -7,6 +7,7 @@ > =20 > #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt > =20 > +#include > #include > #include > #include > @@ -14,7 +15,6 @@ > #include > #include > #include "bioscfg.h" > -#include "../../firmware_attributes_class.h" > #include > #include > =20 > diff --git a/drivers/platform/x86/lenovo/think-lmi.c b/drivers/platform/x= 86/lenovo/think-lmi.c > index a0e3fa766e37..ebfc6182986e 100644 > --- a/drivers/platform/x86/lenovo/think-lmi.c > +++ b/drivers/platform/x86/lenovo/think-lmi.c > @@ -14,13 +14,13 @@ > #include > #include > #include > +#include > #include > #include > #include > #include > #include > #include > -#include "../firmware_attributes_class.h" > #include "think-lmi.h" > =20 > static bool debug_support; > diff --git a/drivers/platform/x86/lenovo/wmi-other.c b/drivers/platform/x= 86/lenovo/wmi-other.c > index fbb32bf404f2..b175971bb308 100644 > --- a/drivers/platform/x86/lenovo/wmi-other.c > +++ b/drivers/platform/x86/lenovo/wmi-other.c > @@ -33,6 +33,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -50,7 +51,6 @@ > #include "wmi-capdata.h" > #include "wmi-events.h" > #include "wmi-helpers.h" > -#include "../firmware_attributes_class.h" > =20 > #define LENOVO_OTHER_MODE_GUID "DC2A8805-3A8C-41BA-A6F7-092E0089CD3B" > =20 > diff --git a/drivers/platform/x86/samsung-galaxybook.c b/drivers/platform= /x86/samsung-galaxybook.c > index 99f72b204a51..88ef11004ad0 100644 > --- a/drivers/platform/x86/samsung-galaxybook.c > +++ b/drivers/platform/x86/samsung-galaxybook.c > @@ -14,6 +14,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -28,7 +29,6 @@ > #include > #include > #include > -#include "firmware_attributes_class.h" > =20 > #define DRIVER_NAME "samsung-galaxybook" > =20 > diff --git a/drivers/platform/x86/firmware_attributes_class.h b/include/l= inux/firmware_attributes.h > similarity index 60% > rename from drivers/platform/x86/firmware_attributes_class.h > rename to include/linux/firmware_attributes.h > index d27abe54fcf9..d4026ba1fcc2 100644 > --- a/drivers/platform/x86/firmware_attributes_class.h > +++ b/include/linux/firmware_attributes.h > @@ -2,11 +2,11 @@ > =20 > /* Firmware attributes class helper module */ > =20 > -#ifndef FW_ATTR_CLASS_H > -#define FW_ATTR_CLASS_H > +#ifndef _LINUX_FIRMWARE_ATTRIBUTES_H > +#define _LINUX_FIRMWARE_ATTRIBUTES_H > =20 > #include > =20 > extern const struct class firmware_attributes_class; > =20 > -#endif /* FW_ATTR_CLASS_H */ > +#endif /* _LINUX_FIRMWARE_ATTRIBUTES_H */ Acked-by: Ilpo J=C3=A4rvinen --=20 i. --8323328-661677443-1790674777=:1173--