Lines Matching refs:eeprom
1016 struct ethtool_eeprom eeprom; in ethtool_get_any_eeprom() local
1017 void __user *userbuf = useraddr + sizeof(eeprom); in ethtool_get_any_eeprom()
1022 if (copy_from_user(&eeprom, useraddr, sizeof(eeprom))) in ethtool_get_any_eeprom()
1026 if (eeprom.offset + eeprom.len <= eeprom.offset) in ethtool_get_any_eeprom()
1030 if (eeprom.offset + eeprom.len > total_len) in ethtool_get_any_eeprom()
1037 bytes_remaining = eeprom.len; in ethtool_get_any_eeprom()
1039 eeprom.len = min(bytes_remaining, (u32)PAGE_SIZE); in ethtool_get_any_eeprom()
1041 ret = getter(dev, &eeprom, data); in ethtool_get_any_eeprom()
1044 if (copy_to_user(userbuf, data, eeprom.len)) { in ethtool_get_any_eeprom()
1048 userbuf += eeprom.len; in ethtool_get_any_eeprom()
1049 eeprom.offset += eeprom.len; in ethtool_get_any_eeprom()
1050 bytes_remaining -= eeprom.len; in ethtool_get_any_eeprom()
1053 eeprom.len = userbuf - (useraddr + sizeof(eeprom)); in ethtool_get_any_eeprom()
1054 eeprom.offset -= eeprom.len; in ethtool_get_any_eeprom()
1055 if (copy_to_user(useraddr, &eeprom, sizeof(eeprom))) in ethtool_get_any_eeprom()
1076 struct ethtool_eeprom eeprom; in ethtool_set_eeprom() local
1078 void __user *userbuf = useraddr + sizeof(eeprom); in ethtool_set_eeprom()
1087 if (copy_from_user(&eeprom, useraddr, sizeof(eeprom))) in ethtool_set_eeprom()
1091 if (eeprom.offset + eeprom.len <= eeprom.offset) in ethtool_set_eeprom()
1095 if (eeprom.offset + eeprom.len > ops->get_eeprom_len(dev)) in ethtool_set_eeprom()
1102 bytes_remaining = eeprom.len; in ethtool_set_eeprom()
1104 eeprom.len = min(bytes_remaining, (u32)PAGE_SIZE); in ethtool_set_eeprom()
1106 if (copy_from_user(data, userbuf, eeprom.len)) { in ethtool_set_eeprom()
1110 ret = ops->set_eeprom(dev, &eeprom, data); in ethtool_set_eeprom()
1113 userbuf += eeprom.len; in ethtool_set_eeprom()
1114 eeprom.offset += eeprom.len; in ethtool_set_eeprom()
1115 bytes_remaining -= eeprom.len; in ethtool_set_eeprom()