Lines Matching defs:tuna

2529 static int ethtool_tunable_valid(const struct ethtool_tunable *tuna)
2531 switch (tuna->id) {
2535 if (tuna->len != sizeof(u32) ||
2536 tuna->type_id != ETHTOOL_TUNABLE_U32)
2540 if (tuna->len != sizeof(u16) ||
2541 tuna->type_id != ETHTOOL_TUNABLE_U16)
2554 struct ethtool_tunable tuna;
2560 if (copy_from_user(&tuna, useraddr, sizeof(tuna)))
2562 ret = ethtool_tunable_valid(&tuna);
2565 data = kzalloc(tuna.len, GFP_USER);
2568 ret = ops->get_tunable(dev, &tuna, data);
2571 useraddr += sizeof(tuna);
2573 if (copy_to_user(useraddr, data, tuna.len))
2585 struct ethtool_tunable tuna;
2591 if (copy_from_user(&tuna, useraddr, sizeof(tuna)))
2593 ret = ethtool_tunable_valid(&tuna);
2596 useraddr += sizeof(tuna);
2597 data = memdup_user(useraddr, tuna.len);
2600 ret = ops->set_tunable(dev, &tuna, data);
2720 static int ethtool_phy_tunable_valid(const struct ethtool_tunable *tuna)
2722 switch (tuna->id) {
2725 if (tuna->len != sizeof(u8) ||
2726 tuna->type_id != ETHTOOL_TUNABLE_U8)
2730 if (tuna->len != sizeof(u16) ||
2731 tuna->type_id != ETHTOOL_TUNABLE_U16)
2744 struct ethtool_tunable tuna;
2752 if (copy_from_user(&tuna, useraddr, sizeof(tuna)))
2754 ret = ethtool_phy_tunable_valid(&tuna);
2757 data = kzalloc(tuna.len, GFP_USER);
2762 ret = phydev->drv->get_tunable(phydev, &tuna, data);
2765 ret = dev->ethtool_ops->get_phy_tunable(dev, &tuna, data);
2769 useraddr += sizeof(tuna);
2771 if (copy_to_user(useraddr, data, tuna.len))
2783 struct ethtool_tunable tuna;
2791 if (copy_from_user(&tuna, useraddr, sizeof(tuna)))
2793 ret = ethtool_phy_tunable_valid(&tuna);
2796 useraddr += sizeof(tuna);
2797 data = memdup_user(useraddr, tuna.len);
2802 ret = phydev->drv->set_tunable(phydev, &tuna, data);
2805 ret = dev->ethtool_ops->set_phy_tunable(dev, &tuna, data);