}
 
 /* GUID */
-void bnxt_qplib_get_guid(u8 *dev_addr, u8 *guid)
+void bnxt_qplib_get_guid(const u8 *dev_addr, u8 *guid)
 {
        u8 mac[ETH_ALEN];
 
 
                         struct bnxt_qplib_hwq *hwq);
 int bnxt_qplib_alloc_init_hwq(struct bnxt_qplib_hwq *hwq,
                              struct bnxt_qplib_hwq_attr *hwq_attr);
-void bnxt_qplib_get_guid(u8 *dev_addr, u8 *guid);
+void bnxt_qplib_get_guid(const u8 *dev_addr, u8 *guid);
 int bnxt_qplib_alloc_pd(struct bnxt_qplib_pd_tbl *pd_tbl,
                        struct bnxt_qplib_pd *pd);
 int bnxt_qplib_dealloc_pd(struct bnxt_qplib_res *res,
 
 }
 
 int bnxt_qplib_add_sgid(struct bnxt_qplib_sgid_tbl *sgid_tbl,
-                       struct bnxt_qplib_gid *gid, u8 *smac, u16 vlan_id,
-                       bool update, u32 *index)
+                       struct bnxt_qplib_gid *gid, const u8 *smac,
+                       u16 vlan_id, bool update, u32 *index)
 {
        struct bnxt_qplib_res *res = to_bnxt_qplib(sgid_tbl,
                                                   struct bnxt_qplib_res,
 
 int bnxt_qplib_update_sgid(struct bnxt_qplib_sgid_tbl *sgid_tbl,
                           struct bnxt_qplib_gid *gid, u16 gid_idx,
-                          u8 *smac)
+                          const u8 *smac)
 {
        struct bnxt_qplib_res *res = to_bnxt_qplib(sgid_tbl,
                                                   struct bnxt_qplib_res,
 
 int bnxt_qplib_del_sgid(struct bnxt_qplib_sgid_tbl *sgid_tbl,
                        struct bnxt_qplib_gid *gid, u16 vlan_id, bool update);
 int bnxt_qplib_add_sgid(struct bnxt_qplib_sgid_tbl *sgid_tbl,
-                       struct bnxt_qplib_gid *gid, u8 *mac, u16 vlan_id,
+                       struct bnxt_qplib_gid *gid, const u8 *mac, u16 vlan_id,
                        bool update, u32 *index);
 int bnxt_qplib_update_sgid(struct bnxt_qplib_sgid_tbl *sgid_tbl,
-                          struct bnxt_qplib_gid *gid, u16 gid_idx, u8 *smac);
+                          struct bnxt_qplib_gid *gid, u16 gid_idx,
+                          const u8 *smac);
 int bnxt_qplib_get_pkey(struct bnxt_qplib_res *res,
                        struct bnxt_qplib_pkey_tbl *pkey_tbl, u16 index,
                        u16 *pkey);
 
 #include "ipoib.h"
 #include "hfi.h"
 
-static u32 qpn_from_mac(u8 *mac_arr)
+static u32 qpn_from_mac(const u8 *mac_arr)
 {
        return (u32)mac_arr[1] << 16 | mac_arr[2] << 8 | mac_arr[3];
 }
 
        bool (*chk_mbox_avail)(struct hns_roce_dev *hr_dev, bool *is_busy);
        int (*set_gid)(struct hns_roce_dev *hr_dev, u32 port, int gid_index,
                       const union ib_gid *gid, const struct ib_gid_attr *attr);
-       int (*set_mac)(struct hns_roce_dev *hr_dev, u8 phy_port, u8 *addr);
+       int (*set_mac)(struct hns_roce_dev *hr_dev, u8 phy_port,
+                      const u8 *addr);
        void (*set_mtu)(struct hns_roce_dev *hr_dev, u8 phy_port,
                        enum ib_mtu mtu);
        int (*write_mtpt)(struct hns_roce_dev *hr_dev, void *mb_buf,
 
        unsigned long flags = 0;
        void *wqe = NULL;
        __le32 doorbell[2];
+       const u8 *smac;
        int ret = 0;
        int loopback;
        u32 wqe_idx;
        int nreq;
-       u8 *smac;
 
        if (unlikely(ibqp->qp_type != IB_QPT_GSI &&
                ibqp->qp_type != IB_QPT_RC)) {
                                       UD_SEND_WQE_U32_8_DMAC_5_S,
                                       ah->av.mac[5]);
 
-                       smac = (u8 *)hr_dev->dev_addr[qp->port];
+                       smac = (const u8 *)hr_dev->dev_addr[qp->port];
                        loopback = ether_addr_equal_unaligned(ah->av.mac,
                                                              smac) ? 1 : 0;
                        roce_set_bit(ud_sq_wqe->u32_8,
 }
 
 static int hns_roce_v1_set_mac(struct hns_roce_dev *hr_dev, u8 phy_port,
-                              u8 *addr)
+                              const u8 *addr)
 {
        u32 reg_smac_l;
        u16 reg_smac_h;
        __le32 doorbell[2] = {0};
        u64 *mtts_2 = NULL;
        int ret = -EINVAL;
+       const u8 *smac;
        u64 sq_ba = 0;
        u64 rq_ba = 0;
        u32 port;
        u32 port_num;
        u8 *dmac;
-       u8 *smac;
 
        if (!check_qp_state(cur_state, new_state)) {
                ibdev_err(ibqp->device,
 
                port = (attr_mask & IB_QP_PORT) ? (attr->port_num - 1) :
                        hr_qp->port;
-               smac = (u8 *)hr_dev->dev_addr[port];
+               smac = (const u8 *)hr_dev->dev_addr[port];
                /* when dmac equals smac or loop_idc is 1, it should loopback */
                if (ether_addr_equal_unaligned(dmac, smac) ||
                    hr_dev->loop_idc == 0x1)
 
 }
 
 static int hns_roce_v2_set_mac(struct hns_roce_dev *hr_dev, u8 phy_port,
-                              u8 *addr)
+                              const u8 *addr)
 {
        struct hns_roce_cmq_desc desc;
        struct hns_roce_cfg_smac_tb *smac_tb =
        dma_addr_t trrl_ba;
        dma_addr_t irrl_ba;
        enum ib_mtu ib_mtu;
+       const u8 *smac;
        u8 lp_pktn_ini;
        u64 *mtts;
        u8 *dmac;
-       u8 *smac;
        u32 port;
        int mtu;
        int ret;
 
        port = (attr_mask & IB_QP_PORT) ? (attr->port_num - 1) : hr_qp->port;
 
-       smac = (u8 *)hr_dev->dev_addr[port];
+       smac = (const u8 *)hr_dev->dev_addr[port];
        dmac = (u8 *)attr->ah_attr.roce.dmac;
        /* when dmac equals smac or loop_idc is 1, it should loopback */
        if (ether_addr_equal_unaligned(dmac, smac) ||
 
 #include "hns_roce_device.h"
 #include "hns_roce_hem.h"
 
-static int hns_roce_set_mac(struct hns_roce_dev *hr_dev, u32 port, u8 *addr)
+static int hns_roce_set_mac(struct hns_roce_dev *hr_dev, u32 port,
+                           const u8 *addr)
 {
        u8 phy_port;
        u32 i;
 
 int irdma_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param);
 int irdma_create_listen(struct iw_cm_id *cm_id, int backlog);
 int irdma_destroy_listen(struct iw_cm_id *cm_id);
-int irdma_add_arp(struct irdma_pci_f *rf, u32 *ip, bool ipv4, u8 *mac);
+int irdma_add_arp(struct irdma_pci_f *rf, u32 *ip, bool ipv4, const u8 *mac);
 void irdma_cm_teardown_connections(struct irdma_device *iwdev, u32 *ipaddr,
                                   struct irdma_cm_info *nfo,
                                   bool disconnect_all);
 bool irdma_ipv4_is_lpb(u32 loc_addr, u32 rem_addr);
 bool irdma_ipv6_is_lpb(u32 *loc_addr, u32 *rem_addr);
 int irdma_arp_table(struct irdma_pci_f *rf, u32 *ip_addr, bool ipv4,
-                   u8 *mac_addr, u32 action);
+                   const u8 *mac_addr, u32 action);
 void irdma_if_notify(struct irdma_device *iwdev, struct net_device *netdev,
                     u32 *ipaddr, bool ipv4, bool ifup);
 bool irdma_port_in_use(struct irdma_cm_core *cm_core, u16 port);
 
                                             &iwdev->mac_ip_table_idx);
        if (!status) {
                status = irdma_add_local_mac_entry(iwdev->rf,
-                                                  (u8 *)iwdev->netdev->dev_addr,
+                                                  (const u8 *)iwdev->netdev->dev_addr,
                                                   (u8)iwdev->mac_ip_table_idx);
                if (status)
                        irdma_del_local_mac_entry(iwdev->rf,
  * @mac_addr: pointer to mac address
  * @idx: the index of the mac ip address to add
  */
-int irdma_add_local_mac_entry(struct irdma_pci_f *rf, u8 *mac_addr, u16 idx)
+int irdma_add_local_mac_entry(struct irdma_pci_f *rf, const u8 *mac_addr, u16 idx)
 {
        struct irdma_local_mac_entry_info *info;
        struct irdma_cqp *iwcqp = &rf->cqp;
  * @ipv4: flag inicating IPv4
  * @action: add, delete or modify
  */
-void irdma_manage_arp_cache(struct irdma_pci_f *rf, unsigned char *mac_addr,
+void irdma_manage_arp_cache(struct irdma_pci_f *rf,
+                           const unsigned char *mac_addr,
                            u32 *ip_addr, bool ipv4, u32 action)
 {
        struct irdma_add_arp_cache_entry_info *info;
 
 void irdma_free_lsmm_rsrc(struct irdma_qp *iwqp);
 struct ib_qp *irdma_get_qp(struct ib_device *ibdev, int qpn);
 void irdma_flush_wqes(struct irdma_qp *iwqp, u32 flush_mask);
-void irdma_manage_arp_cache(struct irdma_pci_f *rf, unsigned char *mac_addr,
+void irdma_manage_arp_cache(struct irdma_pci_f *rf,
+                           const unsigned char *mac_addr,
                            u32 *ip_addr, bool ipv4, u32 action);
 struct irdma_apbvt_entry *irdma_add_apbvt(struct irdma_device *iwdev, u16 port);
 void irdma_del_apbvt(struct irdma_device *iwdev,
 void irdma_put_cqp_request(struct irdma_cqp *cqp,
                           struct irdma_cqp_request *cqp_request);
 int irdma_alloc_local_mac_entry(struct irdma_pci_f *rf, u16 *mac_tbl_idx);
-int irdma_add_local_mac_entry(struct irdma_pci_f *rf, u8 *mac_addr, u16 idx);
+int irdma_add_local_mac_entry(struct irdma_pci_f *rf, const u8 *mac_addr, u16 idx);
 void irdma_del_local_mac_entry(struct irdma_pci_f *rf, u16 idx);
 
 u32 irdma_initialize_hw_rsrc(struct irdma_pci_f *rf);
 
 DECLARE_EVENT_CLASS(qhash_template,
                    TP_PROTO(struct irdma_device *iwdev,
                             struct irdma_cm_listener *listener,
-                            char *dev_addr),
+                            const char *dev_addr),
                    TP_ARGS(iwdev, listener, dev_addr),
                    TP_STRUCT__entry(__field(struct irdma_device *, iwdev)
                                     __field(u16, lport)
 
 DEFINE_EVENT(qhash_template, irdma_add_mqh_6,
             TP_PROTO(struct irdma_device *iwdev,
-                     struct irdma_cm_listener *listener, char *dev_addr),
+                     struct irdma_cm_listener *listener,
+                     const char *dev_addr),
             TP_ARGS(iwdev, listener, dev_addr));
 
 DEFINE_EVENT(qhash_template, irdma_add_mqh_4,
             TP_PROTO(struct irdma_device *iwdev,
-                     struct irdma_cm_listener *listener, char *dev_addr),
+                     struct irdma_cm_listener *listener,
+                     const char *dev_addr),
             TP_ARGS(iwdev, listener, dev_addr));
 
 TRACE_EVENT(irdma_addr_resolve,
 
  * @action: modify, delete or add
  */
 int irdma_arp_table(struct irdma_pci_f *rf, u32 *ip_addr, bool ipv4,
-                   u8 *mac_addr, u32 action)
+                   const u8 *mac_addr, u32 action)
 {
        unsigned long flags;
        int arp_index;
  * @ipv4: IPv4 flag
  * @mac: MAC address
  */
-int irdma_add_arp(struct irdma_pci_f *rf, u32 *ip, bool ipv4, u8 *mac)
+int irdma_add_arp(struct irdma_pci_f *rf, u32 *ip, bool ipv4, const u8 *mac)
 {
        int arpidx;
 
 
 
 static __be64 irdma_mac_to_guid(struct net_device *ndev)
 {
-       unsigned char *mac = ndev->dev_addr;
+       const unsigned char *mac = ndev->dev_addr;
        __be64 guid;
        unsigned char *dst = (unsigned char *)&guid;
 
 
        kfree(ufdev);
 }
 
-void usnic_fwd_set_mac(struct usnic_fwd_dev *ufdev, char mac[ETH_ALEN])
+void usnic_fwd_set_mac(struct usnic_fwd_dev *ufdev, const char mac[ETH_ALEN])
 {
        spin_lock(&ufdev->lock);
        memcpy(&ufdev->mac, mac, sizeof(ufdev->mac));
 
 struct usnic_fwd_dev *usnic_fwd_dev_alloc(struct pci_dev *pdev);
 void usnic_fwd_dev_free(struct usnic_fwd_dev *ufdev);
 
-void usnic_fwd_set_mac(struct usnic_fwd_dev *ufdev, char mac[ETH_ALEN]);
+void usnic_fwd_set_mac(struct usnic_fwd_dev *ufdev, const char mac[ETH_ALEN]);
 void usnic_fwd_add_ipaddr(struct usnic_fwd_dev *ufdev, __be32 inaddr);
 void usnic_fwd_del_ipaddr(struct usnic_fwd_dev *ufdev);
 void usnic_fwd_carrier_up(struct usnic_fwd_dev *ufdev);