Message ID | 20181113140133.17385-2-brgl@bgdev.pl |
---|---|
State | Not Applicable |
Headers | show |
Series | at24: remove | expand |
wt., 13 lis 2018 o 15:01 Bartosz Golaszewski <brgl@bgdev.pl> napisał(a): > > From: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > We want to add nvmem support for MTD. TI DaVinci is the first platform > that will be using it, but only in non-DT mode. In order not to > introduce any new interface to supporting of which we would have to > commit - add a new config option that tells nvmem not to use the DT > node of the parent device. > > This way we won't be creating nvmem devices corresponding with MTD > partitions defined in device tree. By default MTD will set this new > field to true. > > Once a set of bindings for MTD nvmem cells is agreed upon, we'll be > able to remove this option. > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> > --- > drivers/nvmem/core.c | 3 ++- > include/linux/nvmem-provider.h | 2 ++ > 2 files changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c > index 9b18ce90f907..ac7971e8154e 100644 > --- a/drivers/nvmem/core.c > +++ b/drivers/nvmem/core.c > @@ -604,7 +604,8 @@ 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->no_of_node) > + 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 1e3283c2af77..e53545e9852b 100644 > --- a/include/linux/nvmem-provider.h > +++ b/include/linux/nvmem-provider.h > @@ -30,6 +30,7 @@ typedef int (*nvmem_reg_write_t)(void *priv, unsigned int offset, > * @ncells: Number of elements in cells. > * @read_only: Device is read-only. > * @root_only: Device is accessibly to root only. > + * @no_of_node: Device should not use the parent's of_node even if it's !NULL. > * @reg_read: Callback to read data. > * @reg_write: Callback to write data. > * @size: Device size. > @@ -53,6 +54,7 @@ struct nvmem_config { > int ncells; > bool read_only; > bool root_only; > + bool no_of_node; > nvmem_reg_read_t reg_read; > nvmem_reg_write_t reg_write; > int size; > -- > 2.19.1 > Hi Srinivas, if there are no objections - can you Ack this patch for Greg to pick up into char-misc? Bart
> > Hi Srinivas, > > if there are no objections - can you Ack this patch for Greg to pick > up into char-misc? Patch is fine for me. I normally send all the nvmem patches just before rc5. --srini > > Bart >
czw., 29 lis 2018 o 15:32 Srinivas Kandagatla <srinivas.kandagatla@linaro.org> napisał(a): > > > > > > Hi Srinivas, > > > > if there are no objections - can you Ack this patch for Greg to pick > > up into char-misc? > > Patch is fine for me. I normally send all the nvmem patches just before rc5. > > --srini > > > > Bart > > Boris, are you fine with Srinivas sending the MTD patch as well so that they stay together? Bart
On Thu, 29 Nov 2018 15:35:58 +0100 Bartosz Golaszewski <brgl@bgdev.pl> wrote: > czw., 29 lis 2018 o 15:32 Srinivas Kandagatla > <srinivas.kandagatla@linaro.org> napisał(a): > > > > > > > > > > Hi Srinivas, > > > > > > if there are no objections - can you Ack this patch for Greg to pick > > > up into char-misc? > > > > Patch is fine for me. I normally send all the nvmem patches just before rc5. > > > > --srini > > > > > > Bart > > > > > Boris, are you fine with Srinivas sending the MTD patch as well so > that they stay together? Yes, I'll just need an immutable branch/tag in case we have conflicting changes in the MTD tree.
diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c index 9b18ce90f907..ac7971e8154e 100644 --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c @@ -604,7 +604,8 @@ 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->no_of_node) + 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 1e3283c2af77..e53545e9852b 100644 --- a/include/linux/nvmem-provider.h +++ b/include/linux/nvmem-provider.h @@ -30,6 +30,7 @@ typedef int (*nvmem_reg_write_t)(void *priv, unsigned int offset, * @ncells: Number of elements in cells. * @read_only: Device is read-only. * @root_only: Device is accessibly to root only. + * @no_of_node: Device should not use the parent's of_node even if it's !NULL. * @reg_read: Callback to read data. * @reg_write: Callback to write data. * @size: Device size. @@ -53,6 +54,7 @@ struct nvmem_config { int ncells; bool read_only; bool root_only; + bool no_of_node; nvmem_reg_read_t reg_read; nvmem_reg_write_t reg_write; int size;