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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKohpomAM2pw9kgB6khtHzQ2WCXKZ9_pi1_sOH2dQToVS8ep4w@mail.gmail.com>
Date:	Fri, 23 Nov 2012 23:03:47 +0530
From:	Viresh Kumar <viresh.kumar@...aro.org>
To:	lee.jones@...aro.org, Grant Likely <grant.likely@...retlab.ca>
Cc:	sameo@...ux.intel.com, devicetree-discuss@...ts.ozlabs.org,
	spear-devel@...t.st.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH V3 3/3] mfd: stmpe: Update DT support in stmpe driver

On 23 November 2012 15:11, Grant Likely <grant.likely@...retlab.ca> wrote:
> On Fri, 23 Nov 2012 00:26:20 +0530, Viresh Kumar <viresh.kumar@...aro.org> wrote:

>> + - 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@...08000 {
		compatible = "foo";
		interrupt-controller;
		#interrupt-cells = <2>;
                ...
	};

And we have a user of this IC:

	foo-peripheral@...48000 {
		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.

Obviously nobody else than the parent IC driver can parse interrupts field
of dev-foo, because only that driver understands the real meaning of
these fields.

Now, stmpe has a special property. It can decide the way its output
interrupt line
will work. i.e. its polarity and interrupt type - edle/level, etc..
This is not commonly
seen in any peripheral. Now my original bindings and the real question here is
about passing this information to stmpe driver.

I can't pass it in interrupts field of stmpe node, as that field
belongs to parent
interrupt controller of stmpe.

I can't pass that from child nodes of stmpe, as we are programming the interrupt
coming out of stmpe and not the interrupt coming out of stmpe-gpio or
stmpe-keypad.

And that's why i added these bindings. Please suggest me if i am still missing
something.

--
viresh
--
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