/* Creates a new phy_fixup and adds it to the list @bus_id: A string which matches phydev->dev.bus_id (or PHY_ANY_ID) @phy_uid: Used to match against phydev->phy_id (the UID of the  */
int phy_register_fixup(const char *bus_id, u32 phy_uid, u32 phy_uid_mask, int(*run)(struct phy_device *))
/* Creates a new phy_fixup and adds it to the list @bus_id: A string which matches phydev->dev.bus_id (or PHY_ANY_ID) @phy_uid: Used to match against phydev->phy_id (the UID of the  */
int phy_register_fixup(const char *bus_id, u32 phy_uid, u32 phy_uid_mask, int(*run)(struct phy_device *))
{
	struct phy_fixup *fixup;
	fixup = kzalloc(sizeof(struct phy_fixup), GFP_KERNEL);
	if (!fixup)
		return -ENOMEM;
	strlcpy(fixup->bus_id, bus_id, sizeof(fixup->bus_id));
	fixup->phy_uid = phy_uid;
	fixup->phy_uid_mask = phy_uid_mask;
	fixup->run = run;
	mutex_lock(&phy_fixup_lock);
	list_add_tail(&fixup->list, &phy_fixup_list);
	mutex_unlock(&phy_fixup_lock);
	return 0;
}