Commit 3827cb59 authored by Johannes Berg's avatar Johannes Berg Committed by Luca Coelho

iwlwifi: avoid void pointer arithmetic

Avoid void pointer arithmetic since it's technically
undefined and causes warnings in some places that use
our code.
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20220128153014.e349104ecd94.Iadc937f475158b9437becdfefb361a97e7eaa934@changeidSigned-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
parent 86e8e657
...@@ -1992,7 +1992,7 @@ static u32 iwl_dump_ini_mem(struct iwl_fw_runtime *fwrt, struct list_head *list, ...@@ -1992,7 +1992,7 @@ static u32 iwl_dump_ini_mem(struct iwl_fw_runtime *fwrt, struct list_head *list,
u32 type = reg->type; u32 type = reg->type;
u32 id = le32_to_cpu(reg->id); u32 id = le32_to_cpu(reg->id);
u32 num_of_ranges, i, size; u32 num_of_ranges, i, size;
void *range; u8 *range;
/* /*
* The higher part of the ID from 2 is irrelevant for * The higher part of the ID from 2 is irrelevant for
......
...@@ -197,7 +197,7 @@ static int iwl_fill_paging_mem(struct iwl_fw_runtime *fwrt, ...@@ -197,7 +197,7 @@ static int iwl_fill_paging_mem(struct iwl_fw_runtime *fwrt,
} }
memcpy(page_address(block->fw_paging_block), memcpy(page_address(block->fw_paging_block),
image->sec[sec_idx].data + offset, len); (const u8 *)image->sec[sec_idx].data + offset, len);
block->fw_offs = image->sec[sec_idx].offset + offset; block->fw_offs = image->sec[sec_idx].offset + offset;
dma_sync_single_for_device(fwrt->trans->dev, dma_sync_single_for_device(fwrt->trans->dev,
block->fw_paging_phys, block->fw_paging_phys,
......
...@@ -1084,7 +1084,7 @@ static int iwl_mvm_wowlan_config_key_params(struct iwl_mvm *mvm, ...@@ -1084,7 +1084,7 @@ static int iwl_mvm_wowlan_config_key_params(struct iwl_mvm *mvm,
sizeof(struct iwl_wowlan_kek_kck_material_cmd_v2); sizeof(struct iwl_wowlan_kek_kck_material_cmd_v2);
/* skip the sta_id at the beginning */ /* skip the sta_id at the beginning */
_kek_kck_cmd = (void *) _kek_kck_cmd = (void *)
((u8 *)_kek_kck_cmd) + sizeof(kek_kck_cmd.sta_id); ((u8 *)_kek_kck_cmd + sizeof(kek_kck_cmd.sta_id));
} }
IWL_DEBUG_WOWLAN(mvm, "setting akm %d\n", IWL_DEBUG_WOWLAN(mvm, "setting akm %d\n",
......
...@@ -1945,7 +1945,7 @@ static ssize_t iwl_dbgfs_mem_read(struct file *file, char __user *user_buf, ...@@ -1945,7 +1945,7 @@ static ssize_t iwl_dbgfs_mem_read(struct file *file, char __user *user_buf,
goto out; goto out;
} }
ret = len - copy_to_user(user_buf, (void *)rsp->data + delta, len); ret = len - copy_to_user(user_buf, (u8 *)rsp->data + delta, len);
*ppos += ret; *ppos += ret;
out: out:
......
...@@ -735,7 +735,7 @@ int iwl_run_init_mvm_ucode(struct iwl_mvm *mvm) ...@@ -735,7 +735,7 @@ int iwl_run_init_mvm_ucode(struct iwl_mvm *mvm)
mvm->nvm_data->bands[0].n_channels = 1; mvm->nvm_data->bands[0].n_channels = 1;
mvm->nvm_data->bands[0].n_bitrates = 1; mvm->nvm_data->bands[0].n_bitrates = 1;
mvm->nvm_data->bands[0].bitrates = mvm->nvm_data->bands[0].bitrates =
(void *)mvm->nvm_data->channels + 1; (void *)((u8 *)mvm->nvm_data->channels + 1);
mvm->nvm_data->bands[0].bitrates->hw_value = 10; mvm->nvm_data->bands[0].bitrates->hw_value = 10;
} }
......
...@@ -83,8 +83,8 @@ static void iwl_mvm_pass_packet_to_mac80211(struct iwl_mvm *mvm, ...@@ -83,8 +83,8 @@ static void iwl_mvm_pass_packet_to_mac80211(struct iwl_mvm *mvm,
fraglen = len - hdrlen; fraglen = len - hdrlen;
if (fraglen) { if (fraglen) {
int offset = (void *)hdr + hdrlen - int offset = (u8 *)hdr + hdrlen -
rxb_addr(rxb) + rxb_offset(rxb); (u8 *)rxb_addr(rxb) + rxb_offset(rxb);
skb_add_rx_frag(skb, 0, rxb_steal_page(rxb), offset, skb_add_rx_frag(skb, 0, rxb_steal_page(rxb), offset,
fraglen, rxb->truesize); fraglen, rxb->truesize);
......
...@@ -217,8 +217,8 @@ static int iwl_mvm_create_skb(struct iwl_mvm *mvm, struct sk_buff *skb, ...@@ -217,8 +217,8 @@ static int iwl_mvm_create_skb(struct iwl_mvm *mvm, struct sk_buff *skb,
fraglen = len - headlen; fraglen = len - headlen;
if (fraglen) { if (fraglen) {
int offset = (void *)hdr + headlen + pad_len - int offset = (u8 *)hdr + headlen + pad_len -
rxb_addr(rxb) + rxb_offset(rxb); (u8 *)rxb_addr(rxb) + rxb_offset(rxb);
skb_add_rx_frag(skb, 0, rxb_steal_page(rxb), offset, skb_add_rx_frag(skb, 0, rxb_steal_page(rxb), offset,
fraglen, rxb->truesize); fraglen, rxb->truesize);
......
...@@ -2158,7 +2158,7 @@ static int iwl_mvm_scan_umac(struct iwl_mvm *mvm, struct ieee80211_vif *vif, ...@@ -2158,7 +2158,7 @@ static int iwl_mvm_scan_umac(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
struct iwl_scan_req_umac *cmd = mvm->scan_cmd; struct iwl_scan_req_umac *cmd = mvm->scan_cmd;
struct iwl_scan_umac_chan_param *chan_param; struct iwl_scan_umac_chan_param *chan_param;
void *cmd_data = iwl_mvm_get_scan_req_umac_data(mvm); void *cmd_data = iwl_mvm_get_scan_req_umac_data(mvm);
void *sec_part = cmd_data + sizeof(struct iwl_scan_channel_cfg_umac) * void *sec_part = (u8 *)cmd_data + sizeof(struct iwl_scan_channel_cfg_umac) *
mvm->fw->ucode_capa.n_scan_channels; mvm->fw->ucode_capa.n_scan_channels;
struct iwl_scan_req_umac_tail_v2 *tail_v2 = struct iwl_scan_req_umac_tail_v2 *tail_v2 =
(struct iwl_scan_req_umac_tail_v2 *)sec_part; (struct iwl_scan_req_umac_tail_v2 *)sec_part;
......
...@@ -363,7 +363,7 @@ struct iwl_trans_pcie { ...@@ -363,7 +363,7 @@ struct iwl_trans_pcie {
/* PCI bus related data */ /* PCI bus related data */
struct pci_dev *pci_dev; struct pci_dev *pci_dev;
void __iomem *hw_base; u8 __iomem *hw_base;
bool ucode_write_complete; bool ucode_write_complete;
bool sx_complete; bool sx_complete;
......
...@@ -727,7 +727,7 @@ static int iwl_pcie_alloc_rxq_dma(struct iwl_trans *trans, ...@@ -727,7 +727,7 @@ static int iwl_pcie_alloc_rxq_dma(struct iwl_trans *trans,
goto err; goto err;
} }
rxq->rb_stts = trans_pcie->base_rb_stts + rxq->id * rb_stts_size; rxq->rb_stts = (u8 *)trans_pcie->base_rb_stts + rxq->id * rb_stts_size;
rxq->rb_stts_dma = rxq->rb_stts_dma =
trans_pcie->base_rb_stts_dma + rxq->id * rb_stts_size; trans_pcie->base_rb_stts_dma + rxq->id * rb_stts_size;
......
...@@ -2864,7 +2864,7 @@ static ssize_t iwl_dbgfs_monitor_data_read(struct file *file, ...@@ -2864,7 +2864,7 @@ static ssize_t iwl_dbgfs_monitor_data_read(struct file *file,
{ {
struct iwl_trans *trans = file->private_data; struct iwl_trans *trans = file->private_data;
struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
void *cpu_addr = (void *)trans->dbg.fw_mon.block, *curr_buf; u8 *cpu_addr = (void *)trans->dbg.fw_mon.block, *curr_buf;
struct cont_rec *data = &trans_pcie->fw_mon_data; struct cont_rec *data = &trans_pcie->fw_mon_data;
u32 write_ptr_addr, wrap_cnt_addr, write_ptr, wrap_cnt; u32 write_ptr_addr, wrap_cnt_addr, write_ptr, wrap_cnt;
ssize_t size, bytes_copied = 0; ssize_t size, bytes_copied = 0;
......
...@@ -154,7 +154,7 @@ static int iwl_pcie_txq_build_tfd(struct iwl_trans *trans, struct iwl_txq *txq, ...@@ -154,7 +154,7 @@ static int iwl_pcie_txq_build_tfd(struct iwl_trans *trans, struct iwl_txq *txq,
void *tfd; void *tfd;
u32 num_tbs; u32 num_tbs;
tfd = txq->tfds + trans->txqs.tfd.size * txq->write_ptr; tfd = (u8 *)txq->tfds + trans->txqs.tfd.size * txq->write_ptr;
if (reset) if (reset)
memset(tfd, 0, trans->txqs.tfd.size); memset(tfd, 0, trans->txqs.tfd.size);
......
...@@ -189,7 +189,7 @@ static struct page *get_workaround_page(struct iwl_trans *trans, ...@@ -189,7 +189,7 @@ static struct page *get_workaround_page(struct iwl_trans *trans,
return NULL; return NULL;
/* set the chaining pointer to the previous page if there */ /* set the chaining pointer to the previous page if there */
*(void **)(page_address(ret) + PAGE_SIZE - sizeof(void *)) = *page_ptr; *(void **)((u8 *)page_address(ret) + PAGE_SIZE - sizeof(void *)) = *page_ptr;
*page_ptr = ret; *page_ptr = ret;
return ret; return ret;
...@@ -314,7 +314,7 @@ struct iwl_tso_hdr_page *get_page_hdr(struct iwl_trans *trans, size_t len, ...@@ -314,7 +314,7 @@ struct iwl_tso_hdr_page *get_page_hdr(struct iwl_trans *trans, size_t len,
return NULL; return NULL;
p->pos = page_address(p->page); p->pos = page_address(p->page);
/* set the chaining pointer to NULL */ /* set the chaining pointer to NULL */
*(void **)(page_address(p->page) + PAGE_SIZE - sizeof(void *)) = NULL; *(void **)((u8 *)page_address(p->page) + PAGE_SIZE - sizeof(void *)) = NULL;
out: out:
*page_ptr = p->page; *page_ptr = p->page;
get_page(p->page); get_page(p->page);
...@@ -963,7 +963,7 @@ void iwl_txq_free_tso_page(struct iwl_trans *trans, struct sk_buff *skb) ...@@ -963,7 +963,7 @@ void iwl_txq_free_tso_page(struct iwl_trans *trans, struct sk_buff *skb)
while (next) { while (next) {
struct page *tmp = next; struct page *tmp = next;
next = *(void **)(page_address(next) + PAGE_SIZE - next = *(void **)((u8 *)page_address(next) + PAGE_SIZE -
sizeof(void *)); sizeof(void *));
__free_page(tmp); __free_page(tmp);
} }
......
...@@ -41,7 +41,7 @@ static inline void *iwl_txq_get_tfd(struct iwl_trans *trans, ...@@ -41,7 +41,7 @@ static inline void *iwl_txq_get_tfd(struct iwl_trans *trans,
if (trans->trans_cfg->use_tfh) if (trans->trans_cfg->use_tfh)
idx = iwl_txq_get_cmd_index(txq, idx); idx = iwl_txq_get_cmd_index(txq, idx);
return txq->tfds + trans->txqs.tfd.size * idx; return (u8 *)txq->tfds + trans->txqs.tfd.size * idx;
} }
int iwl_txq_alloc(struct iwl_trans *trans, struct iwl_txq *txq, int slots_num, int iwl_txq_alloc(struct iwl_trans *trans, struct iwl_txq *txq, int slots_num,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment