Loading CREDITS +1 −5 Original line number Diff line number Diff line Loading @@ -2475,13 +2475,9 @@ S: Potsdam, New York 13676 S: USA N: Dave Neuer E: dneuer@innovation-charter.com E: mr_fred_smoothie@yahoo.com E: dave.neuer@pobox.com D: Helped implement support for Compaq's H31xx series iPAQs D: Other mostly minor tweaks & bugfixes S: 325 E. Main St., Suite 3 S: Carnegie, PA 15105 S: USA N: Michael Neuffer E: mike@i-Connect.Net Loading Documentation/DocBook/libata.tmpl +124 −32 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ </authorgroup> <copyright> <year>2003</year> <year>2003-2005</year> <holder>Jeff Garzik</holder> </copyright> Loading Loading @@ -44,30 +44,38 @@ <toc></toc> <chapter id="libataThanks"> <title>Thanks</title> <para> The bulk of the ATA knowledge comes thanks to long conversations with Andre Hedrick (www.linux-ide.org). </para> <chapter id="libataIntroduction"> <title>Introduction</title> <para> Thanks to Alan Cox for pointing out similarities between SATA and SCSI, and in general for motivation to hack on libata. libATA is a library used inside the Linux kernel to support ATA host controllers and devices. libATA provides an ATA driver API, class transports for ATA and ATAPI devices, and SCSI<->ATA translation for ATA devices according to the T10 SAT specification. </para> <para> libata's device detection method, ata_pio_devchk, and in general all the early probing was based on extensive study of Hale Landis's probe/reset code in his ATADRVR driver (www.ata-atapi.com). This Guide documents the libATA driver API, library functions, library internals, and a couple sample ATA low-level drivers. </para> </chapter> <chapter id="libataDriverApi"> <title>libata Driver API</title> <para> struct ata_port_operations is defined for every low-level libata hardware driver, and it controls how the low-level driver interfaces with the ATA and SCSI layers. </para> <para> FIS-based drivers will hook into the system with ->qc_prep() and ->qc_issue() high-level hooks. Hardware which behaves in a manner similar to PCI IDE hardware may utilize several generic helpers, defining at a bare minimum the bus I/O addresses of the ATA shadow register blocks. </para> <sect1> <title>struct ata_port_operations</title> <sect2><title>Disable ATA port</title> <programlisting> void (*port_disable) (struct ata_port *); </programlisting> Loading @@ -78,6 +86,9 @@ void (*port_disable) (struct ata_port *); unplug). </para> </sect2> <sect2><title>Post-IDENTIFY device configuration</title> <programlisting> void (*dev_config) (struct ata_port *, struct ata_device *); </programlisting> Loading @@ -88,6 +99,9 @@ void (*dev_config) (struct ata_port *, struct ata_device *); issue of SET FEATURES - XFER MODE, and prior to operation. </para> </sect2> <sect2><title>Set PIO/DMA mode</title> <programlisting> void (*set_piomode) (struct ata_port *, struct ata_device *); void (*set_dmamode) (struct ata_port *, struct ata_device *); Loading @@ -108,6 +122,9 @@ void (*post_set_mode) (struct ata_port *ap); ->set_dma_mode() is only called if DMA is possible. </para> </sect2> <sect2><title>Taskfile read/write</title> <programlisting> void (*tf_load) (struct ata_port *ap, struct ata_taskfile *tf); void (*tf_read) (struct ata_port *ap, struct ata_taskfile *tf); Loading @@ -120,6 +137,9 @@ void (*tf_read) (struct ata_port *ap, struct ata_taskfile *tf); taskfile register values. </para> </sect2> <sect2><title>ATA command execute</title> <programlisting> void (*exec_command)(struct ata_port *ap, struct ata_taskfile *tf); </programlisting> Loading @@ -129,17 +149,37 @@ void (*exec_command)(struct ata_port *ap, struct ata_taskfile *tf); ->tf_load(), to be initiated in hardware. </para> </sect2> <sect2><title>Per-cmd ATAPI DMA capabilities filter</title> <programlisting> int (*check_atapi_dma) (struct ata_queued_cmd *qc); </programlisting> <para> Allow low-level driver to filter ATA PACKET commands, returning a status indicating whether or not it is OK to use DMA for the supplied PACKET command. </para> </sect2> <sect2><title>Read specific ATA shadow registers</title> <programlisting> u8 (*check_status)(struct ata_port *ap); void (*dev_select)(struct ata_port *ap, unsigned int device); u8 (*check_altstatus)(struct ata_port *ap); u8 (*check_err)(struct ata_port *ap); </programlisting> <para> Reads the Status ATA shadow register from hardware. On some hardware, this has the side effect of clearing the interrupt condition. Reads the Status/AltStatus/Error ATA shadow register from hardware. On some hardware, reading the Status register has the side effect of clearing the interrupt condition. </para> </sect2> <sect2><title>Select ATA device on bus</title> <programlisting> void (*dev_select)(struct ata_port *ap, unsigned int device); </programlisting> Loading @@ -147,9 +187,13 @@ void (*dev_select)(struct ata_port *ap, unsigned int device); <para> Issues the low-level hardware command(s) that causes one of N hardware devices to be considered 'selected' (active and available for use) on the ATA bus. available for use) on the ATA bus. This generally has no meaning on FIS-based devices. </para> </sect2> <sect2><title>Reset ATA bus</title> <programlisting> void (*phy_reset) (struct ata_port *ap); </programlisting> Loading @@ -162,17 +206,31 @@ void (*phy_reset) (struct ata_port *ap); functions ata_bus_reset() or sata_phy_reset() for this hook. </para> </sect2> <sect2><title>Control PCI IDE BMDMA engine</title> <programlisting> void (*bmdma_setup) (struct ata_queued_cmd *qc); void (*bmdma_start) (struct ata_queued_cmd *qc); void (*bmdma_stop) (struct ata_port *ap); u8 (*bmdma_status) (struct ata_port *ap); </programlisting> <para> When setting up an IDE BMDMA transaction, these hooks arm (->bmdma_setup) and fire (->bmdma_start) the hardware's DMA engine. (->bmdma_setup), fire (->bmdma_start), and halt (->bmdma_stop) the hardware's DMA engine. ->bmdma_status is used to read the standard PCI IDE DMA Status register. </para> <para> These hooks are typically either no-ops, or simply not implemented, in FIS-based drivers. </para> </sect2> <sect2><title>High-level taskfile hooks</title> <programlisting> void (*qc_prep) (struct ata_queued_cmd *qc); int (*qc_issue) (struct ata_queued_cmd *qc); Loading @@ -190,20 +248,26 @@ int (*qc_issue) (struct ata_queued_cmd *qc); ->qc_issue is used to make a command active, once the hardware and S/G tables have been prepared. IDE BMDMA drivers use the helper function ata_qc_issue_prot() for taskfile protocol-based dispatch. More advanced drivers roll their own ->qc_issue implementation, using this as the "issue new ATA command to hardware" hook. dispatch. More advanced drivers implement their own ->qc_issue. </para> </sect2> <sect2><title>Timeout (error) handling</title> <programlisting> void (*eng_timeout) (struct ata_port *ap); </programlisting> <para> This is a high level error handling function, called from the error handling thread, when a command times out. error handling thread, when a command times out. Most newer hardware will implement its own error handling code here. IDE BMDMA drivers may use the helper function ata_eng_timeout(). </para> </sect2> <sect2><title>Hardware interrupt handling</title> <programlisting> irqreturn_t (*irq_handler)(int, void *, struct pt_regs *); void (*irq_clear) (struct ata_port *); Loading @@ -216,6 +280,9 @@ void (*irq_clear) (struct ata_port *); is quiet. </para> </sect2> <sect2><title>SATA phy read/write</title> <programlisting> u32 (*scr_read) (struct ata_port *ap, unsigned int sc_reg); void (*scr_write) (struct ata_port *ap, unsigned int sc_reg, Loading @@ -227,6 +294,9 @@ void (*scr_write) (struct ata_port *ap, unsigned int sc_reg, if ->phy_reset hook called the sata_phy_reset() helper function. </para> </sect2> <sect2><title>Init and shutdown</title> <programlisting> int (*port_start) (struct ata_port *ap); void (*port_stop) (struct ata_port *ap); Loading @@ -240,15 +310,17 @@ void (*host_stop) (struct ata_host_set *host_set); tasks. </para> <para> ->host_stop() is called when the rmmod or hot unplug process begins. The hook must stop all hardware interrupts, DMA engines, etc. </para> <para> ->port_stop() is called after ->host_stop(). It's sole function is to release DMA/memory resources, now that they are no longer actively being used. </para> <para> ->host_stop() is called after all ->port_stop() calls have completed. The hook must finalize hardware shutdown, release DMA and other resources, etc. </para> </sect2> </sect1> </chapter> Loading Loading @@ -279,4 +351,24 @@ void (*host_stop) (struct ata_host_set *host_set); !Idrivers/scsi/sata_sil.c </chapter> <chapter id="libataThanks"> <title>Thanks</title> <para> The bulk of the ATA knowledge comes thanks to long conversations with Andre Hedrick (www.linux-ide.org), and long hours pondering the ATA and SCSI specifications. </para> <para> Thanks to Alan Cox for pointing out similarities between SATA and SCSI, and in general for motivation to hack on libata. </para> <para> libata's device detection method, ata_pio_devchk, and in general all the early probing was based on extensive study of Hale Landis's probe/reset code in his ATADRVR driver (www.ata-atapi.com). </para> </chapter> </book> Documentation/SubmittingPatches +7 −1 Original line number Diff line number Diff line Loading @@ -271,7 +271,7 @@ patch, which certifies that you wrote it or otherwise have the right to pass it on as a open-source patch. The rules are pretty simple: if you can certify the below: Developer's Certificate of Origin 1.0 Developer's Certificate of Origin 1.1 By making a contribution to this project, I certify that: Loading @@ -291,6 +291,12 @@ can certify the below: person who certified (a), (b) or (c) and I have not modified it. (d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. then you just add a line saying Signed-off-by: Random J Developer <random@developer.org> Loading Documentation/networking/vortex.txt +1 −1 Original line number Diff line number Diff line Loading @@ -12,7 +12,7 @@ Don is no longer the prime maintainer of this version of the driver. Please report problems to one or more of: Andrew Morton <andrewm@uow.edu.au> Netdev mailing list <netdev@oss.sgi.com> Netdev mailing list <netdev@vger.kernel.org> Linux kernel mailing list <linux-kernel@vger.kernel.org> Please note the 'Reporting and Diagnosing Problems' section at the end Loading MAINTAINERS +24 −24 Original line number Diff line number Diff line Loading @@ -73,7 +73,7 @@ S: Status, one of the following: 3C359 NETWORK DRIVER P: Mike Phillips M: mikep@linuxtr.net L: netdev@oss.sgi.com L: netdev@vger.kernel.org L: linux-tr@linuxtr.net W: http://www.linuxtr.net S: Maintained Loading @@ -81,13 +81,13 @@ S: Maintained 3C505 NETWORK DRIVER P: Philip Blundell M: philb@gnu.org L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained 3CR990 NETWORK DRIVER P: David Dillow M: dave@thedillows.org L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained 3W-XXXX ATA-RAID CONTROLLER DRIVER Loading Loading @@ -130,7 +130,7 @@ S: Maintained 8169 10/100/1000 GIGABIT ETHERNET DRIVER P: Francois Romieu M: romieu@fr.zoreil.com L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained 8250/16?50 (AND CLONE UARTS) SERIAL DRIVER Loading @@ -143,7 +143,7 @@ S: Maintained 8390 NETWORK DRIVERS [WD80x3/SMC-ELITE, SMC-ULTRA, NE2000, 3C503, etc.] P: Paul Gortmaker M: p_gortmaker@yahoo.com L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained A2232 SERIAL BOARD DRIVER Loading Loading @@ -332,7 +332,7 @@ S: Maintained ARPD SUPPORT P: Jonathan Layes L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained ASUS ACPI EXTRAS DRIVER Loading Loading @@ -706,7 +706,7 @@ S: Orphaned DIGI RIGHTSWITCH NETWORK DRIVER P: Rick Richardson L: netdev@oss.sgi.com L: netdev@vger.kernel.org W: http://www.digi.com S: Orphaned Loading Loading @@ -812,7 +812,7 @@ S: Maintained ETHEREXPRESS-16 NETWORK DRIVER P: Philip Blundell M: philb@gnu.org L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained ETHERNET BRIDGE Loading Loading @@ -875,7 +875,7 @@ S: Maintained FRAME RELAY DLCI/FRAD (Sangoma drivers too) P: Mike McLagan M: mike.mclagan@linux.org L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained FREEVXFS FILESYSTEM Loading Loading @@ -1215,7 +1215,7 @@ S: Maintained IPX NETWORK LAYER P: Arnaldo Carvalho de Melo M: acme@conectiva.com.br L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained IRDA SUBSYSTEM Loading Loading @@ -1482,7 +1482,7 @@ MARVELL MV64340 ETHERNET DRIVER P: Manish Lachwani M: Manish_Lachwani@pmc-sierra.com L: linux-mips@linux-mips.org L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Supported MATROX FRAMEBUFFER DRIVER Loading Loading @@ -1592,13 +1592,13 @@ P: Andrew Morton M: akpm@osdl.org P: Jeff Garzik M: jgarzik@pobox.com L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained NETWORKING [GENERAL] P: Networking Team M: netdev@oss.sgi.com L: netdev@oss.sgi.com M: netdev@vger.kernel.org L: netdev@vger.kernel.org S: Maintained NETWORKING [IPv4/IPv6] Loading @@ -1614,7 +1614,7 @@ P: Hideaki YOSHIFUJI M: yoshfuji@linux-ipv6.org P: Patrick McHardy M: kaber@coreworks.de L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained IPVS Loading @@ -1634,7 +1634,7 @@ NI5010 NETWORK DRIVER P: Jan-Pascal van Best and Andreas Mohr M: Jan-Pascal van Best <jvbest@qv3pluto.leidenuniv.nl> M: Andreas Mohr <100.30936@germany.net> L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained NINJA SCSI-3 / NINJA SCSI-32Bi (16bit/CardBus) PCMCIA SCSI HOST ADAPTER DRIVER Loading Loading @@ -1676,7 +1676,7 @@ P: Peter De Shrijver M: p2@ace.ulyssis.student.kuleuven.ac.be P: Mike Phillips M: mikep@linuxtr.net L: netdev@oss.sgi.com L: netdev@vger.kernel.org L: linux-tr@linuxtr.net W: http://www.linuxtr.net S: Maintained Loading Loading @@ -1783,7 +1783,7 @@ S: Unmaintained PCNET32 NETWORK DRIVER P: Thomas Bogendrfer M: tsbogend@alpha.franken.de L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained PHRAM MTD DRIVER Loading @@ -1795,7 +1795,7 @@ S: Maintained POSIX CLOCKS and TIMERS P: George Anzinger M: george@mvista.com L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Supported PNP SUPPORT Loading Loading @@ -1830,7 +1830,7 @@ S: Supported PRISM54 WIRELESS DRIVER P: Prism54 Development Team M: prism54-private@prism54.org L: netdev@oss.sgi.com L: netdev@vger.kernel.org W: http://prism54.org S: Maintained Loading Loading @@ -2047,7 +2047,7 @@ SIS 900/7016 FAST ETHERNET DRIVER P: Daniele Venzano M: venza@brownhat.org W: http://www.brownhat.org/sis900.html L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained SIS FRAMEBUFFER DRIVER Loading Loading @@ -2106,7 +2106,7 @@ S: Maintained SONIC NETWORK DRIVER P: Thomas Bogendoerfer M: tsbogend@alpha.franken.de L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained SONY VAIO CONTROL DEVICE DRIVER Loading Loading @@ -2163,7 +2163,7 @@ S: Supported SPX NETWORK LAYER P: Jay Schulist M: jschlst@samba.org L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Supported SRM (Alpha) environment access Loading Loading @@ -2242,7 +2242,7 @@ S: Maintained TOKEN-RING NETWORK DRIVER P: Mike Phillips M: mikep@linuxtr.net L: netdev@oss.sgi.com L: netdev@vger.kernel.org L: linux-tr@linuxtr.net W: http://www.linuxtr.net S: Maintained Loading Loading
CREDITS +1 −5 Original line number Diff line number Diff line Loading @@ -2475,13 +2475,9 @@ S: Potsdam, New York 13676 S: USA N: Dave Neuer E: dneuer@innovation-charter.com E: mr_fred_smoothie@yahoo.com E: dave.neuer@pobox.com D: Helped implement support for Compaq's H31xx series iPAQs D: Other mostly minor tweaks & bugfixes S: 325 E. Main St., Suite 3 S: Carnegie, PA 15105 S: USA N: Michael Neuffer E: mike@i-Connect.Net Loading
Documentation/DocBook/libata.tmpl +124 −32 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ </authorgroup> <copyright> <year>2003</year> <year>2003-2005</year> <holder>Jeff Garzik</holder> </copyright> Loading Loading @@ -44,30 +44,38 @@ <toc></toc> <chapter id="libataThanks"> <title>Thanks</title> <para> The bulk of the ATA knowledge comes thanks to long conversations with Andre Hedrick (www.linux-ide.org). </para> <chapter id="libataIntroduction"> <title>Introduction</title> <para> Thanks to Alan Cox for pointing out similarities between SATA and SCSI, and in general for motivation to hack on libata. libATA is a library used inside the Linux kernel to support ATA host controllers and devices. libATA provides an ATA driver API, class transports for ATA and ATAPI devices, and SCSI<->ATA translation for ATA devices according to the T10 SAT specification. </para> <para> libata's device detection method, ata_pio_devchk, and in general all the early probing was based on extensive study of Hale Landis's probe/reset code in his ATADRVR driver (www.ata-atapi.com). This Guide documents the libATA driver API, library functions, library internals, and a couple sample ATA low-level drivers. </para> </chapter> <chapter id="libataDriverApi"> <title>libata Driver API</title> <para> struct ata_port_operations is defined for every low-level libata hardware driver, and it controls how the low-level driver interfaces with the ATA and SCSI layers. </para> <para> FIS-based drivers will hook into the system with ->qc_prep() and ->qc_issue() high-level hooks. Hardware which behaves in a manner similar to PCI IDE hardware may utilize several generic helpers, defining at a bare minimum the bus I/O addresses of the ATA shadow register blocks. </para> <sect1> <title>struct ata_port_operations</title> <sect2><title>Disable ATA port</title> <programlisting> void (*port_disable) (struct ata_port *); </programlisting> Loading @@ -78,6 +86,9 @@ void (*port_disable) (struct ata_port *); unplug). </para> </sect2> <sect2><title>Post-IDENTIFY device configuration</title> <programlisting> void (*dev_config) (struct ata_port *, struct ata_device *); </programlisting> Loading @@ -88,6 +99,9 @@ void (*dev_config) (struct ata_port *, struct ata_device *); issue of SET FEATURES - XFER MODE, and prior to operation. </para> </sect2> <sect2><title>Set PIO/DMA mode</title> <programlisting> void (*set_piomode) (struct ata_port *, struct ata_device *); void (*set_dmamode) (struct ata_port *, struct ata_device *); Loading @@ -108,6 +122,9 @@ void (*post_set_mode) (struct ata_port *ap); ->set_dma_mode() is only called if DMA is possible. </para> </sect2> <sect2><title>Taskfile read/write</title> <programlisting> void (*tf_load) (struct ata_port *ap, struct ata_taskfile *tf); void (*tf_read) (struct ata_port *ap, struct ata_taskfile *tf); Loading @@ -120,6 +137,9 @@ void (*tf_read) (struct ata_port *ap, struct ata_taskfile *tf); taskfile register values. </para> </sect2> <sect2><title>ATA command execute</title> <programlisting> void (*exec_command)(struct ata_port *ap, struct ata_taskfile *tf); </programlisting> Loading @@ -129,17 +149,37 @@ void (*exec_command)(struct ata_port *ap, struct ata_taskfile *tf); ->tf_load(), to be initiated in hardware. </para> </sect2> <sect2><title>Per-cmd ATAPI DMA capabilities filter</title> <programlisting> int (*check_atapi_dma) (struct ata_queued_cmd *qc); </programlisting> <para> Allow low-level driver to filter ATA PACKET commands, returning a status indicating whether or not it is OK to use DMA for the supplied PACKET command. </para> </sect2> <sect2><title>Read specific ATA shadow registers</title> <programlisting> u8 (*check_status)(struct ata_port *ap); void (*dev_select)(struct ata_port *ap, unsigned int device); u8 (*check_altstatus)(struct ata_port *ap); u8 (*check_err)(struct ata_port *ap); </programlisting> <para> Reads the Status ATA shadow register from hardware. On some hardware, this has the side effect of clearing the interrupt condition. Reads the Status/AltStatus/Error ATA shadow register from hardware. On some hardware, reading the Status register has the side effect of clearing the interrupt condition. </para> </sect2> <sect2><title>Select ATA device on bus</title> <programlisting> void (*dev_select)(struct ata_port *ap, unsigned int device); </programlisting> Loading @@ -147,9 +187,13 @@ void (*dev_select)(struct ata_port *ap, unsigned int device); <para> Issues the low-level hardware command(s) that causes one of N hardware devices to be considered 'selected' (active and available for use) on the ATA bus. available for use) on the ATA bus. This generally has no meaning on FIS-based devices. </para> </sect2> <sect2><title>Reset ATA bus</title> <programlisting> void (*phy_reset) (struct ata_port *ap); </programlisting> Loading @@ -162,17 +206,31 @@ void (*phy_reset) (struct ata_port *ap); functions ata_bus_reset() or sata_phy_reset() for this hook. </para> </sect2> <sect2><title>Control PCI IDE BMDMA engine</title> <programlisting> void (*bmdma_setup) (struct ata_queued_cmd *qc); void (*bmdma_start) (struct ata_queued_cmd *qc); void (*bmdma_stop) (struct ata_port *ap); u8 (*bmdma_status) (struct ata_port *ap); </programlisting> <para> When setting up an IDE BMDMA transaction, these hooks arm (->bmdma_setup) and fire (->bmdma_start) the hardware's DMA engine. (->bmdma_setup), fire (->bmdma_start), and halt (->bmdma_stop) the hardware's DMA engine. ->bmdma_status is used to read the standard PCI IDE DMA Status register. </para> <para> These hooks are typically either no-ops, or simply not implemented, in FIS-based drivers. </para> </sect2> <sect2><title>High-level taskfile hooks</title> <programlisting> void (*qc_prep) (struct ata_queued_cmd *qc); int (*qc_issue) (struct ata_queued_cmd *qc); Loading @@ -190,20 +248,26 @@ int (*qc_issue) (struct ata_queued_cmd *qc); ->qc_issue is used to make a command active, once the hardware and S/G tables have been prepared. IDE BMDMA drivers use the helper function ata_qc_issue_prot() for taskfile protocol-based dispatch. More advanced drivers roll their own ->qc_issue implementation, using this as the "issue new ATA command to hardware" hook. dispatch. More advanced drivers implement their own ->qc_issue. </para> </sect2> <sect2><title>Timeout (error) handling</title> <programlisting> void (*eng_timeout) (struct ata_port *ap); </programlisting> <para> This is a high level error handling function, called from the error handling thread, when a command times out. error handling thread, when a command times out. Most newer hardware will implement its own error handling code here. IDE BMDMA drivers may use the helper function ata_eng_timeout(). </para> </sect2> <sect2><title>Hardware interrupt handling</title> <programlisting> irqreturn_t (*irq_handler)(int, void *, struct pt_regs *); void (*irq_clear) (struct ata_port *); Loading @@ -216,6 +280,9 @@ void (*irq_clear) (struct ata_port *); is quiet. </para> </sect2> <sect2><title>SATA phy read/write</title> <programlisting> u32 (*scr_read) (struct ata_port *ap, unsigned int sc_reg); void (*scr_write) (struct ata_port *ap, unsigned int sc_reg, Loading @@ -227,6 +294,9 @@ void (*scr_write) (struct ata_port *ap, unsigned int sc_reg, if ->phy_reset hook called the sata_phy_reset() helper function. </para> </sect2> <sect2><title>Init and shutdown</title> <programlisting> int (*port_start) (struct ata_port *ap); void (*port_stop) (struct ata_port *ap); Loading @@ -240,15 +310,17 @@ void (*host_stop) (struct ata_host_set *host_set); tasks. </para> <para> ->host_stop() is called when the rmmod or hot unplug process begins. The hook must stop all hardware interrupts, DMA engines, etc. </para> <para> ->port_stop() is called after ->host_stop(). It's sole function is to release DMA/memory resources, now that they are no longer actively being used. </para> <para> ->host_stop() is called after all ->port_stop() calls have completed. The hook must finalize hardware shutdown, release DMA and other resources, etc. </para> </sect2> </sect1> </chapter> Loading Loading @@ -279,4 +351,24 @@ void (*host_stop) (struct ata_host_set *host_set); !Idrivers/scsi/sata_sil.c </chapter> <chapter id="libataThanks"> <title>Thanks</title> <para> The bulk of the ATA knowledge comes thanks to long conversations with Andre Hedrick (www.linux-ide.org), and long hours pondering the ATA and SCSI specifications. </para> <para> Thanks to Alan Cox for pointing out similarities between SATA and SCSI, and in general for motivation to hack on libata. </para> <para> libata's device detection method, ata_pio_devchk, and in general all the early probing was based on extensive study of Hale Landis's probe/reset code in his ATADRVR driver (www.ata-atapi.com). </para> </chapter> </book>
Documentation/SubmittingPatches +7 −1 Original line number Diff line number Diff line Loading @@ -271,7 +271,7 @@ patch, which certifies that you wrote it or otherwise have the right to pass it on as a open-source patch. The rules are pretty simple: if you can certify the below: Developer's Certificate of Origin 1.0 Developer's Certificate of Origin 1.1 By making a contribution to this project, I certify that: Loading @@ -291,6 +291,12 @@ can certify the below: person who certified (a), (b) or (c) and I have not modified it. (d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. then you just add a line saying Signed-off-by: Random J Developer <random@developer.org> Loading
Documentation/networking/vortex.txt +1 −1 Original line number Diff line number Diff line Loading @@ -12,7 +12,7 @@ Don is no longer the prime maintainer of this version of the driver. Please report problems to one or more of: Andrew Morton <andrewm@uow.edu.au> Netdev mailing list <netdev@oss.sgi.com> Netdev mailing list <netdev@vger.kernel.org> Linux kernel mailing list <linux-kernel@vger.kernel.org> Please note the 'Reporting and Diagnosing Problems' section at the end Loading
MAINTAINERS +24 −24 Original line number Diff line number Diff line Loading @@ -73,7 +73,7 @@ S: Status, one of the following: 3C359 NETWORK DRIVER P: Mike Phillips M: mikep@linuxtr.net L: netdev@oss.sgi.com L: netdev@vger.kernel.org L: linux-tr@linuxtr.net W: http://www.linuxtr.net S: Maintained Loading @@ -81,13 +81,13 @@ S: Maintained 3C505 NETWORK DRIVER P: Philip Blundell M: philb@gnu.org L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained 3CR990 NETWORK DRIVER P: David Dillow M: dave@thedillows.org L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained 3W-XXXX ATA-RAID CONTROLLER DRIVER Loading Loading @@ -130,7 +130,7 @@ S: Maintained 8169 10/100/1000 GIGABIT ETHERNET DRIVER P: Francois Romieu M: romieu@fr.zoreil.com L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained 8250/16?50 (AND CLONE UARTS) SERIAL DRIVER Loading @@ -143,7 +143,7 @@ S: Maintained 8390 NETWORK DRIVERS [WD80x3/SMC-ELITE, SMC-ULTRA, NE2000, 3C503, etc.] P: Paul Gortmaker M: p_gortmaker@yahoo.com L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained A2232 SERIAL BOARD DRIVER Loading Loading @@ -332,7 +332,7 @@ S: Maintained ARPD SUPPORT P: Jonathan Layes L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained ASUS ACPI EXTRAS DRIVER Loading Loading @@ -706,7 +706,7 @@ S: Orphaned DIGI RIGHTSWITCH NETWORK DRIVER P: Rick Richardson L: netdev@oss.sgi.com L: netdev@vger.kernel.org W: http://www.digi.com S: Orphaned Loading Loading @@ -812,7 +812,7 @@ S: Maintained ETHEREXPRESS-16 NETWORK DRIVER P: Philip Blundell M: philb@gnu.org L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained ETHERNET BRIDGE Loading Loading @@ -875,7 +875,7 @@ S: Maintained FRAME RELAY DLCI/FRAD (Sangoma drivers too) P: Mike McLagan M: mike.mclagan@linux.org L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained FREEVXFS FILESYSTEM Loading Loading @@ -1215,7 +1215,7 @@ S: Maintained IPX NETWORK LAYER P: Arnaldo Carvalho de Melo M: acme@conectiva.com.br L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained IRDA SUBSYSTEM Loading Loading @@ -1482,7 +1482,7 @@ MARVELL MV64340 ETHERNET DRIVER P: Manish Lachwani M: Manish_Lachwani@pmc-sierra.com L: linux-mips@linux-mips.org L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Supported MATROX FRAMEBUFFER DRIVER Loading Loading @@ -1592,13 +1592,13 @@ P: Andrew Morton M: akpm@osdl.org P: Jeff Garzik M: jgarzik@pobox.com L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained NETWORKING [GENERAL] P: Networking Team M: netdev@oss.sgi.com L: netdev@oss.sgi.com M: netdev@vger.kernel.org L: netdev@vger.kernel.org S: Maintained NETWORKING [IPv4/IPv6] Loading @@ -1614,7 +1614,7 @@ P: Hideaki YOSHIFUJI M: yoshfuji@linux-ipv6.org P: Patrick McHardy M: kaber@coreworks.de L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained IPVS Loading @@ -1634,7 +1634,7 @@ NI5010 NETWORK DRIVER P: Jan-Pascal van Best and Andreas Mohr M: Jan-Pascal van Best <jvbest@qv3pluto.leidenuniv.nl> M: Andreas Mohr <100.30936@germany.net> L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained NINJA SCSI-3 / NINJA SCSI-32Bi (16bit/CardBus) PCMCIA SCSI HOST ADAPTER DRIVER Loading Loading @@ -1676,7 +1676,7 @@ P: Peter De Shrijver M: p2@ace.ulyssis.student.kuleuven.ac.be P: Mike Phillips M: mikep@linuxtr.net L: netdev@oss.sgi.com L: netdev@vger.kernel.org L: linux-tr@linuxtr.net W: http://www.linuxtr.net S: Maintained Loading Loading @@ -1783,7 +1783,7 @@ S: Unmaintained PCNET32 NETWORK DRIVER P: Thomas Bogendrfer M: tsbogend@alpha.franken.de L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained PHRAM MTD DRIVER Loading @@ -1795,7 +1795,7 @@ S: Maintained POSIX CLOCKS and TIMERS P: George Anzinger M: george@mvista.com L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Supported PNP SUPPORT Loading Loading @@ -1830,7 +1830,7 @@ S: Supported PRISM54 WIRELESS DRIVER P: Prism54 Development Team M: prism54-private@prism54.org L: netdev@oss.sgi.com L: netdev@vger.kernel.org W: http://prism54.org S: Maintained Loading Loading @@ -2047,7 +2047,7 @@ SIS 900/7016 FAST ETHERNET DRIVER P: Daniele Venzano M: venza@brownhat.org W: http://www.brownhat.org/sis900.html L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained SIS FRAMEBUFFER DRIVER Loading Loading @@ -2106,7 +2106,7 @@ S: Maintained SONIC NETWORK DRIVER P: Thomas Bogendoerfer M: tsbogend@alpha.franken.de L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Maintained SONY VAIO CONTROL DEVICE DRIVER Loading Loading @@ -2163,7 +2163,7 @@ S: Supported SPX NETWORK LAYER P: Jay Schulist M: jschlst@samba.org L: netdev@oss.sgi.com L: netdev@vger.kernel.org S: Supported SRM (Alpha) environment access Loading Loading @@ -2242,7 +2242,7 @@ S: Maintained TOKEN-RING NETWORK DRIVER P: Mike Phillips M: mikep@linuxtr.net L: netdev@oss.sgi.com L: netdev@vger.kernel.org L: linux-tr@linuxtr.net W: http://www.linuxtr.net S: Maintained Loading