Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/pwm/pwmbus.c
Show All 32 Lines | |||||
#include <sys/param.h> | #include <sys/param.h> | ||||
#include <sys/systm.h> | #include <sys/systm.h> | ||||
#include <sys/bus.h> | #include <sys/bus.h> | ||||
#include <sys/conf.h> | #include <sys/conf.h> | ||||
#include <sys/endian.h> | #include <sys/endian.h> | ||||
#include <sys/kernel.h> | #include <sys/kernel.h> | ||||
#include <sys/malloc.h> | #include <sys/malloc.h> | ||||
#include <sys/module.h> | #include <sys/module.h> | ||||
#include <sys/sbuf.h> | |||||
#include <dev/pwm/pwmbus.h> | #include <dev/pwm/pwmbus.h> | ||||
#include "pwmbus_if.h" | #include "pwmbus_if.h" | ||||
/* | /* | ||||
* bus_if methods... | * bus_if methods... | ||||
*/ | */ | ||||
Show All 14 Lines | if (ivars == NULL) { | ||||
return (NULL); | return (NULL); | ||||
} | } | ||||
device_set_ivars(child, ivars); | device_set_ivars(child, ivars); | ||||
return (child); | return (child); | ||||
} | } | ||||
static int | static int | ||||
pwmbus_child_location_str(device_t dev, device_t child, char *buf, size_t blen) | pwmbus_child_location(device_t dev, device_t child, struct sbuf *sb) | ||||
{ | { | ||||
struct pwmbus_ivars *ivars; | struct pwmbus_ivars *ivars; | ||||
ivars = device_get_ivars(child); | ivars = device_get_ivars(child); | ||||
snprintf(buf, blen, "hwdev=%s channel=%u", | sbuf_printf(sb, "hwdev=%s channel=%u", | ||||
device_get_nameunit(device_get_parent(dev)), ivars->pi_channel); | device_get_nameunit(device_get_parent(dev)), ivars->pi_channel); | ||||
return (0); | return (0); | ||||
} | } | ||||
static int | |||||
pwmbus_child_pnpinfo_str(device_t dev, device_t child, char *buf, | |||||
size_t buflen) | |||||
{ | |||||
*buf = '\0'; | |||||
return (0); | |||||
} | |||||
static void | static void | ||||
pwmbus_hinted_child(device_t dev, const char *dname, int dunit) | pwmbus_hinted_child(device_t dev, const char *dname, int dunit) | ||||
{ | { | ||||
struct pwmbus_ivars *ivars; | struct pwmbus_ivars *ivars; | ||||
device_t child; | device_t child; | ||||
child = pwmbus_add_child(dev, 0, dname, dunit); | child = pwmbus_add_child(dev, 0, dname, dunit); | ||||
▲ Show 20 Lines • Show All 158 Lines • ▼ Show 20 Lines | |||||
static device_method_t pwmbus_methods[] = { | static device_method_t pwmbus_methods[] = { | ||||
/* device_if */ | /* device_if */ | ||||
DEVMETHOD(device_probe, pwmbus_probe), | DEVMETHOD(device_probe, pwmbus_probe), | ||||
DEVMETHOD(device_attach, pwmbus_attach), | DEVMETHOD(device_attach, pwmbus_attach), | ||||
DEVMETHOD(device_detach, pwmbus_detach), | DEVMETHOD(device_detach, pwmbus_detach), | ||||
/* bus_if */ | /* bus_if */ | ||||
DEVMETHOD(bus_add_child, pwmbus_add_child), | DEVMETHOD(bus_add_child, pwmbus_add_child), | ||||
DEVMETHOD(bus_child_location_str, pwmbus_child_location_str), | DEVMETHOD(bus_child_location, pwmbus_child_location), | ||||
DEVMETHOD(bus_child_pnpinfo_str, pwmbus_child_pnpinfo_str), | |||||
DEVMETHOD(bus_hinted_child, pwmbus_hinted_child), | DEVMETHOD(bus_hinted_child, pwmbus_hinted_child), | ||||
DEVMETHOD(bus_print_child, pwmbus_print_child), | DEVMETHOD(bus_print_child, pwmbus_print_child), | ||||
DEVMETHOD(bus_probe_nomatch, pwmbus_probe_nomatch), | DEVMETHOD(bus_probe_nomatch, pwmbus_probe_nomatch), | ||||
DEVMETHOD(bus_read_ivar, pwmbus_read_ivar), | DEVMETHOD(bus_read_ivar, pwmbus_read_ivar), | ||||
/* pwmbus_if */ | /* pwmbus_if */ | ||||
DEVMETHOD(pwmbus_channel_count, pwmbus_channel_count), | DEVMETHOD(pwmbus_channel_count, pwmbus_channel_count), | ||||
DEVMETHOD(pwmbus_channel_config, pwmbus_channel_config), | DEVMETHOD(pwmbus_channel_config, pwmbus_channel_config), | ||||
Show All 19 Lines |