OSDN Git Service

net: stmmac: dwc-qos: avoid clk and reset for acpi device
authorAjay Gupta <ajayg@nvidia.com>
Mon, 16 Dec 2019 06:14:52 +0000 (22:14 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 17 Dec 2019 21:55:23 +0000 (13:55 -0800)
There are no clocks, resets or gpios referenced by Tegra ACPI
device so don't access clocks, resets or gpios interface with
ACPI device.

Clocks, resets and GPIOs for ACPI devices will be handled via
ACPI interface.

Signed-off-by: Ajay Gupta <ajayg@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c

index f87306b..2342d49 100644 (file)
@@ -271,6 +271,7 @@ static void *tegra_eqos_probe(struct platform_device *pdev,
                              struct plat_stmmacenet_data *data,
                              struct stmmac_resources *res)
 {
+       struct device *dev = &pdev->dev;
        struct tegra_eqos *eqos;
        int err;
 
@@ -283,6 +284,9 @@ static void *tegra_eqos_probe(struct platform_device *pdev,
        eqos->dev = &pdev->dev;
        eqos->regs = res->addr;
 
+       if (!is_of_node(dev->fwnode))
+               goto bypass_clk_reset_gpio;
+
        eqos->clk_master = devm_clk_get(&pdev->dev, "master_bus");
        if (IS_ERR(eqos->clk_master)) {
                err = PTR_ERR(eqos->clk_master);
@@ -355,6 +359,7 @@ static void *tegra_eqos_probe(struct platform_device *pdev,
 
        usleep_range(2000, 4000);
 
+bypass_clk_reset_gpio:
        data->fix_mac_speed = tegra_eqos_fix_speed;
        data->init = tegra_eqos_init;
        data->bsp_priv = eqos;