[1/2] mtd: maps: physmap: Store gpio_values correctly
diff mbox series

Message ID 20190328040217.1895-2-chris.packham@alliedtelesis.co.nz
State New
Headers show
Series
  • mtd: physmap: Using gpio-addrs
Related show

Commit Message

Chris Packham March 28, 2019, 4:02 a.m. UTC
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(+)

Comments

Boris Brezillon March 28, 2019, 8:32 a.m. UTC | #1
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)
Chris Packham March 28, 2019, 7:59 p.m. UTC | #2
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)
> 
>

Patch
diff mbox series

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)