*/
 static inline u32 batadv_choose_claim(const void *data, u32 size)
 {
-       struct batadv_bla_claim *claim = (struct batadv_bla_claim *)data;
+       const struct batadv_bla_claim *claim = data;
        u32 hash = 0;
 
        hash = jhash(&claim->addr, sizeof(claim->addr), hash);
        const struct batadv_bla_backbone_gw *gw;
        u32 hash = 0;
 
-       gw = (struct batadv_bla_backbone_gw *)data;
+       gw = data;
        hash = jhash(&gw->orig, sizeof(gw->orig), hash);
        hash = jhash(&gw->vid, sizeof(gw->vid), hash);
 
 
  */
 static inline u32 batadv_choose_tt(const void *data, u32 size)
 {
-       struct batadv_tt_common_entry *tt;
+       const struct batadv_tt_common_entry *tt;
        u32 hash = 0;
 
-       tt = (struct batadv_tt_common_entry *)data;
+       tt = data;
        hash = jhash(&tt->addr, ETH_ALEN, hash);
        hash = jhash(&tt->vid, sizeof(tt->vid), hash);
 
        u32 i;
 
        tt_tot = batadv_tt_entries(tt_len);
-       tt_change = (struct batadv_tvlv_tt_change *)tvlv_buff;
+       tt_change = tvlv_buff;
 
        if (!valid_cb)
                return;
        if (tvlv_value_len < sizeof(*tt_data))
                return;
 
-       tt_data = (struct batadv_tvlv_tt_data *)tvlv_value;
+       tt_data = tvlv_value;
        tvlv_value_len -= sizeof(*tt_data);
 
        num_vlan = ntohs(tt_data->num_vlan);
        if (tvlv_value_len < sizeof(*tt_data))
                return NET_RX_SUCCESS;
 
-       tt_data = (struct batadv_tvlv_tt_data *)tvlv_value;
+       tt_data = tvlv_value;
        tvlv_value_len -= sizeof(*tt_data);
 
        tt_vlan_len = sizeof(struct batadv_tvlv_tt_vlan_data);
                goto out;
 
        batadv_inc_counter(bat_priv, BATADV_CNT_TT_ROAM_ADV_RX);
-       roaming_adv = (struct batadv_tvlv_roam_adv *)tvlv_value;
+       roaming_adv = tvlv_value;
 
        batadv_dbg(BATADV_DBG_TT, bat_priv,
                   "Received ROAMING_ADV from %pM (client %pM)\n",