mirror of
https://github.com/torvalds/linux.git
synced 2024-12-26 12:52:30 +00:00
nvmem: core: add support to auto devid
For nvmem providers which have multiple instances, it is required to suffix the provider name with proper id, so that they do not confict for the same name. Currently the core does not handle this case properly eventhough core already has logic to generate the id. This patch add new devid type NVMEM_DEVID_AUTO for providers to be able to allow core to assign id and append it to provier name. Reported-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Tested-by: Shawn Guo <shawn.guo@linaro.org> Link: https://lore.kernel.org/r/20200722100705.7772-8-srinivas.kandagatla@linaro.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
5037d368b2
commit
731aa3fae8
@ -635,12 +635,18 @@ struct nvmem_device *nvmem_register(const struct nvmem_config *config)
|
||||
if (!config->no_of_node)
|
||||
nvmem->dev.of_node = config->dev->of_node;
|
||||
|
||||
if (config->id == -1 && config->name) {
|
||||
switch (config->id) {
|
||||
case NVMEM_DEVID_NONE:
|
||||
dev_set_name(&nvmem->dev, "%s", config->name);
|
||||
} else {
|
||||
break;
|
||||
case NVMEM_DEVID_AUTO:
|
||||
dev_set_name(&nvmem->dev, "%s%d", config->name, nvmem->id);
|
||||
break;
|
||||
default:
|
||||
dev_set_name(&nvmem->dev, "%s%d",
|
||||
config->name ? : "nvmem",
|
||||
config->name ? config->id : nvmem->id);
|
||||
break;
|
||||
}
|
||||
|
||||
nvmem->read_only = device_property_present(config->dev, "read-only") ||
|
||||
|
@ -27,6 +27,9 @@ enum nvmem_type {
|
||||
NVMEM_TYPE_BATTERY_BACKED,
|
||||
};
|
||||
|
||||
#define NVMEM_DEVID_NONE (-1)
|
||||
#define NVMEM_DEVID_AUTO (-2)
|
||||
|
||||
/**
|
||||
* struct nvmem_config - NVMEM device configuration
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user