[ETHTOOL_A_PSE_HEADER] = NLA_POLICY_NESTED(ethnl_header_policy),
 };
 
-static int pse_get_pse_attributes(struct net_device *dev,
+static int pse_get_pse_attributes(struct phy_device *phydev,
                                  struct netlink_ext_ack *extack,
                                  struct pse_reply_data *data)
 {
-       struct phy_device *phydev = dev->phydev;
-
        if (!phydev) {
                NL_SET_ERR_MSG(extack, "No PHY is attached");
                return -EOPNOTSUPP;
        if (ret < 0)
                return ret;
 
-       ret = pse_get_pse_attributes(dev, info->extack, data);
+       ret = pse_get_pse_attributes(req_base->phydev, info->extack, data);
 
        ethnl_ops_complete(dev);
 
 static int
 ethnl_set_pse(struct ethnl_req_info *req_info, struct genl_info *info)
 {
-       struct net_device *dev = req_info->dev;
        struct pse_control_config config = {};
        struct nlattr **tb = info->attrs;
        struct phy_device *phydev;
        /* this values are already validated by the ethnl_pse_set_policy */
        config.admin_cotrol = nla_get_u32(tb[ETHTOOL_A_PODL_PSE_ADMIN_CONTROL]);
 
-       phydev = dev->phydev;
+       phydev = req_info->phydev;
        if (!phydev) {
                NL_SET_ERR_MSG(info->extack, "No PHY is attached");
                return -EOPNOTSUPP;