<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/gpio, branch linux-2.6.35.y</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=linux-2.6.35.y</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=linux-2.6.35.y'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2011-02-06T19:03:47+00:00</updated>
<entry>
<title>cs5535-gpio: handle GPIO regs where higher (clear) bits are set</title>
<updated>2011-02-06T19:03:47+00:00</updated>
<author>
<name>Andres Salomon</name>
<email>dilinger@queued.net</email>
</author>
<published>2010-12-21T21:04:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4dfbc34551053dcf44fa3c6ab8d2fcf39bd38eea'/>
<id>urn:sha1:4dfbc34551053dcf44fa3c6ab8d2fcf39bd38eea</id>
<content type='text'>
commit 44658a11f312fb9217674cb90b1a11cbe17fd18d upstream.

The default for non-READ_BACK GPIO regs is to have the clear bits set;
this means that our original errata fix was too simplistic.  This
changes it to the following behavior:

 - when setting GPIOs, ignore the higher order bits (they're for
   clearing, we don't need to care about them).

 - when clearing GPIOs, keep all the bits, but unset (via XOR) the
   lower order bit that negates the clear bit that we care about.  That
   is, if we're clearing GPIO 26 (val = 0x04000000), we first XOR what's
   currently in the register with 0x0400 (GPIO 26's SET bit), and then
   OR that with the GPIO 26's CLEAR bit.

Tested-by: Daniel Drake &lt;dsd@laptop.org&gt;
Signed-off-by: Andres Salomon &lt;dilinger@queued.net&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
Signed-off-by: Andi Kleen &lt;ak@linux.intel.com&gt;

</content>
</entry>
<entry>
<title>cs5535-gpio: don't apply errata #36 to edge detect GPIOs</title>
<updated>2011-02-06T19:03:47+00:00</updated>
<author>
<name>Andres Salomon</name>
<email>dilinger@queued.net</email>
</author>
<published>2010-12-21T21:04:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1d95fe9a8ddadc8700e85f5e9d9682842a1c743c'/>
<id>urn:sha1:1d95fe9a8ddadc8700e85f5e9d9682842a1c743c</id>
<content type='text'>
commit 001851659354cce436b749a793f3512a53394d80 upstream.

The edge detect status GPIOs function differently from the other atomic
model CS5536 GPIO registers; writing 1 to the high bits clears the GPIO,
but writing 1 to the lower bits also clears the bit.

This means that read-modify-write doesn't actually work for it, so don't
apply the errata here.  If a negative edge status gets lost after
resume..  well, we tried our best!

Tested-by: Daniel Drake &lt;dsd@laptop.org&gt;
Signed-off-by: Andres Salomon &lt;dilinger@queued.net&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
Signed-off-by: Andi Kleen &lt;ak@linux.intel.com&gt;

</content>
</entry>
<entry>
<title>gpio: Fix null pointer dereference while accessing rdc321x platform_data</title>
<updated>2011-02-06T19:03:47+00:00</updated>
<author>
<name>Florian Fainelli</name>
<email>florian@openwrt.org</email>
</author>
<published>2010-11-26T09:39:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=876c33c2acfc57b312f1743964f0c4469932fdf7'/>
<id>urn:sha1:876c33c2acfc57b312f1743964f0c4469932fdf7</id>
<content type='text'>
commit fa6469cb5b2d16703464c344b943e2c025cb7858 upstream.

rdc321x-gpio currently fetches its driver specific data by using the
platform_device-&gt;platform_data pointer, this is wrong because the mfd
device which registers our platform_device has been added using
mfd_add_device() which sets the platform_device-&gt;driver_data pointer
instead.

Signed-off-by: Florian Fainelli &lt;florian@openwrt.org&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
Signed-off-by: Andi Kleen &lt;ak@linux.intel.com&gt;

</content>
</entry>
<entry>
<title>cs5535-gpio: apply CS5536 errata workaround for GPIOs</title>
<updated>2010-12-14T22:40:14+00:00</updated>
<author>
<name>Andres Salomon</name>
<email>dilinger@queued.net</email>
</author>
<published>2010-12-02T22:31:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6c615d59289dc9e2034647f0c912561d30bdb473'/>
<id>urn:sha1:6c615d59289dc9e2034647f0c912561d30bdb473</id>
<content type='text'>
commit 853ff88324a248a9f5da6e110850223db353ec07 upstream.

The AMD Geode CS5536 Companion Device Silicon Revision B1 Specification
Update mentions the follow as issue #36:

 "Atomic write transactions to the atomic GPIO High Bank Feature Bit
  registers should only affect the bits selected [...]"

 "after Suspend, an atomic write transaction [...] will clear all
  non-selected bits of the accessed register."

In other words, writing to the high bank for a single GPIO bit will
clear every other GPIO bit (but only sometimes after a suspend).

The workaround described is obvious and simple; do a read-modify-write.
This patch does that, and documents why we're doing it.

Signed-off-by: Andres Salomon &lt;dilinger@queued.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
Signed-off-by: Andi Kleen &lt;ak@linux.intel.com&gt;

</content>
</entry>
<entry>
<title>gpio: fix spurious printk when freeing a gpio</title>
<updated>2010-07-27T21:32:07+00:00</updated>
<author>
<name>Jon Povey</name>
<email>jon.povey@racelogic.co.uk</email>
</author>
<published>2010-07-27T20:18:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6a99ad4a2e1b1693ffe8e40cc0dddfc633ce2a50'/>
<id>urn:sha1:6a99ad4a2e1b1693ffe8e40cc0dddfc633ce2a50</id>
<content type='text'>
When freeing a gpio that has not been exported, gpio_unexport() prints a
debug message when it should just fall through silently.

Example spurious message:

	gpio_unexport: gpio0 status -22

Signed-off-by: Jon Povey &lt;jon.povey@racelogic.co.uk&gt;
Cc: David Brownell &lt;david-b@pacbell.net&gt;
Acked-by: Uwe Kleine-K?nig &lt;u.kleine-koenig@pengutronix.de&gt;
Cc: Gregory Bean &lt;gbean@codeaurora.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Andres has moved</title>
<updated>2010-07-20T23:25:41+00:00</updated>
<author>
<name>Andres Salomon</name>
<email>dilinger@queued.net</email>
</author>
<published>2010-07-20T20:24:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d45840d9f04be4d8c0288066f37bca3a448f7471'/>
<id>urn:sha1:d45840d9f04be4d8c0288066f37bca3a448f7471</id>
<content type='text'>
My Collabora address is no longer enabled - update the MODULE_AUTHOR
fields of drivers to my current email address.

Signed-off-by: Andres Salomon &lt;dilinger@queued.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>drivers/gpio is platform-neutral</title>
<updated>2010-06-29T22:29:32+00:00</updated>
<author>
<name>David Brownell</name>
<email>david-b@pacbell.net</email>
</author>
<published>2010-06-29T22:05:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=926b1e2ca35ccb3cbe0ea9b322c5330869b95046'/>
<id>urn:sha1:926b1e2ca35ccb3cbe0ea9b322c5330869b95046</id>
<content type='text'>
Update Kconfig and Makefile in drivers/gpio to discourage inappropriate
addition of platform-specific code.

[akpm@linux-foundation.org: fix tpyo]
Signed-by: David Brownell &lt;dbrownell@users.sourceforge.net&gt;

Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>gpio: Fix inverted rdc321x gpio data out registers</title>
<updated>2010-05-27T23:37:59+00:00</updated>
<author>
<name>Florian Fainelli</name>
<email>florian@openwrt.org</email>
</author>
<published>2010-05-16T10:02:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=75907a1153b42100b7a5e960bfe47d208d726309'/>
<id>urn:sha1:75907a1153b42100b7a5e960bfe47d208d726309</id>
<content type='text'>
rdc_gpio_set_value_impl has the gpio data registers 1 and 2 inverted, fix this.

Signed-off-by: Bernhard Loos &lt;bernhardloos@gmail.com&gt;
Signed-off-by: Florian Fainelli &lt;florian@openwrt.org&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>mfd: Change rdc321x resources flags to IORESOURCE_IO</title>
<updated>2010-05-27T23:37:52+00:00</updated>
<author>
<name>Florian Fainelli</name>
<email>florian@openwrt.org</email>
</author>
<published>2010-05-15T20:58:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8deca39e5caf7a20fc3786548dc9bfb7f0ae14b6'/>
<id>urn:sha1:8deca39e5caf7a20fc3786548dc9bfb7f0ae14b6</id>
<content type='text'>
The rdc321x southbridge PCI device has no MEM PCI resources that we could
pass to mfd_add_devices. Since 33254dd5, mfd_add_device checks for the
mem_base argument that we set to NULL. Changing the resources passed to
our MFD cells from IORESOURCE_MEM to IORESOURCE_IO fixes that. Since we use
those resources as offsets to the PCI configuration space base address of
the southbridge device this is also more adequate.

Signed-off-by: Florian Fainelli &lt;florian@openwrt.org&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>gpio: rdc321x needs to select MFD_CORE</title>
<updated>2010-05-27T23:37:48+00:00</updated>
<author>
<name>Randy Dunlap</name>
<email>randy.dunlap@oracle.com</email>
</author>
<published>2010-05-11T20:24:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e4be3cb72ce40482a9fe19210ad5de8bfc061bb5'/>
<id>urn:sha1:e4be3cb72ce40482a9fe19210ad5de8bfc061bb5</id>
<content type='text'>
Fix rdc321x-southbridge build:  GPIO_RDC321X needs to select
MFD_CORE so that the core is built at the same (or higher)
tristate level.

rdc321x-southbridge.c:(.devinit.text+0x6103): undefined reference to `mfd_add_devices'
rdc321x-southbridge.c:(.devexit.text+0xe5f): undefined reference to `mfd_remove_devices'

Signed-off-by: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;
Cc:	Florian Fainelli &lt;florian@openwrt.org&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</content>
</entry>
</feed>
