<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/ide/falconide.c, branch linux-6.9.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-6.9.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-6.9.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2021-06-16T14:53:58Z</updated>
<entry>
<title>ide: remove the legacy ide driver</title>
<updated>2021-06-16T14:53:58Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2021-06-16T13:46:58Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b7fb14d3ac63117e0e8beabe75f4ea52051fbe3a'/>
<id>urn:sha1:b7fb14d3ac63117e0e8beabe75f4ea52051fbe3a</id>
<content type='text'>
The legay ide driver has been replace with libata starting in 2003 and has
been scheduled for removal for a while.  Finally kill it off so that we
can start cleaning up various bits of cruft it forced on the block layer.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
</content>
</entry>
<entry>
<title>m68k/q40: Replace q40ide driver with pata_falcon and falconide</title>
<updated>2021-06-10T22:30:12Z</updated>
<author>
<name>Finn Thain</name>
<email>fthain@linux-m68k.org</email>
</author>
<published>2021-06-10T01:15:06Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=44b1fbc0f5f30e66a56d29575349f0b1ebe2b0ee'/>
<id>urn:sha1:44b1fbc0f5f30e66a56d29575349f0b1ebe2b0ee</id>
<content type='text'>
This allows m68k q40 systems to switch from the deprecated IDE subsystem
to libata.

Enhance the byte-swapping falconide and pata_falcon platform drivers to
accept an irq resource, for use on q40. Atari ST-DMA IRQ arrangements seem
to co-exist with q40 IRQ arrangements without too much mess.

The new IO resources were added solely for the purpose of making
request_region() reservations identical to those made by q40ide: these
regions aren't used for actual IO.

Cc: Michael Schmitz &lt;schmitzmic@gmail.com&gt;
Cc: Richard Zidlicky &lt;rz@linux-m68k.org&gt;
Reviewed-and-tested-by: Michael Schmitz &lt;schmitzmic@gmail.com&gt;
Acked-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Signed-off-by: Finn Thain &lt;fthain@linux-m68k.org&gt;
Link: https://lore.kernel.org/r/eefb7e9c2291e09fb4e065ce06bc105f05bb9e06.1623287706.git.fthain@linux-m68k.org
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
</content>
</entry>
<entry>
<title>ide/falconide: Fix module unload</title>
<updated>2021-01-03T18:16:06Z</updated>
<author>
<name>Finn Thain</name>
<email>fthain@telegraphics.com.au</email>
</author>
<published>2020-11-20T04:39:56Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=07f1dc8cc85bbfb2f9270f25060c4755f4509f45'/>
<id>urn:sha1:07f1dc8cc85bbfb2f9270f25060c4755f4509f45</id>
<content type='text'>
Unloading the falconide module results in a crash:

Unable to handle kernel NULL pointer dereference at virtual address 00000000
Oops: 00000000
Modules linked in: falconide(-)
PC: [&lt;002930b2&gt;] ide_host_remove+0x2e/0x1d2
SR: 2000  SP: 00b49e28  a2: 009b0f90
d0: 00000000    d1: 009b0f90    d2: 00000000    d3: 00b48000
d4: 003cef32    d5: 00299188    a0: 0086d000    a1: 0086d000
Process rmmod (pid: 322, task=009b0f90)
Frame format=7 eff addr=00000000 ssw=0505 faddr=00000000
wb 1 stat/addr/data: 0000 00000000 00000000
wb 2 stat/addr/data: 0000 00000000 00000000
wb 3 stat/addr/data: 0000 00000000 00018da9
push data: 00000000 00000000 00000000 00000000
Stack from 00b49e90:
        004c456a 0027f176 0027cb0a 0027cb9e 00000000 0086d00a 2187d3f0 0027f0e0
        00b49ebc 2187d1f6 00000000 00b49ec8 002811e8 0086d000 00b49ef0 0028024c
        0086d00a 002800d6 00279a1a 00000001 00000001 0086d00a 2187d3f0 00279a58
        00b49f1c 002802e0 0086d00a 2187d3f0 004c456a 0086d00a ef96af74 00000000
        2187d3f0 002805d2 800de064 00b49f44 0027f088 2187d3f0 00ac1cf4 2187d3f0
        004c43be 2187d3f0 00000000 2187d3f0 800b66a8 00b49f5c 00280776 2187d3f0
Call Trace: [&lt;0027f176&gt;] __device_driver_unlock+0x0/0x48
 [&lt;0027cb0a&gt;] device_links_busy+0x0/0x94
 [&lt;0027cb9e&gt;] device_links_unbind_consumers+0x0/0x130
 [&lt;0027f0e0&gt;] __device_driver_lock+0x0/0x5a
 [&lt;2187d1f6&gt;] falconide_remove+0x12/0x18 [falconide]
 [&lt;002811e8&gt;] platform_drv_remove+0x1c/0x28
 [&lt;0028024c&gt;] device_release_driver_internal+0x176/0x17c
 [&lt;002800d6&gt;] device_release_driver_internal+0x0/0x17c
 [&lt;00279a1a&gt;] get_device+0x0/0x22
 [&lt;00279a58&gt;] put_device+0x0/0x18
 [&lt;002802e0&gt;] driver_detach+0x56/0x82
 [&lt;002805d2&gt;] driver_remove_file+0x0/0x24
 [&lt;0027f088&gt;] bus_remove_driver+0x4c/0xa4
 [&lt;00280776&gt;] driver_unregister+0x28/0x5a
 [&lt;00281a00&gt;] platform_driver_unregister+0x12/0x18
 [&lt;2187d2a0&gt;] ide_falcon_driver_exit+0x10/0x16 [falconide]
 [&lt;000764f0&gt;] sys_delete_module+0x110/0x1f2
 [&lt;000e83ea&gt;] sys_rename+0x1a/0x1e
 [&lt;00002e0c&gt;] syscall+0x8/0xc
 [&lt;00188004&gt;] ext4_multi_mount_protect+0x35a/0x3ce
Code: 0029 9188 4bf9 0027 aa1c 283c 003c ef32 &lt;265c&gt; 4a8b 6700 00b8 2043 2028 000c 0280 00ff ff00 6600 0176 40c0 7202 b2b9 004c
Disabling lock debugging due to kernel taint

This happens because the driver_data pointer is uninitialized.
Add the missing platform_set_drvdata() call. For clarity, use the
matching platform_get_drvdata() as well.

Cc: Michael Schmitz &lt;schmitzmic@gmail.com&gt;
Cc: Bartlomiej Zolnierkiewicz &lt;b.zolnierkie@samsung.com&gt;
Fixes: 5ed0794cde593 ("m68k/atari: Convert Falcon IDE drivers to platform drivers")
Reviewed-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Reviewed-by: Michael Schmitz &lt;schmitzmic@gmail.com&gt;
Signed-off-by: Finn Thain &lt;fthain@telegraphics.com.au&gt;
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
</content>
</entry>
<entry>
<title>ide/falcon: remove in_interrupt() usage</title>
<updated>2020-12-15T20:13:36Z</updated>
<author>
<name>Sebastian Andrzej Siewior</name>
<email>bigeasy@linutronix.de</email>
</author>
<published>2020-12-15T03:03:24Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=483e6417aea5c6d278e6aa7facc50d961d95a0a9'/>
<id>urn:sha1:483e6417aea5c6d278e6aa7facc50d961d95a0a9</id>
<content type='text'>
falconide_get_lock() is called by ide_lock_host() and its caller
(ide_issue_rq()) has already a might_sleep() check.

stdma_lock() has wait_event() which also has a might_sleep() check.

Remove the in_interrupt() check.

Link: https://lkml.kernel.org/r/20201113161021.2217361-2-bigeasy@linutronix.de
Signed-off-by: Sebastian Andrzej Siewior &lt;bigeasy@linutronix.de&gt;
Cc: "David S. Miller" &lt;davem@davemloft.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>m68k/atari: Convert Falcon IDE drivers to platform drivers</title>
<updated>2019-11-18T09:18:59Z</updated>
<author>
<name>Michael Schmitz</name>
<email>schmitzmic@gmail.com</email>
</author>
<published>2019-11-06T02:47:29Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=5ed0794cde59365d4d5895b89bb2f7ef7ffdbd55'/>
<id>urn:sha1:5ed0794cde59365d4d5895b89bb2f7ef7ffdbd55</id>
<content type='text'>
Autoloading of Falcon IDE driver modules requires converting these
drivers to platform drivers.

Add platform device for Falcon IDE interface in Atari platform setup
code. Use this in the pata_falcon driver in place of the simple
platform device set up on the fly.

Convert falconide driver to use the same platform device that is used
by pata_falcon also. (With the introduction of a platform device for
the Atari Falcon IDE interface, the old Falcon IDE driver no longer
loads (resource already claimed by the platform device)).

Tested (as built-in driver) on my Atari Falcon.

Signed-off-by: Michael Schmitz &lt;schmitzmic@gmail.com&gt;
Acked-by: Bartlomiej Zolnierkiewicz &lt;b.zolnierkie@samsung.com&gt;
Link: https://lore.kernel.org/r/1573008449-8226-1-git-send-email-schmitzmic@gmail.com
Signed-off-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
</content>
</entry>
<entry>
<title>ide: move ack_intr() method into 'struct ide_port_ops' (take 2)</title>
<updated>2009-06-15T16:52:58Z</updated>
<author>
<name>Sergei Shtylyov</name>
<email>sshtylyov@ru.mvista.com</email>
</author>
<published>2009-06-15T16:52:58Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=f4d3ffa52a402ec9e8699571cf3811763d284459'/>
<id>urn:sha1:f4d3ffa52a402ec9e8699571cf3811763d284459</id>
<content type='text'>
Move the ack_intr() method into 'struct ide_port_ops', also renaming it to
test_irq() while at it...

Signed-off-by: Sergei Shtylyov &lt;sshtylyov@ru.mvista.com&gt;
Signed-off-by: Bartlomiej Zolnierkiewicz &lt;bzolnier@gmail.com&gt;
</content>
</entry>
<entry>
<title>ide: remove hw_regs_t typedef</title>
<updated>2009-05-17T17:12:25Z</updated>
<author>
<name>Bartlomiej Zolnierkiewicz</name>
<email>bzolnier@gmail.com</email>
</author>
<published>2009-05-17T17:12:25Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=9f36d31437922354d104a2db407f397e79e4027e'/>
<id>urn:sha1:9f36d31437922354d104a2db407f397e79e4027e</id>
<content type='text'>
Remove hw_regs_t typedef and rename struct hw_regs_s to struct ide_hw.

There should be no functional changes caused by this patch.

Acked-by: Sergei Shtylyov &lt;sshtylyov@ru.mvista.com&gt;
Signed-off-by: Bartlomiej Zolnierkiewicz &lt;bzolnier@gmail.com&gt;
</content>
</entry>
<entry>
<title>ide: pass number of ports to ide_host_{alloc,add}() (v2)</title>
<updated>2009-05-17T17:12:24Z</updated>
<author>
<name>Bartlomiej Zolnierkiewicz</name>
<email>bzolnier@gmail.com</email>
</author>
<published>2009-05-17T17:12:24Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=dca3983059a4481e4ae97bbf0ac4b4c21429e1a5'/>
<id>urn:sha1:dca3983059a4481e4ae97bbf0ac4b4c21429e1a5</id>
<content type='text'>
Pass number of ports to ide_host_{alloc,add}() and then update
all users accordingly.

v2:
- drop no longer needed NULL initializers in buddha.c, cmd640.c and gayle.c
  (noticed by Sergei)

There should be no functional changes caused by this patch.

Acked-by: Sergei Shtylyov &lt;sshtylyov@ru.mvista.com&gt;
Signed-off-by: Bartlomiej Zolnierkiewicz &lt;bzolnier@gmail.com&gt;
</content>
</entry>
<entry>
<title>ide: remove chipset field from hw_regs_t</title>
<updated>2009-05-17T17:12:22Z</updated>
<author>
<name>Bartlomiej Zolnierkiewicz</name>
<email>bzolnier@gmail.com</email>
</author>
<published>2009-05-17T17:12:22Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=29e52cf793ded6bece50de50e738596f94f07d9f'/>
<id>urn:sha1:29e52cf793ded6bece50de50e738596f94f07d9f</id>
<content type='text'>
* Convert host drivers that still use hw_regs_t's chipset field to use
  the one in struct ide_port_info instead.

* Move special handling of ide_pci chipset type from ide_hw_configure()
  to ide_init_port().

* Remove chipset field from hw_regs_t.

While at it:
- remove stale comment in delkin_cb.c

There should be no functional changes caused by this patch.

Acked-by: Sergei Shtylyov &lt;sshtylyov@ru.mvista.com&gt;
Signed-off-by: Bartlomiej Zolnierkiewicz &lt;bzolnier@gmail.com&gt;
</content>
</entry>
<entry>
<title>ide: falconide/q40ide - Use __ide_mm_{in,out}sw() for data</title>
<updated>2009-04-08T12:12:48Z</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert@linux-m68k.org</email>
</author>
<published>2009-04-08T12:12:48Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d18812070efc658267f7573eec5ce7810128bfeb'/>
<id>urn:sha1:d18812070efc658267f7573eec5ce7810128bfeb</id>
<content type='text'>
Both of commits f94116aeec7a299640dd692128e1d22178affa8d ("ide: cleanup
&lt;asm-m68k/ide.h&gt;") and 15a453a955f89f6545118770c669b52e925368bd ("ide: include
&lt;asm/ide.h&gt; only when needed") break falconide:

| Uniform Multi-Platform E-IDE driver
| ide: Falcon IDE controller
| Probing IDE interface ide0...
| hda: Sarge m68k, ATA DISK drive
| ide0 at 0xfff00000 on irq 15 (serialized)
| ide-gd driver 1.18
| hda: max request size: 128KiB
| hda: 2118816 sectors (1084 MB) w/256KiB Cache, CHS=2102/16/63
|  hda:&lt;4&gt;hda: lost interrupt

This happens because falconide relies on {in,out}sw() being redefined in
&lt;asm/ide.h&gt;, as included by &lt;linux/ide.h&gt;, which is no longer the case.
Use __ide_mm_{in,out}sw() from &lt;asm/ide.h&gt; instead, just like
ide_{in,out}put_data() do.

The same problem seems to exist in q40ide.

Signed-off-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Signed-off-by: Bartlomiej Zolnierkiewicz &lt;bzolnier@gmail.com&gt;
</content>
</entry>
</feed>
