Changeset View
Changeset View
Standalone View
Standalone View
sys/mips/rt305x/obio.c
Show First 20 Lines • Show All 42 Lines • ▼ Show 20 Lines | |||||
#define REG_READ(o) *((volatile uint32_t *)MIPS_PHYS_TO_KSEG1(INTCTL_BASE + (o))) | #define REG_READ(o) *((volatile uint32_t *)MIPS_PHYS_TO_KSEG1(INTCTL_BASE + (o))) | ||||
#define REG_WRITE(o,v) (REG_READ(o)) = (v) | #define REG_WRITE(o,v) (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_add_res_child(device_t, const char *, int, long, int, int); | static void obio_add_res_child(device_t, const char *, int, long, int, int); | ||||
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 *); | ||||
▲ Show 20 Lines • Show All 84 Lines • ▼ Show 20 Lines | |||||
/* enable IC */ | /* enable IC */ | ||||
rt305x_ic_set(IC_INT_ENA, IC_LINE_GLOBAL); | rt305x_ic_set(IC_INT_ENA, IC_LINE_GLOBAL); | ||||
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 && count == 1); | isdefault = (start == 0 && end == ~0 && count == 1); | ||||
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 |