Changeset View
Changeset View
Standalone View
Standalone View
sys/arm/freescale/imx/imx_sdhci.c
Show First 20 Lines • Show All 42 Lines • ▼ Show 20 Lines | |||||
#include <machine/intr.h> | #include <machine/intr.h> | ||||
#include <arm/freescale/imx/imx_ccmvar.h> | #include <arm/freescale/imx/imx_ccmvar.h> | ||||
#include <dev/ofw/ofw_bus.h> | #include <dev/ofw/ofw_bus.h> | ||||
#include <dev/ofw/ofw_bus_subr.h> | #include <dev/ofw/ofw_bus_subr.h> | ||||
#include <dev/mmc/bridge.h> | #include <dev/mmc/bridge.h> | ||||
#include <dev/mmc/mmcreg.h> | #include <cam/mmc/mmcreg.h> | ||||
#include <dev/mmc/mmcbrvar.h> | #include <dev/mmc/mmcbrvar.h> | ||||
#include <dev/sdhci/sdhci.h> | #include <dev/sdhci/sdhci.h> | ||||
#include "sdhci_if.h" | #include "sdhci_if.h" | ||||
struct imx_sdhci_softc { | struct imx_sdhci_softc { | ||||
device_t dev; | device_t dev; | ||||
struct resource * mem_res; | struct resource * mem_res; | ||||
▲ Show 20 Lines • Show All 84 Lines • ▼ Show 20 Lines | |||||
} | } | ||||
callout_init(&sc->r1bfix_callout, 1); | callout_init(&sc->r1bfix_callout, 1); | ||||
sdhci_init_slot(dev, &sc->slot, 0); | sdhci_init_slot(dev, &sc->slot, 0); | ||||
bus_generic_probe(dev); | bus_generic_probe(dev); | ||||
bus_generic_attach(dev); | bus_generic_attach(dev); | ||||
sdhci_start_slot(&sc->slot); | sdhci_cam_start_slot(&sc->slot); | ||||
return (0); | return (0); | ||||
fail: | fail: | ||||
if (sc->intr_cookie) | if (sc->intr_cookie) | ||||
bus_teardown_intr(dev, sc->irq_res, sc->intr_cookie); | bus_teardown_intr(dev, sc->irq_res, sc->intr_cookie); | ||||
if (sc->irq_res) | if (sc->irq_res) | ||||
bus_release_resource(dev, SYS_RES_IRQ, 0, sc->irq_res); | bus_release_resource(dev, SYS_RES_IRQ, 0, sc->irq_res); | ||||
▲ Show 20 Lines • Show All 59 Lines • ▼ Show 20 Lines | |||||
static driver_t imx_sdhci_driver = { | static driver_t imx_sdhci_driver = { | ||||
"sdhci_imx", | "sdhci_imx", | ||||
imx_sdhci_methods, | imx_sdhci_methods, | ||||
sizeof(struct imx_sdhci_softc), | sizeof(struct imx_sdhci_softc), | ||||
}; | }; | ||||
DRIVER_MODULE(sdhci_imx, simplebus, imx_sdhci_driver, imx_sdhci_devclass, 0, 0); | DRIVER_MODULE(sdhci_imx, simplebus, imx_sdhci_driver, imx_sdhci_devclass, 0, 0); | ||||
MODULE_DEPEND(sdhci_imx, sdhci, 1, 1, 1); | MODULE_DEPEND(sdhci_imx, sdhci, 1, 1, 1); | ||||
DRIVER_MODULE(mmc, sdhci_imx, mmc_driver, mmc_devclass, NULL, NULL); | //DRIVER_MODULE(mmc, sdhci_imx, mmc_driver, mmc_devclass, NULL, NULL); | ||||
Context not available. |