Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

NTB: Fix Sparse Warnings

Address the sparse warnings and resulting fallout

Signed-off-by: Jon Mason <jon.mason@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Jon Mason and committed by
Greg Kroah-Hartman
74465645 719234f9

+20 -20
+2 -2
drivers/ntb/ntb_hw.c
··· 104 104 * RETURNS: An appropriate -ERRNO error value on error, or zero for success. 105 105 */ 106 106 int ntb_register_event_callback(struct ntb_device *ndev, 107 - void (*func)(void *handle, unsigned int event)) 107 + void (*func)(void *handle, enum ntb_hw_event event)) 108 108 { 109 109 if (ndev->event_cb) 110 110 return -EINVAL; ··· 343 343 * 344 344 * RETURNS: pointer to virtual address, or NULL on error. 345 345 */ 346 - void *ntb_get_mw_vbase(struct ntb_device *ndev, unsigned int mw) 346 + void __iomem *ntb_get_mw_vbase(struct ntb_device *ndev, unsigned int mw) 347 347 { 348 348 if (mw > NTB_NUM_MW) 349 349 return NULL;
+2 -2
drivers/ntb/ntb_hw.h
··· 165 165 void ntb_unregister_db_callback(struct ntb_device *ndev, unsigned int idx); 166 166 int ntb_register_event_callback(struct ntb_device *ndev, 167 167 void (*event_cb_func) (void *handle, 168 - unsigned int event)); 168 + enum ntb_hw_event event)); 169 169 void ntb_unregister_event_callback(struct ntb_device *ndev); 170 170 int ntb_get_max_spads(struct ntb_device *ndev); 171 171 int ntb_write_local_spad(struct ntb_device *ndev, unsigned int idx, u32 val); 172 172 int ntb_read_local_spad(struct ntb_device *ndev, unsigned int idx, u32 *val); 173 173 int ntb_write_remote_spad(struct ntb_device *ndev, unsigned int idx, u32 val); 174 174 int ntb_read_remote_spad(struct ntb_device *ndev, unsigned int idx, u32 *val); 175 - void *ntb_get_mw_vbase(struct ntb_device *ndev, unsigned int mw); 175 + void __iomem *ntb_get_mw_vbase(struct ntb_device *ndev, unsigned int mw); 176 176 resource_size_t ntb_get_mw_size(struct ntb_device *ndev, unsigned int mw); 177 177 void ntb_ring_sdb(struct ntb_device *ndev, unsigned int idx); 178 178 void *ntb_find_transport(struct pci_dev *pdev);
+16 -16
drivers/ntb/ntb_transport.c
··· 58 58 #include <linux/ntb.h> 59 59 #include "ntb_hw.h" 60 60 61 - #define NTB_TRANSPORT_VERSION 1 61 + #define NTB_TRANSPORT_VERSION 2 62 62 63 63 static unsigned int transport_mtu = 0x401E; 64 64 module_param(transport_mtu, uint, 0644); ··· 91 91 bool qp_link; 92 92 u8 qp_num; /* Only 64 QP's are allowed. 0-63 */ 93 93 94 - struct ntb_rx_info *rx_info; 94 + struct ntb_rx_info __iomem *rx_info; 95 95 struct ntb_rx_info *remote_rx_info; 96 96 97 97 void (*tx_handler) (struct ntb_transport_qp *qp, void *qp_data, 98 98 void *data, int len); 99 99 struct list_head tx_free_q; 100 100 spinlock_t ntb_tx_free_q_lock; 101 - void *tx_mw; 101 + void __iomem *tx_mw; 102 102 unsigned int tx_index; 103 103 unsigned int tx_max_entry; 104 104 unsigned int tx_max_frame; ··· 166 166 }; 167 167 168 168 struct ntb_payload_header { 169 - u64 ver; 169 + unsigned int ver; 170 170 unsigned int len; 171 171 unsigned int flags; 172 172 }; ··· 474 474 u8 mw_num = QP_TO_MW(qp_num); 475 475 unsigned int i; 476 476 477 - WARN_ON(nt->mw[mw_num].virt_addr == 0); 477 + WARN_ON(nt->mw[mw_num].virt_addr == NULL); 478 478 479 479 if (nt->max_qps % NTB_NUM_MW && mw_num < nt->max_qps % NTB_NUM_MW) 480 480 num_qps_mw = nt->max_qps / NTB_NUM_MW + 1; ··· 933 933 entry = ntb_list_rm(&qp->ntb_rx_pend_q_lock, &qp->rx_pend_q); 934 934 if (!entry) { 935 935 dev_dbg(&ntb_query_pdev(qp->ndev)->dev, 936 - "no buffer - HDR ver %llu, len %d, flags %x\n", 936 + "no buffer - HDR ver %u, len %d, flags %x\n", 937 937 hdr->ver, hdr->len, hdr->flags); 938 938 qp->rx_err_no_buf++; 939 939 return -ENOMEM; ··· 946 946 return -EAGAIN; 947 947 } 948 948 949 - if (hdr->ver != qp->rx_pkts) { 949 + if (hdr->ver != (u32) qp->rx_pkts) { 950 950 dev_dbg(&ntb_query_pdev(qp->ndev)->dev, 951 - "qp %d: version mismatch, expected %llu - got %llu\n", 951 + "qp %d: version mismatch, expected %llu - got %u\n", 952 952 qp->qp_num, qp->rx_pkts, hdr->ver); 953 953 ntb_list_add(&qp->ntb_rx_pend_q_lock, &entry->entry, 954 954 &qp->rx_pend_q); ··· 965 965 } 966 966 967 967 dev_dbg(&ntb_query_pdev(qp->ndev)->dev, 968 - "rx offset %u, ver %llu - %d payload received, buf size %d\n", 968 + "rx offset %u, ver %u - %d payload received, buf size %d\n", 969 969 qp->rx_index, hdr->ver, hdr->len, entry->len); 970 970 971 971 if (hdr->len <= entry->len) { ··· 988 988 /* Ensure that the data is fully copied out before clearing the flag */ 989 989 wmb(); 990 990 hdr->flags = 0; 991 - qp->rx_info->entry = qp->rx_index; 991 + iowrite32(qp->rx_index, &qp->rx_info->entry); 992 992 993 993 qp->rx_index++; 994 994 qp->rx_index %= qp->rx_max_entry; ··· 1018 1018 1019 1019 static void ntb_tx_copy_task(struct ntb_transport_qp *qp, 1020 1020 struct ntb_queue_entry *entry, 1021 - void *offset) 1021 + void __iomem *offset) 1022 1022 { 1023 - struct ntb_payload_header *hdr; 1023 + struct ntb_payload_header __iomem *hdr; 1024 1024 1025 1025 memcpy_toio(offset, entry->buf, entry->len); 1026 1026 1027 1027 hdr = offset + qp->tx_max_frame - sizeof(struct ntb_payload_header); 1028 - hdr->len = entry->len; 1029 - hdr->ver = qp->tx_pkts; 1028 + iowrite32(entry->len, &hdr->len); 1029 + iowrite32((u32) qp->tx_pkts, &hdr->ver); 1030 1030 1031 1031 /* Ensure that the data is fully copied out before setting the flag */ 1032 1032 wmb(); 1033 - hdr->flags = entry->flags | DESC_DONE_FLAG; 1033 + iowrite32(entry->flags | DESC_DONE_FLAG, &hdr->flags); 1034 1034 1035 1035 ntb_ring_sdb(qp->ndev, qp->qp_num); 1036 1036 ··· 1052 1052 static int ntb_process_tx(struct ntb_transport_qp *qp, 1053 1053 struct ntb_queue_entry *entry) 1054 1054 { 1055 - void *offset; 1055 + void __iomem *offset; 1056 1056 1057 1057 offset = qp->tx_mw + qp->tx_max_frame * qp->tx_index; 1058 1058