Messages in this thread Patch in this message | | | From | Linus Walleij <> | Date | Fri, 22 Nov 2019 13:47:10 +0100 | Subject | Re: [PATCH 2/4] nvmem: add support for the write-protect pin |
| |
Hi Khouloud,
more comments!
On Wed, Nov 20, 2019 at 3:21 PM Khouloud Touil <ktouil@baylibre.com> wrote:
> + if (nvmem->reg_write) { > + gpiod_set_value_cansleep(nvmem->wp_gpio, 0); > + ret = nvmem->reg_write(nvmem->priv, offset, val, bytes); > + gpiod_set_value_cansleep(nvmem->wp_gpio, 1); > + return ret; > + }
Since I requested that the GPIO line shall be flagged as active low in the device tree, make sure to invert this and toss in a comment:
/* * We assert and deassert the write protection GPIO line. * This line is often active low, but that semantic is handled * in gpiolib in respons to flags in the machine description, * such as the device tree or ACPI. */ gpiod_set_value_cansleep(nvmem->wp_gpio, 1); ret = nvmem->reg_write(nvmem->priv, offset, val, bytes); gpiod_set_value_cansleep(nvmem->wp_gpio, 0);
> @@ -365,6 +372,15 @@ struct nvmem_device *nvmem_register(const struct nvmem_config *config) > kfree(nvmem); > return ERR_PTR(rval); > } > + if (config->wp_gpio) > + nvmem->wp_gpio = config->wp_gpio; > + else > + nvmem->wp_gpio = gpiod_get_optional(config->dev, > + "wp", > + GPIOD_OUT_HIGH);
GPIOD_OUT_LOW as it will be inverted.
Apart from this I like the idea in this patch!
Yours, Linus Walleij
| |