Changeset View
Changeset View
Standalone View
Standalone View
sys/sys/bus.h
Show All 26 Lines | |||||
*/ | */ | ||||
#ifndef _SYS_BUS_H_ | #ifndef _SYS_BUS_H_ | ||||
#define _SYS_BUS_H_ | #define _SYS_BUS_H_ | ||||
#include <machine/_limits.h> | #include <machine/_limits.h> | ||||
#include <machine/_bus.h> | #include <machine/_bus.h> | ||||
#include <sys/_bus_dma.h> | #include <sys/_bus_dma.h> | ||||
#include <sys/_cpuset.h> | |||||
#include <sys/ioccom.h> | #include <sys/ioccom.h> | ||||
/** | /** | ||||
* @defgroup NEWBUS newbus - a generic framework for managing devices | * @defgroup NEWBUS newbus - a generic framework for managing devices | ||||
* @{ | * @{ | ||||
*/ | */ | ||||
/** | /** | ||||
▲ Show 20 Lines • Show All 224 Lines • ▼ Show 20 Lines | |||||
}; | }; | ||||
enum intr_polarity { | enum intr_polarity { | ||||
INTR_POLARITY_CONFORM = 0, | INTR_POLARITY_CONFORM = 0, | ||||
INTR_POLARITY_HIGH = 1, | INTR_POLARITY_HIGH = 1, | ||||
INTR_POLARITY_LOW = 2 | INTR_POLARITY_LOW = 2 | ||||
}; | }; | ||||
/** | |||||
* CPU sets supported by bus_get_cpus(). Note that not all sets may be | |||||
* supported for a given device. If a request is not supported by a | |||||
* device (or its parents), then bus_get_cpus() will fail with EINVAL. | |||||
*/ | |||||
enum cpu_sets { | |||||
LOCAL_CPUS = 0, | |||||
INTR_CPUS | |||||
}; | |||||
typedef int (*devop_t)(void); | typedef int (*devop_t)(void); | ||||
/** | /** | ||||
* @brief This structure is deprecated. | * @brief This structure is deprecated. | ||||
* | * | ||||
* Use the kobj(9) macro DEFINE_CLASS to | * Use the kobj(9) macro DEFINE_CLASS to | ||||
* declare classes which implement device drivers. | * declare classes which implement device drivers. | ||||
*/ | */ | ||||
▲ Show 20 Lines • Show All 100 Lines • ▼ Show 20 Lines | int bus_generic_config_intr(device_t, int, enum intr_trigger, | ||||
enum intr_polarity); | enum intr_polarity); | ||||
int bus_generic_describe_intr(device_t dev, device_t child, | int bus_generic_describe_intr(device_t dev, device_t child, | ||||
struct resource *irq, void *cookie, | struct resource *irq, void *cookie, | ||||
const char *descr); | const char *descr); | ||||
int bus_generic_deactivate_resource(device_t dev, device_t child, int type, | int bus_generic_deactivate_resource(device_t dev, device_t child, int type, | ||||
int rid, struct resource *r); | int rid, struct resource *r); | ||||
int bus_generic_detach(device_t dev); | int bus_generic_detach(device_t dev); | ||||
void bus_generic_driver_added(device_t dev, driver_t *driver); | void bus_generic_driver_added(device_t dev, driver_t *driver); | ||||
int bus_generic_get_cpus(device_t dev, device_t child, enum cpu_sets op, | |||||
size_t setsize, cpuset_t *cpuset); | |||||
bus_dma_tag_t | bus_dma_tag_t | ||||
bus_generic_get_dma_tag(device_t dev, device_t child); | bus_generic_get_dma_tag(device_t dev, device_t child); | ||||
bus_space_tag_t | bus_space_tag_t | ||||
bus_generic_get_bus_tag(device_t dev, device_t child); | bus_generic_get_bus_tag(device_t dev, device_t child); | ||||
int bus_generic_get_domain(device_t dev, device_t child, int *domain); | int bus_generic_get_domain(device_t dev, device_t child, int *domain); | ||||
struct resource_list * | struct resource_list * | ||||
bus_generic_get_resource_list (device_t, device_t); | bus_generic_get_resource_list (device_t, device_t); | ||||
void bus_generic_new_pass(device_t dev); | void bus_generic_new_pass(device_t dev); | ||||
▲ Show 20 Lines • Show All 53 Lines • ▼ Show 20 Lines | int bus_adjust_resource(device_t child, int type, struct resource *r, | ||||
rman_res_t start, rman_res_t end); | rman_res_t start, rman_res_t end); | ||||
struct resource *bus_alloc_resource(device_t dev, int type, int *rid, | struct resource *bus_alloc_resource(device_t dev, int type, int *rid, | ||||
rman_res_t start, rman_res_t end, | rman_res_t start, rman_res_t end, | ||||
rman_res_t count, u_int flags); | rman_res_t count, u_int flags); | ||||
int bus_activate_resource(device_t dev, int type, int rid, | int bus_activate_resource(device_t dev, int type, int rid, | ||||
struct resource *r); | struct resource *r); | ||||
int bus_deactivate_resource(device_t dev, int type, int rid, | int bus_deactivate_resource(device_t dev, int type, int rid, | ||||
struct resource *r); | struct resource *r); | ||||
int bus_get_cpus(device_t dev, enum cpu_sets op, size_t setsize, | |||||
cpuset_t *cpuset); | |||||
bus_dma_tag_t bus_get_dma_tag(device_t dev); | bus_dma_tag_t bus_get_dma_tag(device_t dev); | ||||
bus_space_tag_t bus_get_bus_tag(device_t dev); | bus_space_tag_t bus_get_bus_tag(device_t dev); | ||||
int bus_get_domain(device_t dev, int *domain); | int bus_get_domain(device_t dev, int *domain); | ||||
int bus_release_resource(device_t dev, int type, int rid, | int bus_release_resource(device_t dev, int type, int rid, | ||||
struct resource *r); | struct resource *r); | ||||
int bus_free_resource(device_t dev, int type, struct resource *r); | int bus_free_resource(device_t dev, int type, struct resource *r); | ||||
int bus_setup_intr(device_t dev, struct resource *r, int flags, | int bus_setup_intr(device_t dev, struct resource *r, int flags, | ||||
driver_filter_t filter, driver_intr_t handler, | driver_filter_t filter, driver_intr_t handler, | ||||
▲ Show 20 Lines • Show All 415 Lines • Show Last 20 Lines |