Messages in this thread Patch in this message | | | Subject | Re: [PATCH v3 1/3] nvmem: Update the OF binding to use a subnode for the cells list | From | Srinivas Kandagatla <> | Date | Thu, 7 Jun 2018 18:03:16 +0100 |
| |
On 07/06/18 17:41, Alban wrote: > AFAIU the only thing that we disagree on now is if the nodes > representing the cells should be direct children of the provider > or in a dedicated subnode. For the MTD case both solution would solve > the binding clash. I would really appreciate if the DT people could Am reluctant in changing the nvmem generic bindings for a special case.
Can you try this with your original subnode proposal: just pass the subnode node pointer in np of nvmem_config:
------------------------->cut<------------------------------------ diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c index b05aa8e81303..c9621632bbfb 100644 --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c @@ -472,7 +472,11 @@ struct nvmem_device *nvmem_register(const struct nvmem_config *config) nvmem->priv = config->priv; nvmem->reg_read = config->reg_read; nvmem->reg_write = config->reg_write; - nvmem->dev.of_node = config->dev->of_node; + + if (config->np) + nvmem->dev.of_node = config->np; + else + nvmem->dev.of_node = config->dev->of_node;
if (config->id == -1 && config->name) { dev_set_name(&nvmem->dev, "%s", config->name); diff --git a/include/linux/nvmem-provider.h b/include/linux/nvmem-provider.h index f89598bc4e1c..743345ffe2c8 100644 --- a/include/linux/nvmem-provider.h +++ b/include/linux/nvmem-provider.h @@ -49,6 +49,7 @@ typedef int (*nvmem_reg_write_t)(void *priv, unsigned int offset, */ struct nvmem_config { struct device *dev; + struct device_node *np; const char *name; int id; struct module *owner; ------------------------->cut<------------------------------------ thanks, srini
> chip in so that we can settle this and get the MTD support merged.
| |