Messages in this thread | | | Subject | Re: [PATCH net-next 2/2] net: hns3: add fixup handle for hns3 driver | From | "shenjian (K)" <> | Date | Thu, 14 Feb 2019 15:25:55 +0800 |
| |
在 2019/2/14 12:08, Florian Fainelli 写道: > > > On 2/13/2019 8:31 PM, Jian Shen wrote: >> The default led configuration of marvell 88E1510 is not fit >> for hns3 driver, this patch fixes it. >> >> Signed-off-by: Jian Shen <shenjian15@huawei.com> >> --- >> .../net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c | 19 +++++++++++++++++++ >> 1 file changed, 19 insertions(+) >> >> diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c >> index 84f2878..4c8346e 100644 >> --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c >> +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c >> @@ -2,6 +2,7 @@ >> // Copyright (c) 2016-2017 Hisilicon Limited. >> >> #include <linux/etherdevice.h> >> +#include <linux/marvell_phy.h> >> #include <linux/kernel.h> >> >> #include "hclge_cmd.h" >> @@ -125,6 +126,13 @@ static int hclge_mdio_read(struct mii_bus *bus, int phyid, int regnum) >> return le16_to_cpu(mdio_cmd->data_rd); >> } >> >> +static int hclge_phy_marvell_fixup(struct phy_device *phydev) >> +{ >> + phydev->dev_flags |= MARVELL_PHY_M1510_HNS3_LEDS; >> + >> + return 0; >> +} >> + >> int hclge_mac_mdio_config(struct hclge_dev *hdev) >> { >> struct hclge_mac *mac = &hdev->hw.mac; >> @@ -168,6 +176,15 @@ int hclge_mac_mdio_config(struct hclge_dev *hdev) >> mac->phydev = phydev; >> mac->mdio_bus = mdio_bus; >> >> + /* register the PHY board fixup (for Marvell 88E1510) */ >> + ret = phy_register_fixup_for_uid(MARVELL_PHY_ID_88E1510, >> + MARVELL_PHY_ID_MASK, >> + hclge_phy_marvell_fixup); >> + /* we can live without it, so just issue a warning */ >> + if (ret) >> + dev_warn(&hdev->pdev->dev, >> + "Cannot register PHY board fixup\n"); > > You don't need to register a fixup for passing your flags, you can do > that at the time you attach to the PHY: > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/linux/phy.h#n945 > > Thanks, will fix it in next version. >> + >> return 0; >> } >> >> @@ -240,6 +257,8 @@ void hclge_mac_disconnect_phy(struct hnae3_handle *handle) >> if (!phydev) >> return; >> >> + phy_unregister_fixup_for_uid(MARVELL_PHY_ID_88E1510, >> + MARVELL_PHY_ID_MASK); >> phy_disconnect(phydev); >> } >> >> >
| |