[PATCH 5/6] gpio/omap: fix trigger type to unsigned

Shubhrajyoti shubhrajyoti at ti.com
Thu Feb 23 07:39:16 EST 2012


On Thursday 23 February 2012 05:40 PM, Tarun Kanti DebBarma wrote:
> The GPIO trigger parameter is of type unsigned.
> enum {
>         IRQ_TYPE_NONE           = 0x00000000,
>         IRQ_TYPE_EDGE_RISING    = 0x00000001,
>         IRQ_TYPE_EDGE_FALLING   = 0x00000002,
>         IRQ_TYPE_EDGE_BOTH      = (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING),
>         IRQ_TYPE_LEVEL_HIGH     = 0x00000004,
>         IRQ_TYPE_LEVEL_LOW      = 0x00000008,
>         IRQ_TYPE_LEVEL_MASK     = (IRQ_TYPE_LEVEL_LOW | IRQ_TYPE_LEVEL_HIGH),
>         IRQ_TYPE_SENSE_MASK     = 0x0000000f,
>
>         IRQ_TYPE_PROBE          = 0x00000010,
> ...
> };
> Even though gpio_irq_type(struct irq_data *d, unsigned type) has the right type
> of parameter, the subsequent called functions set_gpio_triggering() and
> set_gpio_trigger() wrongly makes it signed integer. Fix this.
>
> Signed-off-by: Tarun Kanti DebBarma <tarun.kanti at ti.com>
> ---
>  drivers/gpio/gpio-omap.c |    5 +++--
>  1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
> index 3dd4b3a..67535c8 100644
> --- a/drivers/gpio/gpio-omap.c
> +++ b/drivers/gpio/gpio-omap.c
> @@ -232,7 +232,7 @@ static void _set_gpio_debounce(struct gpio_bank *bank, unsigned gpio,
>  }
>  
>  static inline void set_gpio_trigger(struct gpio_bank *bank, int gpio,
> -						int trigger)
> +						unsigned trigger)
>  {
>  	void __iomem *base = bank->base;
>  	u32 gpio_bit = 1 << gpio;
> @@ -314,7 +314,8 @@ static void _toggle_gpio_edge_triggering(struct gpio_bank *bank, int gpio)
>  static void _toggle_gpio_edge_triggering(struct gpio_bank *bank, int gpio) {}
>  #endif
>  
> -static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger)
> +static int _set_gpio_triggering(struct gpio_bank *bank, int gpio,
> +							unsigned trigger)
you meant unsigned int ? could it be made u32.
>  {
>  	void __iomem *reg = bank->base;
>  	void __iomem *base = bank->base;




More information about the linux-arm-kernel mailing list