Changeset View
Changeset View
Standalone View
Standalone View
sys/mips/idt/obio.c
Show First 20 Lines • Show All 42 Lines • ▼ Show 20 Lines | |||||
#define GPIO_REG_READ(o) \ | #define GPIO_REG_READ(o) \ | ||||
*((volatile uint32_t *)MIPS_PHYS_TO_KSEG1(IDT_BASE_GPIO + (o))) | *((volatile uint32_t *)MIPS_PHYS_TO_KSEG1(IDT_BASE_GPIO + (o))) | ||||
#define GPIO_REG_WRITE(o,v) (GPIO_REG_READ(o)) = (v) | #define GPIO_REG_WRITE(o,v) (GPIO_REG_READ(o)) = (v) | ||||
static int obio_activate_resource(device_t, device_t, int, int, | static int obio_activate_resource(device_t, device_t, int, int, | ||||
struct resource *); | struct resource *); | ||||
static device_t obio_add_child(device_t, u_int, const char *, int); | static device_t obio_add_child(device_t, u_int, const char *, int); | ||||
static struct resource * | static struct resource * | ||||
obio_alloc_resource(device_t, device_t, int, int *, u_long, | obio_alloc_resource(device_t, device_t, int, int *, rman_res_t, | ||||
u_long, u_long, u_int); | rman_res_t, rman_res_t, u_int); | ||||
static int obio_attach(device_t); | static int obio_attach(device_t); | ||||
static int obio_deactivate_resource(device_t, device_t, int, int, | static int obio_deactivate_resource(device_t, device_t, int, int, | ||||
struct resource *); | struct resource *); | ||||
static struct resource_list * | static struct resource_list * | ||||
obio_get_resource_list(device_t, device_t); | obio_get_resource_list(device_t, device_t); | ||||
static void obio_hinted_child(device_t, const char *, int); | static void obio_hinted_child(device_t, const char *, int); | ||||
static int obio_intr(void *); | static int obio_intr(void *); | ||||
static int obio_probe(device_t); | static int obio_probe(device_t); | ||||
▲ Show 20 Lines • Show All 79 Lines • ▼ Show 20 Lines | |||||
bus_enumerate_hinted_children(dev); | bus_enumerate_hinted_children(dev); | ||||
bus_generic_attach(dev); | bus_generic_attach(dev); | ||||
return (0); | return (0); | ||||
} | } | ||||
static struct resource * | static struct resource * | ||||
obio_alloc_resource(device_t bus, device_t child, int type, int *rid, | obio_alloc_resource(device_t bus, device_t child, int type, int *rid, | ||||
u_long start, u_long end, u_long count, u_int flags) | rman_res_t start, rman_res_t end, rman_res_t count, u_int flags) | ||||
{ | { | ||||
struct obio_softc *sc = device_get_softc(bus); | struct obio_softc *sc = device_get_softc(bus); | ||||
struct obio_ivar *ivar = device_get_ivars(child); | struct obio_ivar *ivar = device_get_ivars(child); | ||||
struct resource *rv; | struct resource *rv; | ||||
struct resource_list_entry *rle; | struct resource_list_entry *rle; | ||||
struct rman *rm; | struct rman *rm; | ||||
int isdefault, needactivate, passthrough; | int isdefault, needactivate, passthrough; | ||||
isdefault = (start == 0UL && end == ~0UL); | isdefault = (start == 0 && end == ~0); | ||||
needactivate = flags & RF_ACTIVE; | needactivate = flags & RF_ACTIVE; | ||||
passthrough = (device_get_parent(child) != bus); | passthrough = (device_get_parent(child) != bus); | ||||
rle = NULL; | rle = NULL; | ||||
if (passthrough) | if (passthrough) | ||||
return (BUS_ALLOC_RESOURCE(device_get_parent(bus), child, type, | return (BUS_ALLOC_RESOURCE(device_get_parent(bus), child, type, | ||||
rid, start, end, count, flags)); | rid, start, end, count, flags)); | ||||
▲ Show 20 Lines • Show All 42 Lines • Show Last 20 Lines |