<feed xmlns='http://www.w3.org/2005/Atom'>
<title>talos-op-linux/drivers/pinctrl/pinctrl-single.c, branch v3.14</title>
<subtitle>Talos™ II Linux sources for OpenPOWER</subtitle>
<id>https://git.raptorcs.com/git/talos-op-linux/atom?h=v3.14</id>
<link rel='self' href='https://git.raptorcs.com/git/talos-op-linux/atom?h=v3.14'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/'/>
<updated>2014-01-15T07:31:53+00:00</updated>
<entry>
<title>pinctrl: single: fix infinite loop caused by bad mask</title>
<updated>2014-01-15T07:31:53+00:00</updated>
<author>
<name>Tomi Valkeinen</name>
<email>tomi.valkeinen@ti.com</email>
</author>
<published>2014-01-09T12:50:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=ad5d25fef8f9459a9f67ec5fbae94287fdea3247'/>
<id>urn:sha1:ad5d25fef8f9459a9f67ec5fbae94287fdea3247</id>
<content type='text'>
commit 4e7e8017a80e1 (pinctrl: pinctrl-single:
enhance to configure multiple pins of different modules) improved
support for pinctrl-single,bits option, but also caused a regression
in parsing badly configured mask data.

If the masks in DT data are not quite right,
pcs_parse_bits_in_pinctrl_entry() can end up in an infinite loop,
trashing memory at the same time.

Add a check to verify that each loop actually removes bits from the
'mask', so that the loop can eventually end.

Signed-off-by: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
Acked-by: Tony Lindgren &lt;tony@atomide.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
</content>
</entry>
<entry>
<title>pinctrl: single: fix pcs_disable with bits_per_mux</title>
<updated>2014-01-15T07:30:08+00:00</updated>
<author>
<name>Tomi Valkeinen</name>
<email>tomi.valkeinen@ti.com</email>
</author>
<published>2014-01-09T12:50:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=dd4c2b3cb39da587fc1e5a9315d4d894a83ec481'/>
<id>urn:sha1:dd4c2b3cb39da587fc1e5a9315d4d894a83ec481</id>
<content type='text'>
pcs_enable() uses vals-&gt;mask instead of pcs-&gt;fmask when bits_per_mux is
enabled. However, pcs_disable() always uses pcs-&gt;fmask.

Fix pcs_disable() to use vals-&gt;mask with bits_per_mux.

Signed-off-by: Tomi Valkeinen &lt;tomi.valkeinen@ti.com&gt;
Acked-by: Peter Ujfalusi &lt;peter.ujfalusi@ti.com&gt;
Acked-by: Tony Lindgren &lt;tony@atomide.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
</content>
</entry>
<entry>
<title>pinctrl: single: call pcs_soc-&gt;rearm() whenever IRQ mask is changed</title>
<updated>2013-11-14T18:43:17+00:00</updated>
<author>
<name>Roger Quadros</name>
<email>rogerq@ti.com</email>
</author>
<published>2013-10-11T16:13:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=c9b3a7d227068ccf25f435b1b0720ccc73ee5178'/>
<id>urn:sha1:c9b3a7d227068ccf25f435b1b0720ccc73ee5178</id>
<content type='text'>
On OMAPs the IO ring must be rearmed each time the pad wakeup
configuration is changed. So call pcs_soc-&gt;rearm() from
pcs_irq_set().

As pinctrl-single is now an interrupt controller in some cases,
we should follow the standards and keep the interrupts enabled
constantly, and not just for wake-up events. The tracking of
runtime vs wake-up interrupts can be handled separately for
the automated runtime PM solution when we have it in the
future.

Signed-off-by: Roger Quadros &lt;rogerq@ti.com&gt;
Acked-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
[tony@atomide.com: removed wrong comment, updated description]
Signed-off-by: Tony Lindgren &lt;tony@atomide.com&gt;
</content>
</entry>
<entry>
<title>pinctrl: single: Fix build when not built on ARM</title>
<updated>2013-10-18T23:43:06+00:00</updated>
<author>
<name>Tony Lindgren</name>
<email>tony@atomide.com</email>
</author>
<published>2013-10-18T23:20:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=1b9c0fb365cbb1154f4e7997061db972cbf58300'/>
<id>urn:sha1:1b9c0fb365cbb1154f4e7997061db972cbf58300</id>
<content type='text'>
Looks like we need a little bit of arch specific handling
with the generic IRQ. Fix the issue with an ifdef the
same way as other drivers do.

ARM needs things set to IRQF_VALID, which also then sets
noprobe. Others seem to use just irq_set_noprobe().

Otherwise we can get:

drivers/pinctrl/pinctrl-single.c: In function 'pcs_irqdomain_map':
drivers/pinctrl/pinctrl-single.c:1750:2: error: implicit declaration of function 'set_irq_flags' [-Werror=implicit-function-declaration]
drivers/pinctrl/pinctrl-single.c:1750:21: error: 'IRQF_VALID' undeclared (first use in this function)
drivers/pinctrl/pinctrl-single.c:1750:34: error: 'IRQF_PROBE' undeclared (first use in this function)

Reported-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Signed-off-by: Tony Lindgren &lt;tony@atomide.com&gt;
</content>
</entry>
<entry>
<title>pinctrl: single: Add support for auxdata</title>
<updated>2013-10-10T22:30:47+00:00</updated>
<author>
<name>Tony Lindgren</name>
<email>tony@atomide.com</email>
</author>
<published>2013-10-03T04:39:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=dc7743aa3c49fabbc6dc9edbcf7df74d776ac32e'/>
<id>urn:sha1:dc7743aa3c49fabbc6dc9edbcf7df74d776ac32e</id>
<content type='text'>
For omaps, we still have dependencies to the legacy code
for handling the PRM (Power Reset Management) interrupts,
and also for reconfiguring the io wake-up chain after
changes.

Let's pass the PRM interrupt and the rearm functions via
auxdata. Then when at some point we have a proper PRM
driver, we can get the interrupt via device tree and
set up the rearm function as exported function in the
PRM driver.

By using auxdata we can remove a dependency to the
wake-up events for converting omap3 to be device
tree only.

Cc: Peter Ujfalusi &lt;peter.ujfalusi@ti.com&gt;
Cc: Grygorii Strashko &lt;grygorii.strashko@ti.com&gt;
Cc: Prakash Manjunathappa &lt;prakash.pm@ti.com&gt;
Cc: Roger Quadros &lt;rogerq@ti.com&gt;
Cc: Haojian Zhuang &lt;haojian.zhuang@gmail.com&gt;
Cc: linux-kernel@vger.kernel.org
Reviewed-by: Kevin Hilman &lt;khilman@linaro.org&gt;
Tested-by: Kevin Hilman &lt;khilman@linaro.org&gt;
Acked-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Tony Lindgren &lt;tony@atomide.com&gt;
</content>
</entry>
<entry>
<title>pinctrl: single: Add support for wake-up interrupts</title>
<updated>2013-10-10T22:30:30+00:00</updated>
<author>
<name>Tony Lindgren</name>
<email>tony@atomide.com</email>
</author>
<published>2013-10-03T04:39:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=3e6cee1786a13cb2308609b5f8c020e1754e37cf'/>
<id>urn:sha1:3e6cee1786a13cb2308609b5f8c020e1754e37cf</id>
<content type='text'>
The pin control registers can have interrupts for example
for device wake-up. These interrupts can be treated as a
chained interrupt controller as suggested earlier by
Linus Walleij &lt;linus.walleij@linaro.org&gt;.

This patch adds support for interrupts in a way that
should be pretty generic, and works for the omaps that
support wake-up interrupts. On omaps, there's an
interrupt enable and interrupt status bit for each pin.
The two pinctrl domains on omaps share a single interrupt
from the PRM chained interrupt handler. Support for
other similar hardware should be easy to add.

Note that this patch does not attempt to handle the
wake-up interrupts automatically unlike the earlier
patches. This patch allows the device drivers to do
a request_irq() on the wake-up pins as needed. I'll
try to do also a separate generic patch for handling
the wake-up events automatically.

Also note that as this patch makes the pinctrl-single
an irq controller, the current bindings need some
extra trickery to use interrupts from two different
interrupt controllers for the same driver. So it
might be worth waiting a little on the patches
enabling the wake-up interrupts from drivers as there
should be a generic way to handle it coming. And also
there's been discussion of interrupts-extended binding
for using interrupts from multiple interrupt controllers.

In any case, this patch should be ready to go allowing
handling the wake-up interrupts in a generic way, or
separately from the device drivers.

Cc: Peter Ujfalusi &lt;peter.ujfalusi@ti.com&gt;
Cc: Grygorii Strashko &lt;grygorii.strashko@ti.com&gt;
Cc: Prakash Manjunathappa &lt;prakash.pm@ti.com&gt;
Cc: Roger Quadros &lt;rogerq@ti.com&gt;
Cc: linux-kernel@vger.kernel.org
Cc: Benoît Cousson &lt;bcousson@baylibre.com&gt;
Cc: devicetree@vger.kernel.org
Acked-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Acked-by: Haojian Zhuang &lt;haojian.zhuang@gmail.com&gt;
Reviewed-by: Kevin Hilman &lt;khilman@linaro.org&gt;
Tested-by: Kevin Hilman &lt;khilman@linaro.org&gt;
Signed-off-by: Tony Lindgren &lt;tony@atomide.com&gt;

</content>
</entry>
<entry>
<title>pinctrl: single: Prepare for supporting SoC specific features</title>
<updated>2013-10-09T21:47:54+00:00</updated>
<author>
<name>Tony Lindgren</name>
<email>tony@atomide.com</email>
</author>
<published>2013-10-03T04:39:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=02e483f66deb6bd8df6af450726574614eb53be3'/>
<id>urn:sha1:02e483f66deb6bd8df6af450726574614eb53be3</id>
<content type='text'>
Let's replace is_pinconf with flags and add struct pcs_soc_data
so we can support SoC specific features like pin wake-up events.

Done in collaboration with Roger Quadros &lt;rogerq@ti.com&gt;.

Cc: Peter Ujfalusi &lt;peter.ujfalusi@ti.com&gt;
Cc: Grygorii Strashko &lt;grygorii.strashko@ti.com&gt;
Cc: Prakash Manjunathappa &lt;prakash.pm@ti.com&gt;
Cc: linux-kernel@vger.kernel.org
Acked-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Acked-by: Haojian Zhuang &lt;haojian.zhuang@gmail.com&gt;
Reviewed-by: Kevin Hilman &lt;khilman@linaro.org&gt;
Tested-by: Kevin Hilman &lt;khilman@linaro.org&gt;
Signed-off-by: Roger Quadros &lt;rogerq@ti.com&gt;
Signed-off-by: Tony Lindgren &lt;tony@atomide.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'v3.11-rc7' into devel</title>
<updated>2013-08-29T07:46:30+00:00</updated>
<author>
<name>Linus Walleij</name>
<email>linus.walleij@linaro.org</email>
</author>
<published>2013-08-29T07:46:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=6ad30ce046aefbdc3848232c665a728860d7bb68'/>
<id>urn:sha1:6ad30ce046aefbdc3848232c665a728860d7bb68</id>
<content type='text'>
Merged in this to avoid conflicts with the big locking fixes
from upstream.

Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;

Conflicts:
	drivers/pinctrl/pinctrl-sunxi.c
</content>
</entry>
<entry>
<title>pinctrl: Pass all configs to driver on pin_config_set()</title>
<updated>2013-08-28T11:34:41+00:00</updated>
<author>
<name>Sherman Yin</name>
<email>syin@broadcom.com</email>
</author>
<published>2013-08-27T18:32:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=03b054e9696c3cbd3d5905ec96da15acd0a2fe8d'/>
<id>urn:sha1:03b054e9696c3cbd3d5905ec96da15acd0a2fe8d</id>
<content type='text'>
When setting pin configuration in the pinctrl framework, pin_config_set() or
pin_config_group_set() is called in a loop to set one configuration at a time
for the specified pin or group.

This patch 1) removes the loop and 2) changes the API to pass the whole pin
config array to the driver.  It is now up to the driver to loop through the
configs.  This allows the driver to potentially combine configs and reduce the
number of writes to pin config registers.

All c files changed have been build-tested to verify the change compiles and
that the corresponding .o is successfully generated.

Signed-off-by: Sherman Yin &lt;syin@broadcom.com&gt;
Reviewed-by: Christian Daudt &lt;csd@broadcom.com&gt;
Reviewed-by: Matt Porter &lt;matt.porter@linaro.org&gt;
Tested-by: Stephen Warren &lt;swarren@nvidia.com&gt;
Acked-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
</content>
</entry>
<entry>
<title>pinctrl: pinctrl-single: fix compile warning when no CONFIG_PM</title>
<updated>2013-07-22T21:00:55+00:00</updated>
<author>
<name>Jean-Francois Moine</name>
<email>moinejf@free.fr</email>
</author>
<published>2013-07-15T08:14:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=8cb440ab709fb1f7e3f71a6159ebab9403760472'/>
<id>urn:sha1:8cb440ab709fb1f7e3f71a6159ebab9403760472</id>
<content type='text'>
This warning has been introduced by the commit
 0f9bc4bcdf4f pinctrl: single: adopt pinctrl sleep mode management

Signed-off-by: Jean-Francois Moine &lt;moinejf@free.fr&gt;
Acked-by: Tony Lindgren &lt;tony@atomide.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
</content>
</entry>
</feed>
