[PATCH 2/6] gpio: 104-dio-48e: Utilize no_status regmap-irq flag

William Breathitt Gray posted 6 patches 2 years, 7 months ago
There is a newer version of this series
[PATCH 2/6] gpio: 104-dio-48e: Utilize no_status regmap-irq flag
Posted by William Breathitt Gray 2 years, 7 months ago
The 104-DIO-48E lacks an IRQ status register. Rather than use the Clear
Interrupt register as the status register, set the no_status flag to
true and thus avoid such a hack.

Signed-off-by: William Breathitt Gray <william.gray@linaro.org>
---
 drivers/gpio/gpio-104-dio-48e.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/gpio/gpio-104-dio-48e.c b/drivers/gpio/gpio-104-dio-48e.c
index a3846faf3780..fe3c93bfe4bd 100644
--- a/drivers/gpio/gpio-104-dio-48e.c
+++ b/drivers/gpio/gpio-104-dio-48e.c
@@ -195,13 +195,9 @@ static int dio48e_probe(struct device *dev, unsigned int id)
 		return -ENOMEM;
 
 	chip->name = name;
-	/* No IRQ status register so use CLEAR_INTERRUPT register instead */
-	chip->status_base = DIO48E_CLEAR_INTERRUPT;
 	chip->mask_base = DIO48E_ENABLE_INTERRUPT;
 	chip->ack_base = DIO48E_CLEAR_INTERRUPT;
-	/* CLEAR_INTERRUPT doubles as status register so we need it cleared */
-	chip->clear_ack = true;
-	chip->status_invert = true;
+	chip->no_status = true;
 	chip->num_regs = 1;
 	chip->irqs = dio48e_regmap_irqs;
 	chip->num_irqs = ARRAY_SIZE(dio48e_regmap_irqs);
-- 
2.39.1
Re: [PATCH 2/6] gpio: 104-dio-48e: Utilize no_status regmap-irq flag
Posted by Andy Shevchenko 2 years, 6 months ago
On Wed, Feb 08, 2023 at 12:18:17PM -0500, William Breathitt Gray wrote:
> The 104-DIO-48E lacks an IRQ status register. Rather than use the Clear
> Interrupt register as the status register, set the no_status flag to
> true and thus avoid such a hack.

FWIW,
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

> Signed-off-by: William Breathitt Gray <william.gray@linaro.org>
> ---
>  drivers/gpio/gpio-104-dio-48e.c | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/drivers/gpio/gpio-104-dio-48e.c b/drivers/gpio/gpio-104-dio-48e.c
> index a3846faf3780..fe3c93bfe4bd 100644
> --- a/drivers/gpio/gpio-104-dio-48e.c
> +++ b/drivers/gpio/gpio-104-dio-48e.c
> @@ -195,13 +195,9 @@ static int dio48e_probe(struct device *dev, unsigned int id)
>  		return -ENOMEM;
>  
>  	chip->name = name;
> -	/* No IRQ status register so use CLEAR_INTERRUPT register instead */
> -	chip->status_base = DIO48E_CLEAR_INTERRUPT;
>  	chip->mask_base = DIO48E_ENABLE_INTERRUPT;
>  	chip->ack_base = DIO48E_CLEAR_INTERRUPT;
> -	/* CLEAR_INTERRUPT doubles as status register so we need it cleared */
> -	chip->clear_ack = true;
> -	chip->status_invert = true;
> +	chip->no_status = true;
>  	chip->num_regs = 1;
>  	chip->irqs = dio48e_regmap_irqs;
>  	chip->num_irqs = ARRAY_SIZE(dio48e_regmap_irqs);
> -- 
> 2.39.1
> 

-- 
With Best Regards,
Andy Shevchenko