lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 9 Jun 2009 14:11:17 -0400
From:	"H Hartley Sweeten" <hartleys@...ionengravers.com>
To:	"David Brownell" <david-b@...bell.net>
Cc:	"Linux Kernel" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH] gpiolib: add gpio_request/free_irq

On Friday, June 05, 2009 10:20 PM, David Brownell wrote:
> On Friday 05 June 2009, H Hartley Sweeten wrote:
> Add support functions to gpiolib to request/free gpio irqs.
> 
> I'm not keen on this.
> 
>  - At best it's a convenience layer ... for something that's
>    not the least bit awkward to do otherwise.
> 

I agree it's a convenience layer, but it cleans up the error path in
many drivers that allocate a number of gpio irqs.  It also insures
that the gpios get requested before they are connected to an interrupt.
A number of drivers either don't do the gpio_request or they don't
set the gpio as an input before doing the request_irq.

>  - Coupling it to gpiolib sort of defeats the point of saying
>    that gpiolib is just an *implementation* of the interface.
>    Where's the code to run for non-gpiolib platforms?
> 

But if a driver is using the gpiolib interface calls wouldn't that
prevent that driver from working on a platform that does not support
gpiolib? File include/linux/gpio.h defines all the gpiolib calls to
either return an error code or WARN_ON(1) when called.

>  - Since it implicitly couples gpio_request() to a flavor of
>    request_irq(), it precludes sharing those IRQs.
> 

Can't the IRQ be shared by passing IRQF_SHARED as one of the flags?

> Basically, board setup can know that the GPIO is being used
> as an IRQ, and do the request()/direction_input() before it
> passes gpio_to_irq() to the driver. That's worked in every
> case I've happened across so far...

I agree it works as-is right now.  I just thought this would be a
convenient wrapper to handle a common setup step.  If it's overkill
or not appropriate to add to gpiolib please disregard the patch.

I have cleaned up the patch to be more inline with how the various
drivers would use it.  If there is any potential interest I will
repost the patch.

Thanks for your comments,
Hartley
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ