linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: ryan@bluewatersys.com (Ryan Mallon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ep93xx: implement gpiolib set_debounce for built-in GPIOs
Date: Thu, 27 Jan 2011 13:06:29 +1300	[thread overview]
Message-ID: <4D40B705.1030000@bluewatersys.com> (raw)
In-Reply-To: <0D753D10438DA54287A00B027084269764CEC45F7A@AUSP01VMBX24.collaborationhost.net>

On 01/27/2011 12:59 PM, H Hartley Sweeten wrote:
> On Wednesday, January 26, 2011 4:48 PM, Ryan Mallon wrote:
>> On 01/27/2011 12:22 PM, H Hartley Sweeten wrote:
>>> GPIO Ports A, B, and F on the ep93xx provide interrupt capability.  It is
>>> possible to debounce the input signal on these ports when interrupts are
>>> enabled.
>>>
>>> Support for this debounce capability was provided with an ep93xx internal
>>> function.  Now that gpiolib knows about gpio debounce, use the gpiolib
>>> method and do not export the internal function.
>>>
>>> Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
>>> Cc: Ryan Mallon <ryan@bluewatersys.com>
>>>
>>> ---
>>>
>>> diff --git a/arch/arm/mach-ep93xx/gpio.c b/arch/arm/mach-ep93xx/gpio.c
>>> index bec34b8..a889fa7 100644
>>> --- a/arch/arm/mach-ep93xx/gpio.c
>>> +++ b/arch/arm/mach-ep93xx/gpio.c
>>> @@ -61,7 +61,7 @@ static inline void ep93xx_gpio_int_mask(unsigned line)
>>>  	gpio_int_unmasked[line >> 3] &= ~(1 << (line & 7));
>>>  }
>>>  
>>> -void ep93xx_gpio_int_debounce(unsigned int irq, int enable)
>>> +static void ep93xx_gpio_int_debounce(unsigned int irq, bool enable)
>>>  {
>>>  	int line = irq_to_gpio(irq);
>>>  	int port = line >> 3;
>>> @@ -75,7 +75,6 @@ void ep93xx_gpio_int_debounce(unsigned int irq, int enable)
>>>  	__raw_writeb(gpio_int_debounce[port],
>>>  		EP93XX_GPIO_REG(int_debounce_register_offset[port]));
>>>  }
>>> -EXPORT_SYMBOL(ep93xx_gpio_int_debounce);
>>>  
>>>  static void ep93xx_gpio_ab_irq_handler(unsigned int irq, struct irq_desc *desc)
>>>  {
>>> @@ -335,6 +334,20 @@ static void ep93xx_gpio_set(struct gpio_chip *chip, unsigned offset, int val)
>>>  	local_irq_restore(flags);
>>>  }
>>>  
>>> +static int ep93xx_gpio_set_debounce(struct gpio_chip *chip,
>>> +				    unsigned offset, unsigned debounce)
>>> +{
>>> +	int gpio = chip->base + offset;
>>> +	int irq = gpio_to_irq(gpio);
>>> +
>>> +	if (irq < 0)
>>> +		return -EINVAL;
>>> +
>>> +	ep93xx_gpio_int_debounce(irq, debounce ? true : false);
>>
>> We should just move the code from ep93xx_gpio_int_debounce here. Why
>> have two functions to do one thing?
> 
> The reason I left the original function it that it messes with the cached gpio_int_debounce
> values.  Also, the 'debounce' feature is interrupt specific.  If the gpio pin is no enabled
> as an interrupt the debounce has no effect.  As such I figured it was cleaner to leave it
> in place.

That's a valid reason. It is fine as is.

~Ryan

-- 
Bluewater Systems Ltd - ARM Technology Solution Centre

Ryan Mallon         		5 Amuri Park, 404 Barbadoes St
ryan at bluewatersys.com         	PO Box 13 889, Christchurch 8013
http://www.bluewatersys.com	New Zealand
Phone: +64 3 3779127		Freecall: Australia 1800 148 751
Fax:   +64 3 3779135			  USA 1800 261 2934

      reply	other threads:[~2011-01-27  0:06 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-26 23:22 [PATCH] ep93xx: implement gpiolib set_debounce for built-in GPIOs H Hartley Sweeten
2011-01-26 23:47 ` Ryan Mallon
2011-01-26 23:59   ` H Hartley Sweeten
2011-01-27  0:06     ` Ryan Mallon [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D40B705.1030000@bluewatersys.com \
    --to=ryan@bluewatersys.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).