<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/gpio, branch v3.2.15</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>gpio/davinci: fix enabling unbanked GPIO IRQs</title>
<updated>2012-04-02T16:53:05+00:00</updated>
<author>
<name>Sekhar Nori</name>
<email>nsekhar@ti.com</email>
</author>
<published>2012-03-11T12:46:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7c2d80c67d367b9a1131de67ddd8088df3541273'/>
<id>7c2d80c67d367b9a1131de67ddd8088df3541273</id>
<content type='text'>
commit 81b279d80a63628e580c71a31d30a8c3b3047ad4 upstream.

Unbanked GPIO IRQ handling code made a copy of just
the irq_chip structure for GPIO IRQ lines which caused
problems after the generic IRQ chip conversion because
there was no valid irq_chip_type structure with the
right "regs" populated. irq_gc_mask_set_bit() was
therefore accessing random addresses.

Fix it by making a copy of irq_chip_type structure
instead. This will ensure sane register offsets.

Reported-by: Jon Povey &lt;Jon.Povey@racelogic.co.uk&gt;
Tested-by: Jon Povey &lt;Jon.Povey@racelogic.co.uk&gt;
Signed-off-by: Sekhar Nori &lt;nsekhar@ti.com&gt;
Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 81b279d80a63628e580c71a31d30a8c3b3047ad4 upstream.

Unbanked GPIO IRQ handling code made a copy of just
the irq_chip structure for GPIO IRQ lines which caused
problems after the generic IRQ chip conversion because
there was no valid irq_chip_type structure with the
right "regs" populated. irq_gc_mask_set_bit() was
therefore accessing random addresses.

Fix it by making a copy of irq_chip_type structure
instead. This will ensure sane register offsets.

Reported-by: Jon Povey &lt;Jon.Povey@racelogic.co.uk&gt;
Tested-by: Jon Povey &lt;Jon.Povey@racelogic.co.uk&gt;
Signed-off-by: Sekhar Nori &lt;nsekhar@ti.com&gt;
Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>gpio/davinci: fix oops on unbanked gpio irq request</title>
<updated>2012-04-02T16:53:05+00:00</updated>
<author>
<name>Sekhar Nori</name>
<email>nsekhar@ti.com</email>
</author>
<published>2012-03-11T12:46:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9e4e8ae49a74dbbc69b4e923ecf387154e34da8a'/>
<id>9e4e8ae49a74dbbc69b4e923ecf387154e34da8a</id>
<content type='text'>
commit ab2dde9924dd1ddb791fa8b14aa52e1df681e20c upstream.

Unbanked GPIO irq setup code was overwriting chip_data leading
to the following oops on request_irq()

Unable to handle kernel paging request at virtual address febfffff
pgd = c22dc000
[febfffff] *pgd=00000000
Internal error: Oops: 801 [#1] PREEMPT
Modules linked in: mcu(+) edmak irqk cmemk
CPU: 0    Not tainted  (3.0.0-rc7+ #93)
PC is at irq_gc_mask_set_bit+0x68/0x7c
LR is at vprintk+0x22c/0x484
pc : [&lt;c0080c0c&gt;]    lr : [&lt;c00457e0&gt;]    psr: 60000093
sp : c33e3ba0  ip : c33e3af0  fp : c33e3bc4
r10: c04555bc  r9 : c33d4340  r8 : 60000013
r7 : 0000002d  r6 : c04555bc  r5 : fec67010  r4 : 00000000
r3 : c04734c8  r2 : fec00000  r1 : ffffffff  r0 : 00000026
Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 0005317f  Table: 822dc000  DAC: 00000015
Process modprobe (pid: 526, stack limit = 0xc33e2270)
Stack: (0xc33e3ba0 to 0xc33e4000)
3ba0: 00000000 c007d3d4 c33e3bcc c04555bc c04555bc c33d4340 c33e3bdc c33e3bc8
3bc0: c007f5f8 c0080bb4 00000000 c04555bc c33e3bf4 c33e3be0 c007f654 c007f5c0
3be0: 00000000 c04555bc c33e3c24 c33e3bf8 c007e6e8 c007f618 c01f2284 c0350af8
3c00: c0405214 bf016c98 00000001 00000000 c33dc008 0000002d c33e3c54 c33e3c28
3c20: c007e888 c007e408 00000001 c23ef880 c33dc000 00000000 c33dc080 c25caa00
3c40: c0487498 bf017078 c33e3c94 c33e3c58 bf016b44 c007e7d4 bf017078 c33dc008
3c60: c25caa08 c33dc008 c33e3c84 bf017484 c25caa00 c25caa00 c01f5f48 c25caa08
3c80: c0496d60 bf017484 c33e3ca4 c33e3c98 c022a698 bf01692c c33e3cd4 c33e3ca8
3ca0: c01f5d88 c022a688 00000000 bf017484 c25caa00 c25caa00 c01f5f48 c25caa08
3cc0: c0496d60 00000000 c33e3cec c33e3cd8 c01f5f8c c01f5d10 00000000 c33e3cf0
3ce0: c33e3d14 c33e3cf0 c01f5210 c01f5f58 c303cb48 c25ecf94 c25caa00 c25caa00
3d00: c25caa34 c33e3dd8 c33e3d34 c33e3d18 c01f6044 c01f51b8 c0496d3c c25caa00
3d20: c044e918 c33e3dd8 c33e3d44 c33e3d38 c01f4ff4 c01f5fcc c33e3d94 c33e3d48
3d40: c01f3d10 c01f4fd8 00000000 c044e918 00000000 00000000 c01f52c0 c034d570
3d60: c33e3d84 c33e3d70 c022bf84 c25caa00 00000000 c044e918 c33e3dd8 c25c2e00
3d80: c0496d60 bf01763c c33e3db4 c33e3d98 c022b1a0 c01f384c c25caa00 c33e3dd8
3da0: 00000000 c33e3dd8 c33e3dd4 c33e3db8 c022b27c c022b0e8 00000000 bf01763c
3dc0: c0451c80 c33e3dd8 c33e3e34 c33e3dd8 bf016f60 c022b210 5f75636d 746e6f63
3de0: 006c6f72 00000000 00000000 00000000 00000000 00000000 00000000 bf0174bc
3e00: 00000000 00989680 00000000 00000020 c0451c80 c0451c80 bf0174dc c01f5eb0
3e20: c33f0f00 bf0174dc c33e3e44 c33e3e38 c01f72f4 bf016e2c c33e3e74 c33e3e48
3e40: c01f5d88 c01f72e4 00000000 c0451c80 c0451cb4 bf0174dc c01f5eb0 c33f0f00
3e60: c0473100 00000000 c33e3e94 c33e3e78 c01f5f44 c01f5d10 00000000 c33e3e98
3e80: bf0174dc c01f5eb0 c33e3ebc c33e3e98 c01f5534 c01f5ec0 c303c038 c3061c30
3ea0: 00003cd8 00098258 bf0174dc c0462ac8 c33e3ecc c33e3ec0 c01f5bec c01f54dc
3ec0: c33e3efc c33e3ed0 c01f4d30 c01f5bdc bf0173a0 c33e2000 00003cd8 00098258
3ee0: bf0174dc c33e2000 c00301a4 bf019000 c33e3f1c c33e3f00 c01f6588 c01f4c8c
3f00: 00003cd8 00098258 00000000 c33e2000 c33e3f2c c33e3f20 c01f777c c01f6524
3f20: c33e3f3c c33e3f30 bf019014 c01f7740 c33e3f7c c33e3f40 c002f3ec bf019010
3f40: 00000000 00003cd8 00098258 bf017518 00000000 00003cd8 00098258 bf017518
3f60: 00000000 c00301a4 c33e2000 00000000 c33e3fa4 c33e3f80 c007b934 c002f3c4
3f80: c00b307c c00b2f48 00003cd8 00000000 00000003 00000080 00000000 c33e3fa8
3fa0: c0030020 c007b8b8 00003cd8 00000000 00098288 00003cd8 00098258 00098240
3fc0: 00003cd8 00000000 00000003 00000080 00098008 00098028 00098288 00000001
3fe0: be892998 be892988 00013d7c 40178740 60000010 00098288 09089041 00200845
Backtrace:
[&lt;c0080ba4&gt;] (irq_gc_mask_set_bit+0x0/0x7c) from [&lt;c007f5f8&gt;] (irq_enable+0x48/0x58)
 r6:c33d4340 r5:c04555bc r4:c04555bc
[&lt;c007f5b0&gt;] (irq_enable+0x0/0x58) from [&lt;c007f654&gt;] (irq_startup+0x4c/0x54)
 r5:c04555bc r4:00000000
[&lt;c007f608&gt;] (irq_startup+0x0/0x54) from [&lt;c007e6e8&gt;] (__setup_irq+0x2f0/0x3cc)
 r5:c04555bc r4:00000000
[&lt;c007e3f8&gt;] (__setup_irq+0x0/0x3cc) from [&lt;c007e888&gt;] (request_threaded_irq+0xc4/0x110)
 r8:0000002d r7:c33dc008 r6:00000000 r5:00000001 r4:bf016c98
[&lt;c007e7c4&gt;] (request_threaded_irq+0x0/0x110) from [&lt;bf016b44&gt;] (mcu_spi_probe+0x228/0x37c [mcu])
[&lt;bf01691c&gt;] (mcu_spi_probe+0x0/0x37c [mcu]) from [&lt;c022a698&gt;] (spi_drv_probe+0x20/0x24)
[&lt;c022a678&gt;] (spi_drv_probe+0x0/0x24) from [&lt;c01f5d88&gt;] (driver_probe_device+0x88/0x1b0)
[&lt;c01f5d00&gt;] (driver_probe_device+0x0/0x1b0) from [&lt;c01f5f8c&gt;] (__device_attach+0x44/0x48)
[&lt;c01f5f48&gt;] (__device_attach+0x0/0x48) from [&lt;c01f5210&gt;] (bus_for_each_drv+0x68/0x94)
 r5:c33e3cf0 r4:00000000
[&lt;c01f51a8&gt;] (bus_for_each_drv+0x0/0x94) from [&lt;c01f6044&gt;] (device_attach+0x88/0xa0)
 r7:c33e3dd8 r6:c25caa34 r5:c25caa00 r4:c25caa00
[&lt;c01f5fbc&gt;] (device_attach+0x0/0xa0) from [&lt;c01f4ff4&gt;] (bus_probe_device+0x2c/0x4c)
 r7:c33e3dd8 r6:c044e918 r5:c25caa00 r4:c0496d3c
[&lt;c01f4fc8&gt;] (bus_probe_device+0x0/0x4c) from [&lt;c01f3d10&gt;] (device_add+0x4d4/0x648)
[&lt;c01f383c&gt;] (device_add+0x0/0x648) from [&lt;c022b1a0&gt;] (spi_add_device+0xc8/0x128)
[&lt;c022b0d8&gt;] (spi_add_device+0x0/0x128) from [&lt;c022b27c&gt;] (spi_new_device+0x7c/0xb4)
 r7:c33e3dd8 r6:00000000 r5:c33e3dd8 r4:c25caa00
[&lt;c022b200&gt;] (spi_new_device+0x0/0xb4) from [&lt;bf016f60&gt;] (mcu_probe+0x144/0x224 [mcu])
 r7:c33e3dd8 r6:c0451c80 r5:bf01763c r4:00000000
[&lt;bf016e1c&gt;] (mcu_probe+0x0/0x224 [mcu]) from [&lt;c01f72f4&gt;] (platform_drv_probe+0x20/0x24)
[&lt;c01f72d4&gt;] (platform_drv_probe+0x0/0x24) from [&lt;c01f5d88&gt;] (driver_probe_device+0x88/0x1b0)
[&lt;c01f5d00&gt;] (driver_probe_device+0x0/0x1b0) from [&lt;c01f5f44&gt;] (__driver_attach+0x94/0x98)
[&lt;c01f5eb0&gt;] (__driver_attach+0x0/0x98) from [&lt;c01f5534&gt;] (bus_for_each_dev+0x68/0x94)
 r7:c01f5eb0 r6:bf0174dc r5:c33e3e98 r4:00000000
[&lt;c01f54cc&gt;] (bus_for_each_dev+0x0/0x94) from [&lt;c01f5bec&gt;] (driver_attach+0x20/0x28)
 r7:c0462ac8 r6:bf0174dc r5:00098258 r4:00003cd8
[&lt;c01f5bcc&gt;] (driver_attach+0x0/0x28) from [&lt;c01f4d30&gt;] (bus_add_driver+0xb4/0x258)
[&lt;c01f4c7c&gt;] (bus_add_driver+0x0/0x258) from [&lt;c01f6588&gt;] (driver_register+0x74/0x158)
[&lt;c01f6514&gt;] (driver_register+0x0/0x158) from [&lt;c01f777c&gt;] (platform_driver_register+0x4c/0x60)
 r7:c33e2000 r6:00000000 r5:00098258 r4:00003cd8
[&lt;c01f7730&gt;] (platform_driver_register+0x0/0x60) from [&lt;bf019014&gt;] (mcu_init+0x14/0x20 [mcu])
[&lt;bf019000&gt;] (mcu_init+0x0/0x20 [mcu]) from [&lt;c002f3ec&gt;] (do_one_initcall+0x38/0x170)
[&lt;c002f3b4&gt;] (do_one_initcall+0x0/0x170) from [&lt;c007b934&gt;] (sys_init_module+0x8c/0x1a4)
[&lt;c007b8a8&gt;] (sys_init_module+0x0/0x1a4) from [&lt;c0030020&gt;] (ret_fast_syscall+0x0/0x2c)
 r7:00000080 r6:00000003 r5:00000000 r4:00003cd8
Code: e1844003 e585400c e596300c e5932064 (e7814002)

Fix the issue.

Reported-by: Jon Povey &lt;Jon.Povey@racelogic.co.uk&gt;
Signed-off-by: Sekhar Nori &lt;nsekhar@ti.com&gt;
Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit ab2dde9924dd1ddb791fa8b14aa52e1df681e20c upstream.

Unbanked GPIO irq setup code was overwriting chip_data leading
to the following oops on request_irq()

Unable to handle kernel paging request at virtual address febfffff
pgd = c22dc000
[febfffff] *pgd=00000000
Internal error: Oops: 801 [#1] PREEMPT
Modules linked in: mcu(+) edmak irqk cmemk
CPU: 0    Not tainted  (3.0.0-rc7+ #93)
PC is at irq_gc_mask_set_bit+0x68/0x7c
LR is at vprintk+0x22c/0x484
pc : [&lt;c0080c0c&gt;]    lr : [&lt;c00457e0&gt;]    psr: 60000093
sp : c33e3ba0  ip : c33e3af0  fp : c33e3bc4
r10: c04555bc  r9 : c33d4340  r8 : 60000013
r7 : 0000002d  r6 : c04555bc  r5 : fec67010  r4 : 00000000
r3 : c04734c8  r2 : fec00000  r1 : ffffffff  r0 : 00000026
Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 0005317f  Table: 822dc000  DAC: 00000015
Process modprobe (pid: 526, stack limit = 0xc33e2270)
Stack: (0xc33e3ba0 to 0xc33e4000)
3ba0: 00000000 c007d3d4 c33e3bcc c04555bc c04555bc c33d4340 c33e3bdc c33e3bc8
3bc0: c007f5f8 c0080bb4 00000000 c04555bc c33e3bf4 c33e3be0 c007f654 c007f5c0
3be0: 00000000 c04555bc c33e3c24 c33e3bf8 c007e6e8 c007f618 c01f2284 c0350af8
3c00: c0405214 bf016c98 00000001 00000000 c33dc008 0000002d c33e3c54 c33e3c28
3c20: c007e888 c007e408 00000001 c23ef880 c33dc000 00000000 c33dc080 c25caa00
3c40: c0487498 bf017078 c33e3c94 c33e3c58 bf016b44 c007e7d4 bf017078 c33dc008
3c60: c25caa08 c33dc008 c33e3c84 bf017484 c25caa00 c25caa00 c01f5f48 c25caa08
3c80: c0496d60 bf017484 c33e3ca4 c33e3c98 c022a698 bf01692c c33e3cd4 c33e3ca8
3ca0: c01f5d88 c022a688 00000000 bf017484 c25caa00 c25caa00 c01f5f48 c25caa08
3cc0: c0496d60 00000000 c33e3cec c33e3cd8 c01f5f8c c01f5d10 00000000 c33e3cf0
3ce0: c33e3d14 c33e3cf0 c01f5210 c01f5f58 c303cb48 c25ecf94 c25caa00 c25caa00
3d00: c25caa34 c33e3dd8 c33e3d34 c33e3d18 c01f6044 c01f51b8 c0496d3c c25caa00
3d20: c044e918 c33e3dd8 c33e3d44 c33e3d38 c01f4ff4 c01f5fcc c33e3d94 c33e3d48
3d40: c01f3d10 c01f4fd8 00000000 c044e918 00000000 00000000 c01f52c0 c034d570
3d60: c33e3d84 c33e3d70 c022bf84 c25caa00 00000000 c044e918 c33e3dd8 c25c2e00
3d80: c0496d60 bf01763c c33e3db4 c33e3d98 c022b1a0 c01f384c c25caa00 c33e3dd8
3da0: 00000000 c33e3dd8 c33e3dd4 c33e3db8 c022b27c c022b0e8 00000000 bf01763c
3dc0: c0451c80 c33e3dd8 c33e3e34 c33e3dd8 bf016f60 c022b210 5f75636d 746e6f63
3de0: 006c6f72 00000000 00000000 00000000 00000000 00000000 00000000 bf0174bc
3e00: 00000000 00989680 00000000 00000020 c0451c80 c0451c80 bf0174dc c01f5eb0
3e20: c33f0f00 bf0174dc c33e3e44 c33e3e38 c01f72f4 bf016e2c c33e3e74 c33e3e48
3e40: c01f5d88 c01f72e4 00000000 c0451c80 c0451cb4 bf0174dc c01f5eb0 c33f0f00
3e60: c0473100 00000000 c33e3e94 c33e3e78 c01f5f44 c01f5d10 00000000 c33e3e98
3e80: bf0174dc c01f5eb0 c33e3ebc c33e3e98 c01f5534 c01f5ec0 c303c038 c3061c30
3ea0: 00003cd8 00098258 bf0174dc c0462ac8 c33e3ecc c33e3ec0 c01f5bec c01f54dc
3ec0: c33e3efc c33e3ed0 c01f4d30 c01f5bdc bf0173a0 c33e2000 00003cd8 00098258
3ee0: bf0174dc c33e2000 c00301a4 bf019000 c33e3f1c c33e3f00 c01f6588 c01f4c8c
3f00: 00003cd8 00098258 00000000 c33e2000 c33e3f2c c33e3f20 c01f777c c01f6524
3f20: c33e3f3c c33e3f30 bf019014 c01f7740 c33e3f7c c33e3f40 c002f3ec bf019010
3f40: 00000000 00003cd8 00098258 bf017518 00000000 00003cd8 00098258 bf017518
3f60: 00000000 c00301a4 c33e2000 00000000 c33e3fa4 c33e3f80 c007b934 c002f3c4
3f80: c00b307c c00b2f48 00003cd8 00000000 00000003 00000080 00000000 c33e3fa8
3fa0: c0030020 c007b8b8 00003cd8 00000000 00098288 00003cd8 00098258 00098240
3fc0: 00003cd8 00000000 00000003 00000080 00098008 00098028 00098288 00000001
3fe0: be892998 be892988 00013d7c 40178740 60000010 00098288 09089041 00200845
Backtrace:
[&lt;c0080ba4&gt;] (irq_gc_mask_set_bit+0x0/0x7c) from [&lt;c007f5f8&gt;] (irq_enable+0x48/0x58)
 r6:c33d4340 r5:c04555bc r4:c04555bc
[&lt;c007f5b0&gt;] (irq_enable+0x0/0x58) from [&lt;c007f654&gt;] (irq_startup+0x4c/0x54)
 r5:c04555bc r4:00000000
[&lt;c007f608&gt;] (irq_startup+0x0/0x54) from [&lt;c007e6e8&gt;] (__setup_irq+0x2f0/0x3cc)
 r5:c04555bc r4:00000000
[&lt;c007e3f8&gt;] (__setup_irq+0x0/0x3cc) from [&lt;c007e888&gt;] (request_threaded_irq+0xc4/0x110)
 r8:0000002d r7:c33dc008 r6:00000000 r5:00000001 r4:bf016c98
[&lt;c007e7c4&gt;] (request_threaded_irq+0x0/0x110) from [&lt;bf016b44&gt;] (mcu_spi_probe+0x228/0x37c [mcu])
[&lt;bf01691c&gt;] (mcu_spi_probe+0x0/0x37c [mcu]) from [&lt;c022a698&gt;] (spi_drv_probe+0x20/0x24)
[&lt;c022a678&gt;] (spi_drv_probe+0x0/0x24) from [&lt;c01f5d88&gt;] (driver_probe_device+0x88/0x1b0)
[&lt;c01f5d00&gt;] (driver_probe_device+0x0/0x1b0) from [&lt;c01f5f8c&gt;] (__device_attach+0x44/0x48)
[&lt;c01f5f48&gt;] (__device_attach+0x0/0x48) from [&lt;c01f5210&gt;] (bus_for_each_drv+0x68/0x94)
 r5:c33e3cf0 r4:00000000
[&lt;c01f51a8&gt;] (bus_for_each_drv+0x0/0x94) from [&lt;c01f6044&gt;] (device_attach+0x88/0xa0)
 r7:c33e3dd8 r6:c25caa34 r5:c25caa00 r4:c25caa00
[&lt;c01f5fbc&gt;] (device_attach+0x0/0xa0) from [&lt;c01f4ff4&gt;] (bus_probe_device+0x2c/0x4c)
 r7:c33e3dd8 r6:c044e918 r5:c25caa00 r4:c0496d3c
[&lt;c01f4fc8&gt;] (bus_probe_device+0x0/0x4c) from [&lt;c01f3d10&gt;] (device_add+0x4d4/0x648)
[&lt;c01f383c&gt;] (device_add+0x0/0x648) from [&lt;c022b1a0&gt;] (spi_add_device+0xc8/0x128)
[&lt;c022b0d8&gt;] (spi_add_device+0x0/0x128) from [&lt;c022b27c&gt;] (spi_new_device+0x7c/0xb4)
 r7:c33e3dd8 r6:00000000 r5:c33e3dd8 r4:c25caa00
[&lt;c022b200&gt;] (spi_new_device+0x0/0xb4) from [&lt;bf016f60&gt;] (mcu_probe+0x144/0x224 [mcu])
 r7:c33e3dd8 r6:c0451c80 r5:bf01763c r4:00000000
[&lt;bf016e1c&gt;] (mcu_probe+0x0/0x224 [mcu]) from [&lt;c01f72f4&gt;] (platform_drv_probe+0x20/0x24)
[&lt;c01f72d4&gt;] (platform_drv_probe+0x0/0x24) from [&lt;c01f5d88&gt;] (driver_probe_device+0x88/0x1b0)
[&lt;c01f5d00&gt;] (driver_probe_device+0x0/0x1b0) from [&lt;c01f5f44&gt;] (__driver_attach+0x94/0x98)
[&lt;c01f5eb0&gt;] (__driver_attach+0x0/0x98) from [&lt;c01f5534&gt;] (bus_for_each_dev+0x68/0x94)
 r7:c01f5eb0 r6:bf0174dc r5:c33e3e98 r4:00000000
[&lt;c01f54cc&gt;] (bus_for_each_dev+0x0/0x94) from [&lt;c01f5bec&gt;] (driver_attach+0x20/0x28)
 r7:c0462ac8 r6:bf0174dc r5:00098258 r4:00003cd8
[&lt;c01f5bcc&gt;] (driver_attach+0x0/0x28) from [&lt;c01f4d30&gt;] (bus_add_driver+0xb4/0x258)
[&lt;c01f4c7c&gt;] (bus_add_driver+0x0/0x258) from [&lt;c01f6588&gt;] (driver_register+0x74/0x158)
[&lt;c01f6514&gt;] (driver_register+0x0/0x158) from [&lt;c01f777c&gt;] (platform_driver_register+0x4c/0x60)
 r7:c33e2000 r6:00000000 r5:00098258 r4:00003cd8
[&lt;c01f7730&gt;] (platform_driver_register+0x0/0x60) from [&lt;bf019014&gt;] (mcu_init+0x14/0x20 [mcu])
[&lt;bf019000&gt;] (mcu_init+0x0/0x20 [mcu]) from [&lt;c002f3ec&gt;] (do_one_initcall+0x38/0x170)
[&lt;c002f3b4&gt;] (do_one_initcall+0x0/0x170) from [&lt;c007b934&gt;] (sys_init_module+0x8c/0x1a4)
[&lt;c007b8a8&gt;] (sys_init_module+0x0/0x1a4) from [&lt;c0030020&gt;] (ret_fast_syscall+0x0/0x2c)
 r7:00000080 r6:00000003 r5:00000000 r4:00003cd8
Code: e1844003 e585400c e596300c e5932064 (e7814002)

Fix the issue.

Reported-by: Jon Povey &lt;Jon.Povey@racelogic.co.uk&gt;
Signed-off-by: Sekhar Nori &lt;nsekhar@ti.com&gt;
Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>gpio/omap: fix _set_gpio_irqenable implementation</title>
<updated>2012-04-02T16:53:04+00:00</updated>
<author>
<name>Tarun Kanti DebBarma</name>
<email>tarun.kanti@ti.com</email>
</author>
<published>2011-11-25T09:57:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c43d4b949b856e428d4c1f3c7d4533e40d3bbe67'/>
<id>c43d4b949b856e428d4c1f3c7d4533e40d3bbe67</id>
<content type='text'>
commit 8276536cec38bc6bde30d0aa67716f22b9b9705a upstream.

This function should be capable of both enabling and disabling interrupts
based upon the *enable* parameter. Right now the function only enables
the interrupt and *enable* is not used at all. So add the interrupt
disable capability also using the parameter.

Signed-off-by: Tarun Kanti DebBarma &lt;tarun.kanti@ti.com&gt;
Reviewed-by: Santosh Shilimkar &lt;santosh.shilimkar@ti.com&gt;
Acked-by: Felipe Balbi &lt;balbi@ti.com&gt;
Reviewed-by: Kevin Hilman &lt;khilman@ti.com&gt;
Signed-off-by: Kevin Hilman &lt;khilman@ti.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 8276536cec38bc6bde30d0aa67716f22b9b9705a upstream.

This function should be capable of both enabling and disabling interrupts
based upon the *enable* parameter. Right now the function only enables
the interrupt and *enable* is not used at all. So add the interrupt
disable capability also using the parameter.

Signed-off-by: Tarun Kanti DebBarma &lt;tarun.kanti@ti.com&gt;
Reviewed-by: Santosh Shilimkar &lt;santosh.shilimkar@ti.com&gt;
Acked-by: Felipe Balbi &lt;balbi@ti.com&gt;
Reviewed-by: Kevin Hilman &lt;khilman@ti.com&gt;
Signed-off-by: Kevin Hilman &lt;khilman@ti.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>gpio: Fix DA9052 GPIO build errors.</title>
<updated>2011-12-15T18:25:43+00:00</updated>
<author>
<name>Ashish Jangam</name>
<email>ashish.jangam@kpitcummins.com</email>
</author>
<published>2011-12-15T09:25:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=87b9b0e0d50db3282fb1eb702307ccfca8775744'/>
<id>87b9b0e0d50db3282fb1eb702307ccfca8775744</id>
<content type='text'>
This patch is functionally tested on Samsung SMDKV6410.

Reported-by: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
Signed-off-by: David Dajun Chen &lt;dchen@diasemi.com&gt;
Signed-off-by: Ashish Jangam &lt;ashish.jangam@kpitcummins.com&gt;
[grant.likely: don't create an unnecessary header file]
Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch is functionally tested on Samsung SMDKV6410.

Reported-by: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
Signed-off-by: David Dajun Chen &lt;dchen@diasemi.com&gt;
Signed-off-by: Ashish Jangam &lt;ashish.jangam@kpitcummins.com&gt;
[grant.likely: don't create an unnecessary header file]
Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gpio: mpc8xxx: don't allow input-only pins to be output for MPC5121</title>
<updated>2011-12-13T18:14:35+00:00</updated>
<author>
<name>Wolfram Sang</name>
<email>w.sang@pengutronix.de</email>
</author>
<published>2011-12-13T09:12:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=28538df0389a59ede9ccd6f327d2031f0044db87'/>
<id>28538df0389a59ede9ccd6f327d2031f0044db87</id>
<content type='text'>
Add a 5121-custom reject if an input-only pin is requested to be output
(see 18.3.1.1 in the refman). Also, rewrite mach-specific quirk setup to
consume less lines which scales better.

Signed-off-by: Wolfram Sang &lt;w.sang@pengutronix.de&gt;
[grant.likely: Fixed build error]
Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a 5121-custom reject if an input-only pin is requested to be output
(see 18.3.1.1 in the refman). Also, rewrite mach-specific quirk setup to
consume less lines which scales better.

Signed-off-by: Wolfram Sang &lt;w.sang@pengutronix.de&gt;
[grant.likely: Fixed build error]
Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gpio-ml-ioh: Add the irq_disable/irq_enable hooks for ml-ioh irq chip</title>
<updated>2011-12-13T18:05:17+00:00</updated>
<author>
<name>Feng Tang</name>
<email>feng.tang@intel.com</email>
</author>
<published>2011-12-13T15:53:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4d052213ff8f71a4a70fc4eed71b773cfde51fcf'/>
<id>4d052213ff8f71a4a70fc4eed71b773cfde51fcf</id>
<content type='text'>
These hooks will be needed by the general disabl/enable_irq();

Signed-off-by: Feng Tang &lt;feng.tang@intel.com&gt;
Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These hooks will be needed by the general disabl/enable_irq();

Signed-off-by: Feng Tang &lt;feng.tang@intel.com&gt;
Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gpio-ml-ioh: fix a bug in the interrupt handler</title>
<updated>2011-12-13T18:05:17+00:00</updated>
<author>
<name>Feng Tang</name>
<email>feng.tang@intel.com</email>
</author>
<published>2011-12-13T15:53:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f9ea14efa5277c47efec341dee2c408b6b80f854'/>
<id>f9ea14efa5277c47efec341dee2c408b6b80f854</id>
<content type='text'>
GPIO's irq action's dev_id is set to the first struct ioh_gpio chip,
so when loop checking the 8 chips, the "chip" should be changed
according.

Signed-off-by: Feng Tang &lt;feng.tang@intel.com&gt;
Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
GPIO's irq action's dev_id is set to the first struct ioh_gpio chip,
so when loop checking the 8 chips, the "chip" should be changed
according.

Signed-off-by: Feng Tang &lt;feng.tang@intel.com&gt;
Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gpio: pl061: drop extra check for NULL platform_data</title>
<updated>2011-12-13T18:01:14+00:00</updated>
<author>
<name>Rob Herring</name>
<email>rob.herring@calxeda.com</email>
</author>
<published>2011-12-09T22:56:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b2888095feb3c651cba5904b0227622e82777b34'/>
<id>b2888095feb3c651cba5904b0227622e82777b34</id>
<content type='text'>
In adding DT binding support, the check for NULL platform_data got added
back in inadvertently, so remove it.

Signed-off-by: Rob Herring &lt;rob.herring@calxeda.com&gt;
Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In adding DT binding support, the check for NULL platform_data got added
back in inadvertently, so remove it.

Signed-off-by: Rob Herring &lt;rob.herring@calxeda.com&gt;
Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gpio: fix a build failure on KS8695 GPIO</title>
<updated>2011-12-05T23:30:33+00:00</updated>
<author>
<name>Linus Walleij</name>
<email>linus.walleij@stericsson.com</email>
</author>
<published>2011-12-05T13:47:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8c9b04346c0ae302d8b7b7df16cc19ddff77742e'/>
<id>8c9b04346c0ae302d8b7b7df16cc19ddff77742e</id>
<content type='text'>
I screwed up by compiling that driver for the machine rather
than the arch. Correcting this fixes the build error.

Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Reported-by: Mike Frysinger &lt;vapier@gentoo.org&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@stericsson.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I screwed up by compiling that driver for the machine rather
than the arch. Correcting this fixes the build error.

Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Reported-by: Mike Frysinger &lt;vapier@gentoo.org&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@stericsson.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gpio: pca953x: Staticise pca953x_get_altdata()</title>
<updated>2011-11-21T19:53:15+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@opensource.wolfsonmicro.com</email>
</author>
<published>2011-11-21T17:57:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=404ba2b8f611bea3228daf031f03901d0c34ecd7'/>
<id>404ba2b8f611bea3228daf031f03901d0c34ecd7</id>
<content type='text'>
It's not used outside of the driver so doesn't need to be exported, and
sparse notices this and complains about it.

Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It's not used outside of the driver so doesn't need to be exported, and
sparse notices this and complains about it.

Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
