Page MenuHomeFreeBSD

D30289.diff
No OneTemporary

D30289.diff

diff --git a/sys/dev/mmc/mmc_fdt_helpers.h b/sys/dev/mmc/mmc_fdt_helpers.h
--- a/sys/dev/mmc/mmc_fdt_helpers.h
+++ b/sys/dev/mmc/mmc_fdt_helpers.h
@@ -63,6 +63,8 @@
regulator_t vmmc_supply;
regulator_t vqmmc_supply;
#endif
+
+ device_t mmc_pwrseq;
};
typedef void (*mmc_fdt_cd_handler)(device_t dev, bool present);
diff --git a/sys/dev/mmc/mmc_fdt_helpers.c b/sys/dev/mmc/mmc_fdt_helpers.c
--- a/sys/dev/mmc/mmc_fdt_helpers.c
+++ b/sys/dev/mmc/mmc_fdt_helpers.c
@@ -100,6 +100,7 @@
struct mmc_host *host)
{
uint32_t bus_width;
+ phandle_t pwrseq_xref;
if (node <= 0)
node = ofw_bus_get_node(dev);
@@ -181,6 +182,13 @@
host->caps |= MMC_CAP_SIGNALING_330;
#endif
+ if (OF_hasprop(node, "mmc-pwrseq")) {
+ if (OF_getencprop(node, "mmc-pwrseq", &pwrseq_xref, sizeof(pwrseq_xref)) == -1) {
+ device_printf(dev, "Cannot get the pwrseq_xref property\n");
+ return (ENXIO);
+ }
+ helper->mmc_pwrseq = OF_device_from_xref(pwrseq_xref);
+ }
return (0);
}

File Metadata

Mime Type
text/plain
Expires
Tue, Jan 28, 4:51 AM (9 h, 34 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16249041
Default Alt Text
D30289.diff (989 B)

Event Timeline