aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/message/fusion/mptbase.c255
-rw-r--r--drivers/message/fusion/mptfc.c5
-rw-r--r--drivers/message/fusion/mptscsih.c24
-rw-r--r--drivers/message/fusion/mptspi.c4
-rw-r--r--drivers/message/i2o/bus-osm.c3
-rw-r--r--drivers/message/i2o/device.c8
-rw-r--r--drivers/message/i2o/driver.c20
-rw-r--r--drivers/message/i2o/exec-osm.c10
-rw-r--r--drivers/message/i2o/i2o_block.c15
-rw-r--r--drivers/message/i2o/i2o_proc.c2
-rw-r--r--drivers/message/i2o/i2o_scsi.c11
-rw-r--r--drivers/message/i2o/pci.c5
-rw-r--r--include/linux/i2o.h18
13 files changed, 203 insertions, 177 deletions
diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c
index 051b7c5b8f03..6e068cf1049b 100644
--- a/drivers/message/fusion/mptbase.c
+++ b/drivers/message/fusion/mptbase.c
@@ -347,7 +347,7 @@ mpt_reply(MPT_ADAPTER *ioc, u32 pa)
347} 347}
348 348
349/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 349/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
350/* 350/**
351 * mpt_interrupt - MPT adapter (IOC) specific interrupt handler. 351 * mpt_interrupt - MPT adapter (IOC) specific interrupt handler.
352 * @irq: irq number (not used) 352 * @irq: irq number (not used)
353 * @bus_id: bus identifier cookie == pointer to MPT_ADAPTER structure 353 * @bus_id: bus identifier cookie == pointer to MPT_ADAPTER structure
@@ -387,14 +387,16 @@ mpt_interrupt(int irq, void *bus_id)
387} 387}
388 388
389/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 389/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
390/* 390/**
391 * mpt_base_reply - MPT base driver's callback routine; all base driver 391 * mpt_base_reply - MPT base driver's callback routine
392 * "internal" request/reply processing is routed here.
393 * Currently used for EventNotification and EventAck handling.
394 * @ioc: Pointer to MPT_ADAPTER structure 392 * @ioc: Pointer to MPT_ADAPTER structure
395 * @mf: Pointer to original MPT request frame 393 * @mf: Pointer to original MPT request frame
396 * @reply: Pointer to MPT reply frame (NULL if TurboReply) 394 * @reply: Pointer to MPT reply frame (NULL if TurboReply)
397 * 395 *
396 * MPT base driver's callback routine; all base driver
397 * "internal" request/reply processing is routed here.
398 * Currently used for EventNotification and EventAck handling.
399 *
398 * Returns 1 indicating original alloc'd request frame ptr 400 * Returns 1 indicating original alloc'd request frame ptr
399 * should be freed, or 0 if it shouldn't. 401 * should be freed, or 0 if it shouldn't.
400 */ 402 */
@@ -530,7 +532,7 @@ mpt_base_reply(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *reply)
530 * @dclass: Protocol driver's class (%MPT_DRIVER_CLASS enum value) 532 * @dclass: Protocol driver's class (%MPT_DRIVER_CLASS enum value)
531 * 533 *
532 * This routine is called by a protocol-specific driver (SCSI host, 534 * This routine is called by a protocol-specific driver (SCSI host,
533 * LAN, SCSI target) to register it's reply callback routine. Each 535 * LAN, SCSI target) to register its reply callback routine. Each
534 * protocol-specific driver must do this before it will be able to 536 * protocol-specific driver must do this before it will be able to
535 * use any IOC resources, such as obtaining request frames. 537 * use any IOC resources, such as obtaining request frames.
536 * 538 *
@@ -572,7 +574,7 @@ mpt_register(MPT_CALLBACK cbfunc, MPT_DRIVER_CLASS dclass)
572 * mpt_deregister - Deregister a protocol drivers resources. 574 * mpt_deregister - Deregister a protocol drivers resources.
573 * @cb_idx: previously registered callback handle 575 * @cb_idx: previously registered callback handle
574 * 576 *
575 * Each protocol-specific driver should call this routine when it's 577 * Each protocol-specific driver should call this routine when its
576 * module is unloaded. 578 * module is unloaded.
577 */ 579 */
578void 580void
@@ -617,7 +619,7 @@ mpt_event_register(int cb_idx, MPT_EVHANDLER ev_cbfunc)
617 * 619 *
618 * Each protocol-specific driver should call this routine 620 * Each protocol-specific driver should call this routine
619 * when it does not (or can no longer) handle events, 621 * when it does not (or can no longer) handle events,
620 * or when it's module is unloaded. 622 * or when its module is unloaded.
621 */ 623 */
622void 624void
623mpt_event_deregister(int cb_idx) 625mpt_event_deregister(int cb_idx)
@@ -656,7 +658,7 @@ mpt_reset_register(int cb_idx, MPT_RESETHANDLER reset_func)
656 * 658 *
657 * Each protocol-specific driver should call this routine 659 * Each protocol-specific driver should call this routine
658 * when it does not (or can no longer) handle IOC reset handling, 660 * when it does not (or can no longer) handle IOC reset handling,
659 * or when it's module is unloaded. 661 * or when its module is unloaded.
660 */ 662 */
661void 663void
662mpt_reset_deregister(int cb_idx) 664mpt_reset_deregister(int cb_idx)
@@ -670,6 +672,8 @@ mpt_reset_deregister(int cb_idx)
670/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 672/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
671/** 673/**
672 * mpt_device_driver_register - Register device driver hooks 674 * mpt_device_driver_register - Register device driver hooks
675 * @dd_cbfunc: driver callbacks struct
676 * @cb_idx: MPT protocol driver index
673 */ 677 */
674int 678int
675mpt_device_driver_register(struct mpt_pci_driver * dd_cbfunc, int cb_idx) 679mpt_device_driver_register(struct mpt_pci_driver * dd_cbfunc, int cb_idx)
@@ -696,6 +700,7 @@ mpt_device_driver_register(struct mpt_pci_driver * dd_cbfunc, int cb_idx)
696/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 700/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
697/** 701/**
698 * mpt_device_driver_deregister - DeRegister device driver hooks 702 * mpt_device_driver_deregister - DeRegister device driver hooks
703 * @cb_idx: MPT protocol driver index
699 */ 704 */
700void 705void
701mpt_device_driver_deregister(int cb_idx) 706mpt_device_driver_deregister(int cb_idx)
@@ -887,8 +892,7 @@ mpt_add_sge(char *pAddr, u32 flagslength, dma_addr_t dma_addr)
887 892
888/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 893/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
889/** 894/**
890 * mpt_send_handshake_request - Send MPT request via doorbell 895 * mpt_send_handshake_request - Send MPT request via doorbell handshake method.
891 * handshake method.
892 * @handle: Handle of registered MPT protocol driver 896 * @handle: Handle of registered MPT protocol driver
893 * @ioc: Pointer to MPT adapter structure 897 * @ioc: Pointer to MPT adapter structure
894 * @reqBytes: Size of the request in bytes 898 * @reqBytes: Size of the request in bytes
@@ -981,10 +985,13 @@ mpt_send_handshake_request(int handle, MPT_ADAPTER *ioc, int reqBytes, u32 *req,
981 985
982/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 986/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
983/** 987/**
984 * mpt_host_page_access_control - provides mechanism for the host 988 * mpt_host_page_access_control - control the IOC's Host Page Buffer access
985 * driver to control the IOC's Host Page Buffer access.
986 * @ioc: Pointer to MPT adapter structure 989 * @ioc: Pointer to MPT adapter structure
987 * @access_control_value: define bits below 990 * @access_control_value: define bits below
991 * @sleepFlag: Specifies whether the process can sleep
992 *
993 * Provides mechanism for the host driver to control the IOC's
994 * Host Page Buffer access.
988 * 995 *
989 * Access Control Value - bits[15:12] 996 * Access Control Value - bits[15:12]
990 * 0h Reserved 997 * 0h Reserved
@@ -1022,10 +1029,10 @@ mpt_host_page_access_control(MPT_ADAPTER *ioc, u8 access_control_value, int slee
1022/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 1029/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
1023/** 1030/**
1024 * mpt_host_page_alloc - allocate system memory for the fw 1031 * mpt_host_page_alloc - allocate system memory for the fw
1025 * If we already allocated memory in past, then resend the same pointer. 1032 * @ioc: Pointer to pointer to IOC adapter
1026 * ioc@: Pointer to pointer to IOC adapter 1033 * @ioc_init: Pointer to ioc init config page
1027 * ioc_init@: Pointer to ioc init config page
1028 * 1034 *
1035 * If we already allocated memory in past, then resend the same pointer.
1029 * Returns 0 for success, non-zero for failure. 1036 * Returns 0 for success, non-zero for failure.
1030 */ 1037 */
1031static int 1038static int
@@ -1091,12 +1098,15 @@ return 0;
1091 1098
1092/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 1099/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
1093/** 1100/**
1094 * mpt_verify_adapter - Given a unique IOC identifier, set pointer to 1101 * mpt_verify_adapter - Given IOC identifier, set pointer to its adapter structure.
1095 * the associated MPT adapter structure.
1096 * @iocid: IOC unique identifier (integer) 1102 * @iocid: IOC unique identifier (integer)
1097 * @iocpp: Pointer to pointer to IOC adapter 1103 * @iocpp: Pointer to pointer to IOC adapter
1098 * 1104 *
1099 * Returns iocid and sets iocpp. 1105 * Given a unique IOC identifier, set pointer to the associated MPT
1106 * adapter structure.
1107 *
1108 * Returns iocid and sets iocpp if iocid is found.
1109 * Returns -1 if iocid is not found.
1100 */ 1110 */
1101int 1111int
1102mpt_verify_adapter(int iocid, MPT_ADAPTER **iocpp) 1112mpt_verify_adapter(int iocid, MPT_ADAPTER **iocpp)
@@ -1115,9 +1125,10 @@ mpt_verify_adapter(int iocid, MPT_ADAPTER **iocpp)
1115} 1125}
1116 1126
1117/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 1127/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
1118/* 1128/**
1119 * mpt_attach - Install a PCI intelligent MPT adapter. 1129 * mpt_attach - Install a PCI intelligent MPT adapter.
1120 * @pdev: Pointer to pci_dev structure 1130 * @pdev: Pointer to pci_dev structure
1131 * @id: PCI device ID information
1121 * 1132 *
1122 * This routine performs all the steps necessary to bring the IOC of 1133 * This routine performs all the steps necessary to bring the IOC of
1123 * a MPT adapter to a OPERATIONAL state. This includes registering 1134 * a MPT adapter to a OPERATIONAL state. This includes registering
@@ -1417,10 +1428,9 @@ mpt_attach(struct pci_dev *pdev, const struct pci_device_id *id)
1417} 1428}
1418 1429
1419/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 1430/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
1420/* 1431/**
1421 * mpt_detach - Remove a PCI intelligent MPT adapter. 1432 * mpt_detach - Remove a PCI intelligent MPT adapter.
1422 * @pdev: Pointer to pci_dev structure 1433 * @pdev: Pointer to pci_dev structure
1423 *
1424 */ 1434 */
1425 1435
1426void 1436void
@@ -1466,10 +1476,10 @@ mpt_detach(struct pci_dev *pdev)
1466 */ 1476 */
1467#ifdef CONFIG_PM 1477#ifdef CONFIG_PM
1468/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 1478/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
1469/* 1479/**
1470 * mpt_suspend - Fusion MPT base driver suspend routine. 1480 * mpt_suspend - Fusion MPT base driver suspend routine.
1471 * 1481 * @pdev: Pointer to pci_dev structure
1472 * 1482 * @state: new state to enter
1473 */ 1483 */
1474int 1484int
1475mpt_suspend(struct pci_dev *pdev, pm_message_t state) 1485mpt_suspend(struct pci_dev *pdev, pm_message_t state)
@@ -1505,10 +1515,9 @@ mpt_suspend(struct pci_dev *pdev, pm_message_t state)
1505} 1515}
1506 1516
1507/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 1517/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
1508/* 1518/**
1509 * mpt_resume - Fusion MPT base driver resume routine. 1519 * mpt_resume - Fusion MPT base driver resume routine.
1510 * 1520 * @pdev: Pointer to pci_dev structure
1511 *
1512 */ 1521 */
1513int 1522int
1514mpt_resume(struct pci_dev *pdev) 1523mpt_resume(struct pci_dev *pdev)
@@ -1566,7 +1575,7 @@ mpt_signal_reset(int index, MPT_ADAPTER *ioc, int reset_phase)
1566} 1575}
1567 1576
1568/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 1577/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
1569/* 1578/**
1570 * mpt_do_ioc_recovery - Initialize or recover MPT adapter. 1579 * mpt_do_ioc_recovery - Initialize or recover MPT adapter.
1571 * @ioc: Pointer to MPT adapter structure 1580 * @ioc: Pointer to MPT adapter structure
1572 * @reason: Event word / reason 1581 * @reason: Event word / reason
@@ -1892,13 +1901,15 @@ mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason, int sleepFlag)
1892} 1901}
1893 1902
1894/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 1903/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
1895/* 1904/**
1896 * mpt_detect_bound_ports - Search for PCI bus/dev_function 1905 * mpt_detect_bound_ports - Search for matching PCI bus/dev_function
1897 * which matches PCI bus/dev_function (+/-1) for newly discovered 929,
1898 * 929X, 1030 or 1035.
1899 * @ioc: Pointer to MPT adapter structure 1906 * @ioc: Pointer to MPT adapter structure
1900 * @pdev: Pointer to (struct pci_dev) structure 1907 * @pdev: Pointer to (struct pci_dev) structure
1901 * 1908 *
1909 * Search for PCI bus/dev_function which matches
1910 * PCI bus/dev_function (+/-1) for newly discovered 929,
1911 * 929X, 1030 or 1035.
1912 *
1902 * If match on PCI dev_function +/-1 is found, bind the two MPT adapters 1913 * If match on PCI dev_function +/-1 is found, bind the two MPT adapters
1903 * using alt_ioc pointer fields in their %MPT_ADAPTER structures. 1914 * using alt_ioc pointer fields in their %MPT_ADAPTER structures.
1904 */ 1915 */
@@ -1945,9 +1956,9 @@ mpt_detect_bound_ports(MPT_ADAPTER *ioc, struct pci_dev *pdev)
1945} 1956}
1946 1957
1947/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 1958/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
1948/* 1959/**
1949 * mpt_adapter_disable - Disable misbehaving MPT adapter. 1960 * mpt_adapter_disable - Disable misbehaving MPT adapter.
1950 * @this: Pointer to MPT adapter structure 1961 * @ioc: Pointer to MPT adapter structure
1951 */ 1962 */
1952static void 1963static void
1953mpt_adapter_disable(MPT_ADAPTER *ioc) 1964mpt_adapter_disable(MPT_ADAPTER *ioc)
@@ -2046,9 +2057,8 @@ mpt_adapter_disable(MPT_ADAPTER *ioc)
2046} 2057}
2047 2058
2048/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 2059/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
2049/* 2060/**
2050 * mpt_adapter_dispose - Free all resources associated with a MPT 2061 * mpt_adapter_dispose - Free all resources associated with an MPT adapter
2051 * adapter.
2052 * @ioc: Pointer to MPT adapter structure 2062 * @ioc: Pointer to MPT adapter structure
2053 * 2063 *
2054 * This routine unregisters h/w resources and frees all alloc'd memory 2064 * This routine unregisters h/w resources and frees all alloc'd memory
@@ -2099,8 +2109,8 @@ mpt_adapter_dispose(MPT_ADAPTER *ioc)
2099} 2109}
2100 2110
2101/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 2111/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
2102/* 2112/**
2103 * MptDisplayIocCapabilities - Disply IOC's capacilities. 2113 * MptDisplayIocCapabilities - Disply IOC's capabilities.
2104 * @ioc: Pointer to MPT adapter structure 2114 * @ioc: Pointer to MPT adapter structure
2105 */ 2115 */
2106static void 2116static void
@@ -2142,7 +2152,7 @@ MptDisplayIocCapabilities(MPT_ADAPTER *ioc)
2142} 2152}
2143 2153
2144/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 2154/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
2145/* 2155/**
2146 * MakeIocReady - Get IOC to a READY state, using KickStart if needed. 2156 * MakeIocReady - Get IOC to a READY state, using KickStart if needed.
2147 * @ioc: Pointer to MPT_ADAPTER structure 2157 * @ioc: Pointer to MPT_ADAPTER structure
2148 * @force: Force hard KickStart of IOC 2158 * @force: Force hard KickStart of IOC
@@ -2279,7 +2289,7 @@ MakeIocReady(MPT_ADAPTER *ioc, int force, int sleepFlag)
2279} 2289}
2280 2290
2281/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 2291/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
2282/* 2292/**
2283 * mpt_GetIocState - Get the current state of a MPT adapter. 2293 * mpt_GetIocState - Get the current state of a MPT adapter.
2284 * @ioc: Pointer to MPT_ADAPTER structure 2294 * @ioc: Pointer to MPT_ADAPTER structure
2285 * @cooked: Request raw or cooked IOC state 2295 * @cooked: Request raw or cooked IOC state
@@ -2304,7 +2314,7 @@ mpt_GetIocState(MPT_ADAPTER *ioc, int cooked)
2304} 2314}
2305 2315
2306/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 2316/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
2307/* 2317/**
2308 * GetIocFacts - Send IOCFacts request to MPT adapter. 2318 * GetIocFacts - Send IOCFacts request to MPT adapter.
2309 * @ioc: Pointer to MPT_ADAPTER structure 2319 * @ioc: Pointer to MPT_ADAPTER structure
2310 * @sleepFlag: Specifies whether the process can sleep 2320 * @sleepFlag: Specifies whether the process can sleep
@@ -2478,7 +2488,7 @@ GetIocFacts(MPT_ADAPTER *ioc, int sleepFlag, int reason)
2478} 2488}
2479 2489
2480/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 2490/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
2481/* 2491/**
2482 * GetPortFacts - Send PortFacts request to MPT adapter. 2492 * GetPortFacts - Send PortFacts request to MPT adapter.
2483 * @ioc: Pointer to MPT_ADAPTER structure 2493 * @ioc: Pointer to MPT_ADAPTER structure
2484 * @portnum: Port number 2494 * @portnum: Port number
@@ -2545,7 +2555,7 @@ GetPortFacts(MPT_ADAPTER *ioc, int portnum, int sleepFlag)
2545} 2555}
2546 2556
2547/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 2557/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
2548/* 2558/**
2549 * SendIocInit - Send IOCInit request to MPT adapter. 2559 * SendIocInit - Send IOCInit request to MPT adapter.
2550 * @ioc: Pointer to MPT_ADAPTER structure 2560 * @ioc: Pointer to MPT_ADAPTER structure
2551 * @sleepFlag: Specifies whether the process can sleep 2561 * @sleepFlag: Specifies whether the process can sleep
@@ -2630,7 +2640,7 @@ SendIocInit(MPT_ADAPTER *ioc, int sleepFlag)
2630 } 2640 }
2631 2641
2632 /* No need to byte swap the multibyte fields in the reply 2642 /* No need to byte swap the multibyte fields in the reply
2633 * since we don't even look at it's contents. 2643 * since we don't even look at its contents.
2634 */ 2644 */
2635 2645
2636 dhsprintk((MYIOC_s_INFO_FMT "Sending PortEnable (req @ %p)\n", 2646 dhsprintk((MYIOC_s_INFO_FMT "Sending PortEnable (req @ %p)\n",
@@ -2672,7 +2682,7 @@ SendIocInit(MPT_ADAPTER *ioc, int sleepFlag)
2672} 2682}
2673 2683
2674/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 2684/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
2675/* 2685/**
2676 * SendPortEnable - Send PortEnable request to MPT adapter port. 2686 * SendPortEnable - Send PortEnable request to MPT adapter port.
2677 * @ioc: Pointer to MPT_ADAPTER structure 2687 * @ioc: Pointer to MPT_ADAPTER structure
2678 * @portnum: Port number to enable 2688 * @portnum: Port number to enable
@@ -2723,9 +2733,13 @@ SendPortEnable(MPT_ADAPTER *ioc, int portnum, int sleepFlag)
2723 return rc; 2733 return rc;
2724} 2734}
2725 2735
2726/* 2736/**
2727 * ioc: Pointer to MPT_ADAPTER structure 2737 * mpt_alloc_fw_memory - allocate firmware memory
2728 * size - total FW bytes 2738 * @ioc: Pointer to MPT_ADAPTER structure
2739 * @size: total FW bytes
2740 *
2741 * If memory has already been allocated, the same (cached) value
2742 * is returned.
2729 */ 2743 */
2730void 2744void
2731mpt_alloc_fw_memory(MPT_ADAPTER *ioc, int size) 2745mpt_alloc_fw_memory(MPT_ADAPTER *ioc, int size)
@@ -2742,9 +2756,12 @@ mpt_alloc_fw_memory(MPT_ADAPTER *ioc, int size)
2742 ioc->alloc_total += size; 2756 ioc->alloc_total += size;
2743 } 2757 }
2744} 2758}
2745/* 2759/**
2746 * If alt_img is NULL, delete from ioc structure. 2760 * mpt_free_fw_memory - free firmware memory
2747 * Else, delete a secondary image in same format. 2761 * @ioc: Pointer to MPT_ADAPTER structure
2762 *
2763 * If alt_img is NULL, delete from ioc structure.
2764 * Else, delete a secondary image in same format.
2748 */ 2765 */
2749void 2766void
2750mpt_free_fw_memory(MPT_ADAPTER *ioc) 2767mpt_free_fw_memory(MPT_ADAPTER *ioc)
@@ -2763,7 +2780,7 @@ mpt_free_fw_memory(MPT_ADAPTER *ioc)
2763 2780
2764 2781
2765/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 2782/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
2766/* 2783/**
2767 * mpt_do_upload - Construct and Send FWUpload request to MPT adapter port. 2784 * mpt_do_upload - Construct and Send FWUpload request to MPT adapter port.
2768 * @ioc: Pointer to MPT_ADAPTER structure 2785 * @ioc: Pointer to MPT_ADAPTER structure
2769 * @sleepFlag: Specifies whether the process can sleep 2786 * @sleepFlag: Specifies whether the process can sleep
@@ -2865,10 +2882,10 @@ mpt_do_upload(MPT_ADAPTER *ioc, int sleepFlag)
2865} 2882}
2866 2883
2867/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 2884/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
2868/* 2885/**
2869 * mpt_downloadboot - DownloadBoot code 2886 * mpt_downloadboot - DownloadBoot code
2870 * @ioc: Pointer to MPT_ADAPTER structure 2887 * @ioc: Pointer to MPT_ADAPTER structure
2871 * @flag: Specify which part of IOC memory is to be uploaded. 2888 * @pFwHeader: Pointer to firmware header info
2872 * @sleepFlag: Specifies whether the process can sleep 2889 * @sleepFlag: Specifies whether the process can sleep
2873 * 2890 *
2874 * FwDownloadBoot requires Programmed IO access. 2891 * FwDownloadBoot requires Programmed IO access.
@@ -3071,7 +3088,7 @@ mpt_downloadboot(MPT_ADAPTER *ioc, MpiFwHeader_t *pFwHeader, int sleepFlag)
3071} 3088}
3072 3089
3073/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 3090/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
3074/* 3091/**
3075 * KickStart - Perform hard reset of MPT adapter. 3092 * KickStart - Perform hard reset of MPT adapter.
3076 * @ioc: Pointer to MPT_ADAPTER structure 3093 * @ioc: Pointer to MPT_ADAPTER structure
3077 * @force: Force hard reset 3094 * @force: Force hard reset
@@ -3145,12 +3162,12 @@ KickStart(MPT_ADAPTER *ioc, int force, int sleepFlag)
3145} 3162}
3146 3163
3147/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 3164/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
3148/* 3165/**
3149 * mpt_diag_reset - Perform hard reset of the adapter. 3166 * mpt_diag_reset - Perform hard reset of the adapter.
3150 * @ioc: Pointer to MPT_ADAPTER structure 3167 * @ioc: Pointer to MPT_ADAPTER structure
3151 * @ignore: Set if to honor and clear to ignore 3168 * @ignore: Set if to honor and clear to ignore
3152 * the reset history bit 3169 * the reset history bit
3153 * @sleepflag: CAN_SLEEP if called in a non-interrupt thread, 3170 * @sleepFlag: CAN_SLEEP if called in a non-interrupt thread,
3154 * else set to NO_SLEEP (use mdelay instead) 3171 * else set to NO_SLEEP (use mdelay instead)
3155 * 3172 *
3156 * This routine places the adapter in diagnostic mode via the 3173 * This routine places the adapter in diagnostic mode via the
@@ -3436,11 +3453,12 @@ mpt_diag_reset(MPT_ADAPTER *ioc, int ignore, int sleepFlag)
3436} 3453}
3437 3454
3438/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 3455/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
3439/* 3456/**
3440 * SendIocReset - Send IOCReset request to MPT adapter. 3457 * SendIocReset - Send IOCReset request to MPT adapter.
3441 * @ioc: Pointer to MPT_ADAPTER structure 3458 * @ioc: Pointer to MPT_ADAPTER structure
3442 * @reset_type: reset type, expected values are 3459 * @reset_type: reset type, expected values are
3443 * %MPI_FUNCTION_IOC_MESSAGE_UNIT_RESET or %MPI_FUNCTION_IO_UNIT_RESET 3460 * %MPI_FUNCTION_IOC_MESSAGE_UNIT_RESET or %MPI_FUNCTION_IO_UNIT_RESET
3461 * @sleepFlag: Specifies whether the process can sleep
3444 * 3462 *
3445 * Send IOCReset request to the MPT adapter. 3463 * Send IOCReset request to the MPT adapter.
3446 * 3464 *
@@ -3494,11 +3512,12 @@ SendIocReset(MPT_ADAPTER *ioc, u8 reset_type, int sleepFlag)
3494} 3512}
3495 3513
3496/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 3514/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
3497/* 3515/**
3498 * initChainBuffers - Allocate memory for and initialize 3516 * initChainBuffers - Allocate memory for and initialize chain buffers
3499 * chain buffers, chain buffer control arrays and spinlock. 3517 * @ioc: Pointer to MPT_ADAPTER structure
3500 * @hd: Pointer to MPT_SCSI_HOST structure 3518 *
3501 * @init: If set, initialize the spin lock. 3519 * Allocates memory for and initializes chain buffers,
3520 * chain buffer control arrays and spinlock.
3502 */ 3521 */
3503static int 3522static int
3504initChainBuffers(MPT_ADAPTER *ioc) 3523initChainBuffers(MPT_ADAPTER *ioc)
@@ -3594,7 +3613,7 @@ initChainBuffers(MPT_ADAPTER *ioc)
3594} 3613}
3595 3614
3596/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 3615/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
3597/* 3616/**
3598 * PrimeIocFifos - Initialize IOC request and reply FIFOs. 3617 * PrimeIocFifos - Initialize IOC request and reply FIFOs.
3599 * @ioc: Pointer to MPT_ADAPTER structure 3618 * @ioc: Pointer to MPT_ADAPTER structure
3600 * 3619 *
@@ -3891,15 +3910,15 @@ mpt_handshake_req_reply_wait(MPT_ADAPTER *ioc, int reqBytes, u32 *req,
3891} 3910}
3892 3911
3893/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 3912/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
3894/* 3913/**
3895 * WaitForDoorbellAck - Wait for IOC to clear the IOP_DOORBELL_STATUS bit 3914 * WaitForDoorbellAck - Wait for IOC doorbell handshake acknowledge
3896 * in it's IntStatus register.
3897 * @ioc: Pointer to MPT_ADAPTER structure 3915 * @ioc: Pointer to MPT_ADAPTER structure
3898 * @howlong: How long to wait (in seconds) 3916 * @howlong: How long to wait (in seconds)
3899 * @sleepFlag: Specifies whether the process can sleep 3917 * @sleepFlag: Specifies whether the process can sleep
3900 * 3918 *
3901 * This routine waits (up to ~2 seconds max) for IOC doorbell 3919 * This routine waits (up to ~2 seconds max) for IOC doorbell
3902 * handshake ACKnowledge. 3920 * handshake ACKnowledge, indicated by the IOP_DOORBELL_STATUS
3921 * bit in its IntStatus register being clear.
3903 * 3922 *
3904 * Returns a negative value on failure, else wait loop count. 3923 * Returns a negative value on failure, else wait loop count.
3905 */ 3924 */
@@ -3942,14 +3961,14 @@ WaitForDoorbellAck(MPT_ADAPTER *ioc, int howlong, int sleepFlag)
3942} 3961}
3943 3962
3944/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 3963/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
3945/* 3964/**
3946 * WaitForDoorbellInt - Wait for IOC to set the HIS_DOORBELL_INTERRUPT bit 3965 * WaitForDoorbellInt - Wait for IOC to set its doorbell interrupt bit
3947 * in it's IntStatus register.
3948 * @ioc: Pointer to MPT_ADAPTER structure 3966 * @ioc: Pointer to MPT_ADAPTER structure
3949 * @howlong: How long to wait (in seconds) 3967 * @howlong: How long to wait (in seconds)
3950 * @sleepFlag: Specifies whether the process can sleep 3968 * @sleepFlag: Specifies whether the process can sleep
3951 * 3969 *
3952 * This routine waits (up to ~2 seconds max) for IOC doorbell interrupt. 3970 * This routine waits (up to ~2 seconds max) for IOC doorbell interrupt
3971 * (MPI_HIS_DOORBELL_INTERRUPT) to be set in the IntStatus register.
3953 * 3972 *
3954 * Returns a negative value on failure, else wait loop count. 3973 * Returns a negative value on failure, else wait loop count.
3955 */ 3974 */
@@ -3991,8 +4010,8 @@ WaitForDoorbellInt(MPT_ADAPTER *ioc, int howlong, int sleepFlag)
3991} 4010}
3992 4011
3993/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 4012/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
3994/* 4013/**
3995 * WaitForDoorbellReply - Wait for and capture a IOC handshake reply. 4014 * WaitForDoorbellReply - Wait for and capture an IOC handshake reply.
3996 * @ioc: Pointer to MPT_ADAPTER structure 4015 * @ioc: Pointer to MPT_ADAPTER structure
3997 * @howlong: How long to wait (in seconds) 4016 * @howlong: How long to wait (in seconds)
3998 * @sleepFlag: Specifies whether the process can sleep 4017 * @sleepFlag: Specifies whether the process can sleep
@@ -4077,7 +4096,7 @@ WaitForDoorbellReply(MPT_ADAPTER *ioc, int howlong, int sleepFlag)
4077} 4096}
4078 4097
4079/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 4098/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
4080/* 4099/**
4081 * GetLanConfigPages - Fetch LANConfig pages. 4100 * GetLanConfigPages - Fetch LANConfig pages.
4082 * @ioc: Pointer to MPT_ADAPTER structure 4101 * @ioc: Pointer to MPT_ADAPTER structure
4083 * 4102 *
@@ -4188,12 +4207,9 @@ GetLanConfigPages(MPT_ADAPTER *ioc)
4188} 4207}
4189 4208
4190/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 4209/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
4191/* 4210/**
4192 * mptbase_sas_persist_operation - Perform operation on SAS Persitent Table 4211 * mptbase_sas_persist_operation - Perform operation on SAS Persistent Table
4193 * @ioc: Pointer to MPT_ADAPTER structure 4212 * @ioc: Pointer to MPT_ADAPTER structure
4194 * @sas_address: 64bit SAS Address for operation.
4195 * @target_id: specified target for operation
4196 * @bus: specified bus for operation
4197 * @persist_opcode: see below 4213 * @persist_opcode: see below
4198 * 4214 *
4199 * MPI_SAS_OP_CLEAR_NOT_PRESENT - Free all persist TargetID mappings for 4215 * MPI_SAS_OP_CLEAR_NOT_PRESENT - Free all persist TargetID mappings for
@@ -4202,7 +4218,7 @@ GetLanConfigPages(MPT_ADAPTER *ioc)
4202 * 4218 *
4203 * NOTE: Don't use not this function during interrupt time. 4219 * NOTE: Don't use not this function during interrupt time.
4204 * 4220 *
4205 * Returns: 0 for success, non-zero error 4221 * Returns 0 for success, non-zero error
4206 */ 4222 */
4207 4223
4208/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 4224/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
@@ -4399,7 +4415,7 @@ mptbase_raid_process_event_data(MPT_ADAPTER *ioc,
4399} 4415}
4400 4416
4401/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 4417/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
4402/* 4418/**
4403 * GetIoUnitPage2 - Retrieve BIOS version and boot order information. 4419 * GetIoUnitPage2 - Retrieve BIOS version and boot order information.
4404 * @ioc: Pointer to MPT_ADAPTER structure 4420 * @ioc: Pointer to MPT_ADAPTER structure
4405 * 4421 *
@@ -4457,7 +4473,8 @@ GetIoUnitPage2(MPT_ADAPTER *ioc)
4457} 4473}
4458 4474
4459/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 4475/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
4460/* mpt_GetScsiPortSettings - read SCSI Port Page 0 and 2 4476/**
4477 * mpt_GetScsiPortSettings - read SCSI Port Page 0 and 2
4461 * @ioc: Pointer to a Adapter Strucutre 4478 * @ioc: Pointer to a Adapter Strucutre
4462 * @portnum: IOC port number 4479 * @portnum: IOC port number
4463 * 4480 *
@@ -4644,7 +4661,8 @@ mpt_GetScsiPortSettings(MPT_ADAPTER *ioc, int portnum)
4644} 4661}
4645 4662
4646/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 4663/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
4647/* mpt_readScsiDevicePageHeaders - save version and length of SDP1 4664/**
4665 * mpt_readScsiDevicePageHeaders - save version and length of SDP1
4648 * @ioc: Pointer to a Adapter Strucutre 4666 * @ioc: Pointer to a Adapter Strucutre
4649 * @portnum: IOC port number 4667 * @portnum: IOC port number
4650 * 4668 *
@@ -4996,9 +5014,8 @@ mpt_read_ioc_pg_1(MPT_ADAPTER *ioc)
4996} 5014}
4997 5015
4998/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 5016/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
4999/* 5017/**
5000 * SendEventNotification - Send EventNotification (on or off) request 5018 * SendEventNotification - Send EventNotification (on or off) request to adapter
5001 * to MPT adapter.
5002 * @ioc: Pointer to MPT_ADAPTER structure 5019 * @ioc: Pointer to MPT_ADAPTER structure
5003 * @EvSwitch: Event switch flags 5020 * @EvSwitch: Event switch flags
5004 */ 5021 */
@@ -5062,8 +5079,8 @@ SendEventAck(MPT_ADAPTER *ioc, EventNotificationReply_t *evnp)
5062/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 5079/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
5063/** 5080/**
5064 * mpt_config - Generic function to issue config message 5081 * mpt_config - Generic function to issue config message
5065 * @ioc - Pointer to an adapter structure 5082 * @ioc: Pointer to an adapter structure
5066 * @cfg - Pointer to a configuration structure. Struct contains 5083 * @pCfg: Pointer to a configuration structure. Struct contains
5067 * action, page address, direction, physical address 5084 * action, page address, direction, physical address
5068 * and pointer to a configuration page header 5085 * and pointer to a configuration page header
5069 * Page header is updated. 5086 * Page header is updated.
@@ -5188,8 +5205,8 @@ mpt_config(MPT_ADAPTER *ioc, CONFIGPARMS *pCfg)
5188} 5205}
5189 5206
5190/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 5207/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
5191/* 5208/**
5192 * mpt_timer_expired - Call back for timer process. 5209 * mpt_timer_expired - Callback for timer process.
5193 * Used only internal config functionality. 5210 * Used only internal config functionality.
5194 * @data: Pointer to MPT_SCSI_HOST recast as an unsigned long 5211 * @data: Pointer to MPT_SCSI_HOST recast as an unsigned long
5195 */ 5212 */
@@ -5214,12 +5231,12 @@ mpt_timer_expired(unsigned long data)
5214} 5231}
5215 5232
5216/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 5233/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
5217/* 5234/**
5218 * mpt_ioc_reset - Base cleanup for hard reset 5235 * mpt_ioc_reset - Base cleanup for hard reset
5219 * @ioc: Pointer to the adapter structure 5236 * @ioc: Pointer to the adapter structure
5220 * @reset_phase: Indicates pre- or post-reset functionality 5237 * @reset_phase: Indicates pre- or post-reset functionality
5221 * 5238 *
5222 * Remark: Free's resources with internally generated commands. 5239 * Remark: Frees resources with internally generated commands.
5223 */ 5240 */
5224static int 5241static int
5225mpt_ioc_reset(MPT_ADAPTER *ioc, int reset_phase) 5242mpt_ioc_reset(MPT_ADAPTER *ioc, int reset_phase)
@@ -5271,7 +5288,7 @@ mpt_ioc_reset(MPT_ADAPTER *ioc, int reset_phase)
5271 * procfs (%MPT_PROCFS_MPTBASEDIR/...) support stuff... 5288 * procfs (%MPT_PROCFS_MPTBASEDIR/...) support stuff...
5272 */ 5289 */
5273/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 5290/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
5274/* 5291/**
5275 * procmpt_create - Create %MPT_PROCFS_MPTBASEDIR entries. 5292 * procmpt_create - Create %MPT_PROCFS_MPTBASEDIR entries.
5276 * 5293 *
5277 * Returns 0 for success, non-zero for failure. 5294 * Returns 0 for success, non-zero for failure.
@@ -5297,7 +5314,7 @@ procmpt_create(void)
5297} 5314}
5298 5315
5299/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 5316/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
5300/* 5317/**
5301 * procmpt_destroy - Tear down %MPT_PROCFS_MPTBASEDIR entries. 5318 * procmpt_destroy - Tear down %MPT_PROCFS_MPTBASEDIR entries.
5302 * 5319 *
5303 * Returns 0 for success, non-zero for failure. 5320 * Returns 0 for success, non-zero for failure.
@@ -5311,16 +5328,16 @@ procmpt_destroy(void)
5311} 5328}
5312 5329
5313/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 5330/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
5314/* 5331/**
5315 * procmpt_summary_read - Handle read request from /proc/mpt/summary 5332 * procmpt_summary_read - Handle read request of a summary file
5316 * or from /proc/mpt/iocN/summary.
5317 * @buf: Pointer to area to write information 5333 * @buf: Pointer to area to write information
5318 * @start: Pointer to start pointer 5334 * @start: Pointer to start pointer
5319 * @offset: Offset to start writing 5335 * @offset: Offset to start writing
5320 * @request: 5336 * @request: Amount of read data requested
5321 * @eof: Pointer to EOF integer 5337 * @eof: Pointer to EOF integer
5322 * @data: Pointer 5338 * @data: Pointer
5323 * 5339 *
5340 * Handles read request from /proc/mpt/summary or /proc/mpt/iocN/summary.
5324 * Returns number of characters written to process performing the read. 5341 * Returns number of characters written to process performing the read.
5325 */ 5342 */
5326static int 5343static int
@@ -5355,12 +5372,12 @@ procmpt_summary_read(char *buf, char **start, off_t offset, int request, int *eo
5355} 5372}
5356 5373
5357/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 5374/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
5358/* 5375/**
5359 * procmpt_version_read - Handle read request from /proc/mpt/version. 5376 * procmpt_version_read - Handle read request from /proc/mpt/version.
5360 * @buf: Pointer to area to write information 5377 * @buf: Pointer to area to write information
5361 * @start: Pointer to start pointer 5378 * @start: Pointer to start pointer
5362 * @offset: Offset to start writing 5379 * @offset: Offset to start writing
5363 * @request: 5380 * @request: Amount of read data requested
5364 * @eof: Pointer to EOF integer 5381 * @eof: Pointer to EOF integer
5365 * @data: Pointer 5382 * @data: Pointer
5366 * 5383 *
@@ -5411,12 +5428,12 @@ procmpt_version_read(char *buf, char **start, off_t offset, int request, int *eo
5411} 5428}
5412 5429
5413/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 5430/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
5414/* 5431/**
5415 * procmpt_iocinfo_read - Handle read request from /proc/mpt/iocN/info. 5432 * procmpt_iocinfo_read - Handle read request from /proc/mpt/iocN/info.
5416 * @buf: Pointer to area to write information 5433 * @buf: Pointer to area to write information
5417 * @start: Pointer to start pointer 5434 * @start: Pointer to start pointer
5418 * @offset: Offset to start writing 5435 * @offset: Offset to start writing
5419 * @request: 5436 * @request: Amount of read data requested
5420 * @eof: Pointer to EOF integer 5437 * @eof: Pointer to EOF integer
5421 * @data: Pointer 5438 * @data: Pointer
5422 * 5439 *
@@ -5577,16 +5594,17 @@ mpt_print_ioc_summary(MPT_ADAPTER *ioc, char *buffer, int *size, int len, int sh
5577 */ 5594 */
5578/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 5595/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
5579/** 5596/**
5580 * mpt_HardResetHandler - Generic reset handler, issue SCSI Task 5597 * mpt_HardResetHandler - Generic reset handler
5581 * Management call based on input arg values. If TaskMgmt fails,
5582 * return associated SCSI request.
5583 * @ioc: Pointer to MPT_ADAPTER structure 5598 * @ioc: Pointer to MPT_ADAPTER structure
5584 * @sleepFlag: Indicates if sleep or schedule must be called. 5599 * @sleepFlag: Indicates if sleep or schedule must be called.
5585 * 5600 *
5601 * Issues SCSI Task Management call based on input arg values.
5602 * If TaskMgmt fails, returns associated SCSI request.
5603 *
5586 * Remark: _HardResetHandler can be invoked from an interrupt thread (timer) 5604 * Remark: _HardResetHandler can be invoked from an interrupt thread (timer)
5587 * or a non-interrupt thread. In the former, must not call schedule(). 5605 * or a non-interrupt thread. In the former, must not call schedule().
5588 * 5606 *
5589 * Remark: A return of -1 is a FATAL error case, as it means a 5607 * Note: A return of -1 is a FATAL error case, as it means a
5590 * FW reload/initialization failed. 5608 * FW reload/initialization failed.
5591 * 5609 *
5592 * Returns 0 for SUCCESS or -1 if FAILED. 5610 * Returns 0 for SUCCESS or -1 if FAILED.
@@ -5935,13 +5953,14 @@ EventDescriptionStr(u8 event, u32 evData0, char *evStr)
5935} 5953}
5936 5954
5937/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 5955/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
5938/* 5956/**
5939 * ProcessEventNotification - Route a received EventNotificationReply to 5957 * ProcessEventNotification - Route EventNotificationReply to all event handlers
5940 * all currently regeistered event handlers.
5941 * @ioc: Pointer to MPT_ADAPTER structure 5958 * @ioc: Pointer to MPT_ADAPTER structure
5942 * @pEventReply: Pointer to EventNotification reply frame 5959 * @pEventReply: Pointer to EventNotification reply frame
5943 * @evHandlers: Pointer to integer, number of event handlers 5960 * @evHandlers: Pointer to integer, number of event handlers
5944 * 5961 *
5962 * Routes a received EventNotificationReply to all currently registered
5963 * event handlers.
5945 * Returns sum of event handlers return values. 5964 * Returns sum of event handlers return values.
5946 */ 5965 */
5947static int 5966static int
@@ -6056,7 +6075,7 @@ ProcessEventNotification(MPT_ADAPTER *ioc, EventNotificationReply_t *pEventReply
6056} 6075}
6057 6076
6058/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 6077/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
6059/* 6078/**
6060 * mpt_fc_log_info - Log information returned from Fibre Channel IOC. 6079 * mpt_fc_log_info - Log information returned from Fibre Channel IOC.
6061 * @ioc: Pointer to MPT_ADAPTER structure 6080 * @ioc: Pointer to MPT_ADAPTER structure
6062 * @log_info: U32 LogInfo reply word from the IOC 6081 * @log_info: U32 LogInfo reply word from the IOC
@@ -6077,7 +6096,7 @@ mpt_fc_log_info(MPT_ADAPTER *ioc, u32 log_info)
6077} 6096}
6078 6097
6079/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 6098/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
6080/* 6099/**
6081 * mpt_spi_log_info - Log information returned from SCSI Parallel IOC. 6100 * mpt_spi_log_info - Log information returned from SCSI Parallel IOC.
6082 * @ioc: Pointer to MPT_ADAPTER structure 6101 * @ioc: Pointer to MPT_ADAPTER structure
6083 * @mr: Pointer to MPT reply frame 6102 * @mr: Pointer to MPT reply frame
@@ -6200,7 +6219,7 @@ mpt_spi_log_info(MPT_ADAPTER *ioc, u32 log_info)
6200 }; 6219 };
6201 6220
6202/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 6221/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
6203/* 6222/**
6204 * mpt_sas_log_info - Log information returned from SAS IOC. 6223 * mpt_sas_log_info - Log information returned from SAS IOC.
6205 * @ioc: Pointer to MPT_ADAPTER structure 6224 * @ioc: Pointer to MPT_ADAPTER structure
6206 * @log_info: U32 LogInfo reply word from the IOC 6225 * @log_info: U32 LogInfo reply word from the IOC
@@ -6255,7 +6274,7 @@ union loginfo_type {
6255} 6274}
6256 6275
6257/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 6276/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
6258/* 6277/**
6259 * mpt_sp_ioc_info - IOC information returned from SCSI Parallel IOC. 6278 * mpt_sp_ioc_info - IOC information returned from SCSI Parallel IOC.
6260 * @ioc: Pointer to MPT_ADAPTER structure 6279 * @ioc: Pointer to MPT_ADAPTER structure
6261 * @ioc_status: U32 IOCStatus word from IOC 6280 * @ioc_status: U32 IOCStatus word from IOC
@@ -6416,7 +6435,7 @@ EXPORT_SYMBOL(mpt_free_fw_memory);
6416EXPORT_SYMBOL(mptbase_sas_persist_operation); 6435EXPORT_SYMBOL(mptbase_sas_persist_operation);
6417 6436
6418/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 6437/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
6419/* 6438/**
6420 * fusion_init - Fusion MPT base driver initialization routine. 6439 * fusion_init - Fusion MPT base driver initialization routine.
6421 * 6440 *
6422 * Returns 0 for success, non-zero for failure. 6441 * Returns 0 for success, non-zero for failure.
@@ -6456,7 +6475,7 @@ fusion_init(void)
6456} 6475}
6457 6476
6458/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 6477/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
6459/* 6478/**
6460 * fusion_exit - Perform driver unload cleanup. 6479 * fusion_exit - Perform driver unload cleanup.
6461 * 6480 *
6462 * This routine frees all resources associated with each MPT adapter 6481 * This routine frees all resources associated with each MPT adapter
diff --git a/drivers/message/fusion/mptfc.c b/drivers/message/fusion/mptfc.c
index ef2b55e19910..ca2f9107f145 100644
--- a/drivers/message/fusion/mptfc.c
+++ b/drivers/message/fusion/mptfc.c
@@ -1395,8 +1395,7 @@ mptfc_ioc_reset(MPT_ADAPTER *ioc, int reset_phase)
1395 1395
1396/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 1396/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
1397/** 1397/**
1398 * mptfc_init - Register MPT adapter(s) as SCSI host(s) with 1398 * mptfc_init - Register MPT adapter(s) as SCSI host(s) with SCSI mid-layer.
1399 * linux scsi mid-layer.
1400 * 1399 *
1401 * Returns 0 for success, non-zero for failure. 1400 * Returns 0 for success, non-zero for failure.
1402 */ 1401 */
@@ -1440,7 +1439,7 @@ mptfc_init(void)
1440 1439
1441/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 1440/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
1442/** 1441/**
1443 * mptfc_remove - Removed fc infrastructure for devices 1442 * mptfc_remove - Remove fc infrastructure for devices
1444 * @pdev: Pointer to pci_dev structure 1443 * @pdev: Pointer to pci_dev structure
1445 * 1444 *
1446 */ 1445 */
diff --git a/drivers/message/fusion/mptscsih.c b/drivers/message/fusion/mptscsih.c
index 30524dc54b16..2c72c36b8171 100644
--- a/drivers/message/fusion/mptscsih.c
+++ b/drivers/message/fusion/mptscsih.c
@@ -1230,15 +1230,15 @@ mptscsih_host_info(MPT_ADAPTER *ioc, char *pbuf, off_t offset, int len)
1230/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 1230/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
1231/** 1231/**
1232 * mptscsih_proc_info - Return information about MPT adapter 1232 * mptscsih_proc_info - Return information about MPT adapter
1233 * @host: scsi host struct
1234 * @buffer: if write, user data; if read, buffer for user
1235 * @start: returns the buffer address
1236 * @offset: if write, 0; if read, the current offset into the buffer from
1237 * the previous read.
1238 * @length: if write, return length;
1239 * @func: write = 1; read = 0
1233 * 1240 *
1234 * (linux scsi_host_template.info routine) 1241 * (linux scsi_host_template.info routine)
1235 *
1236 * buffer: if write, user data; if read, buffer for user
1237 * length: if write, return length;
1238 * offset: if write, 0; if read, the current offset into the buffer from
1239 * the previous read.
1240 * hostno: scsi host number
1241 * func: if write = 1; if read = 0
1242 */ 1242 */
1243int 1243int
1244mptscsih_proc_info(struct Scsi_Host *host, char *buffer, char **start, off_t offset, 1244mptscsih_proc_info(struct Scsi_Host *host, char *buffer, char **start, off_t offset,
@@ -1902,8 +1902,7 @@ mptscsih_bus_reset(struct scsi_cmnd * SCpnt)
1902 1902
1903/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 1903/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
1904/** 1904/**
1905 * mptscsih_host_reset - Perform a SCSI host adapter RESET! 1905 * mptscsih_host_reset - Perform a SCSI host adapter RESET (new_eh variant)
1906 * new_eh variant
1907 * @SCpnt: Pointer to scsi_cmnd structure, IO which reset is due to 1906 * @SCpnt: Pointer to scsi_cmnd structure, IO which reset is due to
1908 * 1907 *
1909 * (linux scsi_host_template.eh_host_reset_handler routine) 1908 * (linux scsi_host_template.eh_host_reset_handler routine)
@@ -1949,8 +1948,7 @@ mptscsih_host_reset(struct scsi_cmnd *SCpnt)
1949 1948
1950/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 1949/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
1951/** 1950/**
1952 * mptscsih_tm_pending_wait - wait for pending task management request to 1951 * mptscsih_tm_pending_wait - wait for pending task management request to complete
1953 * complete.
1954 * @hd: Pointer to MPT host structure. 1952 * @hd: Pointer to MPT host structure.
1955 * 1953 *
1956 * Returns {SUCCESS,FAILED}. 1954 * Returns {SUCCESS,FAILED}.
@@ -1982,6 +1980,7 @@ mptscsih_tm_pending_wait(MPT_SCSI_HOST * hd)
1982/** 1980/**
1983 * mptscsih_tm_wait_for_completion - wait for completion of TM task 1981 * mptscsih_tm_wait_for_completion - wait for completion of TM task
1984 * @hd: Pointer to MPT host structure. 1982 * @hd: Pointer to MPT host structure.
1983 * @timeout: timeout in seconds
1985 * 1984 *
1986 * Returns {SUCCESS,FAILED}. 1985 * Returns {SUCCESS,FAILED}.
1987 */ 1986 */
@@ -3429,8 +3428,7 @@ mptscsih_do_cmd(MPT_SCSI_HOST *hd, INTERNAL_CMD *io)
3429/** 3428/**
3430 * mptscsih_synchronize_cache - Send SYNCHRONIZE_CACHE to all disks. 3429 * mptscsih_synchronize_cache - Send SYNCHRONIZE_CACHE to all disks.
3431 * @hd: Pointer to a SCSI HOST structure 3430 * @hd: Pointer to a SCSI HOST structure
3432 * @vtarget: per device private data 3431 * @vdevice: virtual target device
3433 * @lun: lun
3434 * 3432 *
3435 * Uses the ISR, but with special processing. 3433 * Uses the ISR, but with special processing.
3436 * MUST be single-threaded. 3434 * MUST be single-threaded.
diff --git a/drivers/message/fusion/mptspi.c b/drivers/message/fusion/mptspi.c
index f422c0d0621c..36641da59289 100644
--- a/drivers/message/fusion/mptspi.c
+++ b/drivers/message/fusion/mptspi.c
@@ -1100,8 +1100,7 @@ static struct pci_driver mptspi_driver = {
1100 1100
1101/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 1101/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
1102/** 1102/**
1103 * mptspi_init - Register MPT adapter(s) as SCSI host(s) with 1103 * mptspi_init - Register MPT adapter(s) as SCSI host(s) with SCSI mid-layer.
1104 * linux scsi mid-layer.
1105 * 1104 *
1106 * Returns 0 for success, non-zero for failure. 1105 * Returns 0 for success, non-zero for failure.
1107 */ 1106 */
@@ -1135,7 +1134,6 @@ mptspi_init(void)
1135/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 1134/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
1136/** 1135/**
1137 * mptspi_exit - Unregisters MPT adapter(s) 1136 * mptspi_exit - Unregisters MPT adapter(s)
1138 *
1139 */ 1137 */
1140static void __exit 1138static void __exit
1141mptspi_exit(void) 1139mptspi_exit(void)
diff --git a/drivers/message/i2o/bus-osm.c b/drivers/message/i2o/bus-osm.c
index d96c687aee93..c463dc2efc09 100644
--- a/drivers/message/i2o/bus-osm.c
+++ b/drivers/message/i2o/bus-osm.c
@@ -56,6 +56,9 @@ static int i2o_bus_scan(struct i2o_device *dev)
56/** 56/**
57 * i2o_bus_store_scan - Scan the I2O Bus Adapter 57 * i2o_bus_store_scan - Scan the I2O Bus Adapter
58 * @d: device which should be scanned 58 * @d: device which should be scanned
59 * @attr: device_attribute
60 * @buf: output buffer
61 * @count: buffer size
59 * 62 *
60 * Returns count. 63 * Returns count.
61 */ 64 */
diff --git a/drivers/message/i2o/device.c b/drivers/message/i2o/device.c
index 55757af4e3b2..b9df143e4ff1 100644
--- a/drivers/message/i2o/device.c
+++ b/drivers/message/i2o/device.c
@@ -54,8 +54,8 @@ static inline int i2o_device_issue_claim(struct i2o_device *dev, u32 cmd,
54 * @dev: I2O device to claim 54 * @dev: I2O device to claim
55 * @drv: I2O driver which wants to claim the device 55 * @drv: I2O driver which wants to claim the device
56 * 56 *
57 * Do the leg work to assign a device to a given OSM. If the claim succeed 57 * Do the leg work to assign a device to a given OSM. If the claim succeeds,
58 * the owner of the rimary. If the attempt fails a negative errno code 58 * the owner is the primary. If the attempt fails a negative errno code
59 * is returned. On success zero is returned. 59 * is returned. On success zero is returned.
60 */ 60 */
61int i2o_device_claim(struct i2o_device *dev) 61int i2o_device_claim(struct i2o_device *dev)
@@ -208,7 +208,7 @@ static struct i2o_device *i2o_device_alloc(void)
208 208
209/** 209/**
210 * i2o_device_add - allocate a new I2O device and add it to the IOP 210 * i2o_device_add - allocate a new I2O device and add it to the IOP
211 * @iop: I2O controller where the device is on 211 * @c: I2O controller that the device is on
212 * @entry: LCT entry of the I2O device 212 * @entry: LCT entry of the I2O device
213 * 213 *
214 * Allocate a new I2O device and initialize it with the LCT entry. The 214 * Allocate a new I2O device and initialize it with the LCT entry. The
@@ -280,7 +280,7 @@ err:
280 280
281/** 281/**
282 * i2o_device_remove - remove an I2O device from the I2O core 282 * i2o_device_remove - remove an I2O device from the I2O core
283 * @dev: I2O device which should be released 283 * @i2o_dev: I2O device which should be released
284 * 284 *
285 * Is used on I2O controller removal or LCT modification, when the device 285 * Is used on I2O controller removal or LCT modification, when the device
286 * is removed from the system. Note that the device could still hang 286 * is removed from the system. Note that the device could still hang
diff --git a/drivers/message/i2o/driver.c b/drivers/message/i2o/driver.c
index 7fc7399bd2ec..9104b65ff70f 100644
--- a/drivers/message/i2o/driver.c
+++ b/drivers/message/i2o/driver.c
@@ -34,9 +34,7 @@ static spinlock_t i2o_drivers_lock;
34static struct i2o_driver **i2o_drivers; 34static struct i2o_driver **i2o_drivers;
35 35
36/** 36/**
37 * i2o_bus_match - Tell if a I2O device class id match the class ids of 37 * i2o_bus_match - Tell if I2O device class id matches the class ids of the I2O driver (OSM)
38 * the I2O driver (OSM)
39 *
40 * @dev: device which should be verified 38 * @dev: device which should be verified
41 * @drv: the driver to match against 39 * @drv: the driver to match against
42 * 40 *
@@ -248,7 +246,7 @@ int i2o_driver_dispatch(struct i2o_controller *c, u32 m)
248 246
249/** 247/**
250 * i2o_driver_notify_controller_add_all - Send notify of added controller 248 * i2o_driver_notify_controller_add_all - Send notify of added controller
251 * to all I2O drivers 249 * @c: newly added controller
252 * 250 *
253 * Send notifications to all registered drivers that a new controller was 251 * Send notifications to all registered drivers that a new controller was
254 * added. 252 * added.
@@ -267,8 +265,8 @@ void i2o_driver_notify_controller_add_all(struct i2o_controller *c)
267} 265}
268 266
269/** 267/**
270 * i2o_driver_notify_controller_remove_all - Send notify of removed 268 * i2o_driver_notify_controller_remove_all - Send notify of removed controller
271 * controller to all I2O drivers 269 * @c: controller that is being removed
272 * 270 *
273 * Send notifications to all registered drivers that a controller was 271 * Send notifications to all registered drivers that a controller was
274 * removed. 272 * removed.
@@ -287,8 +285,8 @@ void i2o_driver_notify_controller_remove_all(struct i2o_controller *c)
287} 285}
288 286
289/** 287/**
290 * i2o_driver_notify_device_add_all - Send notify of added device to all 288 * i2o_driver_notify_device_add_all - Send notify of added device
291 * I2O drivers 289 * @i2o_dev: newly added I2O device
292 * 290 *
293 * Send notifications to all registered drivers that a device was added. 291 * Send notifications to all registered drivers that a device was added.
294 */ 292 */
@@ -306,8 +304,8 @@ void i2o_driver_notify_device_add_all(struct i2o_device *i2o_dev)
306} 304}
307 305
308/** 306/**
309 * i2o_driver_notify_device_remove_all - Send notify of removed device to 307 * i2o_driver_notify_device_remove_all - Send notify of removed device
310 * all I2O drivers 308 * @i2o_dev: device that is being removed
311 * 309 *
312 * Send notifications to all registered drivers that a device was removed. 310 * Send notifications to all registered drivers that a device was removed.
313 */ 311 */
@@ -362,7 +360,7 @@ int __init i2o_driver_init(void)
362/** 360/**
363 * i2o_driver_exit - clean up I2O drivers (OSMs) 361 * i2o_driver_exit - clean up I2O drivers (OSMs)
364 * 362 *
365 * Unregisters the I2O bus and free driver array. 363 * Unregisters the I2O bus and frees driver array.
366 */ 364 */
367void __exit i2o_driver_exit(void) 365void __exit i2o_driver_exit(void)
368{ 366{
diff --git a/drivers/message/i2o/exec-osm.c b/drivers/message/i2o/exec-osm.c
index 9e529d8dd5cb..902753b2c661 100644
--- a/drivers/message/i2o/exec-osm.c
+++ b/drivers/message/i2o/exec-osm.c
@@ -94,8 +94,8 @@ static struct i2o_exec_wait *i2o_exec_wait_alloc(void)
94}; 94};
95 95
96/** 96/**
97 * i2o_exec_wait_free - Free a i2o_exec_wait struct 97 * i2o_exec_wait_free - Free an i2o_exec_wait struct
98 * @i2o_exec_wait: I2O wait data which should be cleaned up 98 * @wait: I2O wait data which should be cleaned up
99 */ 99 */
100static void i2o_exec_wait_free(struct i2o_exec_wait *wait) 100static void i2o_exec_wait_free(struct i2o_exec_wait *wait)
101{ 101{
@@ -105,7 +105,7 @@ static void i2o_exec_wait_free(struct i2o_exec_wait *wait)
105/** 105/**
106 * i2o_msg_post_wait_mem - Post and wait a message with DMA buffers 106 * i2o_msg_post_wait_mem - Post and wait a message with DMA buffers
107 * @c: controller 107 * @c: controller
108 * @m: message to post 108 * @msg: message to post
109 * @timeout: time in seconds to wait 109 * @timeout: time in seconds to wait
110 * @dma: i2o_dma struct of the DMA buffer to free on failure 110 * @dma: i2o_dma struct of the DMA buffer to free on failure
111 * 111 *
@@ -269,6 +269,7 @@ static int i2o_msg_post_wait_complete(struct i2o_controller *c, u32 m,
269/** 269/**
270 * i2o_exec_show_vendor_id - Displays Vendor ID of controller 270 * i2o_exec_show_vendor_id - Displays Vendor ID of controller
271 * @d: device of which the Vendor ID should be displayed 271 * @d: device of which the Vendor ID should be displayed
272 * @attr: device_attribute to display
272 * @buf: buffer into which the Vendor ID should be printed 273 * @buf: buffer into which the Vendor ID should be printed
273 * 274 *
274 * Returns number of bytes printed into buffer. 275 * Returns number of bytes printed into buffer.
@@ -290,6 +291,7 @@ static ssize_t i2o_exec_show_vendor_id(struct device *d,
290/** 291/**
291 * i2o_exec_show_product_id - Displays Product ID of controller 292 * i2o_exec_show_product_id - Displays Product ID of controller
292 * @d: device of which the Product ID should be displayed 293 * @d: device of which the Product ID should be displayed
294 * @attr: device_attribute to display
293 * @buf: buffer into which the Product ID should be printed 295 * @buf: buffer into which the Product ID should be printed
294 * 296 *
295 * Returns number of bytes printed into buffer. 297 * Returns number of bytes printed into buffer.
@@ -365,7 +367,7 @@ static int i2o_exec_remove(struct device *dev)
365 367
366/** 368/**
367 * i2o_exec_lct_modified - Called on LCT NOTIFY reply 369 * i2o_exec_lct_modified - Called on LCT NOTIFY reply
368 * @c: I2O controller on which the LCT has modified 370 * @work: work struct for a specific controller
369 * 371 *
370 * This function handles asynchronus LCT NOTIFY replies. It parses the 372 * This function handles asynchronus LCT NOTIFY replies. It parses the
371 * new LCT and if the buffer for the LCT was to small sends a LCT NOTIFY 373 * new LCT and if the buffer for the LCT was to small sends a LCT NOTIFY
diff --git a/drivers/message/i2o/i2o_block.c b/drivers/message/i2o/i2o_block.c
index 70ae00253321..da9859f2caf2 100644
--- a/drivers/message/i2o/i2o_block.c
+++ b/drivers/message/i2o/i2o_block.c
@@ -259,7 +259,7 @@ static int i2o_block_device_unlock(struct i2o_device *dev, u32 media_id)
259/** 259/**
260 * i2o_block_device_power - Power management for device dev 260 * i2o_block_device_power - Power management for device dev
261 * @dev: I2O device which should receive the power management request 261 * @dev: I2O device which should receive the power management request
262 * @operation: Operation which should be send 262 * @op: Operation to send
263 * 263 *
264 * Send a power management request to the device dev. 264 * Send a power management request to the device dev.
265 * 265 *
@@ -315,7 +315,7 @@ static inline struct i2o_block_request *i2o_block_request_alloc(void)
315 * i2o_block_request_free - Frees a I2O block request 315 * i2o_block_request_free - Frees a I2O block request
316 * @ireq: I2O block request which should be freed 316 * @ireq: I2O block request which should be freed
317 * 317 *
318 * Fres the allocated memory (give it back to the request mempool). 318 * Frees the allocated memory (give it back to the request mempool).
319 */ 319 */
320static inline void i2o_block_request_free(struct i2o_block_request *ireq) 320static inline void i2o_block_request_free(struct i2o_block_request *ireq)
321{ 321{
@@ -326,6 +326,7 @@ static inline void i2o_block_request_free(struct i2o_block_request *ireq)
326 * i2o_block_sglist_alloc - Allocate the SG list and map it 326 * i2o_block_sglist_alloc - Allocate the SG list and map it
327 * @c: I2O controller to which the request belongs 327 * @c: I2O controller to which the request belongs
328 * @ireq: I2O block request 328 * @ireq: I2O block request
329 * @mptr: message body pointer
329 * 330 *
330 * Builds the SG list and map it to be accessable by the controller. 331 * Builds the SG list and map it to be accessable by the controller.
331 * 332 *
@@ -490,7 +491,7 @@ static void i2o_block_end_request(struct request *req, int uptodate,
490 * i2o_block_reply - Block OSM reply handler. 491 * i2o_block_reply - Block OSM reply handler.
491 * @c: I2O controller from which the message arrives 492 * @c: I2O controller from which the message arrives
492 * @m: message id of reply 493 * @m: message id of reply
493 * qmsg: the actuall I2O message reply 494 * @msg: the actual I2O message reply
494 * 495 *
495 * This function gets all the message replies. 496 * This function gets all the message replies.
496 * 497 *
@@ -602,6 +603,8 @@ static void i2o_block_biosparam(unsigned long capacity, unsigned short *cyls,
602 603
603/** 604/**
604 * i2o_block_open - Open the block device 605 * i2o_block_open - Open the block device
606 * @inode: inode for block device being opened
607 * @file: file to open
605 * 608 *
606 * Power up the device, mount and lock the media. This function is called, 609 * Power up the device, mount and lock the media. This function is called,
607 * if the block device is opened for access. 610 * if the block device is opened for access.
@@ -629,6 +632,8 @@ static int i2o_block_open(struct inode *inode, struct file *file)
629 632
630/** 633/**
631 * i2o_block_release - Release the I2O block device 634 * i2o_block_release - Release the I2O block device
635 * @inode: inode for block device being released
636 * @file: file to close
632 * 637 *
633 * Unlock and unmount the media, and power down the device. Gets called if 638 * Unlock and unmount the media, and power down the device. Gets called if
634 * the block device is closed. 639 * the block device is closed.
@@ -675,6 +680,8 @@ static int i2o_block_getgeo(struct block_device *bdev, struct hd_geometry *geo)
675 680
676/** 681/**
677 * i2o_block_ioctl - Issue device specific ioctl calls. 682 * i2o_block_ioctl - Issue device specific ioctl calls.
683 * @inode: inode for block device ioctl
684 * @file: file for ioctl
678 * @cmd: ioctl command 685 * @cmd: ioctl command
679 * @arg: arg 686 * @arg: arg
680 * 687 *
@@ -902,7 +909,7 @@ static int i2o_block_transfer(struct request *req)
902 909
903/** 910/**
904 * i2o_block_request_fn - request queue handling function 911 * i2o_block_request_fn - request queue handling function
905 * q: request queue from which the request could be fetched 912 * @q: request queue from which the request could be fetched
906 * 913 *
907 * Takes the next request from the queue, transfers it and if no error 914 * Takes the next request from the queue, transfers it and if no error
908 * occurs dequeue it from the queue. On arrival of the reply the message 915 * occurs dequeue it from the queue. On arrival of the reply the message
diff --git a/drivers/message/i2o/i2o_proc.c b/drivers/message/i2o/i2o_proc.c
index 3d2e76eea93e..a61cb17c5c12 100644
--- a/drivers/message/i2o/i2o_proc.c
+++ b/drivers/message/i2o/i2o_proc.c
@@ -163,7 +163,7 @@ static int print_serial_number(struct seq_file *seq, u8 * serialno, int max_len)
163 * i2o_get_class_name - do i2o class name lookup 163 * i2o_get_class_name - do i2o class name lookup
164 * @class: class number 164 * @class: class number
165 * 165 *
166 * Return a descriptive string for an i2o class 166 * Return a descriptive string for an i2o class.
167 */ 167 */
168static const char *i2o_get_class_name(int class) 168static const char *i2o_get_class_name(int class)
169{ 169{
diff --git a/drivers/message/i2o/i2o_scsi.c b/drivers/message/i2o/i2o_scsi.c
index d5f93b12b6f1..1045c8a518bb 100644
--- a/drivers/message/i2o/i2o_scsi.c
+++ b/drivers/message/i2o/i2o_scsi.c
@@ -411,8 +411,7 @@ static void i2o_scsi_notify_device_add(struct i2o_device *i2o_dev)
411}; 411};
412 412
413/** 413/**
414 * i2o_scsi_notify_device_remove - Retrieve notifications of removed 414 * i2o_scsi_notify_device_remove - Retrieve notifications of removed devices
415 * devices
416 * @i2o_dev: the I2O device which was removed 415 * @i2o_dev: the I2O device which was removed
417 * 416 *
418 * If a I2O device is removed, we catch the notification to remove the 417 * If a I2O device is removed, we catch the notification to remove the
@@ -432,8 +431,7 @@ static void i2o_scsi_notify_device_remove(struct i2o_device *i2o_dev)
432}; 431};
433 432
434/** 433/**
435 * i2o_scsi_notify_controller_add - Retrieve notifications of added 434 * i2o_scsi_notify_controller_add - Retrieve notifications of added controllers
436 * controllers
437 * @c: the controller which was added 435 * @c: the controller which was added
438 * 436 *
439 * If a I2O controller is added, we catch the notification to add a 437 * If a I2O controller is added, we catch the notification to add a
@@ -463,8 +461,7 @@ static void i2o_scsi_notify_controller_add(struct i2o_controller *c)
463}; 461};
464 462
465/** 463/**
466 * i2o_scsi_notify_controller_remove - Retrieve notifications of removed 464 * i2o_scsi_notify_controller_remove - Retrieve notifications of removed controllers
467 * controllers
468 * @c: the controller which was removed 465 * @c: the controller which was removed
469 * 466 *
470 * If a I2O controller is removed, we catch the notification to remove the 467 * If a I2O controller is removed, we catch the notification to remove the
@@ -751,7 +748,7 @@ static int i2o_scsi_abort(struct scsi_cmnd *SCpnt)
751 * @capacity: size in sectors 748 * @capacity: size in sectors
752 * @ip: geometry array 749 * @ip: geometry array
753 * 750 *
754 * This is anyones guess quite frankly. We use the same rules everyone 751 * This is anyone's guess quite frankly. We use the same rules everyone
755 * else appears to and hope. It seems to work. 752 * else appears to and hope. It seems to work.
756 */ 753 */
757 754
diff --git a/drivers/message/i2o/pci.c b/drivers/message/i2o/pci.c
index 8287f95c8c42..3661e6e065d2 100644
--- a/drivers/message/i2o/pci.c
+++ b/drivers/message/i2o/pci.c
@@ -259,6 +259,7 @@ static irqreturn_t i2o_pci_interrupt(int irq, void *dev_id)
259 259
260/** 260/**
261 * i2o_pci_irq_enable - Allocate interrupt for I2O controller 261 * i2o_pci_irq_enable - Allocate interrupt for I2O controller
262 * @c: i2o_controller that the request is for
262 * 263 *
263 * Allocate an interrupt for the I2O controller, and activate interrupts 264 * Allocate an interrupt for the I2O controller, and activate interrupts
264 * on the I2O controller. 265 * on the I2O controller.
@@ -305,7 +306,7 @@ static void i2o_pci_irq_disable(struct i2o_controller *c)
305 306
306/** 307/**
307 * i2o_pci_probe - Probe the PCI device for an I2O controller 308 * i2o_pci_probe - Probe the PCI device for an I2O controller
308 * @dev: PCI device to test 309 * @pdev: PCI device to test
309 * @id: id which matched with the PCI device id table 310 * @id: id which matched with the PCI device id table
310 * 311 *
311 * Probe the PCI device for any device which is a memory of the 312 * Probe the PCI device for any device which is a memory of the
@@ -447,7 +448,7 @@ static int __devinit i2o_pci_probe(struct pci_dev *pdev,
447 448
448/** 449/**
449 * i2o_pci_remove - Removes a I2O controller from the system 450 * i2o_pci_remove - Removes a I2O controller from the system
450 * pdev: I2O controller which should be removed 451 * @pdev: I2O controller which should be removed
451 * 452 *
452 * Reset the I2O controller, disable interrupts and remove all allocated 453 * Reset the I2O controller, disable interrupts and remove all allocated
453 * resources. 454 * resources.
diff --git a/include/linux/i2o.h b/include/linux/i2o.h
index 2514f4e286b7..52f53e2e70c3 100644
--- a/include/linux/i2o.h
+++ b/include/linux/i2o.h
@@ -986,7 +986,8 @@ extern void i2o_driver_unregister(struct i2o_driver *);
986 986
987/** 987/**
988 * i2o_driver_notify_controller_add - Send notification of added controller 988 * i2o_driver_notify_controller_add - Send notification of added controller
989 * to a single I2O driver 989 * @drv: I2O driver
990 * @c: I2O controller
990 * 991 *
991 * Send notification of added controller to a single registered driver. 992 * Send notification of added controller to a single registered driver.
992 */ 993 */
@@ -998,8 +999,9 @@ static inline void i2o_driver_notify_controller_add(struct i2o_driver *drv,
998}; 999};
999 1000
1000/** 1001/**
1001 * i2o_driver_notify_controller_remove - Send notification of removed 1002 * i2o_driver_notify_controller_remove - Send notification of removed controller
1002 * controller to a single I2O driver 1003 * @drv: I2O driver
1004 * @c: I2O controller
1003 * 1005 *
1004 * Send notification of removed controller to a single registered driver. 1006 * Send notification of removed controller to a single registered driver.
1005 */ 1007 */
@@ -1011,8 +1013,9 @@ static inline void i2o_driver_notify_controller_remove(struct i2o_driver *drv,
1011}; 1013};
1012 1014
1013/** 1015/**
1014 * i2o_driver_notify_device_add - Send notification of added device to a 1016 * i2o_driver_notify_device_add - Send notification of added device
1015 * single I2O driver 1017 * @drv: I2O driver
1018 * @i2o_dev: the added i2o_device
1016 * 1019 *
1017 * Send notification of added device to a single registered driver. 1020 * Send notification of added device to a single registered driver.
1018 */ 1021 */
@@ -1025,7 +1028,8 @@ static inline void i2o_driver_notify_device_add(struct i2o_driver *drv,
1025 1028
1026/** 1029/**
1027 * i2o_driver_notify_device_remove - Send notification of removed device 1030 * i2o_driver_notify_device_remove - Send notification of removed device
1028 * to a single I2O driver 1031 * @drv: I2O driver
1032 * @i2o_dev: the added i2o_device
1029 * 1033 *
1030 * Send notification of removed device to a single registered driver. 1034 * Send notification of removed device to a single registered driver.
1031 */ 1035 */
@@ -1148,7 +1152,7 @@ static inline void i2o_msg_post(struct i2o_controller *c,
1148/** 1152/**
1149 * i2o_msg_post_wait - Post and wait a message and wait until return 1153 * i2o_msg_post_wait - Post and wait a message and wait until return
1150 * @c: controller 1154 * @c: controller
1151 * @m: message to post 1155 * @msg: message to post
1152 * @timeout: time in seconds to wait 1156 * @timeout: time in seconds to wait
1153 * 1157 *
1154 * This API allows an OSM to post a message and then be told whether or 1158 * This API allows an OSM to post a message and then be told whether or