<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/mcb/mcb-core.c, branch linux-5.1.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-5.1.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-5.1.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2017-08-28T18:51:22Z</updated>
<entry>
<title>mcb: introduce mcb_get_resource()</title>
<updated>2017-08-28T18:51:22Z</updated>
<author>
<name>Johannes Thumshirn</name>
<email>jthumshirn@suse.de</email>
</author>
<published>2017-08-02T07:58:52Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2ce8008711e4837c11e99a94df55406085d0d098'/>
<id>urn:sha1:2ce8008711e4837c11e99a94df55406085d0d098</id>
<content type='text'>
Introduce mcb_get_resource() as a common accessor to a mcb device's memory or
IRQ resources.

Signed-off-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>mcb: Add a dma_device to mcb_device</title>
<updated>2016-09-27T10:33:47Z</updated>
<author>
<name>Michael Moese</name>
<email>michael.moese@men.de</email>
</author>
<published>2016-09-14T10:05:24Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2d8784df1a1c11ace4e244780facec1e945c5b4f'/>
<id>urn:sha1:2d8784df1a1c11ace4e244780facec1e945c5b4f</id>
<content type='text'>
When performing DMA operations on a MCB device, the device needed
for using the DMA API is "mcb_device-&gt;bus_carrier".
This is rather lengthy, so a shortcut is introduced to struct mcb_device
in order to ensure the MCB device driver uses the correct device for DMA
operations.

Signed-off-by: Michael Moese &lt;michael.moese@men.de&gt;
Signed-off-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>mcb: remove sub-device handling code</title>
<updated>2016-08-31T11:16:24Z</updated>
<author>
<name>Johannes Thumshirn</name>
<email>jthumshirn@suse.de</email>
</author>
<published>2016-08-26T07:35:00Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b58189b3c5cf54689a0c154e4d9cff918a29ab0b'/>
<id>urn:sha1:b58189b3c5cf54689a0c154e4d9cff918a29ab0b</id>
<content type='text'>
The MEN Chameleon specification states that a chameleon FPGA can include a
bridge descriptor, which then opens up a new bus behind this bridge. MCB
included subdevice handling code in the core, but no support for bus
descriptors in the parser, due to a lack of hardware access.

As this is technically dead code, but it gets executed on a device add,
I've decided to remove it.

Signed-off-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>mcb: Acquire reference to carrier module in core</title>
<updated>2016-06-14T01:49:30Z</updated>
<author>
<name>Johannes Thumshirn</name>
<email>jthumshirn@suse.de</email>
</author>
<published>2016-05-10T10:39:45Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=4d2ec8575357d4afc965564e2e910a72fe608d39'/>
<id>urn:sha1:4d2ec8575357d4afc965564e2e910a72fe608d39</id>
<content type='text'>
Acquire a reference to the carrier's kernel module in bus code, so
it can't be removed from the kernel while it still has a bus and thus
possibly devices attached to it.

Signed-off-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Reported-by: Andreas Werner &lt;andreas.werner@men.de&gt;
Tested-by: Andreas Werner &lt;andreas.werner@men.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>mcb: Acquire reference to device in probe</title>
<updated>2016-06-14T01:49:30Z</updated>
<author>
<name>Johannes Thumshirn</name>
<email>jthumshirn@suse.de</email>
</author>
<published>2016-05-10T10:39:44Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=7bc364097a89a0a9a5e5e4989d6b3e6fb2027a9e'/>
<id>urn:sha1:7bc364097a89a0a9a5e5e4989d6b3e6fb2027a9e</id>
<content type='text'>
mcb_probe() does not aqcuire a reference to the probed device but drops one
when removing the device. As it is actually using the device, it should grab
a reference via get_device().

This could lead to a panic found with a rmmod/modprobe stress test

Signed-off-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Reported-by: Andreas Werner &lt;andreas.werner@men.de&gt;
Tested-by: Andreas Werner &lt;andreas.werner@men.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>mcb: Implement bus-&gt;dev.release callback</title>
<updated>2016-05-03T22:52:28Z</updated>
<author>
<name>Johannes Thumshirn</name>
<email>jthumshirn@suse.de</email>
</author>
<published>2016-05-03T10:42:03Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=5d9e2ab9fea4cdf0a2522f5cbed2e7fbb220d757'/>
<id>urn:sha1:5d9e2ab9fea4cdf0a2522f5cbed2e7fbb220d757</id>
<content type='text'>
The mcb_bus structure previously was released in mcb_release_bus. This lead to
the following warning on module unload:

------------[ cut here ]------------
WARNING: CPU: 1 PID: 2032 at drivers/base/core.c:251 device_release+0x73/0x90
Device 'mcb:0' does not have a release() function, it is broken and must be fixed.
Modules linked in: men_z135_uart mcb_pci(-) mcb
CPU: 1 PID: 2032 Comm: rmmod Not tainted 4.6.0-rc4+ #3
Hardware name: N/A N/A/COMe-mBTi10, BIOS MVV1R921 X64 10/14/2015
 00000286 00000286 c0117de4 c12d6f16 c0117e2c c18be0d3 c0117dfc c104f6e1
 000000fb f5ccbe08 f5ccbe00 f5c64600 c0117e18 c104f728 00000009 00000000
 c0117e10 c18db674 c0117e2c c0117e3c c13ce5c3 c18be0d3 000000fb c18db674
Call Trace:
 [&lt;c12d6f16&gt;] dump_stack+0x47/0x61
 [&lt;c104f6e1&gt;] __warn+0xc1/0xe0
 [&lt;c104f728&gt;] warn_slowpath_fmt+0x28/0x30
 [&lt;c13ce5c3&gt;] device_release+0x73/0x90
 [&lt;c12d92e4&gt;] kobject_release+0x34/0x80
 [&lt;c12d929d&gt;] ? kobject_del+0x2d/0x40
 [&lt;c12d9205&gt;] kobject_put+0x25/0x50
 [&lt;c13ce77f&gt;] put_device+0xf/0x20
 [&lt;c13d114b&gt;] klist_devices_put+0xb/0x10
 [&lt;c1752673&gt;] klist_next+0x73/0xf0
 [&lt;c13d1140&gt;] ? unbind_store+0x100/0x100
 [&lt;f8a23370&gt;] ? mcb_bus_add_devices+0x30/0x30 [mcb]
 [&lt;c13d0a81&gt;] bus_for_each_dev+0x51/0x80
 [&lt;f8a23319&gt;] mcb_release_bus+0x19/0x40 [mcb]
 [&lt;f8a23370&gt;] ? mcb_bus_add_devices+0x30/0x30 [mcb]
 [&lt;f8a2b033&gt;] mcb_pci_remove+0x13/0x20 [mcb_pci]
 [&lt;c130d358&gt;] pci_device_remove+0x28/0xb0
 [&lt;c13d201b&gt;] __device_release_driver+0x7b/0x110
 [&lt;c13d2847&gt;] driver_detach+0x87/0x90
 [&lt;c13d1b9b&gt;] bus_remove_driver+0x3b/0x80
 [&lt;c13d2ed0&gt;] driver_unregister+0x20/0x50
 [&lt;c130be53&gt;] pci_unregister_driver+0x13/0x60
 [&lt;f8a2b1f4&gt;] mcb_pci_driver_exit+0xd/0xf [mcb_pci]
 [&lt;c10be588&gt;] SyS_delete_module+0x138/0x200
 [&lt;c1159208&gt;] ? ____fput+0x8/0x10
 [&lt;c1068054&gt;] ? task_work_run+0x74/0x90
 [&lt;c1001879&gt;] do_fast_syscall_32+0x69/0x120
 [&lt;c1757597&gt;] sysenter_past_esp+0x40/0x6a
---[ end trace 1ed34c2aa3019875 ]---

Release a mcb_bus' memory on the device's release callback, to avoid above
warning.

Signed-off-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Reported-by: Andreas Werner &lt;andreas.werner@men.de&gt;
Tested-by: Andreas Werner &lt;andreas.werner@men.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>mcb: export bus information via sysfs</title>
<updated>2016-05-03T22:07:35Z</updated>
<author>
<name>Johannes Thumshirn</name>
<email>jthumshirn@suse.de</email>
</author>
<published>2016-05-03T07:46:23Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=803f1ca60d5c0107adfbce4e2d70488598b03a80'/>
<id>urn:sha1:803f1ca60d5c0107adfbce4e2d70488598b03a80</id>
<content type='text'>
Export information about the bus stored in the FPGA's header to userspace via
sysfs, instead of hiding it in pr_debug()s from everyone.

Signed-off-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Reviewed-by: Andreas Werner &lt;andreas.werner@men.de&gt;
Tested-by: Andreas Werner &lt;andreas.werner@men.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>mcb: Correctly initialize the bus's device</title>
<updated>2016-05-03T22:07:35Z</updated>
<author>
<name>Johannes Thumshirn</name>
<email>jthumshirn@suse.de</email>
</author>
<published>2016-05-03T07:46:22Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=18d28819809909c3f24bb72183a901c5e332a63d'/>
<id>urn:sha1:18d28819809909c3f24bb72183a901c5e332a63d</id>
<content type='text'>
The mcb bus' device member wasn't correctly initialized and thus wasn't placed
correctly into the driver model.

Signed-off-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Reviewed-by: Andreas Werner &lt;andreas.werner@men.de&gt;
Tested-by: Andreas Werner &lt;andreas.werner@men.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>mcb: Destroy IDA on module unload</title>
<updated>2015-10-29T00:02:16Z</updated>
<author>
<name>Johannes Thumshirn</name>
<email>jthumshirn@suse.de</email>
</author>
<published>2015-10-28T07:22:16Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=169883a63eb7e34e8e1c92fd451f34a5635c29ad'/>
<id>urn:sha1:169883a63eb7e34e8e1c92fd451f34a5635c29ad</id>
<content type='text'>
Destroy mcb_ida on module_unload

Signed-off-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>mcb: Add support for shared PCI IRQs</title>
<updated>2014-05-28T00:38:11Z</updated>
<author>
<name>Johannes Thumshirn</name>
<email>johannes.thumshirn@men.de</email>
</author>
<published>2014-04-24T12:35:25Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=4ec65b77c64504e178d75aaba6ac96f68837416c'/>
<id>urn:sha1:4ec65b77c64504e178d75aaba6ac96f68837416c</id>
<content type='text'>
Add support for shared PCI IRQs to mcb and mcb-pci.

Signed-off-by: Johannes Thumshirn &lt;johannes.thumshirn@men.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
