[PATCH v2 0/8] drivers: Transition to the faux device interface

From: Sudeep Holla
Date: Tue Mar 18 2025 - 13:05:02 EST


Recently when debugging why one of the scmi platform device was not
showing up under /sys/devices/platform/firmware:scmi instead was
appearing directly under /sys/devices/platform, I noticed the new
faux interface /sys/devices/faux.

Looking through the discussion and the background, I got excited and
took the opportunity to clear all the platform devices under
/sys/devices/platform on the Arm Juno/FVP platforms that are really
faux devices. Only the platform devices created for the device nodes
from the DT remain under /sys/devices/platform after these changes.

All the patches are independent of each other and are part of the series
just to demonstrate the use of macro module_faux_driver() where
applicable. The idea is to get the macro merged first and then push the
individual patches via respective subsystem later.

Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx>
---
Changes in v2:
- Dropped all the modalias expect efivars(reason in the patch)
- Defined new helper macro module_faux_driver() and moved most of the
drivers to use it
- Dropped already queued ASoC and regulator changes
- Link to v1: https://lore.kernel.org/r/20250317-plat2faux_dev-v1-0-5fe67c085ad5@xxxxxxx

---
Sudeep Holla (8):
driver core: add helper macro for module_faux_driver() boilerplate
cpuidle: psci: Transition to the faux device interface
hwrng: arm-smccc-trng - transition to the faux device interface
rtc: efi: Transition to the faux device interface
virt: efi_secret: Transition to the faux device interface
efi: efivars: Transition to the faux device interface
ACPI: APEI: EINJ: Transition to the faux device interface
net: phy: fixed_phy: transition to the faux device interface

drivers/acpi/apei/einj-core.c | 51 ++++---------------------------
drivers/char/hw_random/arm_smccc_trng.c | 19 +++++-------
drivers/cpuidle/cpuidle-psci.c | 32 +++----------------
drivers/firmware/efi/efi-pstore.c | 2 +-
drivers/firmware/efi/efi.c | 12 ++------
drivers/firmware/smccc/smccc.c | 17 -----------
drivers/net/phy/fixed_phy.c | 16 +++++-----
drivers/rtc/rtc-efi.c | 16 +++-------
drivers/virt/coco/efi_secret/efi_secret.c | 29 +++++-------------
include/linux/device/faux.h | 49 +++++++++++++++++++++++++++++
10 files changed, 90 insertions(+), 153 deletions(-)
---
base-commit: 4701f33a10702d5fc577c32434eb62adde0a1ae1
change-id: 20250315-plat2faux_dev-8c28b35be96a
--
Regards,
Sudeep