summaryrefslogtreecommitdiffstats
path: root/include/linux/pci.h
diff options
context:
space:
mode:
authorChangbin Du <changbin.du@gmail.com>2019-05-14 10:47:24 -0400
committerBjorn Helgaas <bhelgaas@google.com>2019-05-30 18:52:53 -0400
commit229b4e0728e0a6ddca2645e73696d5b104fbbbfb (patch)
treea4889f0e2219287429a66e4b30edec378bcec241 /include/linux/pci.h
parentc42eaffa16568a538f12dfebd99624659992913a (diff)
Documentation: PCI: convert pci.txt to reST
Convert plain text documentation to reStructuredText format and add it to Sphinx TOC tree. No essential content change. Move the description of struct pci_driver and struct pci_device_id into in-source comments. Signed-off-by: Changbin Du <changbin.du@gmail.com> [bhelgaas: fix kernel-doc warnings related to moving descriptions to linux/pci.h, fix "space tab" whitespace errors in mod_devicetable.h] Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'include/linux/pci.h')
-rw-r--r--include/linux/pci.h48
1 files changed, 47 insertions, 1 deletions
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 4a5a84d7bdd4..b74b2a4e6df2 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -151,6 +151,8 @@ static inline const char *pci_power_name(pci_power_t state)
151#define PCI_PM_BUS_WAIT 50 151#define PCI_PM_BUS_WAIT 50
152 152
153/** 153/**
154 * typedef pci_channel_state_t
155 *
154 * The pci_channel state describes connectivity between the CPU and 156 * The pci_channel state describes connectivity between the CPU and
155 * the PCI device. If some PCI bus between here and the PCI device 157 * the PCI device. If some PCI bus between here and the PCI device
156 * has crashed or locked up, this info is reflected here. 158 * has crashed or locked up, this info is reflected here.
@@ -775,6 +777,50 @@ struct pci_error_handlers {
775 777
776 778
777struct module; 779struct module;
780
781/**
782 * struct pci_driver - PCI driver structure
783 * @node: List of driver structures.
784 * @name: Driver name.
785 * @id_table: Pointer to table of device IDs the driver is
786 * interested in. Most drivers should export this
787 * table using MODULE_DEVICE_TABLE(pci,...).
788 * @probe: This probing function gets called (during execution
789 * of pci_register_driver() for already existing
790 * devices or later if a new device gets inserted) for
791 * all PCI devices which match the ID table and are not
792 * "owned" by the other drivers yet. This function gets
793 * passed a "struct pci_dev \*" for each device whose
794 * entry in the ID table matches the device. The probe
795 * function returns zero when the driver chooses to
796 * take "ownership" of the device or an error code
797 * (negative number) otherwise.
798 * The probe function always gets called from process
799 * context, so it can sleep.
800 * @remove: The remove() function gets called whenever a device
801 * being handled by this driver is removed (either during
802 * deregistration of the driver or when it's manually
803 * pulled out of a hot-pluggable slot).
804 * The remove function always gets called from process
805 * context, so it can sleep.
806 * @suspend: Put device into low power state.
807 * @suspend_late: Put device into low power state.
808 * @resume_early: Wake device from low power state.
809 * @resume: Wake device from low power state.
810 * (Please see Documentation/power/pci.txt for descriptions
811 * of PCI Power Management and the related functions.)
812 * @shutdown: Hook into reboot_notifier_list (kernel/sys.c).
813 * Intended to stop any idling DMA operations.
814 * Useful for enabling wake-on-lan (NIC) or changing
815 * the power state of a device before reboot.
816 * e.g. drivers/net/e100.c.
817 * @sriov_configure: Optional driver callback to allow configuration of
818 * number of VFs to enable via sysfs "sriov_numvfs" file.
819 * @err_handler: See Documentation/PCI/pci-error-recovery.rst
820 * @groups: Sysfs attribute groups.
821 * @driver: Driver model structure.
822 * @dynids: List of dynamically added device IDs.
823 */
778struct pci_driver { 824struct pci_driver {
779 struct list_head node; 825 struct list_head node;
780 const char *name; 826 const char *name;
@@ -2206,7 +2252,7 @@ static inline u8 pci_vpd_srdt_tag(const u8 *srdt)
2206 2252
2207/** 2253/**
2208 * pci_vpd_info_field_size - Extracts the information field length 2254 * pci_vpd_info_field_size - Extracts the information field length
2209 * @lrdt: Pointer to the beginning of an information field header 2255 * @info_field: Pointer to the beginning of an information field header
2210 * 2256 *
2211 * Returns the extracted information field length. 2257 * Returns the extracted information field length.
2212 */ 2258 */