diff --git a/sys/sys/bus.h b/sys/sys/bus.h --- a/sys/sys/bus.h +++ b/sys/sys/bus.h @@ -52,10 +52,10 @@ * @brief State of the device. */ typedef enum device_state { - DS_NOTPRESENT = 10, /**< @brief not probed or probe failed */ - DS_ALIVE = 20, /**< @brief probe succeeded */ - DS_ATTACHING = 25, /**< @brief currently attaching */ - DS_ATTACHED = 30, /**< @brief attach method called */ + DS_NOTPRESENT = 10, /**< @brief not probed or probe failed */ + DS_ALIVE = 20, /**< @brief probe succeeded */ + DS_ATTACHING = 25, /**< @brief currently attaching */ + DS_ATTACHED = 30, /**< @brief attach method called */ } device_state_t; /** @@ -95,17 +95,17 @@ }; /* Flags exported via dv_flags. */ -#define DF_ENABLED 0x01 /* device should be probed/attached */ -#define DF_FIXEDCLASS 0x02 /* devclass specified at create time */ -#define DF_WILDCARD 0x04 /* unit was originally wildcard */ -#define DF_DESCMALLOCED 0x08 /* description was malloced */ -#define DF_QUIET 0x10 /* don't print verbose attach message */ -#define DF_DONENOMATCH 0x20 /* don't execute DEVICE_NOMATCH again */ -#define DF_EXTERNALSOFTC 0x40 /* softc not allocated by us */ -#define DF_SUSPENDED 0x100 /* Device is suspended. */ -#define DF_QUIET_CHILDREN 0x200 /* Default to quiet for all my children */ -#define DF_ATTACHED_ONCE 0x400 /* Has been attached at least once */ -#define DF_NEEDNOMATCH 0x800 /* Has a pending NOMATCH event */ +#define DF_ENABLED 0x01 /* device should be probed/attached */ +#define DF_FIXEDCLASS 0x02 /* devclass specified at create time */ +#define DF_WILDCARD 0x04 /* unit was originally wildcard */ +#define DF_DESCMALLOCED 0x08 /* description was malloced */ +#define DF_QUIET 0x10 /* don't print verbose attach message */ +#define DF_DONENOMATCH 0x20 /* don't execute DEVICE_NOMATCH again */ +#define DF_EXTERNALSOFTC 0x40 /* softc not allocated by us */ +#define DF_SUSPENDED 0x100 /* Device is suspended. */ +#define DF_QUIET_CHILDREN 0x200 /* Default to quiet for all my children */ +#define DF_ATTACHED_ONCE 0x400 /* Has been attached at least once */ +#define DF_NEEDNOMATCH 0x800 /* Has a pending NOMATCH event */ /** * @brief Device request structure used for ioctl's. @@ -172,8 +172,7 @@ * Device name parsers. Hook to allow device enumerators to map * scheme-specific names to a device. */ -typedef void (*dev_lookup_fn)(void *arg, const char *name, - device_t *result); +typedef void (*dev_lookup_fn)(void *arg, const char *name, device_t *result); EVENTHANDLER_DECLARE(dev_lookup, dev_lookup_fn); /** @@ -273,10 +272,10 @@ INTR_TYPE_CAM = 8, INTR_TYPE_MISC = 16, INTR_TYPE_CLK = 32, - INTR_TYPE_AV = 64, - INTR_EXCL = 256, /* exclusive interrupt */ - INTR_MPSAFE = 512, /* this interrupt is SMP safe */ - INTR_ENTROPY = 1024, /* this interrupt provides entropy */ + INTR_TYPE_AV = 64, + INTR_EXCL = 256, /* exclusive interrupt */ + INTR_MPSAFE = 512, /* this interrupt is SMP safe */ + INTR_ENTROPY = 1024, /* this interrupt provides entropy */ INTR_SLEEPABLE = 2048, /* this interrupt handler can sleep */ INTR_MD1 = 4096, /* flag reserved for MD use */ INTR_MD2 = 8192, /* flag reserved for MD use */ @@ -313,20 +312,20 @@ * @brief A resource mapping. */ struct resource_map { - bus_space_tag_t r_bustag; - bus_space_handle_t r_bushandle; - bus_size_t r_size; - void *r_vaddr; + bus_space_tag_t r_bustag; + bus_space_handle_t r_bushandle; + bus_size_t r_size; + void *r_vaddr; }; /** * @brief Optional properties of a resource mapping request. */ struct resource_map_request { - size_t size; - rman_res_t offset; - rman_res_t length; - vm_memattr_t memattr; + size_t size; + rman_res_t offset; + rman_res_t length; + vm_memattr_t memattr; }; void resource_init_map_request_impl(struct resource_map_request *_args, @@ -353,62 +352,49 @@ struct resource *res; /**< @brief the real resource when allocated */ rman_res_t start; /**< @brief start of resource range */ rman_res_t end; /**< @brief end of resource range */ - rman_res_t count; /**< @brief count within range */ + rman_res_t count; /**< @brief count within range */ }; STAILQ_HEAD(resource_list, resource_list_entry); -#define RLE_RESERVED 0x0001 /* Reserved by the parent bus. */ -#define RLE_ALLOCATED 0x0002 /* Reserved resource is allocated. */ -#define RLE_PREFETCH 0x0004 /* Resource is a prefetch range. */ +#define RLE_RESERVED 0x0001 /* Reserved by the parent bus. */ +#define RLE_ALLOCATED 0x0002 /* Reserved resource is allocated. */ +#define RLE_PREFETCH 0x0004 /* Resource is a prefetch range. */ void resource_list_init(struct resource_list *rl); void resource_list_free(struct resource_list *rl); struct resource_list_entry * - resource_list_add(struct resource_list *rl, - int type, int rid, - rman_res_t start, rman_res_t end, rman_res_t count); -int resource_list_add_next(struct resource_list *rl, - int type, - rman_res_t start, rman_res_t end, rman_res_t count); -int resource_list_busy(struct resource_list *rl, - int type, int rid); + resource_list_add(struct resource_list *rl, int type, int rid, + rman_res_t start, rman_res_t end, rman_res_t count); +int resource_list_add_next(struct resource_list *rl, int type, + rman_res_t start, rman_res_t end, rman_res_t count); +int resource_list_busy(struct resource_list *rl, int type, int rid); int resource_list_reserved(struct resource_list *rl, int type, int rid); -struct resource_list_entry* - resource_list_find(struct resource_list *rl, - int type, int rid); -void resource_list_delete(struct resource_list *rl, - int type, int rid); +struct resource_list_entry * + resource_list_find(struct resource_list *rl, int type, int rid); +void resource_list_delete(struct resource_list *rl, int type, int rid); struct resource * - resource_list_alloc(struct resource_list *rl, - device_t bus, device_t child, - int type, int *rid, - rman_res_t start, rman_res_t end, - rman_res_t count, u_int flags); -int resource_list_release(struct resource_list *rl, - device_t bus, device_t child, - struct resource *res); -int resource_list_release_active(struct resource_list *rl, - device_t bus, device_t child, - int type); + resource_list_alloc(struct resource_list *rl, device_t bus, + device_t child, int type, int *rid, rman_res_t start, + rman_res_t end, rman_res_t count, u_int flags); +int resource_list_release(struct resource_list *rl, device_t bus, + device_t child, struct resource *res); +int resource_list_release_active(struct resource_list *rl, device_t bus, + device_t child, int type); struct resource * - resource_list_reserve(struct resource_list *rl, - device_t bus, device_t child, - int type, int *rid, - rman_res_t start, rman_res_t end, - rman_res_t count, u_int flags); -int resource_list_unreserve(struct resource_list *rl, - device_t bus, device_t child, - int type, int rid); + resource_list_reserve(struct resource_list *rl, device_t bus, + device_t child, int type, int *rid, rman_res_t start, + rman_res_t end, rman_res_t count, u_int flags); +int resource_list_unreserve(struct resource_list *rl, device_t bus, + device_t child, int type, int rid); void resource_list_purge(struct resource_list *rl); -int resource_list_print_type(struct resource_list *rl, - const char *name, int type, - const char *format); +int resource_list_print_type(struct resource_list *rl, const char *name, + int type, const char *format); /* * The root bus, to which all top-level buses are attached. */ -extern device_t root_bus; -extern devclass_t root_devclass; +extern device_t root_bus; +extern devclass_t root_devclass; void root_bus_configure(void); /* @@ -418,49 +404,46 @@ struct _cpuset; int bus_generic_activate_resource(device_t dev, device_t child, - struct resource *r); + struct resource *r); device_t bus_generic_add_child(device_t dev, u_int order, const char *name, - int unit); + int unit); int bus_generic_adjust_resource(device_t bus, device_t child, - struct resource *r, rman_res_t start, - rman_res_t end); + struct resource *r, rman_res_t start, rman_res_t end); struct resource * bus_generic_alloc_resource(device_t bus, device_t child, int type, - int *rid, rman_res_t start, rman_res_t end, - rman_res_t count, u_int flags); + int *rid, rman_res_t start, rman_res_t end, rman_res_t count, + u_int flags); int bus_generic_translate_resource(device_t dev, int type, rman_res_t start, - rman_res_t *newstart); + rman_res_t *newstart); int bus_generic_attach(device_t dev) - __deprecated1("Use bus_attach_children instead"); + __deprecated1("Use bus_attach_children instead"); int bus_generic_bind_intr(device_t dev, device_t child, - struct resource *irq, int cpu); + struct resource *irq, int cpu); int bus_generic_child_location(device_t dev, device_t child, struct sbuf *sb); int bus_generic_child_pnpinfo(device_t dev, device_t child, struct sbuf *sb); int bus_generic_child_present(device_t dev, device_t child); 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, - struct resource *irq, void *cookie, - const char *descr); + struct resource *irq, void *cookie, const char *descr); int bus_generic_deactivate_resource(device_t dev, device_t child, - struct resource *r); + struct resource *r); int bus_generic_detach(device_t dev); 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, struct _cpuset *cpuset); + size_t setsize, struct _cpuset *cpuset); bus_dma_tag_t bus_generic_get_dma_tag(device_t dev, device_t child); bus_space_tag_t bus_generic_get_bus_tag(device_t dev, device_t child); int bus_generic_get_domain(device_t dev, device_t child, int *domain); ssize_t bus_generic_get_property(device_t dev, device_t child, - const char *propname, void *propvalue, - size_t size, device_property_type_t type); + const char *propname, void *propvalue, size_t size, + device_property_type_t type); int bus_generic_map_resource(device_t dev, device_t child, - struct resource *r, - struct resource_map_request *args, - struct resource_map *map); + struct resource *r, struct resource_map_request *args, + struct resource_map *map); void bus_generic_new_pass(device_t dev); int bus_print_child_header(device_t dev, device_t child); int bus_print_child_domain(device_t dev, device_t child); @@ -469,56 +452,52 @@ int bus_generic_probe(device_t dev) __deprecated1("Use bus_identify_children instead"); int bus_generic_read_ivar(device_t dev, device_t child, int which, - uintptr_t *result); + uintptr_t *result); int bus_generic_release_resource(device_t bus, device_t child, - struct resource *r); + struct resource *r); int bus_generic_resume(device_t dev); int bus_generic_resume_child(device_t dev, device_t child); int bus_generic_setup_intr(device_t dev, device_t child, - struct resource *irq, int flags, - driver_filter_t *filter, driver_intr_t *intr, - void *arg, void **cookiep); + struct resource *irq, int flags, driver_filter_t *filter, + driver_intr_t *intr, void *arg, void **cookiep); struct resource * bus_generic_rl_alloc_resource(device_t, device_t, int, int *, - rman_res_t, rman_res_t, rman_res_t, u_int); + rman_res_t, rman_res_t, rman_res_t, u_int); void bus_generic_rl_delete_resource(device_t, device_t, int, int); int bus_generic_rl_get_resource(device_t, device_t, int, int, rman_res_t *, - rman_res_t *); + rman_res_t *); int bus_generic_rl_set_resource(device_t, device_t, int, int, rman_res_t, - rman_res_t); + rman_res_t); int bus_generic_rl_release_resource(device_t, device_t, struct resource *); struct resource * bus_generic_rman_alloc_resource(device_t dev, device_t child, int type, - int *rid, rman_res_t start, - rman_res_t end, rman_res_t count, - u_int flags); + int *rid, rman_res_t start, rman_res_t end, rman_res_t count, + u_int flags); int bus_generic_rman_adjust_resource(device_t dev, device_t child, - struct resource *r, rman_res_t start, - rman_res_t end); + struct resource *r, rman_res_t start, rman_res_t end); int bus_generic_rman_release_resource(device_t dev, device_t child, - struct resource *r); + struct resource *r); int bus_generic_rman_activate_resource(device_t dev, device_t child, - struct resource *r); + struct resource *r); int bus_generic_rman_deactivate_resource(device_t dev, device_t child, - struct resource *r); + struct resource *r); int bus_generic_shutdown(device_t dev); int bus_generic_suspend(device_t dev); int bus_generic_suspend_child(device_t dev, device_t child); int bus_generic_teardown_intr(device_t dev, device_t child, - struct resource *irq, void *cookie); + struct resource *irq, void *cookie); int bus_generic_suspend_intr(device_t dev, device_t child, - struct resource *irq); + struct resource *irq); int bus_generic_resume_intr(device_t dev, device_t child, - struct resource *irq); + struct resource *irq); int bus_generic_unmap_resource(device_t dev, device_t child, - struct resource *r, - struct resource_map *map); + struct resource *r, struct resource_map *map); int bus_generic_write_ivar(device_t dev, device_t child, int which, - uintptr_t value); -int bus_generic_get_device_path(device_t bus, device_t child, const char *locator, - struct sbuf *sb); + uintptr_t value); +int bus_generic_get_device_path(device_t bus, device_t child, + const char *locator, struct sbuf *sb); int bus_helper_reset_post(device_t dev, int flags); int bus_helper_reset_prepare(device_t dev, int flags); int bus_null_rescan(device_t dev); @@ -536,44 +515,42 @@ #define RESOURCE_SPEC_END {-1, 0, 0} int bus_alloc_resources(device_t dev, struct resource_spec *rs, - struct resource **res); + struct resource **res); void bus_release_resources(device_t dev, const struct resource_spec *rs, - struct resource **res); + struct resource **res); int bus_adjust_resource(device_t child, struct resource *r, - rman_res_t start, rman_res_t end); + rman_res_t start, rman_res_t end); int bus_translate_resource(device_t child, int type, rman_res_t start, - rman_res_t *newstart); + rman_res_t *newstart); struct resource *bus_alloc_resource(device_t dev, int type, int *rid, - rman_res_t start, rman_res_t end, - rman_res_t count, u_int flags); + rman_res_t start, rman_res_t end, rman_res_t count, u_int flags); int bus_activate_resource(device_t dev, struct resource *r); int bus_deactivate_resource(device_t dev, struct resource *r); int bus_map_resource(device_t dev, struct resource *r, - struct resource_map_request *args, - struct resource_map *map); + struct resource_map_request *args, struct resource_map *map); int bus_unmap_resource(device_t dev, struct resource *r, - struct resource_map *map); + struct resource_map *map); int bus_get_cpus(device_t dev, enum cpu_sets op, size_t setsize, - struct _cpuset *cpuset); + struct _cpuset *cpuset); bus_dma_tag_t bus_get_dma_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_release_resource(device_t dev, 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, - driver_filter_t filter, driver_intr_t handler, - void *arg, void **cookiep); + driver_filter_t filter, driver_intr_t handler, void *arg, + void **cookiep); int bus_teardown_intr(device_t dev, struct resource *r, void *cookie); int bus_suspend_intr(device_t dev, struct resource *r); int bus_resume_intr(device_t dev, struct resource *r); int bus_bind_intr(device_t dev, struct resource *r, int cpu); int bus_describe_intr(device_t dev, struct resource *irq, void *cookie, - const char *fmt, ...) __printflike(4, 5); + const char *fmt, ...) __printflike(4, 5); int bus_set_resource(device_t dev, int type, int rid, - rman_res_t start, rman_res_t count); + rman_res_t start, rman_res_t count); int bus_get_resource(device_t dev, int type, int rid, - rman_res_t *startp, rman_res_t *countp); + rman_res_t *startp, rman_res_t *countp); rman_res_t bus_get_resource_start(device_t dev, int type, int rid); rman_res_t bus_get_resource_count(device_t dev, int type, int rid); void bus_delete_resource(device_t dev, int type, int rid); @@ -602,18 +579,17 @@ /* Compat shims for simpler bus resource API. */ int bus_adjust_resource_old(device_t child, int type, struct resource *r, - rman_res_t start, rman_res_t end); + rman_res_t start, rman_res_t end); int bus_activate_resource_old(device_t dev, int type, int rid, - struct resource *r); + struct resource *r); int bus_deactivate_resource_old(device_t dev, int type, int rid, - struct resource *r); + struct resource *r); int bus_map_resource_old(device_t dev, int type, struct resource *r, - struct resource_map_request *args, - struct resource_map *map); + struct resource_map_request *args, struct resource_map *map); int bus_unmap_resource_old(device_t dev, int type, struct resource *r, - struct resource_map *map); + struct resource_map *map); int bus_release_resource_old(device_t dev, int type, int rid, - struct resource *r); + struct resource *r); #define _BUS_API_MACRO(_1, _2, _3, _4, _5, NAME, ...) NAME @@ -644,9 +620,9 @@ /* * Access functions for device. */ -device_t device_add_child(device_t dev, const char *name, int unit); -device_t device_add_child_ordered(device_t dev, u_int order, - const char *name, int unit); +device_t device_add_child(device_t dev, const char *name, int unit); +device_t device_add_child_ordered(device_t dev, u_int order, const char *name, + int unit); void device_busy(device_t dev); int device_delete_child(device_t dev, device_t child); int device_delete_children(device_t dev); @@ -654,8 +630,7 @@ int device_detach(device_t dev); void device_disable(device_t dev); void device_enable(device_t dev); -device_t device_find_child(device_t dev, const char *classname, - int unit); +device_t device_find_child(device_t dev, const char *classname, int unit); const char *device_get_desc(device_t dev); devclass_t device_get_devclass(device_t dev); driver_t *device_get_driver(device_t dev); @@ -664,13 +639,13 @@ int device_get_children(device_t dev, device_t **listp, int *countp); void *device_get_ivars(device_t dev); void device_set_ivars(device_t dev, void *ivars); -const char *device_get_name(device_t dev); -const char *device_get_nameunit(device_t dev); +const char *device_get_name(device_t dev); +const char *device_get_nameunit(device_t dev); void *device_get_softc(device_t dev); device_state_t device_get_state(device_t dev); int device_get_unit(device_t dev); -struct sysctl_ctx_list *device_get_sysctl_ctx(device_t dev); -struct sysctl_oid *device_get_sysctl_tree(device_t dev); +struct sysctl_ctx_list *device_get_sysctl_ctx(device_t dev); +struct sysctl_oid *device_get_sysctl_tree(device_t dev); int device_has_quiet_children(device_t dev); int device_is_alive(device_t dev); /* did probe succeed? */ int device_is_attached(device_t dev); /* did attach succeed? */ @@ -703,16 +678,16 @@ void device_unbusy(device_t dev); void device_verbose(device_t dev); ssize_t device_get_property(device_t dev, const char *prop, void *val, - size_t sz, device_property_type_t type); -bool device_has_property(device_t dev, const char *prop); + size_t sz, device_property_type_t type); +bool device_has_property(device_t dev, const char *prop); /* * Access functions for devclass. */ -int devclass_add_driver(devclass_t dc, driver_t *driver, - int pass, devclass_t *dcp); +int devclass_add_driver(devclass_t dc, driver_t *driver, + int pass, devclass_t *dcp); devclass_t devclass_create(const char *classname); -int devclass_delete_driver(devclass_t busclass, driver_t *driver); +int devclass_delete_driver(devclass_t busclass, driver_t *driver); devclass_t devclass_find(const char *classname); const char *devclass_get_name(devclass_t dc); device_t devclass_get_device(devclass_t dc, int unit); @@ -724,23 +699,23 @@ int devclass_find_free_unit(devclass_t dc, int unit); void devclass_set_parent(devclass_t dc, devclass_t pdc); devclass_t devclass_get_parent(devclass_t dc); -struct sysctl_ctx_list *devclass_get_sysctl_ctx(devclass_t dc); -struct sysctl_oid *devclass_get_sysctl_tree(devclass_t dc); +struct sysctl_ctx_list *devclass_get_sysctl_ctx(devclass_t dc); +struct sysctl_oid *devclass_get_sysctl_tree(devclass_t dc); /* * Access functions for device resources. */ int resource_int_value(const char *name, int unit, const char *resname, - int *result); + int *result); int resource_long_value(const char *name, int unit, const char *resname, - long *result); + long *result); int resource_string_value(const char *name, int unit, const char *resname, - const char **result); + const char **result); int resource_disabled(const char *name, int unit); int resource_find_match(int *anchor, const char **name, int *unit, - const char *resname, const char *value); + const char *resname, const char *value); int resource_find_dev(int *anchor, const char *name, int *unit, - const char *resname, const char *value); + const char *resname, const char *value); int resource_unset_value(const char *name, int unit, const char *resname); /* @@ -819,7 +794,7 @@ */ void bus_topo_lock(void); void bus_topo_unlock(void); -struct mtx * bus_topo_mtx(void); +struct mtx *bus_topo_mtx(void); void bus_topo_assert(void); /** @@ -834,7 +809,7 @@ #include "device_if.h" #include "bus_if.h" -struct module; +struct module; int driver_module_handler(struct module *, int, void *);