[PATCH net 1/4] auxiliary: Allow empty id
Sean Anderson
sean.anderson at linux.dev
Thu Jun 19 13:05:34 PDT 2025
Support creating auxiliary devices with the id included as part of the
name. This allows for non-decimal ids, which may be more appropriate for
auxiliary devices created as children of memory-mapped devices. For
example, a name like "xilinx_emac.mac.802c0000" could be achieved by
setting .name to "mac.802c0000" and .id to AUXILIARY_DEVID_NONE.
Signed-off-by: Sean Anderson <sean.anderson at linux.dev>
---
drivers/base/auxiliary.c | 6 +++++-
include/linux/auxiliary_bus.h | 4 +++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/base/auxiliary.c b/drivers/base/auxiliary.c
index dba7c8e13a53..64a0d5e2eb83 100644
--- a/drivers/base/auxiliary.c
+++ b/drivers/base/auxiliary.c
@@ -331,7 +331,11 @@ int __auxiliary_device_add(struct auxiliary_device *auxdev, const char *modname)
return -EINVAL;
}
- ret = dev_set_name(dev, "%s.%s.%d", modname, auxdev->name, auxdev->id);
+ if (auxdev->id == AUXILIARY_DEVID_NONE)
+ ret = dev_set_name(dev, "%s.%s", modname, auxdev->name);
+ else
+ ret = dev_set_name(dev, "%s.%s.%d", modname, auxdev->name,
+ auxdev->id);
if (ret) {
dev_err(dev, "auxiliary device dev_set_name failed: %d\n", ret);
return ret;
diff --git a/include/linux/auxiliary_bus.h b/include/linux/auxiliary_bus.h
index 4086afd0cc6b..76904cf2c3dd 100644
--- a/include/linux/auxiliary_bus.h
+++ b/include/linux/auxiliary_bus.h
@@ -51,6 +51,8 @@
* unregisters the auxiliary device.
*/
+#define AUXILIARY_DEVID_NONE (-1)
+
/**
* struct auxiliary_device - auxiliary device object.
* @dev: Device,
@@ -269,7 +271,7 @@ struct auxiliary_device *__devm_auxiliary_device_create(struct device *dev,
#define devm_auxiliary_device_create(dev, devname, platform_data) \
__devm_auxiliary_device_create(dev, KBUILD_MODNAME, devname, \
- platform_data, 0)
+ platform_data, AUXILIARY_DEVID_NONE)
/**
* module_auxiliary_driver() - Helper macro for registering an auxiliary driver
--
2.35.1.1320.gc452695387.dirty
More information about the linux-arm-kernel
mailing list