Thread (1 message) 1 message, 1 author, 2014-07-25

[[RFC PATCH]] gpio: gpio-mxc: make sure gpio is input when request IRQ

From: Linus Walleij <hidden>
Date: 2014-07-25 11:38:55
Also in: linux-devicetree

On Thu, Jul 24, 2014 at 10:12 AM, Markus Niebel
[off-list ref] wrote:
Am 23.07.2014 18:14, wrote Linus Walleij:
quoted
So always prepare the hardware and make it ready for action in respective
callbacks from the GPIO and irqchip APIs. Do not rely on gpiod_to_irq() having
been called first.
So a gpio driver is responsible to read status of gpio lines and flag any gpio line
currently configured as out (base on the information read from hardware registers)
on driver probe time - correct?
I don't think anyone reads that information explicitly to set up
these flags.

Drivers just leave the pins in their power-on maiden state without
trying to figure out how they're set-up. But as you say, if you call
gpiod_get_direction() on them, the flag gets set up indeed.

So usually these flags are set by code, calling
gpiod_[get/set]_direction().
Then they do get flagged as outputs or inputs.
If yes is the driver allowed to call
gpiod_get_direction() to have the FLAG_IS_OUT set in the gpiolib layer?
I don't know if it'd be a good idea to loop over all gpios in a new
irqchip and fetch the direction just to get the flags right, so far
we haven't done that and I don't know what the usecase would be.

If we need that we should do it in gpiolib for all drivers don't you
think?

But then we need a rationale for doing it, other than it's nice :-)
It is already called on-the-fly by debugfs when a user needs that
info.

Yours,
Linus Walleij
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help