Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/iicbus/mux/iic_gpiomux.c
Show First 20 Lines • Show All 52 Lines • ▼ Show 20 Lines | |||||
#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/ofw/openfirm.h> | #include <dev/ofw/openfirm.h> | ||||
static struct ofw_compat_data compat_data[] = { | static struct ofw_compat_data compat_data[] = { | ||||
{"i2c-mux-gpio", true}, | {"i2c-mux-gpio", true}, | ||||
{NULL, false} | {NULL, false} | ||||
}; | }; | ||||
OFWBUS_PNP_INFO(compat_data); | |||||
SIMPLEBUS_PNP_INFO(compat_data); | |||||
#endif /* FDT */ | #endif /* FDT */ | ||||
#include <dev/iicbus/iiconf.h> | #include <dev/iicbus/iiconf.h> | ||||
#include "iicmux.h" | #include "iicmux.h" | ||||
#include "iicmux_if.h" | #include "iicmux_if.h" | ||||
struct gpiomux_softc { | struct gpiomux_softc { | ||||
struct iicmux_softc mux; | struct iicmux_softc mux; | ||||
▲ Show 20 Lines • Show All 179 Lines • ▼ Show 20 Lines | static device_method_t gpiomux_methods[] = { | ||||
DEVMETHOD_END | DEVMETHOD_END | ||||
}; | }; | ||||
static devclass_t gpiomux_devclass; | static devclass_t gpiomux_devclass; | ||||
DEFINE_CLASS_1(iic_gpiomux, iic_gpiomux_driver, gpiomux_methods, | DEFINE_CLASS_1(iic_gpiomux, iic_gpiomux_driver, gpiomux_methods, | ||||
sizeof(struct gpiomux_softc), iicmux_driver); | sizeof(struct gpiomux_softc), iicmux_driver); | ||||
DRIVER_MODULE(iic_gpiomux, simplebus, iic_gpiomux_driver, gpiomux_devclass, 0, 0); | DRIVER_MODULE(iic_gpiomux, simplebus, iic_gpiomux_driver, gpiomux_devclass, 0, 0); | ||||
#ifdef FDT | |||||
SIMPLEBUS_PNP_INFO(compat_data); | |||||
#endif | |||||
DRIVER_MODULE(iic_gpiomux, ofw_simplebus, iic_gpiomux_driver, gpiomux_devclass, 0, 0); | DRIVER_MODULE(iic_gpiomux, ofw_simplebus, iic_gpiomux_driver, gpiomux_devclass, 0, 0); | ||||
#ifdef FDT | |||||
OFWBUS_PNP_INFO(compat_data); | |||||
#endif | |||||
#ifdef FDT | #ifdef FDT | ||||
DRIVER_MODULE(ofw_iicbus, iic_gpiomux, ofw_iicbus_driver, ofw_iicbus_devclass, 0, 0); | DRIVER_MODULE(ofw_iicbus, iic_gpiomux, ofw_iicbus_driver, ofw_iicbus_devclass, 0, 0); | ||||
#else | #else | ||||
DRIVER_MODULE(iicbus, iic_gpiomux, iicbus_driver, iicbus_devclass, 0, 0); | DRIVER_MODULE(iicbus, iic_gpiomux, iicbus_driver, iicbus_devclass, 0, 0); | ||||
#endif | #endif | ||||
MODULE_DEPEND(iic_gpiomux, iicmux, 1, 1, 1); | MODULE_DEPEND(iic_gpiomux, iicmux, 1, 1, 1); | ||||
MODULE_DEPEND(iic_gpiomux, iicbus, 1, 1, 1); | MODULE_DEPEND(iic_gpiomux, iicbus, 1, 1, 1); |