Lines Matching defs:tuna

2898 static int ethtool_tunable_valid(const struct ethtool_tunable *tuna)
2900 switch (tuna->id) {
2904 if (tuna->len != sizeof(u32) ||
2905 tuna->type_id != ETHTOOL_TUNABLE_U32)
2909 if (tuna->len != sizeof(u16) ||
2910 tuna->type_id != ETHTOOL_TUNABLE_U16)
2923 struct ethtool_tunable tuna;
2929 if (copy_from_user(&tuna, useraddr, sizeof(tuna)))
2931 ret = ethtool_tunable_valid(&tuna);
2934 data = kzalloc(tuna.len, GFP_USER);
2937 ret = ops->get_tunable(dev, &tuna, data);
2940 useraddr += sizeof(tuna);
2942 if (copy_to_user(useraddr, data, tuna.len))
2954 struct ethtool_tunable tuna;
2960 if (copy_from_user(&tuna, useraddr, sizeof(tuna)))
2962 ret = ethtool_tunable_valid(&tuna);
2965 useraddr += sizeof(tuna);
2966 data = memdup_user(useraddr, tuna.len);
2969 ret = ops->set_tunable(dev, &tuna, data);
3089 static int ethtool_phy_tunable_valid(const struct ethtool_tunable *tuna)
3091 switch (tuna->id) {
3094 if (tuna->len != sizeof(u8) ||
3095 tuna->type_id != ETHTOOL_TUNABLE_U8)
3099 if (tuna->len != sizeof(u16) ||
3100 tuna->type_id != ETHTOOL_TUNABLE_U16)
3113 struct ethtool_tunable tuna;
3121 if (copy_from_user(&tuna, useraddr, sizeof(tuna)))
3123 ret = ethtool_phy_tunable_valid(&tuna);
3126 data = kzalloc(tuna.len, GFP_USER);
3131 ret = phydev->drv->get_tunable(phydev, &tuna, data);
3134 ret = dev->ethtool_ops->get_phy_tunable(dev, &tuna, data);
3138 useraddr += sizeof(tuna);
3140 if (copy_to_user(useraddr, data, tuna.len))
3152 struct ethtool_tunable tuna;
3160 if (copy_from_user(&tuna, useraddr, sizeof(tuna)))
3162 ret = ethtool_phy_tunable_valid(&tuna);
3165 useraddr += sizeof(tuna);
3166 data = memdup_user(useraddr, tuna.len);
3171 ret = phydev->drv->set_tunable(phydev, &tuna, data);
3174 ret = dev->ethtool_ops->set_phy_tunable(dev, &tuna, data);