diff options
author | Kejian Yan <yankejian@huawei.com> | 2016-06-03 05:55:16 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-06-05 04:32:40 +0300 |
commit | 652d39b0d50a6e99495442431c8dadeb8c05c986 (patch) | |
tree | c62e3859ada61d64c9a79a77803064609c13cabf /drivers/net/ethernet/hisilicon/hns/hnae.c | |
parent | 7b2acae6fb28f0b3d32c0620f8045c4a1bf5bb92 (diff) | |
download | linux-652d39b0d50a6e99495442431c8dadeb8c05c986.tar.xz |
net: hns: add uniform interface for phy connection
As device_node is only used by DT case, HNS needs to treat the other
cases including ACPI. It needs to use uniform ways to handle both of
DT and ACPI. This patch chooses phy_device, and of_phy_connect and
of_phy_attach are only used by DT case. It needs to use uniform interface
to handle that sequence by both DT and ACPI.
Signed-off-by: Kejian Yan <yankejian@huawei.com>
Signed-off-by: Yisen Zhuang <Yisen.Zhuang@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/hisilicon/hns/hnae.c')
-rw-r--r-- | drivers/net/ethernet/hisilicon/hns/hnae.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/net/ethernet/hisilicon/hns/hnae.c b/drivers/net/ethernet/hisilicon/hns/hnae.c index d630acdb0749..5d3047cc8380 100644 --- a/drivers/net/ethernet/hisilicon/hns/hnae.c +++ b/drivers/net/ethernet/hisilicon/hns/hnae.c @@ -96,7 +96,13 @@ static int __ae_match(struct device *dev, const void *data) { struct hnae_ae_dev *hdev = cls_to_ae_dev(dev); - return (data == &hdev->dev->of_node->fwnode); + if (dev_of_node(hdev->dev)) + return (data == &hdev->dev->of_node->fwnode); + else if (is_acpi_node(hdev->dev->fwnode)) + return (data == hdev->dev->fwnode); + + dev_err(dev, "__ae_match cannot read cfg data from OF or acpi\n"); + return 0; } static struct hnae_ae_dev *find_ae(const struct fwnode_handle *fwnode) |