summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormmel <mmel@FreeBSD.org>2016-11-05 04:17:32 +0000
committermmel <mmel@FreeBSD.org>2016-11-05 04:17:32 +0000
commit74c4a3679187ca87d7b84002efa67bc8b7d5d96e (patch)
tree2c5a38275664804e4168d58e568257401008436e
parentcfc8a3c6b74d2a82c444568e9d15396136c3637a (diff)
downloadFreeBSD-src-74c4a3679187ca87d7b84002efa67bc8b7d5d96e.zip
FreeBSD-src-74c4a3679187ca87d7b84002efa67bc8b7d5d96e.tar.gz
MFC r302523,r302528:
r302523: Add clk_get_by_ofw_node_index, which is like clk_get_by_ofw_index but operates on a specific OF node instead of the pass in device's OF node. r302528: EXTRES: Add OF node as argument to all <foo>_get_by_ofw_<bar>() functions. In some cases, the driver must handle given properties located in specific OF subnode. Instead of creating duplicate set of function, add 'node' as argument to existing functions, defaulting it to device OF node.
-rw-r--r--sys/arm/allwinner/a10_ahci.c4
-rw-r--r--sys/arm/allwinner/a10_codec.c4
-rw-r--r--sys/arm/allwinner/a10_dmac.c2
-rw-r--r--sys/arm/allwinner/a10_ehci.c6
-rw-r--r--sys/arm/allwinner/a10_fb.c16
-rw-r--r--sys/arm/allwinner/a10_gpio.c4
-rw-r--r--sys/arm/allwinner/a10_hdmi.c6
-rw-r--r--sys/arm/allwinner/a10_mmc.c6
-rw-r--r--sys/arm/allwinner/aw_if_dwc.c4
-rw-r--r--sys/arm/allwinner/aw_rsb.c4
-rw-r--r--sys/arm/allwinner/aw_usbphy.c6
-rw-r--r--sys/arm/allwinner/clk/aw_ahbclk.c2
-rw-r--r--sys/arm/allwinner/clk/aw_apbclk.c2
-rw-r--r--sys/arm/allwinner/clk/aw_axiclk.c2
-rw-r--r--sys/arm/allwinner/clk/aw_codecclk.c2
-rw-r--r--sys/arm/allwinner/clk/aw_cpuclk.c2
-rw-r--r--sys/arm/allwinner/clk/aw_cpusclk.c2
-rw-r--r--sys/arm/allwinner/clk/aw_debeclk.c2
-rw-r--r--sys/arm/allwinner/clk/aw_gate.c2
-rw-r--r--sys/arm/allwinner/clk/aw_gmacclk.c2
-rw-r--r--sys/arm/allwinner/clk/aw_hdmiclk.c2
-rw-r--r--sys/arm/allwinner/clk/aw_lcdclk.c2
-rw-r--r--sys/arm/allwinner/clk/aw_mmcclk.c2
-rw-r--r--sys/arm/allwinner/clk/aw_modclk.c2
-rw-r--r--sys/arm/allwinner/clk/aw_pll.c2
-rw-r--r--sys/arm/allwinner/clk/aw_usbclk.c4
-rw-r--r--sys/arm/allwinner/if_awg.c8
-rw-r--r--sys/arm/allwinner/if_emac.c2
-rw-r--r--sys/arm/nvidia/tegra124/tegra124_cpufreq.c12
-rw-r--r--sys/arm/nvidia/tegra124/tegra124_pmc.c2
-rw-r--r--sys/arm/nvidia/tegra124/tegra124_xusbpadctl.c2
-rw-r--r--sys/arm/nvidia/tegra_ahci.c26
-rw-r--r--sys/arm/nvidia/tegra_efuse.c4
-rw-r--r--sys/arm/nvidia/tegra_ehci.c6
-rw-r--r--sys/arm/nvidia/tegra_i2c.c4
-rw-r--r--sys/arm/nvidia/tegra_pcie.c30
-rw-r--r--sys/arm/nvidia/tegra_rtc.c2
-rw-r--r--sys/arm/nvidia/tegra_sdhci.c6
-rw-r--r--sys/arm/nvidia/tegra_soctherm.c6
-rw-r--r--sys/arm/nvidia/tegra_uart.c4
-rw-r--r--sys/arm/nvidia/tegra_usbphy.c12
-rw-r--r--sys/dev/dwc/if_dwc.c4
-rw-r--r--sys/dev/extres/clk/clk.c17
-rw-r--r--sys/dev/extres/clk/clk.h5
-rw-r--r--sys/dev/extres/clk/clk_fixed.c2
-rw-r--r--sys/dev/extres/hwreset/hwreset.c17
-rw-r--r--sys/dev/extres/hwreset/hwreset.h6
-rw-r--r--sys/dev/extres/phy/phy.c23
-rw-r--r--sys/dev/extres/phy/phy.h11
-rw-r--r--sys/dev/extres/regulator/regulator.c8
-rw-r--r--sys/dev/extres/regulator/regulator.h3
-rw-r--r--sys/dev/iicbus/twsi/a10_twsi.c4
-rw-r--r--sys/dev/uart/uart_dev_snps.c8
-rw-r--r--sys/dev/usb/controller/generic_ohci.c6
54 files changed, 176 insertions, 158 deletions
diff --git a/sys/arm/allwinner/a10_ahci.c b/sys/arm/allwinner/a10_ahci.c
index 1b87ed4..a5e6824 100644
--- a/sys/arm/allwinner/a10_ahci.c
+++ b/sys/arm/allwinner/a10_ahci.c
@@ -313,12 +313,12 @@ ahci_a10_attach(device_t dev)
return (ENXIO);
/* Enable clocks */
- error = clk_get_by_ofw_index(dev, 0, &clk_pll);
+ error = clk_get_by_ofw_index(dev, 0, 0, &clk_pll);
if (error != 0) {
device_printf(dev, "Cannot get PLL clock\n");
goto fail;
}
- error = clk_get_by_ofw_index(dev, 1, &clk_gate);
+ error = clk_get_by_ofw_index(dev, 0, 1, &clk_gate);
if (error != 0) {
device_printf(dev, "Cannot get gate clock\n");
goto fail;
diff --git a/sys/arm/allwinner/a10_codec.c b/sys/arm/allwinner/a10_codec.c
index b8c40c9..af9f41c 100644
--- a/sys/arm/allwinner/a10_codec.c
+++ b/sys/arm/allwinner/a10_codec.c
@@ -786,12 +786,12 @@ a10codec_attach(device_t dev)
}
/* Get clocks */
- error = clk_get_by_ofw_name(dev, "apb", &clk_apb);
+ error = clk_get_by_ofw_name(dev, 0, "apb", &clk_apb);
if (error != 0) {
device_printf(dev, "cannot find apb clock\n");
goto fail;
}
- error = clk_get_by_ofw_name(dev, "codec", &clk_codec);
+ error = clk_get_by_ofw_name(dev, 0, "codec", &clk_codec);
if (error != 0) {
device_printf(dev, "cannot find codec clock\n");
goto fail;
diff --git a/sys/arm/allwinner/a10_dmac.c b/sys/arm/allwinner/a10_dmac.c
index fd5aaa6..cf7d0c3 100644
--- a/sys/arm/allwinner/a10_dmac.c
+++ b/sys/arm/allwinner/a10_dmac.c
@@ -124,7 +124,7 @@ a10dmac_attach(device_t dev)
mtx_init(&sc->sc_mtx, "a10 dmac", NULL, MTX_SPIN);
/* Activate DMA controller clock */
- error = clk_get_by_ofw_index(dev, 0, &clk);
+ error = clk_get_by_ofw_index(dev, 0, 0, &clk);
if (error != 0) {
device_printf(dev, "cannot get clock\n");
return (error);
diff --git a/sys/arm/allwinner/a10_ehci.c b/sys/arm/allwinner/a10_ehci.c
index 406d8a1..accf7f9 100644
--- a/sys/arm/allwinner/a10_ehci.c
+++ b/sys/arm/allwinner/a10_ehci.c
@@ -208,7 +208,7 @@ a10_ehci_attach(device_t self)
sc->sc_flags |= EHCI_SCFLG_DONTRESET;
/* De-assert reset */
- if (hwreset_get_by_ofw_idx(self, 0, &aw_sc->rst) == 0) {
+ if (hwreset_get_by_ofw_idx(self, 0, 0, &aw_sc->rst) == 0) {
err = hwreset_deassert(aw_sc->rst);
if (err != 0) {
device_printf(self, "Could not de-assert reset\n");
@@ -217,7 +217,7 @@ a10_ehci_attach(device_t self)
}
/* Enable clock for USB */
- err = clk_get_by_ofw_index(self, 0, &aw_sc->clk);
+ err = clk_get_by_ofw_index(self, 0, 0, &aw_sc->clk);
if (err != 0) {
device_printf(self, "Could not get clock\n");
goto error;
@@ -229,7 +229,7 @@ a10_ehci_attach(device_t self)
}
/* Enable USB PHY */
- err = phy_get_by_ofw_name(self, "usb", &aw_sc->phy);
+ err = phy_get_by_ofw_name(self, 0, "usb", &aw_sc->phy);
if (err != 0) {
device_printf(self, "Could not get phy\n");
goto error;
diff --git a/sys/arm/allwinner/a10_fb.c b/sys/arm/allwinner/a10_fb.c
index cf8f167..4beb0d2 100644
--- a/sys/arm/allwinner/a10_fb.c
+++ b/sys/arm/allwinner/a10_fb.c
@@ -209,7 +209,7 @@ a10fb_setup_debe(struct a10fb_softc *sc, const struct videomode *mode)
height = mode->vdisplay << interlace;
/* Leave reset */
- error = hwreset_get_by_ofw_name(sc->dev, "de_be", &rst);
+ error = hwreset_get_by_ofw_name(sc->dev, 0, "de_be", &rst);
if (error != 0) {
device_printf(sc->dev, "cannot find reset 'de_be'\n");
return (error);
@@ -220,7 +220,7 @@ a10fb_setup_debe(struct a10fb_softc *sc, const struct videomode *mode)
return (error);
}
/* Gating AHB clock for BE */
- error = clk_get_by_ofw_name(sc->dev, "ahb_de_be", &clk_ahb);
+ error = clk_get_by_ofw_name(sc->dev, 0, "ahb_de_be", &clk_ahb);
if (error != 0) {
device_printf(sc->dev, "cannot find clk 'ahb_de_be'\n");
return (error);
@@ -231,7 +231,7 @@ a10fb_setup_debe(struct a10fb_softc *sc, const struct videomode *mode)
return (error);
}
/* Enable DRAM clock to BE */
- error = clk_get_by_ofw_name(sc->dev, "dram_de_be", &clk_dram);
+ error = clk_get_by_ofw_name(sc->dev, 0, "dram_de_be", &clk_dram);
if (error != 0) {
device_printf(sc->dev, "cannot find clk 'dram_de_be'\n");
return (error);
@@ -242,7 +242,7 @@ a10fb_setup_debe(struct a10fb_softc *sc, const struct videomode *mode)
return (error);
}
/* Set BE clock to 300MHz and enable */
- error = clk_get_by_ofw_name(sc->dev, "de_be", &clk_debe);
+ error = clk_get_by_ofw_name(sc->dev, 0, "de_be", &clk_debe);
if (error != 0) {
device_printf(sc->dev, "cannot find clk 'de_be'\n");
return (error);
@@ -309,12 +309,12 @@ a10fb_setup_pll(struct a10fb_softc *sc, uint64_t freq)
clk_t clk_sclk1, clk_sclk2;
int error;
- error = clk_get_by_ofw_name(sc->dev, "lcd_ch1_sclk1", &clk_sclk1);
+ error = clk_get_by_ofw_name(sc->dev, 0, "lcd_ch1_sclk1", &clk_sclk1);
if (error != 0) {
device_printf(sc->dev, "cannot find clk 'lcd_ch1_sclk1'\n");
return (error);
}
- error = clk_get_by_ofw_name(sc->dev, "lcd_ch1_sclk2", &clk_sclk2);
+ error = clk_get_by_ofw_name(sc->dev, 0, "lcd_ch1_sclk2", &clk_sclk2);
if (error != 0) {
device_printf(sc->dev, "cannot find clk 'lcd_ch1_sclk2'\n");
return (error);
@@ -360,7 +360,7 @@ a10fb_setup_tcon(struct a10fb_softc *sc, const struct videomode *mode)
start_delay = START_DELAY(vbl);
/* Leave reset */
- error = hwreset_get_by_ofw_name(sc->dev, "lcd", &rst);
+ error = hwreset_get_by_ofw_name(sc->dev, 0, "lcd", &rst);
if (error != 0) {
device_printf(sc->dev, "cannot find reset 'lcd'\n");
return (error);
@@ -371,7 +371,7 @@ a10fb_setup_tcon(struct a10fb_softc *sc, const struct videomode *mode)
return (error);
}
/* Gating AHB clock for LCD */
- error = clk_get_by_ofw_name(sc->dev, "ahb_lcd", &clk_ahb);
+ error = clk_get_by_ofw_name(sc->dev, 0, "ahb_lcd", &clk_ahb);
if (error != 0) {
device_printf(sc->dev, "cannot find clk 'ahb_lcd'\n");
return (error);
diff --git a/sys/arm/allwinner/a10_gpio.c b/sys/arm/allwinner/a10_gpio.c
index 3bb77d2..d7155dd 100644
--- a/sys/arm/allwinner/a10_gpio.c
+++ b/sys/arm/allwinner/a10_gpio.c
@@ -655,7 +655,7 @@ a10_gpio_attach(device_t dev)
sc->padconf = (struct allwinner_padconf *)ofw_bus_search_compatible(dev,
compat_data)->ocd_data;
- if (hwreset_get_by_ofw_idx(dev, 0, &rst) == 0) {
+ if (hwreset_get_by_ofw_idx(dev, 0, 0, &rst) == 0) {
error = hwreset_deassert(rst);
if (error != 0) {
device_printf(dev, "cannot de-assert reset\n");
@@ -663,7 +663,7 @@ a10_gpio_attach(device_t dev)
}
}
- if (clk_get_by_ofw_index(dev, 0, &clk) == 0) {
+ if (clk_get_by_ofw_index(dev, 0, 0, &clk) == 0) {
error = clk_enable(clk);
if (error != 0) {
device_printf(dev, "could not enable clock\n");
diff --git a/sys/arm/allwinner/a10_hdmi.c b/sys/arm/allwinner/a10_hdmi.c
index 99cbc2f..1b7cbd2 100644
--- a/sys/arm/allwinner/a10_hdmi.c
+++ b/sys/arm/allwinner/a10_hdmi.c
@@ -293,17 +293,17 @@ a10hdmi_attach(device_t dev)
}
/* Setup clocks */
- error = clk_get_by_ofw_name(dev, "ahb", &sc->clk_ahb);
+ error = clk_get_by_ofw_name(dev, 0, "ahb", &sc->clk_ahb);
if (error != 0) {
device_printf(dev, "cannot find ahb clock\n");
return (error);
}
- error = clk_get_by_ofw_name(dev, "hdmi", &sc->clk_hdmi);
+ error = clk_get_by_ofw_name(dev, 0, "hdmi", &sc->clk_hdmi);
if (error != 0) {
device_printf(dev, "cannot find hdmi clock\n");
return (error);
}
- error = clk_get_by_ofw_name(dev, "lcd", &sc->clk_lcd);
+ error = clk_get_by_ofw_name(dev, 0, "lcd", &sc->clk_lcd);
if (error != 0) {
device_printf(dev, "cannot find lcd clock\n");
}
diff --git a/sys/arm/allwinner/a10_mmc.c b/sys/arm/allwinner/a10_mmc.c
index d2ee0e8..a5eecb8 100644
--- a/sys/arm/allwinner/a10_mmc.c
+++ b/sys/arm/allwinner/a10_mmc.c
@@ -166,7 +166,7 @@ a10_mmc_attach(device_t dev)
callout_init_mtx(&sc->a10_timeoutc, &sc->a10_mtx, 0);
/* De-assert reset */
- if (hwreset_get_by_ofw_name(dev, "ahb", &sc->a10_rst_ahb) == 0) {
+ if (hwreset_get_by_ofw_name(dev, 0, "ahb", &sc->a10_rst_ahb) == 0) {
error = hwreset_deassert(sc->a10_rst_ahb);
if (error != 0) {
device_printf(dev, "cannot de-assert reset\n");
@@ -175,7 +175,7 @@ a10_mmc_attach(device_t dev)
}
/* Activate the module clock. */
- error = clk_get_by_ofw_name(dev, "ahb", &sc->a10_clk_ahb);
+ error = clk_get_by_ofw_name(dev, 0, "ahb", &sc->a10_clk_ahb);
if (error != 0) {
device_printf(dev, "cannot get ahb clock\n");
goto fail;
@@ -185,7 +185,7 @@ a10_mmc_attach(device_t dev)
device_printf(dev, "cannot enable ahb clock\n");
goto fail;
}
- error = clk_get_by_ofw_name(dev, "mmc", &sc->a10_clk_mmc);
+ error = clk_get_by_ofw_name(dev, 0, "mmc", &sc->a10_clk_mmc);
if (error != 0) {
device_printf(dev, "cannot get mmc clock\n");
goto fail;
diff --git a/sys/arm/allwinner/aw_if_dwc.c b/sys/arm/allwinner/aw_if_dwc.c
index 8d47630..aaf05df 100644
--- a/sys/arm/allwinner/aw_if_dwc.c
+++ b/sys/arm/allwinner/aw_if_dwc.c
@@ -73,7 +73,7 @@ a20_if_dwc_init(device_t dev)
/* Configure PHY for MII or RGMII mode */
if (OF_getprop_alloc(node, "phy-mode", 1, (void **)&phy_type)) {
- error = clk_get_by_ofw_name(dev, "allwinner_gmac_tx", &clk_tx);
+ error = clk_get_by_ofw_name(dev, 0, "allwinner_gmac_tx", &clk_tx);
if (error != 0) {
device_printf(dev, "could not get tx clk\n");
return (error);
@@ -99,7 +99,7 @@ a20_if_dwc_init(device_t dev)
}
/* Enable PHY regulator if applicable */
- if (regulator_get_by_ofw_property(dev, "phy-supply", &reg) == 0) {
+ if (regulator_get_by_ofw_property(dev, 0, "phy-supply", &reg) == 0) {
error = regulator_enable(reg);
if (error != 0) {
device_printf(dev, "could not enable PHY regulator\n");
diff --git a/sys/arm/allwinner/aw_rsb.c b/sys/arm/allwinner/aw_rsb.c
index 0011b43..2cdee9e 100644
--- a/sys/arm/allwinner/aw_rsb.c
+++ b/sys/arm/allwinner/aw_rsb.c
@@ -395,14 +395,14 @@ rsb_attach(device_t dev)
sc = device_get_softc(dev);
mtx_init(&sc->mtx, device_get_nameunit(dev), "rsb", MTX_DEF);
- if (clk_get_by_ofw_index(dev, 0, &sc->clk) == 0) {
+ if (clk_get_by_ofw_index(dev, 0, 0, &sc->clk) == 0) {
error = clk_enable(sc->clk);
if (error != 0) {
device_printf(dev, "cannot enable clock\n");
goto fail;
}
}
- if (hwreset_get_by_ofw_idx(dev, 0, &sc->rst) == 0) {
+ if (hwreset_get_by_ofw_idx(dev, 0, 0, &sc->rst) == 0) {
error = hwreset_deassert(sc->rst);
if (error != 0) {
device_printf(dev, "cannot de-assert reset\n");
diff --git a/sys/arm/allwinner/aw_usbphy.c b/sys/arm/allwinner/aw_usbphy.c
index 3eb3c65..62b17ca 100644
--- a/sys/arm/allwinner/aw_usbphy.c
+++ b/sys/arm/allwinner/aw_usbphy.c
@@ -87,7 +87,7 @@ awusbphy_init(device_t dev)
node = ofw_bus_get_node(dev);
/* Enable clocks */
- for (off = 0; clk_get_by_ofw_index(dev, off, &clk) == 0; off++) {
+ for (off = 0; clk_get_by_ofw_index(dev, 0, off, &clk) == 0; off++) {
error = clk_enable(clk);
if (error != 0) {
device_printf(dev, "couldn't enable clock %s\n",
@@ -97,7 +97,7 @@ awusbphy_init(device_t dev)
}
/* De-assert resets */
- for (off = 0; hwreset_get_by_ofw_idx(dev, off, &rst) == 0; off++) {
+ for (off = 0; hwreset_get_by_ofw_idx(dev, 0, off, &rst) == 0; off++) {
error = hwreset_deassert(rst);
if (error != 0) {
device_printf(dev, "couldn't de-assert reset %d\n",
@@ -109,7 +109,7 @@ awusbphy_init(device_t dev)
/* Get regulators */
for (off = 0; off < USBPHY_NPHYS; off++) {
snprintf(pname, sizeof(pname), "usb%d_vbus-supply", off);
- if (regulator_get_by_ofw_property(dev, pname, &reg) == 0)
+ if (regulator_get_by_ofw_property(dev, 0, pname, &reg) == 0)
sc->reg[off] = reg;
}
diff --git a/sys/arm/allwinner/clk/aw_ahbclk.c b/sys/arm/allwinner/clk/aw_ahbclk.c
index 00a0afe..f2c7005 100644
--- a/sys/arm/allwinner/clk/aw_ahbclk.c
+++ b/sys/arm/allwinner/clk/aw_ahbclk.c
@@ -315,7 +315,7 @@ aw_ahbclk_attach(device_t dev)
def.parent_names = malloc(sizeof(char *) * ncells, M_OFWPROP,
M_WAITOK);
for (i = 0; i < ncells; i++) {
- error = clk_get_by_ofw_index(dev, i, &clk_parent);
+ error = clk_get_by_ofw_index(dev, 0, i, &clk_parent);
if (error != 0) {
device_printf(dev, "cannot get clock %d\n", i);
goto fail;
diff --git a/sys/arm/allwinner/clk/aw_apbclk.c b/sys/arm/allwinner/clk/aw_apbclk.c
index 7620c45..2c24f3d 100644
--- a/sys/arm/allwinner/clk/aw_apbclk.c
+++ b/sys/arm/allwinner/clk/aw_apbclk.c
@@ -248,7 +248,7 @@ aw_apbclk_attach(device_t dev)
def.id = 1;
def.parent_names = malloc(sizeof(char *) * ncells, M_OFWPROP, M_WAITOK);
for (i = 0; i < ncells; i++) {
- error = clk_get_by_ofw_index(dev, i, &clk_parent);
+ error = clk_get_by_ofw_index(dev, 0, i, &clk_parent);
if (error != 0) {
device_printf(dev, "cannot get clock %d\n", i);
goto fail;
diff --git a/sys/arm/allwinner/clk/aw_axiclk.c b/sys/arm/allwinner/clk/aw_axiclk.c
index 8f4a6d6..ad236d2 100644
--- a/sys/arm/allwinner/clk/aw_axiclk.c
+++ b/sys/arm/allwinner/clk/aw_axiclk.c
@@ -135,7 +135,7 @@ aw_axiclk_attach(device_t dev)
clkdom = clkdom_create(dev);
- error = clk_get_by_ofw_index(dev, 0, &clk_parent);
+ error = clk_get_by_ofw_index(dev, 0, 0, &clk_parent);
if (error != 0) {
device_printf(dev, "cannot parse clock parent\n");
return (ENXIO);
diff --git a/sys/arm/allwinner/clk/aw_codecclk.c b/sys/arm/allwinner/clk/aw_codecclk.c
index 5c50f49..8da00ad 100644
--- a/sys/arm/allwinner/clk/aw_codecclk.c
+++ b/sys/arm/allwinner/clk/aw_codecclk.c
@@ -120,7 +120,7 @@ aw_codecclk_attach(device_t dev)
goto fail;
}
- error = clk_get_by_ofw_index(dev, 0, &clk_parent);
+ error = clk_get_by_ofw_index(dev, 0, 0, &clk_parent);
if (error != 0) {
device_printf(dev, "cannot parse clock parent\n");
return (ENXIO);
diff --git a/sys/arm/allwinner/clk/aw_cpuclk.c b/sys/arm/allwinner/clk/aw_cpuclk.c
index 7beffcd..d6ae458 100644
--- a/sys/arm/allwinner/clk/aw_cpuclk.c
+++ b/sys/arm/allwinner/clk/aw_cpuclk.c
@@ -95,7 +95,7 @@ aw_cpuclk_attach(device_t dev)
def.clkdef.parent_names = malloc(sizeof(char *) * ncells, M_OFWPROP,
M_WAITOK);
for (i = 0; i < ncells; i++) {
- error = clk_get_by_ofw_index(dev, i, &clk);
+ error = clk_get_by_ofw_index(dev, 0, i, &clk);
if (error != 0) {
device_printf(dev, "cannot get clock %d\n", i);
goto fail;
diff --git a/sys/arm/allwinner/clk/aw_cpusclk.c b/sys/arm/allwinner/clk/aw_cpusclk.c
index 6d18284..781c83a 100644
--- a/sys/arm/allwinner/clk/aw_cpusclk.c
+++ b/sys/arm/allwinner/clk/aw_cpusclk.c
@@ -255,7 +255,7 @@ aw_cpusclk_attach(device_t dev)
def.parent_names = malloc(sizeof(char *) * ncells, M_OFWPROP,
M_WAITOK);
for (i = 0; i < ncells; i++) {
- error = clk_get_by_ofw_index(dev, i, &clk_parent);
+ error = clk_get_by_ofw_index(dev, 0, i, &clk_parent);
if (error != 0) {
device_printf(dev, "cannot get clock %d\n", i);
goto fail;
diff --git a/sys/arm/allwinner/clk/aw_debeclk.c b/sys/arm/allwinner/clk/aw_debeclk.c
index 885fad8..97f9d28 100644
--- a/sys/arm/allwinner/clk/aw_debeclk.c
+++ b/sys/arm/allwinner/clk/aw_debeclk.c
@@ -287,7 +287,7 @@ aw_debeclk_attach(device_t dev)
def.id = 1;
def.parent_names = malloc(sizeof(char *) * ncells, M_OFWPROP, M_WAITOK);
for (i = 0; i < ncells; i++) {
- error = clk_get_by_ofw_index(dev, i, &clk_parent);
+ error = clk_get_by_ofw_index(dev, 0, i, &clk_parent);
if (error != 0) {
device_printf(dev, "cannot get clock %d\n", i);
goto fail;
diff --git a/sys/arm/allwinner/clk/aw_gate.c b/sys/arm/allwinner/clk/aw_gate.c
index 27c0d78..e26ff89 100644
--- a/sys/arm/allwinner/clk/aw_gate.c
+++ b/sys/arm/allwinner/clk/aw_gate.c
@@ -168,7 +168,7 @@ aw_gate_attach(device_t dev)
goto fail;
}
- error = clk_get_by_ofw_index(dev, 0, &clk_parent);
+ error = clk_get_by_ofw_index(dev, 0, 0, &clk_parent);
if (error != 0) {
device_printf(dev, "cannot parse clock parent\n");
return (ENXIO);
diff --git a/sys/arm/allwinner/clk/aw_gmacclk.c b/sys/arm/allwinner/clk/aw_gmacclk.c
index 72495fd..8cc4ff2 100644
--- a/sys/arm/allwinner/clk/aw_gmacclk.c
+++ b/sys/arm/allwinner/clk/aw_gmacclk.c
@@ -240,7 +240,7 @@ aw_gmacclk_attach(device_t dev)
def.id = 1;
def.parent_names = malloc(sizeof(char *) * ncells, M_OFWPROP, M_WAITOK);
for (i = 0; i < ncells; i++) {
- error = clk_get_by_ofw_index(dev, i, &clk_parent);
+ error = clk_get_by_ofw_index(dev, 0, i, &clk_parent);
if (error != 0) {
device_printf(dev, "cannot get clock %d\n", error);
goto fail;
diff --git a/sys/arm/allwinner/clk/aw_hdmiclk.c b/sys/arm/allwinner/clk/aw_hdmiclk.c
index 635418c..9602dc6 100644
--- a/sys/arm/allwinner/clk/aw_hdmiclk.c
+++ b/sys/arm/allwinner/clk/aw_hdmiclk.c
@@ -249,7 +249,7 @@ aw_hdmiclk_attach(device_t dev)
clkdom = clkdom_create(dev);
- error = clk_get_by_ofw_index(dev, 0, &clk_parent);
+ error = clk_get_by_ofw_index(dev, 0, 0, &clk_parent);
if (error != 0) {
device_printf(dev, "cannot parse clock parent\n");
return (ENXIO);
diff --git a/sys/arm/allwinner/clk/aw_lcdclk.c b/sys/arm/allwinner/clk/aw_lcdclk.c
index 0cadabf..62213b8 100644
--- a/sys/arm/allwinner/clk/aw_lcdclk.c
+++ b/sys/arm/allwinner/clk/aw_lcdclk.c
@@ -493,7 +493,7 @@ aw_lcdclk_attach(device_t dev)
parent_names = malloc(sizeof(char *) * ncells, M_OFWPROP, M_WAITOK);
for (i = 0; i < ncells; i++) {
- error = clk_get_by_ofw_index(dev, i, &clk_parent);
+ error = clk_get_by_ofw_index(dev, 0, i, &clk_parent);
if (error != 0) {
device_printf(dev, "cannot get clock %d\n", i);
goto fail;
diff --git a/sys/arm/allwinner/clk/aw_mmcclk.c b/sys/arm/allwinner/clk/aw_mmcclk.c
index 653afd9..52ed231 100644
--- a/sys/arm/allwinner/clk/aw_mmcclk.c
+++ b/sys/arm/allwinner/clk/aw_mmcclk.c
@@ -292,7 +292,7 @@ aw_mmcclk_attach(device_t dev)
def.id = 0;
def.parent_names = malloc(sizeof(char *) * ncells, M_OFWPROP, M_WAITOK);
for (i = 0; i < ncells; i++) {
- error = clk_get_by_ofw_index(dev, i, &clk_parent);
+ error = clk_get_by_ofw_index(dev, 0, i, &clk_parent);
if (error != 0) {
device_printf(dev, "cannot get clock %d\n", i);
goto fail;
diff --git a/sys/arm/allwinner/clk/aw_modclk.c b/sys/arm/allwinner/clk/aw_modclk.c
index f4755ea..4b9087a 100644
--- a/sys/arm/allwinner/clk/aw_modclk.c
+++ b/sys/arm/allwinner/clk/aw_modclk.c
@@ -260,7 +260,7 @@ aw_modclk_attach(device_t dev)
def.id = 1;
def.parent_names = malloc(sizeof(char *) * ncells, M_OFWPROP, M_WAITOK);
for (i = 0; i < ncells; i++) {
- error = clk_get_by_ofw_index(dev, i, &clk_parent);
+ error = clk_get_by_ofw_index(dev, 0, i, &clk_parent);
if (error != 0) {
device_printf(dev, "cannot get clock %d\n", i);
goto fail;
diff --git a/sys/arm/allwinner/clk/aw_pll.c b/sys/arm/allwinner/clk/aw_pll.c
index 9b2d593..f60af54 100644
--- a/sys/arm/allwinner/clk/aw_pll.c
+++ b/sys/arm/allwinner/clk/aw_pll.c
@@ -856,7 +856,7 @@ aw_pll_attach(device_t dev)
goto fail;
}
- if (clk_get_by_ofw_index(dev, 0, &clk_parent) != 0)
+ if (clk_get_by_ofw_index(dev, 0, 0, &clk_parent) != 0)
clk_parent = NULL;
for (index = 0; index < nout; index++) {
diff --git a/sys/arm/allwinner/clk/aw_usbclk.c b/sys/arm/allwinner/clk/aw_usbclk.c
index 444e295..e623e3b 100644
--- a/sys/arm/allwinner/clk/aw_usbclk.c
+++ b/sys/arm/allwinner/clk/aw_usbclk.c
@@ -202,13 +202,13 @@ aw_usbclk_attach(device_t dev)
else if (indices == NULL && type == AW_H3_USBCLK)
indices = aw_usbclk_indices_h3;
- error = clk_get_by_ofw_index(dev, 0, &clk_parent);
+ error = clk_get_by_ofw_index(dev, 0, 0, &clk_parent);
if (error != 0) {
device_printf(dev, "cannot parse clock parent\n");
return (ENXIO);
}
if (type == AW_A83T_USBCLK) {
- error = clk_get_by_ofw_index(dev, 1, &clk_parent_pll);
+ error = clk_get_by_ofw_index(dev, 0, 1, &clk_parent_pll);
if (error != 0) {
device_printf(dev, "cannot parse pll clock parent\n");
return (ENXIO);
diff --git a/sys/arm/allwinner/if_awg.c b/sys/arm/allwinner/if_awg.c
index 6428fbd..cded892 100644
--- a/sys/arm/allwinner/if_awg.c
+++ b/sys/arm/allwinner/if_awg.c
@@ -931,12 +931,12 @@ awg_setup_extres(device_t dev)
phy_type = NULL;
/* Get AHB clock and reset resources */
- error = hwreset_get_by_ofw_name(dev, "ahb", &rst_ahb);
+ error = hwreset_get_by_ofw_name(dev, 0, "ahb", &rst_ahb);
if (error != 0) {
device_printf(dev, "cannot get ahb reset\n");
goto fail;
}
- error = clk_get_by_ofw_name(dev, "ahb", &clk_ahb);
+ error = clk_get_by_ofw_name(dev, 0, "ahb", &clk_ahb);
if (error != 0) {
device_printf(dev, "cannot get ahb clock\n");
goto fail;
@@ -954,7 +954,7 @@ awg_setup_extres(device_t dev)
OF_prop_free(phy_type);
/* Get the TX clock */
- error = clk_get_by_ofw_name(dev, "tx", &clk_tx);
+ error = clk_get_by_ofw_name(dev, 0, "tx", &clk_tx);
if (error != 0) {
device_printf(dev, "cannot get tx clock\n");
goto fail;
@@ -998,7 +998,7 @@ awg_setup_extres(device_t dev)
}
/* Enable PHY regulator if applicable */
- if (regulator_get_by_ofw_property(dev, "phy-supply", &reg) == 0) {
+ if (regulator_get_by_ofw_property(dev, 0, "phy-supply", &reg) == 0) {
error = regulator_enable(reg);
if (error != 0) {
device_printf(dev, "cannot enable PHY regulator\n");
diff --git a/sys/arm/allwinner/if_emac.c b/sys/arm/allwinner/if_emac.c
index 99cb9ab..097e4911 100644
--- a/sys/arm/allwinner/if_emac.c
+++ b/sys/arm/allwinner/if_emac.c
@@ -147,7 +147,7 @@ emac_sys_setup(struct emac_softc *sc)
int error;
/* Activate EMAC clock. */
- error = clk_get_by_ofw_index(sc->emac_dev, 0, &sc->emac_clk);
+ error = clk_get_by_ofw_index(sc->emac_dev, 0, 0, &sc->emac_clk);
if (error != 0) {
device_printf(sc->emac_dev, "cannot get clock\n");
return (error);
diff --git a/sys/arm/nvidia/tegra124/tegra124_cpufreq.c b/sys/arm/nvidia/tegra124/tegra124_cpufreq.c
index 0f14b58..88d40a8 100644
--- a/sys/arm/nvidia/tegra124/tegra124_cpufreq.c
+++ b/sys/arm/nvidia/tegra124/tegra124_cpufreq.c
@@ -432,36 +432,36 @@ get_fdt_resources(struct tegra124_cpufreq_softc *sc, phandle_t node)
device_t parent_dev;
parent_dev = device_get_parent(sc->dev);
- rv = regulator_get_by_ofw_property(parent_dev, "vdd-cpu-supply",
+ rv = regulator_get_by_ofw_property(parent_dev, 0, "vdd-cpu-supply",
&sc->supply_vdd_cpu);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'vdd-cpu' regulator\n");
return (rv);
}
- rv = clk_get_by_ofw_name(parent_dev, "cpu_g", &sc->clk_cpu_g);
+ rv = clk_get_by_ofw_name(parent_dev, 0, "cpu_g", &sc->clk_cpu_g);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'cpu_g' clock: %d\n", rv);
return (ENXIO);
}
- rv = clk_get_by_ofw_name(parent_dev, "cpu_lp", &sc->clk_cpu_lp);
+ rv = clk_get_by_ofw_name(parent_dev, 0, "cpu_lp", &sc->clk_cpu_lp);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'cpu_lp' clock\n");
return (ENXIO);
}
- rv = clk_get_by_ofw_name(parent_dev, "pll_x", &sc->clk_pll_x);
+ rv = clk_get_by_ofw_name(parent_dev, 0, "pll_x", &sc->clk_pll_x);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'pll_x' clock\n");
return (ENXIO);
}
- rv = clk_get_by_ofw_name(parent_dev, "pll_p", &sc->clk_pll_p);
+ rv = clk_get_by_ofw_name(parent_dev, 0, "pll_p", &sc->clk_pll_p);
if (rv != 0) {
device_printf(parent_dev, "Cannot get 'pll_p' clock\n");
return (ENXIO);
}
- rv = clk_get_by_ofw_name(parent_dev, "dfll", &sc->clk_dfll);
+ rv = clk_get_by_ofw_name(parent_dev, 0, "dfll", &sc->clk_dfll);
if (rv != 0) {
/* XXX DPLL is not implemented yet */
/*
diff --git a/sys/arm/nvidia/tegra124/tegra124_pmc.c b/sys/arm/nvidia/tegra124/tegra124_pmc.c
index 7ff7307..04bebda 100644
--- a/sys/arm/nvidia/tegra124/tegra124_pmc.c
+++ b/sys/arm/nvidia/tegra124/tegra124_pmc.c
@@ -494,7 +494,7 @@ tegra124_pmc_attach(device_t dev)
return (rv);
}
- rv = clk_get_by_ofw_name(sc->dev, "pclk", &sc->clk);
+ rv = clk_get_by_ofw_name(sc->dev, 0, "pclk", &sc->clk);
if (rv != 0) {
device_printf(sc->dev, "Cannot get \"pclk\" clock\n");
return (ENXIO);
diff --git a/sys/arm/nvidia/tegra124/tegra124_xusbpadctl.c b/sys/arm/nvidia/tegra124/tegra124_xusbpadctl.c
index 9d8b846..2d79e52 100644
--- a/sys/arm/nvidia/tegra124/tegra124_xusbpadctl.c
+++ b/sys/arm/nvidia/tegra124/tegra124_xusbpadctl.c
@@ -556,7 +556,7 @@ xusbpadctl_attach(device_t dev)
}
node = ofw_bus_get_node(dev);
- rv = hwreset_get_by_ofw_name(dev, "padctl", &sc->rst);
+ rv = hwreset_get_by_ofw_name(dev, 0, "padctl", &sc->rst);
if (rv != 0) {
device_printf(dev, "Cannot get 'padctl' reset: %d\n", rv);
return (rv);
diff --git a/sys/arm/nvidia/tegra_ahci.c b/sys/arm/nvidia/tegra_ahci.c
index 4afba17..fcd6e30 100644
--- a/sys/arm/nvidia/tegra_ahci.c
+++ b/sys/arm/nvidia/tegra_ahci.c
@@ -206,77 +206,77 @@ get_fdt_resources(struct tegra_ahci_sc *sc, phandle_t node)
int rv;
- rv = regulator_get_by_ofw_property(sc->dev, "hvdd-supply",
+ rv = regulator_get_by_ofw_property(sc->dev, 0, "hvdd-supply",
&sc->supply_hvdd );
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'hvdd' regulator\n");
return (ENXIO);
}
- rv = regulator_get_by_ofw_property(sc->dev, "vddio-supply",
+ rv = regulator_get_by_ofw_property(sc->dev, 0, "vddio-supply",
&sc->supply_vddio);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'vddio' regulator\n");
return (ENXIO);
}
- rv = regulator_get_by_ofw_property(sc->dev, "avdd-supply",
+ rv = regulator_get_by_ofw_property(sc->dev, 0, "avdd-supply",
&sc->supply_avdd);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'avdd' regulator\n");
return (ENXIO);
}
- rv = regulator_get_by_ofw_property(sc->dev, "target-5v-supply",
+ rv = regulator_get_by_ofw_property(sc->dev, 0, "target-5v-supply",
&sc->supply_target_5v);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'target-5v' regulator\n");
return (ENXIO);
}
- rv = regulator_get_by_ofw_property(sc->dev, "target-12v-supply",
+ rv = regulator_get_by_ofw_property(sc->dev, 0, "target-12v-supply",
&sc->supply_target_12v);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'target-12v' regulator\n");
return (ENXIO);
}
- rv = hwreset_get_by_ofw_name(sc->dev, "sata", &sc->hwreset_sata );
+ rv = hwreset_get_by_ofw_name(sc->dev, 0, "sata", &sc->hwreset_sata );
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'sata' reset\n");
return (ENXIO);
}
- rv = hwreset_get_by_ofw_name(sc->dev, "sata-oob",
+ rv = hwreset_get_by_ofw_name(sc->dev, 0, "sata-oob",
&sc->hwreset_sata_oob);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'sata oob' reset\n");
return (ENXIO);
}
- rv = hwreset_get_by_ofw_name(sc->dev, "sata-cold",
+ rv = hwreset_get_by_ofw_name(sc->dev, 0, "sata-cold",
&sc->hwreset_sata_cold);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'sata cold' reset\n");
return (ENXIO);
}
- rv = phy_get_by_ofw_name(sc->dev, "sata-phy", &sc->phy);
+ rv = phy_get_by_ofw_name(sc->dev, 0, "sata-phy", &sc->phy);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'sata' phy\n");
return (ENXIO);
}
- rv = clk_get_by_ofw_name(sc->dev, "sata", &sc->clk_sata);
+ rv = clk_get_by_ofw_name(sc->dev, 0, "sata", &sc->clk_sata);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'sata' clock\n");
return (ENXIO);
}
- rv = clk_get_by_ofw_name(sc->dev, "sata-oob", &sc->clk_sata_oob);
+ rv = clk_get_by_ofw_name(sc->dev, 0, "sata-oob", &sc->clk_sata_oob);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'sata oob' clock\n");
return (ENXIO);
}
- rv = clk_get_by_ofw_name(sc->dev, "cml1", &sc->clk_cml);
+ rv = clk_get_by_ofw_name(sc->dev, 0, "cml1", &sc->clk_cml);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'cml1' clock\n");
return (ENXIO);
}
- rv = clk_get_by_ofw_name(sc->dev, "pll_e", &sc->clk_pll_e);
+ rv = clk_get_by_ofw_name(sc->dev, 0, "pll_e", &sc->clk_pll_e);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'pll_e' clock\n");
return (ENXIO);
diff --git a/sys/arm/nvidia/tegra_efuse.c b/sys/arm/nvidia/tegra_efuse.c
index ae3f9ef..848cf50 100644
--- a/sys/arm/nvidia/tegra_efuse.c
+++ b/sys/arm/nvidia/tegra_efuse.c
@@ -291,7 +291,7 @@ tegra_efuse_attach(device_t dev)
}
/* OFW resources. */
- rv = clk_get_by_ofw_name(dev, "fuse", &sc->clk);
+ rv = clk_get_by_ofw_name(dev, 0, "fuse", &sc->clk);
if (rv != 0) {
device_printf(dev, "Cannot get fuse clock: %d\n", rv);
goto fail;
@@ -301,7 +301,7 @@ tegra_efuse_attach(device_t dev)
device_printf(dev, "Cannot enable clock: %d\n", rv);
goto fail;
}
- rv = hwreset_get_by_ofw_name(sc->dev, "fuse", &sc->reset);
+ rv = hwreset_get_by_ofw_name(sc->dev, 0, "fuse", &sc->reset);
if (rv != 0) {
device_printf(dev, "Cannot get fuse reset\n");
goto fail;
diff --git a/sys/arm/nvidia/tegra_ehci.c b/sys/arm/nvidia/tegra_ehci.c
index 1834b33..2d44ffa 100644
--- a/sys/arm/nvidia/tegra_ehci.c
+++ b/sys/arm/nvidia/tegra_ehci.c
@@ -174,21 +174,21 @@ tegra_ehci_attach(device_t dev)
goto out;
}
- rv = hwreset_get_by_ofw_name(dev, "usb", &sc->reset);
+ rv = hwreset_get_by_ofw_name(dev, 0, "usb", &sc->reset);
if (rv != 0) {
device_printf(dev, "Cannot get reset\n");
rv = ENXIO;
goto out;
}
- rv = phy_get_by_ofw_property(sc->dev, "nvidia,phy", &sc->phy);
+ rv = phy_get_by_ofw_property(sc->dev, 0, "nvidia,phy", &sc->phy);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'nvidia,phy' phy\n");
rv = ENXIO;
goto out;
}
- rv = clk_get_by_ofw_index(sc->dev, 0, &sc->clk);
+ rv = clk_get_by_ofw_index(sc->dev, 0, 0, &sc->clk);
if (rv != 0) {
device_printf(dev, "Cannot get clock\n");
goto out;
diff --git a/sys/arm/nvidia/tegra_i2c.c b/sys/arm/nvidia/tegra_i2c.c
index d50d34c..d8f390e 100644
--- a/sys/arm/nvidia/tegra_i2c.c
+++ b/sys/arm/nvidia/tegra_i2c.c
@@ -666,12 +666,12 @@ tegra_i2c_attach(device_t dev)
}
/* FDT resources. */
- rv = clk_get_by_ofw_name(dev, "div-clk", &sc->clk);
+ rv = clk_get_by_ofw_name(dev, 0, "div-clk", &sc->clk);
if (rv != 0) {
device_printf(dev, "Cannot get i2c clock: %d\n", rv);
goto fail;
}
- rv = hwreset_get_by_ofw_name(sc->dev, "i2c", &sc->reset);
+ rv = hwreset_get_by_ofw_name(sc->dev, 0, "i2c", &sc->reset);
if (rv != 0) {
device_printf(sc->dev, "Cannot get i2c reset\n");
return (ENXIO);
diff --git a/sys/arm/nvidia/tegra_pcie.c b/sys/arm/nvidia/tegra_pcie.c
index ac38eb2..4e8013a 100644
--- a/sys/arm/nvidia/tegra_pcie.c
+++ b/sys/arm/nvidia/tegra_pcie.c
@@ -1080,49 +1080,49 @@ tegra_pcib_parse_fdt_resources(struct tegra_pcib_softc *sc, phandle_t node)
int rv;
/* Power supplies. */
- rv = regulator_get_by_ofw_property(sc->dev, "avddio-pex-supply",
+ rv = regulator_get_by_ofw_property(sc->dev, 0, "avddio-pex-supply",
&sc->supply_avddio_pex);
if (rv != 0) {
device_printf(sc->dev,
"Cannot get 'avddio-pex' regulator\n");
return (ENXIO);
}
- rv = regulator_get_by_ofw_property(sc->dev, "dvddio-pex-supply",
+ rv = regulator_get_by_ofw_property(sc->dev, 0, "dvddio-pex-supply",
&sc->supply_dvddio_pex);
if (rv != 0) {
device_printf(sc->dev,
"Cannot get 'dvddio-pex' regulator\n");
return (ENXIO);
}
- rv = regulator_get_by_ofw_property(sc->dev, "avdd-pex-pll-supply",
+ rv = regulator_get_by_ofw_property(sc->dev, 0, "avdd-pex-pll-supply",
&sc->supply_avdd_pex_pll);
if (rv != 0) {
device_printf(sc->dev,
"Cannot get 'avdd-pex-pll' regulator\n");
return (ENXIO);
}
- rv = regulator_get_by_ofw_property(sc->dev, "hvdd-pex-supply",
+ rv = regulator_get_by_ofw_property(sc->dev, 0, "hvdd-pex-supply",
&sc->supply_hvdd_pex);
if (rv != 0) {
device_printf(sc->dev,
"Cannot get 'hvdd-pex' regulator\n");
return (ENXIO);
}
- rv = regulator_get_by_ofw_property(sc->dev, "hvdd-pex-pll-e-supply",
+ rv = regulator_get_by_ofw_property(sc->dev, 0, "hvdd-pex-pll-e-supply",
&sc->supply_hvdd_pex_pll_e);
if (rv != 0) {
device_printf(sc->dev,
"Cannot get 'hvdd-pex-pll-e' regulator\n");
return (ENXIO);
}
- rv = regulator_get_by_ofw_property(sc->dev, "vddio-pex-ctl-supply",
+ rv = regulator_get_by_ofw_property(sc->dev, 0, "vddio-pex-ctl-supply",
&sc->supply_vddio_pex_ctl);
if (rv != 0) {
device_printf(sc->dev,
"Cannot get 'vddio-pex-ctl' regulator\n");
return (ENXIO);
}
- rv = regulator_get_by_ofw_property(sc->dev, "avdd-pll-erefe-supply",
+ rv = regulator_get_by_ofw_property(sc->dev, 0, "avdd-pll-erefe-supply",
&sc->supply_avdd_pll_erefe);
if (rv != 0) {
device_printf(sc->dev,
@@ -1131,46 +1131,46 @@ tegra_pcib_parse_fdt_resources(struct tegra_pcib_softc *sc, phandle_t node)
}
/* Resets. */
- rv = hwreset_get_by_ofw_name(sc->dev, "pex", &sc->hwreset_pex);
+ rv = hwreset_get_by_ofw_name(sc->dev, 0, "pex", &sc->hwreset_pex);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'pex' reset\n");
return (ENXIO);
}
- rv = hwreset_get_by_ofw_name(sc->dev, "afi", &sc->hwreset_afi);
+ rv = hwreset_get_by_ofw_name(sc->dev, 0, "afi", &sc->hwreset_afi);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'afi' reset\n");
return (ENXIO);
}
- rv = hwreset_get_by_ofw_name(sc->dev, "pcie_x", &sc->hwreset_pcie_x);
+ rv = hwreset_get_by_ofw_name(sc->dev, 0, "pcie_x", &sc->hwreset_pcie_x);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'pcie_x' reset\n");
return (ENXIO);
}
/* Clocks. */
- rv = clk_get_by_ofw_name(sc->dev, "pex", &sc->clk_pex);
+ rv = clk_get_by_ofw_name(sc->dev, 0, "pex", &sc->clk_pex);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'pex' clock\n");
return (ENXIO);
}
- rv = clk_get_by_ofw_name(sc->dev, "afi", &sc->clk_afi);
+ rv = clk_get_by_ofw_name(sc->dev, 0, "afi", &sc->clk_afi);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'afi' clock\n");
return (ENXIO);
}
- rv = clk_get_by_ofw_name(sc->dev, "pll_e", &sc->clk_pll_e);
+ rv = clk_get_by_ofw_name(sc->dev, 0, "pll_e", &sc->clk_pll_e);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'pll_e' clock\n");
return (ENXIO);
}
- rv = clk_get_by_ofw_name(sc->dev, "cml", &sc->clk_cml);
+ rv = clk_get_by_ofw_name(sc->dev, 0, "cml", &sc->clk_cml);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'cml' clock\n");
return (ENXIO);
}
/* Phy. */
- rv = phy_get_by_ofw_name(sc->dev, "pcie", &sc->phy);
+ rv = phy_get_by_ofw_name(sc->dev, 0, "pcie", &sc->phy);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'pcie' phy\n");
return (ENXIO);
diff --git a/sys/arm/nvidia/tegra_rtc.c b/sys/arm/nvidia/tegra_rtc.c
index c15ded3..eceab5d 100644
--- a/sys/arm/nvidia/tegra_rtc.c
+++ b/sys/arm/nvidia/tegra_rtc.c
@@ -219,7 +219,7 @@ tegra_rtc_attach(device_t dev)
}
/* OFW resources. */
- rv = clk_get_by_ofw_index(dev, 0, &sc->clk);
+ rv = clk_get_by_ofw_index(dev, 0, 0, &sc->clk);
if (rv != 0) {
device_printf(dev, "Cannot get i2c clock: %d\n", rv);
goto fail;
diff --git a/sys/arm/nvidia/tegra_sdhci.c b/sys/arm/nvidia/tegra_sdhci.c
index d01f1ad..abd8d06 100644
--- a/sys/arm/nvidia/tegra_sdhci.c
+++ b/sys/arm/nvidia/tegra_sdhci.c
@@ -289,7 +289,7 @@ tegra_sdhci_attach(device_t dev)
goto fail;
}
- rv = hwreset_get_by_ofw_name(sc->dev, "sdhci", &sc->reset);
+ rv = hwreset_get_by_ofw_name(sc->dev, 0, "sdhci", &sc->reset);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'sdhci' reset\n");
goto fail;
@@ -304,14 +304,14 @@ tegra_sdhci_attach(device_t dev)
gpio_pin_get_by_ofw_property(sc->dev, node, "power-gpios", &sc->gpio_power);
gpio_pin_get_by_ofw_property(sc->dev, node, "wp-gpios", &sc->gpio_wp);
- rv = clk_get_by_ofw_index(dev, 0, &sc->clk);
+ rv = clk_get_by_ofw_index(dev, 0, 0, &sc->clk);
if (rv != 0) {
device_printf(dev, "Cannot get clock\n");
goto fail;
}
- rv = clk_get_by_ofw_index(dev, 0, &sc->clk);
+ rv = clk_get_by_ofw_index(dev, 0, 0, &sc->clk);
if (rv != 0) {
device_printf(dev, "Cannot get clock\n");
goto fail;
diff --git a/sys/arm/nvidia/tegra_soctherm.c b/sys/arm/nvidia/tegra_soctherm.c
index 3102173..6851cc2 100644
--- a/sys/arm/nvidia/tegra_soctherm.c
+++ b/sys/arm/nvidia/tegra_soctherm.c
@@ -579,17 +579,17 @@ soctherm_attach(device_t dev)
*/
/* OWF resources */
- rv = hwreset_get_by_ofw_name(dev, "soctherm", &sc->reset);
+ rv = hwreset_get_by_ofw_name(dev, 0, "soctherm", &sc->reset);
if (rv != 0) {
device_printf(dev, "Cannot get fuse reset\n");
goto fail;
}
- rv = clk_get_by_ofw_name(dev, "tsensor", &sc->tsensor_clk);
+ rv = clk_get_by_ofw_name(dev, 0, "tsensor", &sc->tsensor_clk);
if (rv != 0) {
device_printf(dev, "Cannot get 'tsensor' clock: %d\n", rv);
goto fail;
}
- rv = clk_get_by_ofw_name(dev, "soctherm", &sc->soctherm_clk);
+ rv = clk_get_by_ofw_name(dev, 0, "soctherm", &sc->soctherm_clk);
if (rv != 0) {
device_printf(dev, "Cannot get 'soctherm' clock: %d\n", rv);
goto fail;
diff --git a/sys/arm/nvidia/tegra_uart.c b/sys/arm/nvidia/tegra_uart.c
index 86972f0..c70303f 100644
--- a/sys/arm/nvidia/tegra_uart.c
+++ b/sys/arm/nvidia/tegra_uart.c
@@ -189,7 +189,7 @@ tegra_uart_probe(device_t dev)
return (ENXIO);
sc->ns8250_base.base.sc_class = (struct uart_class *)cd->ocd_data;
- rv = hwreset_get_by_ofw_name(dev, "serial", &sc->reset);
+ rv = hwreset_get_by_ofw_name(dev, 0, "serial", &sc->reset);
if (rv != 0) {
device_printf(dev, "Cannot get 'serial' reset\n");
return (ENXIO);
@@ -202,7 +202,7 @@ tegra_uart_probe(device_t dev)
node = ofw_bus_get_node(dev);
shift = uart_fdt_get_shift1(node);
- rv = clk_get_by_ofw_index(dev, 0, &sc->clk);
+ rv = clk_get_by_ofw_index(dev, 0, 0, &sc->clk);
if (rv != 0) {
device_printf(dev, "Cannot get UART clock: %d\n", rv);
return (ENXIO);
diff --git a/sys/arm/nvidia/tegra_usbphy.c b/sys/arm/nvidia/tegra_usbphy.c
index 5446068..68104b8 100644
--- a/sys/arm/nvidia/tegra_usbphy.c
+++ b/sys/arm/nvidia/tegra_usbphy.c
@@ -726,28 +726,28 @@ usbphy_attach(device_t dev)
node = ofw_bus_get_node(dev);
- rv = hwreset_get_by_ofw_name(sc->dev, "usb", &sc->reset_usb);
+ rv = hwreset_get_by_ofw_name(sc->dev, 0, "usb", &sc->reset_usb);
if (rv != 0) {
device_printf(dev, "Cannot get 'usb' reset\n");
return (ENXIO);
}
- rv = hwreset_get_by_ofw_name(sc->dev, "utmi-pads", &sc->reset_pads);
+ rv = hwreset_get_by_ofw_name(sc->dev, 0, "utmi-pads", &sc->reset_pads);
if (rv != 0) {
device_printf(dev, "Cannot get 'utmi-pads' reset\n");
return (ENXIO);
}
- rv = clk_get_by_ofw_name(sc->dev, "reg", &sc->clk_reg);
+ rv = clk_get_by_ofw_name(sc->dev, 0, "reg", &sc->clk_reg);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'reg' clock\n");
return (ENXIO);
}
- rv = clk_get_by_ofw_name(sc->dev, "pll_u", &sc->clk_pllu);
+ rv = clk_get_by_ofw_name(sc->dev, 0, "pll_u", &sc->clk_pllu);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'pll_u' clock\n");
return (ENXIO);
}
- rv = clk_get_by_ofw_name(sc->dev, "utmi-pads", &sc->clk_pads);
+ rv = clk_get_by_ofw_name(sc->dev, 0, "utmi-pads", &sc->clk_pads);
if (rv != 0) {
device_printf(sc->dev, "Cannot get 'utmi-pads' clock\n");
return (ENXIO);
@@ -788,7 +788,7 @@ usbphy_attach(device_t dev)
return rv;
if (OF_hasprop(node, "vbus-supply")) {
- rv = regulator_get_by_ofw_property(sc->dev, "vbus-supply",
+ rv = regulator_get_by_ofw_property(sc->dev, 0, "vbus-supply",
&sc->supply_vbus);
if (rv != 0) {
device_printf(sc->dev,
diff --git a/sys/dev/dwc/if_dwc.c b/sys/dev/dwc/if_dwc.c
index a34879b..769fa66 100644
--- a/sys/dev/dwc/if_dwc.c
+++ b/sys/dev/dwc/if_dwc.c
@@ -1097,7 +1097,7 @@ dwc_clock_init(device_t dev)
int error;
/* Enable clock */
- if (clk_get_by_ofw_name(dev, "stmmaceth", &clk) == 0) {
+ if (clk_get_by_ofw_name(dev, 0, "stmmaceth", &clk) == 0) {
error = clk_enable(clk);
if (error != 0) {
device_printf(dev, "could not enable main clock\n");
@@ -1106,7 +1106,7 @@ dwc_clock_init(device_t dev)
}
/* De-assert reset */
- if (hwreset_get_by_ofw_name(dev, "stmmaceth", &rst) == 0) {
+ if (hwreset_get_by_ofw_name(dev, 0, "stmmaceth", &rst) == 0) {
error = hwreset_deassert(rst);
if (error != 0) {
device_printf(dev, "could not de-assert reset\n");
diff --git a/sys/dev/extres/clk/clk.c b/sys/dev/extres/clk/clk.c
index 5b9eeb6..bcb0a26 100644
--- a/sys/dev/extres/clk/clk.c
+++ b/sys/dev/extres/clk/clk.c
@@ -1196,23 +1196,24 @@ clk_get_by_id(device_t dev, struct clkdom *clkdom, intptr_t id, clk_t *clk)
#ifdef FDT
int
-clk_get_by_ofw_index(device_t dev, int idx, clk_t *clk)
+clk_get_by_ofw_index(device_t dev, phandle_t cnode, int idx, clk_t *clk)
{
- phandle_t cnode, parent, *cells;
+ phandle_t parent, *cells;
device_t clockdev;
int ncells, rv;
struct clkdom *clkdom;
struct clknode *clknode;
*clk = NULL;
-
- cnode = ofw_bus_get_node(dev);
+ if (cnode <= 0)
+ cnode = ofw_bus_get_node(dev);
if (cnode <= 0) {
device_printf(dev, "%s called on not ofw based device\n",
__func__);
return (ENXIO);
}
+
rv = ofw_bus_parse_xref_list_alloc(cnode, "clocks", "#clock-cells", idx,
&parent, &ncells, &cells);
if (rv != 0) {
@@ -1246,12 +1247,12 @@ done:
}
int
-clk_get_by_ofw_name(device_t dev, const char *name, clk_t *clk)
+clk_get_by_ofw_name(device_t dev, phandle_t cnode, const char *name, clk_t *clk)
{
int rv, idx;
- phandle_t cnode;
- cnode = ofw_bus_get_node(dev);
+ if (cnode <= 0)
+ cnode = ofw_bus_get_node(dev);
if (cnode <= 0) {
device_printf(dev, "%s called on not ofw based device\n",
__func__);
@@ -1260,7 +1261,7 @@ clk_get_by_ofw_name(device_t dev, const char *name, clk_t *clk)
rv = ofw_bus_find_string_index(cnode, "clock-names", name, &idx);
if (rv != 0)
return (rv);
- return (clk_get_by_ofw_index(dev, idx, clk));
+ return (clk_get_by_ofw_index(dev, cnode, idx, clk));
}
/* --------------------------------------------------------------------------
diff --git a/sys/dev/extres/clk/clk.h b/sys/dev/extres/clk/clk.h
index 510f0ce..60b8d2b 100644
--- a/sys/dev/extres/clk/clk.h
+++ b/sys/dev/extres/clk/clk.h
@@ -129,8 +129,9 @@ int clk_set_parent_by_clk(clk_t clk, clk_t parent);
const char *clk_get_name(clk_t clk);
#ifdef FDT
-int clk_get_by_ofw_index(device_t dev, int idx, clk_t *clk);
-int clk_get_by_ofw_name(device_t dev, const char *name, clk_t *clk);
+int clk_get_by_ofw_index(device_t dev, phandle_t node, int idx, clk_t *clk);
+int clk_get_by_ofw_name(device_t dev, phandle_t node, const char *name,
+ clk_t *clk);
int clk_parse_ofw_out_names(device_t dev, phandle_t node,
const char ***out_names, uint32_t **indices);
int clk_parse_ofw_clk_name(device_t dev, phandle_t node, const char **name);
diff --git a/sys/dev/extres/clk/clk_fixed.c b/sys/dev/extres/clk/clk_fixed.c
index 133a38a..fd20bb6 100644
--- a/sys/dev/extres/clk/clk_fixed.c
+++ b/sys/dev/extres/clk/clk_fixed.c
@@ -195,7 +195,7 @@ clk_fixed_init_fixed_factor(struct clk_fixed_softc *sc, phandle_t node,
if (rv <= 0)
return (ENXIO);
/* Get name of parent clock */
- rv = clk_get_by_ofw_index(sc->dev, 0, &parent);
+ rv = clk_get_by_ofw_index(sc->dev, 0, 0, &parent);
if (rv != 0)
return (ENXIO);
def->clkdef.parent_names = malloc(sizeof(char *), M_OFWPROP, M_WAITOK);
diff --git a/sys/dev/extres/hwreset/hwreset.c b/sys/dev/extres/hwreset/hwreset.c
index 8623b60..40ee915 100644
--- a/sys/dev/extres/hwreset/hwreset.c
+++ b/sys/dev/extres/hwreset/hwreset.c
@@ -109,15 +109,17 @@ hwreset_default_ofw_map(device_t provider_dev, phandle_t xref, int ncells,
}
int
-hwreset_get_by_ofw_idx(device_t consumer_dev, int idx, hwreset_t *rst)
+hwreset_get_by_ofw_idx(device_t consumer_dev, phandle_t cnode, int idx,
+ hwreset_t *rst)
{
- phandle_t cnode, xnode;
+ phandle_t xnode;
pcell_t *cells;
device_t rstdev;
int ncells, rv;
intptr_t id;
- cnode = ofw_bus_get_node(consumer_dev);
+ if (cnode <= 0)
+ cnode = ofw_bus_get_node(consumer_dev);
if (cnode <= 0) {
device_printf(consumer_dev,
"%s called on not ofw based device\n", __func__);
@@ -145,12 +147,13 @@ hwreset_get_by_ofw_idx(device_t consumer_dev, int idx, hwreset_t *rst)
}
int
-hwreset_get_by_ofw_name(device_t consumer_dev, char *name, hwreset_t *rst)
+hwreset_get_by_ofw_name(device_t consumer_dev, phandle_t cnode, char *name,
+ hwreset_t *rst)
{
int rv, idx;
- phandle_t cnode;
- cnode = ofw_bus_get_node(consumer_dev);
+ if (cnode <= 0)
+ cnode = ofw_bus_get_node(consumer_dev);
if (cnode <= 0) {
device_printf(consumer_dev,
"%s called on not ofw based device\n", __func__);
@@ -159,7 +162,7 @@ hwreset_get_by_ofw_name(device_t consumer_dev, char *name, hwreset_t *rst)
rv = ofw_bus_find_string_index(cnode, "reset-names", name, &idx);
if (rv != 0)
return (rv);
- return (hwreset_get_by_ofw_idx(consumer_dev, idx, rst));
+ return (hwreset_get_by_ofw_idx(consumer_dev, cnode, idx, rst));
}
void
diff --git a/sys/dev/extres/hwreset/hwreset.h b/sys/dev/extres/hwreset/hwreset.h
index 75e653a..6366351 100644
--- a/sys/dev/extres/hwreset/hwreset.h
+++ b/sys/dev/extres/hwreset/hwreset.h
@@ -58,8 +58,10 @@ int hwreset_deassert(hwreset_t rst);
int hwreset_is_asserted(hwreset_t rst, bool *value);
#ifdef FDT
-int hwreset_get_by_ofw_name(device_t consumer_dev, char *name, hwreset_t *rst);
-int hwreset_get_by_ofw_idx(device_t consumer_dev, int idx, hwreset_t *rst);
+int hwreset_get_by_ofw_name(device_t consumer_dev, phandle_t node, char *name,
+ hwreset_t *rst);
+int hwreset_get_by_ofw_idx(device_t consumer_dev, phandle_t node, int idx,
+ hwreset_t *rst);
#endif
diff --git a/sys/dev/extres/phy/phy.c b/sys/dev/extres/phy/phy.c
index a4dc621..dc454a2 100644
--- a/sys/dev/extres/phy/phy.c
+++ b/sys/dev/extres/phy/phy.c
@@ -124,15 +124,16 @@ int phy_default_map(device_t provider, phandle_t xref, int ncells,
}
int
-phy_get_by_ofw_idx(device_t consumer_dev, int idx, phy_t *phy)
+phy_get_by_ofw_idx(device_t consumer_dev, phandle_t cnode, int idx, phy_t *phy)
{
- phandle_t cnode, xnode;
+ phandle_t xnode;
pcell_t *cells;
device_t phydev;
int ncells, rv;
intptr_t id;
- cnode = ofw_bus_get_node(consumer_dev);
+ if (cnode <= 0)
+ cnode = ofw_bus_get_node(consumer_dev);
if (cnode <= 0) {
device_printf(consumer_dev,
"%s called on not ofw based device\n", __func__);
@@ -159,12 +160,13 @@ phy_get_by_ofw_idx(device_t consumer_dev, int idx, phy_t *phy)
}
int
-phy_get_by_ofw_name(device_t consumer_dev, char *name, phy_t *phy)
+phy_get_by_ofw_name(device_t consumer_dev, phandle_t cnode, char *name,
+ phy_t *phy)
{
int rv, idx;
- phandle_t cnode;
- cnode = ofw_bus_get_node(consumer_dev);
+ if (cnode <= 0)
+ cnode = ofw_bus_get_node(consumer_dev);
if (cnode <= 0) {
device_printf(consumer_dev,
"%s called on not ofw based device\n", __func__);
@@ -173,19 +175,20 @@ phy_get_by_ofw_name(device_t consumer_dev, char *name, phy_t *phy)
rv = ofw_bus_find_string_index(cnode, "phy-names", name, &idx);
if (rv != 0)
return (rv);
- return (phy_get_by_ofw_idx(consumer_dev, idx, phy));
+ return (phy_get_by_ofw_idx(consumer_dev, cnode, idx, phy));
}
int
-phy_get_by_ofw_property(device_t consumer_dev, char *name, phy_t *phy)
+phy_get_by_ofw_property(device_t consumer_dev, phandle_t cnode, char *name,
+ phy_t *phy)
{
- phandle_t cnode;
pcell_t *cells;
device_t phydev;
int ncells, rv;
intptr_t id;
- cnode = ofw_bus_get_node(consumer_dev);
+ if (cnode <= 0)
+ cnode = ofw_bus_get_node(consumer_dev);
if (cnode <= 0) {
device_printf(consumer_dev,
"%s called on not ofw based device\n", __func__);
diff --git a/sys/dev/extres/phy/phy.h b/sys/dev/extres/phy/phy.h
index 93b4fe4..2d0e3f8 100644
--- a/sys/dev/extres/phy/phy.h
+++ b/sys/dev/extres/phy/phy.h
@@ -50,9 +50,14 @@ void phy_unregister_provider(device_t provider);
int phy_get_by_id(device_t consumer_dev, device_t provider_dev, intptr_t id,
phy_t *phy);
void phy_release(phy_t phy);
-int phy_get_by_ofw_name(device_t consumer, char *name, phy_t *phy);
-int phy_get_by_ofw_idx(device_t consumer, int idx, phy_t *phy);
-int phy_get_by_ofw_property(device_t consumer, char *name, phy_t *phy);
+
+#ifdef FDT
+int phy_get_by_ofw_name(device_t consumer, phandle_t node, char *name,
+ phy_t *phy);
+int phy_get_by_ofw_idx(device_t consumer, phandle_t node, int idx, phy_t *phy);
+int phy_get_by_ofw_property(device_t consumer, phandle_t node, char *name,
+ phy_t *phy);
+#endif
int phy_init(device_t consumer, phy_t phy);
int phy_deinit(device_t consumer, phy_t phy);
diff --git a/sys/dev/extres/regulator/regulator.c b/sys/dev/extres/regulator/regulator.c
index 84cd8fd..729de6b 100644
--- a/sys/dev/extres/regulator/regulator.c
+++ b/sys/dev/extres/regulator/regulator.c
@@ -945,16 +945,18 @@ regulator_parse_ofw_stdparam(device_t pdev, phandle_t node,
}
int
-regulator_get_by_ofw_property(device_t cdev, char *name, regulator_t *reg)
+regulator_get_by_ofw_property(device_t cdev, phandle_t cnode, char *name,
+ regulator_t *reg)
{
- phandle_t cnode, *cells;
+ phandle_t *cells;
device_t regdev;
int ncells, rv;
intptr_t id;
*reg = NULL;
- cnode = ofw_bus_get_node(cdev);
+ if (cnode <= 0)
+ cnode = ofw_bus_get_node(cdev);
if (cnode <= 0) {
device_printf(cdev, "%s called on not ofw based device\n",
__func__);
diff --git a/sys/dev/extres/regulator/regulator.h b/sys/dev/extres/regulator/regulator.h
index 380bad6..e509a7e 100644
--- a/sys/dev/extres/regulator/regulator.h
+++ b/sys/dev/extres/regulator/regulator.h
@@ -119,7 +119,8 @@ int regulator_get_voltage(regulator_t reg, int *uvolt);
int regulator_set_voltage(regulator_t reg, int min_uvolt, int max_uvolt);
#ifdef FDT
-int regulator_get_by_ofw_property(device_t dev, char *name, regulator_t *reg);
+int regulator_get_by_ofw_property(device_t dev, phandle_t node, char *name,
+ regulator_t *reg);
int regulator_parse_ofw_stdparam(device_t dev, phandle_t node,
struct regnode_init_def *def);
#endif
diff --git a/sys/dev/iicbus/twsi/a10_twsi.c b/sys/dev/iicbus/twsi/a10_twsi.c
index c32e6fa..b468f08 100644
--- a/sys/dev/iicbus/twsi/a10_twsi.c
+++ b/sys/dev/iicbus/twsi/a10_twsi.c
@@ -95,7 +95,7 @@ a10_twsi_attach(device_t dev)
sc = device_get_softc(dev);
/* De-assert reset */
- if (hwreset_get_by_ofw_idx(dev, 0, &rst) == 0) {
+ if (hwreset_get_by_ofw_idx(dev, 0, 0, &rst) == 0) {
error = hwreset_deassert(rst);
if (error != 0) {
device_printf(dev, "could not de-assert reset\n");
@@ -104,7 +104,7 @@ a10_twsi_attach(device_t dev)
}
/* Activate clock */
- error = clk_get_by_ofw_index(dev, 0, &clk);
+ error = clk_get_by_ofw_index(dev, 0, 0, &clk);
if (error != 0) {
device_printf(dev, "could not find clock\n");
return (error);
diff --git a/sys/dev/uart/uart_dev_snps.c b/sys/dev/uart/uart_dev_snps.c
index af4000f..c0e3d79 100644
--- a/sys/dev/uart/uart_dev_snps.c
+++ b/sys/dev/uart/uart_dev_snps.c
@@ -119,12 +119,12 @@ snps_get_clocks(device_t dev, clk_t *baudclk, clk_t *apb_pclk)
/* Baud clock is either named "baudclk", or there is a single
* unnamed clock.
*/
- if (clk_get_by_ofw_name(dev, "baudclk", baudclk) != 0 &&
- clk_get_by_ofw_index(dev, 0, baudclk) != 0)
+ if (clk_get_by_ofw_name(dev, 0, "baudclk", baudclk) != 0 &&
+ clk_get_by_ofw_index(dev, 0, 0, baudclk) != 0)
return (ENOENT);
/* APB peripheral clock is optional */
- (void)clk_get_by_ofw_name(dev, "apb_pclk", apb_pclk);
+ (void)clk_get_by_ofw_name(dev, 0, "apb_pclk", apb_pclk);
return (0);
}
@@ -163,7 +163,7 @@ snps_probe(device_t dev)
clock = 0;
#ifdef EXT_RESOURCES
- if (hwreset_get_by_ofw_idx(dev, 0, &reset) == 0) {
+ if (hwreset_get_by_ofw_idx(dev, 0, 0, &reset) == 0) {
error = hwreset_deassert(reset);
if (error != 0) {
device_printf(dev, "cannot de-assert reset\n");
diff --git a/sys/dev/usb/controller/generic_ohci.c b/sys/dev/usb/controller/generic_ohci.c
index 9656c8f..beafd06 100644
--- a/sys/dev/usb/controller/generic_ohci.c
+++ b/sys/dev/usb/controller/generic_ohci.c
@@ -161,7 +161,7 @@ generic_ohci_attach(device_t dev)
#ifdef EXT_RESOURCES
TAILQ_INIT(&sc->clk_list);
/* Enable clock */
- for (off = 0; clk_get_by_ofw_index(dev, off, &clk) == 0; off++) {
+ for (off = 0; clk_get_by_ofw_index(dev, 0, off, &clk) == 0; off++) {
err = clk_enable(clk);
if (err != 0) {
device_printf(dev, "Could not enable clock %s\n",
@@ -174,7 +174,7 @@ generic_ohci_attach(device_t dev)
}
/* De-assert reset */
- if (hwreset_get_by_ofw_idx(dev, 0, &sc->rst) == 0) {
+ if (hwreset_get_by_ofw_idx(dev, 0, 0, &sc->rst) == 0) {
err = hwreset_deassert(sc->rst);
if (err != 0) {
device_printf(dev, "Could not de-assert reset %d\n",
@@ -184,7 +184,7 @@ generic_ohci_attach(device_t dev)
}
/* Enable phy */
- if (phy_get_by_ofw_name(dev, "usb", &sc->phy) == 0) {
+ if (phy_get_by_ofw_name(dev, 0, "usb", &sc->phy) == 0) {
err = phy_enable(dev, sc->phy);
if (err != 0) {
device_printf(dev, "Could not enable phy\n");
OpenPOWER on IntegriCloud