Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/gpio/gpioiic.c
Show First 20 Lines • Show All 59 Lines • ▼ Show 20 Lines | |||||
#include <dev/ofw/ofw_bus.h> | #include <dev/ofw/ofw_bus.h> | ||||
static struct ofw_compat_data compat_data[] = { | static struct ofw_compat_data compat_data[] = { | ||||
{"i2c-gpio", true}, /* Standard devicetree compat string */ | {"i2c-gpio", true}, /* Standard devicetree compat string */ | ||||
{"gpioiic", true}, /* Deprecated old freebsd compat string */ | {"gpioiic", true}, /* Deprecated old freebsd compat string */ | ||||
{NULL, false} | {NULL, false} | ||||
}; | }; | ||||
OFWBUS_PNP_INFO(compat_data); | |||||
SIMPLEBUS_PNP_INFO(compat_data); | |||||
static phandle_t | static phandle_t | ||||
gpioiic_get_node(device_t bus, device_t dev) | gpioiic_get_node(device_t bus, device_t dev) | ||||
{ | { | ||||
/* Share our fdt node with iicbus so it can find its child nodes. */ | /* Share our fdt node with iicbus so it can find its child nodes. */ | ||||
return (ofw_bus_get_node(bus)); | return (ofw_bus_get_node(bus)); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 287 Lines • ▼ Show 20 Lines | |||||
static driver_t gpioiic_driver = { | static driver_t gpioiic_driver = { | ||||
"gpioiic", | "gpioiic", | ||||
gpioiic_methods, | gpioiic_methods, | ||||
sizeof(struct gpioiic_softc), | sizeof(struct gpioiic_softc), | ||||
}; | }; | ||||
DRIVER_MODULE(gpioiic, gpiobus, gpioiic_driver, gpioiic_devclass, 0, 0); | DRIVER_MODULE(gpioiic, gpiobus, gpioiic_driver, gpioiic_devclass, 0, 0); | ||||
#ifdef FDT | |||||
OFWBUS_PNP_INFO(compat_data); | |||||
#endif | |||||
DRIVER_MODULE(gpioiic, simplebus, gpioiic_driver, gpioiic_devclass, 0, 0); | DRIVER_MODULE(gpioiic, simplebus, gpioiic_driver, gpioiic_devclass, 0, 0); | ||||
#ifdef FDT | |||||
SIMPLEBUS_PNP_INFO(compat_data); | |||||
#endif | |||||
DRIVER_MODULE(iicbb, gpioiic, iicbb_driver, iicbb_devclass, 0, 0); | DRIVER_MODULE(iicbb, gpioiic, iicbb_driver, iicbb_devclass, 0, 0); | ||||
MODULE_DEPEND(gpioiic, iicbb, IICBB_MINVER, IICBB_PREFVER, IICBB_MAXVER); | MODULE_DEPEND(gpioiic, iicbb, IICBB_MINVER, IICBB_PREFVER, IICBB_MAXVER); | ||||
MODULE_DEPEND(gpioiic, gpiobus, 1, 1, 1); | MODULE_DEPEND(gpioiic, gpiobus, 1, 1, 1); |