Thread (22 messages) 22 messages, 5 authors, 2012-11-28

Re: [PATCH V3 3/3] mfd: stmpe: Update DT support in stmpe driver

From: Grant Likely <hidden>
Date: 2012-11-26 21:33:59
Also in: lkml

On Fri, 23 Nov 2012 23:03:47 +0530, Viresh Kumar [off-list ref] wrote:
On 23 November 2012 15:11, Grant Likely [off-list ref] wrote:
quoted
On Fri, 23 Nov 2012 00:26:20 +0530, Viresh Kumar [off-list ref] wrote:
quoted
quoted
+ - irq-trigger                       : IRQ trigger to use for the interrupt to the host
+ - irq-invert-polarity               : bool, IRQ line is connected with reversed polarity
This looks odd. Normally the interrupt polarity should be encoded in the irq
specifier flags field.
Hi Grant and Lee Jones,

This looks odd because stmpe is odd, i am taking the discussion held
with Lee jones to this thread.

So, how interrupt stuff works currently in DT..
We have a interrupt controller IC:

	ic: interrupt-controller@40008000 {
		compatible = "foo";
		interrupt-controller;
		#interrupt-cells = <2>;
                ...
	};

And we have a user of this IC:

	foo-peripheral@40048000 {
		compatible = "foo-peripheral";
		interrupt-parent = <&ic>;
		interrupts = <39 4>;
	};

Here first field of "interrupts" gives interrupt line number and the second one
gives polarity, interrupt type etc..

All is good till now. Now, every interrupt controller supports the first
field, but the second one depends on its capabilities. An interrupt controller
might not have registers to configure interrupt polarity, type, etc of
the interrupt
it will service and so the second field wouldn't be available for them.

For now just think stmpe is not a MFD and not a interrupt controller
either. It is
just a simple device, dev-foo.

It will declare values of its interrupts field based on the type of
interrupt controller
that will service its interrupt and that can be anything like VIC/GIC/GPIO
controller.
Ah, so it is configuring the way the device emits interrupts; not how
the interrupt controller processes them. Fair enough.

It would actually be good to ask the interrupt controller driver what
kind of interrupt signal it expects for a given interrupt line. That
should also solve the problem and I think it would be more useful to
other devices. Can you investigate whether or not
irqd_get_trigger_type() returns the information you need?

g.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help