<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/Intel-BMC/linux.git/drivers/gpio, branch dev</title>
<subtitle>Intel OpenBMC Linux kernel source tree (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev</id>
<link rel='self' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/'/>
<updated>2015-10-28T01:46:05+00:00</updated>
<entry>
<title>gpio/aspeed: constify the aspeed_gpio_banks structure</title>
<updated>2015-10-28T01:46:05+00:00</updated>
<author>
<name>Joel Stanley</name>
<email>joel@jms.id.au</email>
</author>
<published>2015-10-28T01:45:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=0e0ca76818c0e81aa7647c7cc9d06b6babaacd77'/>
<id>urn:sha1:0e0ca76818c0e81aa7647c7cc9d06b6babaacd77</id>
<content type='text'>
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>gpio/aspeed: Don't set names for aspeed GPIOs</title>
<updated>2015-10-28T00:48:54+00:00</updated>
<author>
<name>Jeremy Kerr</name>
<email>jk@ozlabs.org</email>
</author>
<published>2015-10-28T00:48:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=268793ca44b9770d1e0144ecdbf0c86585161cbd'/>
<id>urn:sha1:268793ca44b9770d1e0144ecdbf0c86585161cbd</id>
<content type='text'>
We need the numbers for exporting anyway.

Signed-off-by: Jeremy Kerr &lt;jk@ozlabs.org&gt;
</content>
</entry>
<entry>
<title>gpio/aspeed: Implement interrupts for GPIO banks</title>
<updated>2015-10-27T07:26:13+00:00</updated>
<author>
<name>Jeremy Kerr</name>
<email>jk@ozlabs.org</email>
</author>
<published>2015-10-26T06:49:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=1549a79bc19e77975ad104dc16da8fa14d0161de'/>
<id>urn:sha1:1549a79bc19e77975ad104dc16da8fa14d0161de</id>
<content type='text'>
We have a set of interrupt registers in each bank; this change
adds a gpio irqchip to hook them up to the GPIO code.

Signed-off-by: Jeremy Kerr &lt;jk@ozlabs.org&gt;
</content>
</entry>
<entry>
<title>gpio/aspeed: Expose entire bank as one gpio chip</title>
<updated>2015-10-27T07:15:50+00:00</updated>
<author>
<name>Jeremy Kerr</name>
<email>jk@ozlabs.org</email>
</author>
<published>2015-10-23T06:31:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=302fccccca9d5e1338925c99c8e52107e5f204ae'/>
<id>urn:sha1:302fccccca9d5e1338925c99c8e52107e5f204ae</id>
<content type='text'>
Signed-off-by: Jeremy Kerr &lt;jk@ozlabs.org&gt;
</content>
</entry>
<entry>
<title>gpio/aspeed: Pass struct resource directly to devm_ioremap_resource</title>
<updated>2015-10-27T06:44:04+00:00</updated>
<author>
<name>Jeremy Kerr</name>
<email>jk@ozlabs.org</email>
</author>
<published>2015-10-27T06:44:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=4da0fb77804ab2b253245141cf0fbcaec0ce8e53'/>
<id>urn:sha1:4da0fb77804ab2b253245141cf0fbcaec0ce8e53</id>
<content type='text'>
Signed-off-by: Jeremy Kerr &lt;jk@ozlabs.org&gt;
</content>
</entry>
<entry>
<title>gpio: Move aspeed Kconfig entry to correct menu</title>
<updated>2015-10-06T00:19:49+00:00</updated>
<author>
<name>Alistair Popple</name>
<email>alistair@popple.id.au</email>
</author>
<published>2015-10-06T00:19:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=06faff53c6eb3b65358c62bd589e9579178e1eec'/>
<id>urn:sha1:06faff53c6eb3b65358c62bd589e9579178e1eec</id>
<content type='text'>
The Aspeed GPIO menu entry was added under "PCI GPIO expanders" which
depends on PCI which may not be enabled for Aspeed. Move the entry to
the "Memory mapped GPIO drivers" which describes the Aspeed GPIO
driver more correctly.

Signed-off-by: Alistair Popple &lt;alistair@popple.id.au&gt;
</content>
</entry>
<entry>
<title>gpio: Add Aspeed AST2400 driver</title>
<updated>2015-09-14T11:47:16+00:00</updated>
<author>
<name>Joel Stanley</name>
<email>joel@jms.id.au</email>
</author>
<published>2015-07-07T05:58:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=72ff807490435fba5ea5eb0b1197e86c94f168c5'/>
<id>urn:sha1:72ff807490435fba5ea5eb0b1197e86c94f168c5</id>
<content type='text'>
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip</title>
<updated>2015-07-18T17:27:12+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2015-07-18T17:27:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=59ee762156f5c6c7238ca3abe5762690aa65808b'/>
<id>urn:sha1:59ee762156f5c6c7238ca3abe5762690aa65808b</id>
<content type='text'>
Pull irq fixes from Ingo Molnar:
 "Misc irq fixes:

   - two driver fixes
   - a Xen regression fix
   - a nested irq thread crash fix"

* 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  irqchip/gicv3-its: Fix mapping of LPIs to collections
  genirq: Prevent resend to interrupts marked IRQ_NESTED_THREAD
  genirq: Revert sparse irq locking around __cpu_up() and move it to x86 for now
  gpio/davinci: Fix race in installing chained irq handler
</content>
</entry>
<entry>
<title>gpio: pca953x: fix nested irqs rescheduling</title>
<updated>2015-07-16T12:40:08+00:00</updated>
<author>
<name>Grygorii Strashko</name>
<email>grygorii.strashko@ti.com</email>
</author>
<published>2015-07-07T14:34:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=fdd50409c8b9ce4cdd757ce10bf2e39e9c172de6'/>
<id>urn:sha1:fdd50409c8b9ce4cdd757ce10bf2e39e9c172de6</id>
<content type='text'>
pca953x interrupt controller functionality is implemented using
nested threaded IRQs which require parent_irq to be configured
properly otherwise below warning can be seen if IRQ core
will try re-schedule nested IRQ:

------------[ cut here ]------------
WARNING: CPU: 1 PID: 12 at kernel/irq/manage.c:696 irq_nested_primary_handler+0x30/0x38()
Primary handler called for nested irq 301
Modules linked in: uinput ipv6 smsc95xx usbnet mii imx2_wdt etnaviv(C) matrix_keypad matrix_keymap ar1021_i2c
CPU: 1 PID: 12 Comm: ksoftirqd/1 Tainted: G        WC    4.1.1 #9
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
Backtrace:
[&lt;c0013298&gt;] (dump_backtrace) from [&lt;c0013488&gt;] (show_stack+0x20/0x24)
[&lt;c0013468&gt;] (show_stack) from [&lt;c05743c4&gt;] (dump_stack+0x70/0xc0)
[&lt;c0574354&gt;] (dump_stack) from [&lt;c002b7b8&gt;] (warn_slowpath_common+0x88/0xc0)
[&lt;c002b730&gt;] (warn_slowpath_common) from [&lt;c002b8ac&gt;] (warn_slowpath_fmt+0x40/0x48)
[&lt;c002b870&gt;] (warn_slowpath_fmt) from [&lt;c0075798&gt;] (irq_nested_primary_handler+0x30/0x38)
[&lt;c0075768&gt;] (irq_nested_primary_handler) from [&lt;c0075200&gt;] (handle_irq_event_percpu+0x70/0x2d0)
[&lt;c0075190&gt;] (handle_irq_event_percpu) from [&lt;c00754ac&gt;] (handle_irq_event+0x4c/0x6c)
[&lt;c0075460&gt;] (handle_irq_event) from [&lt;c0078204&gt;] (handle_simple_irq+0xa4/0xc8)
[&lt;c0078160&gt;] (handle_simple_irq) from [&lt;c0077cd4&gt;] (resend_irqs+0x50/0x7c)
[&lt;c0077c84&gt;] (resend_irqs) from [&lt;c002f99c&gt;] (tasklet_action+0x94/0x140)
[&lt;c002f908&gt;] (tasklet_action) from [&lt;c002eea8&gt;] (__do_softirq+0xa0/0x3c8)
[&lt;c002ee08&gt;] (__do_softirq) from [&lt;c002f208&gt;] (run_ksoftirqd+0x38/0x54)
[&lt;c002f1d0&gt;] (run_ksoftirqd) from [&lt;c004b1e4&gt;] (smpboot_thread_fn+0x1f8/0x2f0)
[&lt;c004afec&gt;] (smpboot_thread_fn) from [&lt;c0047744&gt;] (kthread+0xe8/0x104)
[&lt;c004765c&gt;] (kthread) from [&lt;c000fac8&gt;] (ret_from_fork+0x14/0x2c)
---[ end trace 96052cda48865769 ]---

The issue was reported and described in details by Lothar WaÃŸmann and
Christian Gmeiner in https://lkml.org/lkml/2014/9/9/123.

Fix it by adding missed call of gpiochip_set_chained_irqchip()
so GPIO IRQ chip helpers will set parent_irq for nested IRQs
properly.

Reported-by: Lothar WaÃŸmann &lt;LW@KARO-electronics.de&gt;
Tested-by: Christian Gmeiner &lt;christian.gmeiner@gmail.com&gt;
Signed-off-by: Grygorii Strashko &lt;grygorii.strashko@ti.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
</content>
</entry>
<entry>
<title>gpio: omap: prevent module from being unloaded while in use</title>
<updated>2015-07-16T12:26:03+00:00</updated>
<author>
<name>Grygorii Strashko</name>
<email>grygorii.strashko@ti.com</email>
</author>
<published>2015-06-25T15:13:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=c23837ce73a0cb84ab046a6c0aace30fdd1e26f0'/>
<id>urn:sha1:c23837ce73a0cb84ab046a6c0aace30fdd1e26f0</id>
<content type='text'>
OMAP GPIO driver allowed to be built as loadable module, but it
doesn't set owner field in GPIO chip structure. As result,
module_get/put() API is not working and it's possible to unload
OMAP driver while in use:

  omap_gpio 48051000.gpio: REMOVING GPIOCHIP WITH GPIOS STILL REQUESTED

Hence, add missing configuration.

Cc: Tony Lindgren &lt;tony@atomide.com&gt;
Fixes: cac089f9026e ('gpio: omap: Allow building as a loadable module')
Signed-off-by: Grygorii Strashko &lt;grygorii.strashko@ti.com&gt;
Acked-by: Alexandre Courbot &lt;acourbot@nvidia.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
</content>
</entry>
</feed>
