if (err)
                                return err;
 
-                       dev_info(&vsi->back->pdev->dev, "Registered XDP mem model MEM_TYPE_ZERO_COPY on Rx ring %d\n",
+                       dev_info(ice_pf_to_dev(vsi->back), "Registered XDP mem model MEM_TYPE_ZERO_COPY on Rx ring %d\n",
                                 ring->q_index);
                } else {
                        ring->zca.free = NULL;
        /* Absolute queue number out of 2K needs to be passed */
        err = ice_write_rxq_ctx(hw, &rlan_ctx, pf_q);
        if (err) {
-               dev_err(&vsi->back->pdev->dev,
+               dev_err(ice_pf_to_dev(vsi->back),
                        "Failed to set LAN Rx queue context for absolute Rx queue %d error: %d\n",
                        pf_q, err);
                return -EIO;
              ice_alloc_rx_bufs_slow_zc(ring, ICE_DESC_UNUSED(ring)) :
              ice_alloc_rx_bufs(ring, ICE_DESC_UNUSED(ring));
        if (err)
-               dev_info(&vsi->back->pdev->dev,
+               dev_info(ice_pf_to_dev(vsi->back),
                         "Failed allocate some buffers on %sRx ring %d (pf_q %d)\n",
                         ring->xsk_umem ? "UMEM enabled " : "",
                         ring->q_index, pf_q);
         * queues at the hardware level anyway.
         */
        if (status == ICE_ERR_RESET_ONGOING) {
-               dev_dbg(&vsi->back->pdev->dev,
+               dev_dbg(ice_pf_to_dev(vsi->back),
                        "Reset in progress. LAN Tx queues already disabled\n");
        } else if (status == ICE_ERR_DOES_NOT_EXIST) {
-               dev_dbg(&vsi->back->pdev->dev,
+               dev_dbg(ice_pf_to_dev(vsi->back),
                        "LAN Tx queues do not exist, nothing to disable\n");
        } else if (status) {
-               dev_err(&vsi->back->pdev->dev,
+               dev_err(ice_pf_to_dev(vsi->back),
                        "Failed to disable LAN Tx queues, error: %d\n", status);
                return -ENODEV;
        }
 
        sapp.protocol = app->prot_id;
        sapp.priority = app->priority;
        err = ice_dcbnl_delapp(vsi->netdev, &sapp);
-       dev_dbg(&vsi->back->pdev->dev,
+       dev_dbg(ice_pf_to_dev(vsi->back),
                "Deleting app for VSI idx=%d err=%d sel=%d proto=0x%x, prio=%d\n",
                vsi->idx, err, app->selector, app->prot_id, app->priority);
 }
 
                fec = ICE_FEC_NONE;
                break;
        default:
-               dev_warn(&vsi->back->pdev->dev, "Unsupported FEC mode: %d\n",
+               dev_warn(ice_pf_to_dev(vsi->back), "Unsupported FEC mode: %d\n",
                         fecparam->fec);
                return -EINVAL;
        }
 
                vsi->num_tx_desc = ICE_DFLT_NUM_TX_DESC;
                break;
        default:
-               dev_dbg(&vsi->back->pdev->dev,
+               dev_dbg(ice_pf_to_dev(vsi->back),
                        "Not setting number of Tx/Rx descriptors for VSI type %d\n",
                        vsi->type);
                break;
        vsi->num_txq = tx_count;
 
        if (vsi->type == ICE_VSI_VF && vsi->num_txq != vsi->num_rxq) {
-               dev_dbg(&vsi->back->pdev->dev, "VF VSI should have same number of Tx and Rx queues. Hence making them equal\n");
+               dev_dbg(ice_pf_to_dev(vsi->back), "VF VSI should have same number of Tx and Rx queues. Hence making them equal\n");
                /* since there is a chance that num_rxq could have been changed
                 * in the above for loop, make num_txq equal to num_rxq.
                 */
 
                err = ice_setup_rx_ctx(vsi->rx_rings[i]);
                if (err) {
-                       dev_err(&vsi->back->pdev->dev,
+                       dev_err(ice_pf_to_dev(vsi->back),
                                "ice_setup_rx_ctx failed for RxQ %d, err %d\n",
                                i, err);
                        return err;
 
        status = ice_update_vsi(hw, vsi->idx, ctxt, NULL);
        if (status) {
-               dev_err(&vsi->back->pdev->dev, "update VSI for VLAN insert failed, err %d aq_err %d\n",
+               dev_err(ice_pf_to_dev(vsi->back), "update VSI for VLAN insert failed, err %d aq_err %d\n",
                        status, hw->adminq.sq_last_status);
                ret = -EIO;
                goto out;
 
        status = ice_update_vsi(hw, vsi->idx, ctxt, NULL);
        if (status) {
-               dev_err(&vsi->back->pdev->dev, "update VSI for VLAN strip failed, ena = %d err %d aq_err %d\n",
+               dev_err(ice_pf_to_dev(vsi->back), "update VSI for VLAN strip failed, ena = %d err %d aq_err %d\n",
                        ena, status, hw->adminq.sq_last_status);
                ret = -EIO;
                goto out;
                struct ice_q_vector *q_vector = vsi->q_vectors[i];
 
                if (!q_vector) {
-                       dev_err(&vsi->back->pdev->dev,
+                       dev_err(ice_pf_to_dev(vsi->back),
                                "Failed to set reg_idx on q_vector %d VSI %d\n",
                                i, vsi->vsi_num);
                        goto clear_reg_idx;
                status = ice_remove_mac(&vsi->back->hw, &tmp_add_list);
 
 cfg_mac_fltr_exit:
-       ice_free_fltr_list(&vsi->back->pdev->dev, &tmp_add_list);
+       ice_free_fltr_list(ice_pf_to_dev(vsi->back), &tmp_add_list);
        return status;
 }
 
 
  */
 static int ice_vsi_sync_fltr(struct ice_vsi *vsi)
 {
-       struct device *dev = &vsi->back->pdev->dev;
+       struct device *dev = ice_pf_to_dev(vsi->back);
        struct net_device *netdev = vsi->netdev;
        bool promisc_forced_on = false;
        struct ice_pf *pf = vsi->back;
        if (vsi->type != ICE_VSI_PF)
                return 0;
 
-       dev = &vsi->back->pdev->dev;
+       dev = ice_pf_to_dev(vsi->back);
 
        pi = vsi->port_info;
 
  */
 static int ice_xdp_alloc_setup_rings(struct ice_vsi *vsi)
 {
-       struct device *dev = &vsi->back->pdev->dev;
+       struct device *dev = ice_pf_to_dev(vsi->back);
        int i;
 
        for (i = 0; i < vsi->num_xdp_txq; i++) {
 
        /* Don't set any netdev advanced features with device in Safe Mode */
        if (ice_is_safe_mode(vsi->back)) {
-               dev_err(&vsi->back->pdev->dev,
+               dev_err(ice_pf_to_dev(vsi->back),
                        "Device is in Safe Mode - not enabling advanced netdev features\n");
                return ret;
        }
 
        /* Do not change setting during reset */
        if (ice_is_reset_in_progress(pf->state)) {
-               dev_err(&vsi->back->pdev->dev,
+               dev_err(ice_pf_to_dev(vsi->back),
                        "Device is resetting, changing advanced netdev features temporarily unavailable.\n");
                return -EBUSY;
        }
        int i, err = 0;
 
        if (!vsi->num_txq) {
-               dev_err(&vsi->back->pdev->dev, "VSI %d has 0 Tx queues\n",
+               dev_err(ice_pf_to_dev(vsi->back), "VSI %d has 0 Tx queues\n",
                        vsi->vsi_num);
                return -EINVAL;
        }
        int i, err = 0;
 
        if (!vsi->num_rxq) {
-               dev_err(&vsi->back->pdev->dev, "VSI %d has 0 Rx queues\n",
+               dev_err(ice_pf_to_dev(vsi->back), "VSI %d has 0 Rx queues\n",
                        vsi->vsi_num);
                return -EINVAL;
        }
 
        status = ice_update_vsi(hw, vsi->idx, ctxt, NULL);
        if (status) {
-               dev_err(&vsi->back->pdev->dev, "update VSI for bridge mode failed, bmode = %d err %d aq_err %d\n",
+               dev_err(ice_pf_to_dev(vsi->back), "update VSI for bridge mode failed, bmode = %d err %d aq_err %d\n",
                        bmode, status, hw->adminq.sq_last_status);
                ret = -EIO;
                goto out;
 
 
        status = ice_update_vsi(hw, vsi->idx, ctxt, NULL);
        if (status) {
-               dev_info(&vsi->back->pdev->dev, "update VSI for port VLAN failed, err %d aq_err %d\n",
+               dev_info(ice_pf_to_dev(vsi->back), "update VSI for port VLAN failed, err %d aq_err %d\n",
                         status, hw->adminq.sq_last_status);
                ret = -EIO;
                goto out;
                        continue;
 
                if (ice_vsi_ctrl_rx_ring(vsi, true, vf_q_id)) {
-                       dev_err(&vsi->back->pdev->dev,
+                       dev_err(ice_pf_to_dev(vsi->back),
                                "Failed to enable Rx ring %d on VSI %d\n",
                                vf_q_id, vsi->vsi_num);
                        v_ret = VIRTCHNL_STATUS_ERR_PARAM;
 
                        if (ice_vsi_stop_tx_ring(vsi, ICE_NO_RESET, vf->vf_id,
                                                 ring, &txq_meta)) {
-                               dev_err(&vsi->back->pdev->dev,
+                               dev_err(ice_pf_to_dev(vsi->back),
                                        "Failed to stop Tx ring %d on VSI %d\n",
                                        vf_q_id, vsi->vsi_num);
                                v_ret = VIRTCHNL_STATUS_ERR_PARAM;
                                continue;
 
                        if (ice_vsi_ctrl_rx_ring(vsi, false, vf_q_id)) {
-                               dev_err(&vsi->back->pdev->dev,
+                               dev_err(ice_pf_to_dev(vsi->back),
                                        "Failed to stop Rx ring %d on VSI %d\n",
                                        vf_q_id, vsi->vsi_num);
                                v_ret = VIRTCHNL_STATUS_ERR_PARAM;