diff mbox series

regmap: regmap-irq: fix getting type default values

Message ID 20190328162218.14569-1-srinivas.kandagatla@linaro.org
State Accepted
Commit 8293488205f145aeefbec76f231303c8e32647a2
Headers show
Series regmap: regmap-irq: fix getting type default values | expand

Commit Message

Srinivas Kandagatla March 28, 2019, 4:22 p.m. UTC
Checking for value of type default value just after allocating will
always be zero and the type register default values will never be read,
so fix this!

Without this patch setting irq type will be silently ignored.
Patch "regmap: regmap-irq: Remove default irq type setting from core"
did remove the default mask but it forgot to remove the check before
reading the default type register.

Fixes: 84267d1b18ab ("regmap: regmap-irq: Remove default irq type setting from core")
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>

---
 drivers/base/regmap/regmap-irq.c | 3 ---
 1 file changed, 3 deletions(-)

-- 
2.21.0

Comments

Vaittinen, Matti April 1, 2019, 9:46 a.m. UTC | #1
On Thu, 2019-03-28 at 16:22 +0000, Srinivas Kandagatla wrote:
> Checking for value of type default value just after allocating will

> always be zero and the type register default values will never be

> read,

> so fix this!

> 

> Without this patch setting irq type will be silently ignored.

> Patch "regmap: regmap-irq: Remove default irq type setting from core"

> did remove the default mask but it forgot to remove the check before

> reading the default type register.

> 

> Fixes: 84267d1b18ab ("regmap: regmap-irq: Remove default irq type

> setting from core")

> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>

Acked-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>


> ---

>  drivers/base/regmap/regmap-irq.c | 3 ---

>  1 file changed, 3 deletions(-)

> 

> diff --git a/drivers/base/regmap/regmap-irq.c

> b/drivers/base/regmap/regmap-irq.c

> index 5059748afd4c..02eb75646141 100644

> --- a/drivers/base/regmap/regmap-irq.c

> +++ b/drivers/base/regmap/regmap-irq.c

> @@ -761,9 +761,6 @@ int regmap_add_irq_chip(struct regmap *map, int

> irq, int irq_flags,

>  

>  	if (chip->num_type_reg && !chip->type_in_mask) {

>  		for (i = 0; i < chip->num_type_reg; ++i) {

> -			if (!d->type_buf_def[i])

> -				continue;

> -

>  			reg = chip->type_base +

>  				(i * map->reg_stride * d-

> >type_reg_stride);

>  

It looks like I left a bug there. Thanks for the fix!

Br,
    Matti
diff mbox series

Patch

diff --git a/drivers/base/regmap/regmap-irq.c b/drivers/base/regmap/regmap-irq.c
index 5059748afd4c..02eb75646141 100644
--- a/drivers/base/regmap/regmap-irq.c
+++ b/drivers/base/regmap/regmap-irq.c
@@ -761,9 +761,6 @@  int regmap_add_irq_chip(struct regmap *map, int irq, int irq_flags,
 
 	if (chip->num_type_reg && !chip->type_in_mask) {
 		for (i = 0; i < chip->num_type_reg; ++i) {
-			if (!d->type_buf_def[i])
-				continue;
-
 			reg = chip->type_base +
 				(i * map->reg_stride * d->type_reg_stride);