libata: Fix several inaccuracies in developer's guide

Commit 6bfff31e77cfa1b13490337e5a4dbaa3407e83ac (libata: kill probe_ent
and related helpers) killed ata_device_add() but didn't remove references
to it from the libata developer's guide.

Commits 9363c3825ea9ad76561eb48a395349dd29211ed6 (libata: rename SFF
functions) and 5682ed33aae05d10a25c95633ef9d9c062825888 (libata: rename
SFF port ops) renamed the taskfile access methods but didn't update the
developer's guide. Commit c9f75b04ed5ed65a058d18a8a8dda50632a96de8
(libata: kill ata_noop_dev_select()) didn't update the developer's
guide as well.

The guide also refers to the long gone ata_pio_data_xfer_noirq(),
ata_pio_data_xfer(), and ata_mmio_data_xfer() -- replace those by
the modern ata_sff_data_xfer_noirq(), ata_sff_data_xfer(), and
ata_sff_data_xfer32().

Also, remove the reference to non-existant ata_port_stop()...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

authored by Sergei Shtylyov and committed by Jeff Garzik 40868c85 8777c793

+16 -33
+16 -33
Documentation/DocBook/libata.tmpl
··· 107 issue of SET FEATURES - XFER MODE, and prior to operation. 108 </para> 109 <para> 110 - Called by ata_device_add() after ata_dev_identify() determines 111 - a device is present. 112 - </para> 113 - <para> 114 This entry may be specified as NULL in ata_port_operations. 115 </para> 116 ··· 150 151 <sect2><title>Taskfile read/write</title> 152 <programlisting> 153 - void (*tf_load) (struct ata_port *ap, struct ata_taskfile *tf); 154 - void (*tf_read) (struct ata_port *ap, struct ata_taskfile *tf); 155 </programlisting> 156 157 <para> ··· 160 hardware registers / DMA buffers, to obtain the current set of 161 taskfile register values. 162 Most drivers for taskfile-based hardware (PIO or MMIO) use 163 - ata_tf_load() and ata_tf_read() for these hooks. 164 </para> 165 166 </sect2> 167 168 <sect2><title>PIO data read/write</title> 169 <programlisting> 170 - void (*data_xfer) (struct ata_device *, unsigned char *, unsigned int, int); 171 </programlisting> 172 173 <para> 174 All bmdma-style drivers must implement this hook. This is the low-level 175 operation that actually copies the data bytes during a PIO data 176 transfer. 177 - Typically the driver 178 - will choose one of ata_pio_data_xfer_noirq(), ata_pio_data_xfer(), or 179 - ata_mmio_data_xfer(). 180 </para> 181 182 </sect2> 183 184 <sect2><title>ATA command execute</title> 185 <programlisting> 186 - void (*exec_command)(struct ata_port *ap, struct ata_taskfile *tf); 187 </programlisting> 188 189 <para> 190 causes an ATA command, previously loaded with 191 ->tf_load(), to be initiated in hardware. 192 - Most drivers for taskfile-based hardware use ata_exec_command() 193 for this hook. 194 </para> 195 ··· 213 214 <sect2><title>Read specific ATA shadow registers</title> 215 <programlisting> 216 - u8 (*check_status)(struct ata_port *ap); 217 - u8 (*check_altstatus)(struct ata_port *ap); 218 </programlisting> 219 220 <para> ··· 222 hardware. On some hardware, reading the Status register has 223 the side effect of clearing the interrupt condition. 224 Most drivers for taskfile-based hardware use 225 - ata_check_status() for this hook. 226 - </para> 227 - <para> 228 - Note that because this is called from ata_device_add(), at 229 - least a dummy function that clears device interrupts must be 230 - provided for all drivers, even if the controller doesn't 231 - actually have a taskfile status register. 232 </para> 233 234 </sect2> 235 236 <sect2><title>Select ATA device on bus</title> 237 <programlisting> 238 - void (*dev_select)(struct ata_port *ap, unsigned int device); 239 </programlisting> 240 241 <para> ··· 240 </para> 241 <para> 242 Most drivers for taskfile-based hardware use 243 - ata_std_dev_select() for this hook. Controllers which do not 244 - support second drives on a port (such as SATA contollers) will 245 - use ata_noop_dev_select(). 246 </para> 247 248 </sect2> ··· 428 to struct ata_host_set. 429 </para> 430 <para> 431 - Most legacy IDE drivers use ata_interrupt() for the 432 irq_handler hook, which scans all ports in the host_set, 433 determines which queued command was active (if any), and calls 434 - ata_host_intr(ap,qc). 435 </para> 436 <para> 437 - Most legacy IDE drivers use ata_bmdma_irq_clear() for the 438 irq_clear() hook, which simply clears the interrupt and error 439 flags in the DMA status register. 440 </para> ··· 481 is to release DMA/memory resources, now that they are no longer 482 actively being used. Many drivers also free driver-private 483 data from port at this time. 484 - </para> 485 - <para> 486 - Many drivers use ata_port_stop() as this hook, which frees the 487 - PRD table. 488 </para> 489 <para> 490 ->host_stop() is called after all ->port_stop() calls
··· 107 issue of SET FEATURES - XFER MODE, and prior to operation. 108 </para> 109 <para> 110 This entry may be specified as NULL in ata_port_operations. 111 </para> 112 ··· 154 155 <sect2><title>Taskfile read/write</title> 156 <programlisting> 157 + void (*sff_tf_load) (struct ata_port *ap, struct ata_taskfile *tf); 158 + void (*sff_tf_read) (struct ata_port *ap, struct ata_taskfile *tf); 159 </programlisting> 160 161 <para> ··· 164 hardware registers / DMA buffers, to obtain the current set of 165 taskfile register values. 166 Most drivers for taskfile-based hardware (PIO or MMIO) use 167 + ata_sff_tf_load() and ata_sff_tf_read() for these hooks. 168 </para> 169 170 </sect2> 171 172 <sect2><title>PIO data read/write</title> 173 <programlisting> 174 + void (*sff_data_xfer) (struct ata_device *, unsigned char *, unsigned int, int); 175 </programlisting> 176 177 <para> 178 All bmdma-style drivers must implement this hook. This is the low-level 179 operation that actually copies the data bytes during a PIO data 180 transfer. 181 + Typically the driver will choose one of ata_sff_data_xfer_noirq(), 182 + ata_sff_data_xfer(), or ata_sff_data_xfer32(). 183 </para> 184 185 </sect2> 186 187 <sect2><title>ATA command execute</title> 188 <programlisting> 189 + void (*sff_exec_command)(struct ata_port *ap, struct ata_taskfile *tf); 190 </programlisting> 191 192 <para> 193 causes an ATA command, previously loaded with 194 ->tf_load(), to be initiated in hardware. 195 + Most drivers for taskfile-based hardware use ata_sff_exec_command() 196 for this hook. 197 </para> 198 ··· 218 219 <sect2><title>Read specific ATA shadow registers</title> 220 <programlisting> 221 + u8 (*sff_check_status)(struct ata_port *ap); 222 + u8 (*sff_check_altstatus)(struct ata_port *ap); 223 </programlisting> 224 225 <para> ··· 227 hardware. On some hardware, reading the Status register has 228 the side effect of clearing the interrupt condition. 229 Most drivers for taskfile-based hardware use 230 + ata_sff_check_status() for this hook. 231 </para> 232 233 </sect2> 234 235 <sect2><title>Select ATA device on bus</title> 236 <programlisting> 237 + void (*sff_dev_select)(struct ata_port *ap, unsigned int device); 238 </programlisting> 239 240 <para> ··· 251 </para> 252 <para> 253 Most drivers for taskfile-based hardware use 254 + ata_sff_dev_select() for this hook. 255 </para> 256 257 </sect2> ··· 441 to struct ata_host_set. 442 </para> 443 <para> 444 + Most legacy IDE drivers use ata_sff_interrupt() for the 445 irq_handler hook, which scans all ports in the host_set, 446 determines which queued command was active (if any), and calls 447 + ata_sff_host_intr(ap,qc). 448 </para> 449 <para> 450 + Most legacy IDE drivers use ata_sff_irq_clear() for the 451 irq_clear() hook, which simply clears the interrupt and error 452 flags in the DMA status register. 453 </para> ··· 494 is to release DMA/memory resources, now that they are no longer 495 actively being used. Many drivers also free driver-private 496 data from port at this time. 497 </para> 498 <para> 499 ->host_stop() is called after all ->port_stop() calls