Message ID | 20190328040217.1895-2-chris.packham@alliedtelesis.co.nz |
---|---|
State | Superseded |
Headers | show |
Series | mtd: physmap: Using gpio-addrs | expand |
On Thu, 28 Mar 2019 17:02:15 +1300 Chris Packham <chris.packham@alliedtelesis.co.nz> wrote: > When the gpio-addr-flash.c driver was merged with physmap-core.c the > code to store the current gpio_values was lost. This meant that once a > gpio was asserted it was never de-asserted. Fix this by storing the > current offset in gpio_values like the old driver used to. > > Fixes: commit ba32ce95cbd9 ("mtd: maps: Merge gpio-addr-flash.c into physmap-core.c") You miss Cc: <stable@vger.kernel.org> > Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz> Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> > --- > drivers/mtd/maps/physmap-core.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/mtd/maps/physmap-core.c b/drivers/mtd/maps/physmap-core.c > index d9a3e4bebe5d..21b556afc305 100644 > --- a/drivers/mtd/maps/physmap-core.c > +++ b/drivers/mtd/maps/physmap-core.c > @@ -132,6 +132,8 @@ static void physmap_set_addr_gpios(struct physmap_flash_info *info, > > gpiod_set_value(info->gpios->desc[i], !!(BIT(i) & ofs)); > } > + > + info->gpio_values = ofs; > } > > #define win_mask(order) (BIT(order) - 1)
On 28/03/19 9:32 PM, Boris Brezillon wrote: > On Thu, 28 Mar 2019 17:02:15 +1300 > Chris Packham <chris.packham@alliedtelesis.co.nz> wrote: > >> When the gpio-addr-flash.c driver was merged with physmap-core.c the >> code to store the current gpio_values was lost. This meant that once a >> gpio was asserted it was never de-asserted. Fix this by storing the >> current offset in gpio_values like the old driver used to. >> >> Fixes: commit ba32ce95cbd9 ("mtd: maps: Merge gpio-addr-flash.c into physmap-core.c") > > You miss > > Cc: <stable@vger.kernel.org> > I wasn't sure. As the original commit said there are no in-tree users of addr-gpios so maybe no-one else noticed. I'll wait for any other comments and send a v2 with a Cc for stable. >> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz> > > Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> > >> --- >> drivers/mtd/maps/physmap-core.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/mtd/maps/physmap-core.c b/drivers/mtd/maps/physmap-core.c >> index d9a3e4bebe5d..21b556afc305 100644 >> --- a/drivers/mtd/maps/physmap-core.c >> +++ b/drivers/mtd/maps/physmap-core.c >> @@ -132,6 +132,8 @@ static void physmap_set_addr_gpios(struct physmap_flash_info *info, >> >> gpiod_set_value(info->gpios->desc[i], !!(BIT(i) & ofs)); >> } >> + >> + info->gpio_values = ofs; >> } >> >> #define win_mask(order) (BIT(order) - 1) > >
diff --git a/drivers/mtd/maps/physmap-core.c b/drivers/mtd/maps/physmap-core.c index d9a3e4bebe5d..21b556afc305 100644 --- a/drivers/mtd/maps/physmap-core.c +++ b/drivers/mtd/maps/physmap-core.c @@ -132,6 +132,8 @@ static void physmap_set_addr_gpios(struct physmap_flash_info *info, gpiod_set_value(info->gpios->desc[i], !!(BIT(i) & ofs)); } + + info->gpio_values = ofs; } #define win_mask(order) (BIT(order) - 1)
When the gpio-addr-flash.c driver was merged with physmap-core.c the code to store the current gpio_values was lost. This meant that once a gpio was asserted it was never de-asserted. Fix this by storing the current offset in gpio_values like the old driver used to. Fixes: commit ba32ce95cbd9 ("mtd: maps: Merge gpio-addr-flash.c into physmap-core.c") Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz> --- drivers/mtd/maps/physmap-core.c | 2 ++ 1 file changed, 2 insertions(+)