arm64: nexus code tidy-up
Make a pass at the various nexus implementations, fixing some very minor style issues, obsolete comments, etc. The method declaration section has become unwieldy in many respects. Attempt to tame it by: - Using generated method typedefs - Grouping methods roughly by category, and then alphabetically. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D38495
This commit is contained in:
+43
-51
@@ -46,22 +46,22 @@ __FBSDID("$FreeBSD$");
|
|||||||
#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/interrupt.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 <machine/bus.h>
|
|
||||||
#include <sys/rman.h>
|
#include <sys/rman.h>
|
||||||
#include <sys/interrupt.h>
|
|
||||||
#include <sys/sysctl.h>
|
#include <sys/sysctl.h>
|
||||||
|
|
||||||
#include <machine/machdep.h>
|
|
||||||
#include <machine/vmparam.h>
|
|
||||||
#include <machine/pcb.h>
|
|
||||||
#include <vm/vm.h>
|
#include <vm/vm.h>
|
||||||
#include <vm/pmap.h>
|
#include <vm/pmap.h>
|
||||||
|
|
||||||
#include <machine/resource.h>
|
#include <machine/bus.h>
|
||||||
#include <machine/intr.h>
|
#include <machine/intr.h>
|
||||||
|
#include <machine/machdep.h>
|
||||||
|
#include <machine/pcb.h>
|
||||||
|
#include <machine/resource.h>
|
||||||
|
#include <machine/vmparam.h>
|
||||||
|
|
||||||
#ifdef FDT
|
#ifdef FDT
|
||||||
#include <dev/ofw/ofw_bus_subr.h>
|
#include <dev/ofw/ofw_bus_subr.h>
|
||||||
@@ -73,7 +73,6 @@ __FBSDID("$FreeBSD$");
|
|||||||
#include <contrib/dev/acpica/include/acpi.h>
|
#include <contrib/dev/acpica/include/acpi.h>
|
||||||
#include <dev/acpica/acpivar.h>
|
#include <dev/acpica/acpivar.h>
|
||||||
#include "acpi_bus_if.h"
|
#include "acpi_bus_if.h"
|
||||||
#include "pcib_if.h"
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern struct bus_space memmap_bus;
|
extern struct bus_space memmap_bus;
|
||||||
@@ -101,63 +100,57 @@ static device_attach_t nexus_fdt_attach;
|
|||||||
static bus_activate_resource_t nexus_fdt_activate_resource;
|
static bus_activate_resource_t nexus_fdt_activate_resource;
|
||||||
#endif
|
#endif
|
||||||
#ifdef DEV_ACPI
|
#ifdef DEV_ACPI
|
||||||
static device_probe_t nexus_acpi_probe;
|
static device_probe_t nexus_acpi_probe;
|
||||||
static device_attach_t nexus_acpi_attach;
|
static device_attach_t nexus_acpi_attach;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static int nexus_print_child(device_t, device_t);
|
static bus_add_child_t nexus_add_child;
|
||||||
static device_t nexus_add_child(device_t, u_int, const char *, int);
|
static bus_print_child_t nexus_print_child;
|
||||||
static struct resource *nexus_alloc_resource(device_t, device_t, int, int *,
|
|
||||||
rman_res_t, rman_res_t, rman_res_t, u_int);
|
static bus_activate_resource_t nexus_activate_resource;
|
||||||
static int nexus_activate_resource(device_t, device_t, int, int,
|
static bus_adjust_resource_t nexus_adjust_resource;
|
||||||
struct resource *);
|
static bus_alloc_resource_t nexus_alloc_resource;
|
||||||
static int nexus_adjust_resource(device_t, device_t, int, struct resource *,
|
static bus_deactivate_resource_t nexus_deactivate_resource;
|
||||||
rman_res_t, rman_res_t);
|
static bus_get_resource_list_t nexus_get_reslist;
|
||||||
static int nexus_map_resource(device_t, device_t, int, struct resource *,
|
static bus_map_resource_t nexus_map_resource;
|
||||||
struct resource_map_request *, struct resource_map *);
|
static bus_release_resource_t nexus_release_resource;
|
||||||
static int nexus_config_intr(device_t dev, int irq, enum intr_trigger trig,
|
static bus_set_resource_t nexus_set_resource;
|
||||||
enum intr_polarity pol);
|
|
||||||
static struct resource_list *nexus_get_reslist(device_t, device_t);
|
|
||||||
static int nexus_set_resource(device_t, device_t, int, int,
|
|
||||||
rman_res_t, rman_res_t);
|
|
||||||
static int nexus_deactivate_resource(device_t, device_t, int, int,
|
|
||||||
struct resource *);
|
|
||||||
static int nexus_release_resource(device_t, device_t, int, int,
|
|
||||||
struct resource *);
|
|
||||||
|
|
||||||
static int nexus_setup_intr(device_t dev, device_t child, struct resource *res,
|
|
||||||
int flags, driver_filter_t *filt, driver_intr_t *intr, void *arg, void **cookiep);
|
|
||||||
static int nexus_teardown_intr(device_t, device_t, struct resource *, void *);
|
|
||||||
static bus_space_tag_t nexus_get_bus_tag(device_t, device_t);
|
|
||||||
#ifdef SMP
|
#ifdef SMP
|
||||||
static int nexus_bind_intr(device_t, device_t, struct resource *, int);
|
static bus_bind_intr_t nexus_bind_intr;
|
||||||
#endif
|
#endif
|
||||||
|
static bus_config_intr_t nexus_config_intr;
|
||||||
|
static bus_describe_intr_t nexus_describe_intr;
|
||||||
|
static bus_setup_intr_t nexus_setup_intr;
|
||||||
|
static bus_teardown_intr_t nexus_teardown_intr;
|
||||||
|
|
||||||
|
static bus_get_bus_tag_t nexus_get_bus_tag;
|
||||||
|
|
||||||
#ifdef FDT
|
#ifdef FDT
|
||||||
static int nexus_ofw_map_intr(device_t dev, device_t child, phandle_t iparent,
|
static ofw_bus_map_intr_t nexus_ofw_map_intr;
|
||||||
int icells, pcell_t *intr);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static device_method_t nexus_methods[] = {
|
static device_method_t nexus_methods[] = {
|
||||||
/* Bus interface */
|
/* Bus interface */
|
||||||
DEVMETHOD(bus_print_child, nexus_print_child),
|
|
||||||
DEVMETHOD(bus_add_child, nexus_add_child),
|
DEVMETHOD(bus_add_child, nexus_add_child),
|
||||||
DEVMETHOD(bus_alloc_resource, nexus_alloc_resource),
|
DEVMETHOD(bus_print_child, nexus_print_child),
|
||||||
DEVMETHOD(bus_activate_resource, nexus_activate_resource),
|
DEVMETHOD(bus_activate_resource, nexus_activate_resource),
|
||||||
DEVMETHOD(bus_adjust_resource, nexus_adjust_resource),
|
DEVMETHOD(bus_adjust_resource, nexus_adjust_resource),
|
||||||
DEVMETHOD(bus_map_resource, nexus_map_resource),
|
DEVMETHOD(bus_alloc_resource, nexus_alloc_resource),
|
||||||
DEVMETHOD(bus_config_intr, nexus_config_intr),
|
DEVMETHOD(bus_deactivate_resource, nexus_deactivate_resource),
|
||||||
DEVMETHOD(bus_get_resource_list, nexus_get_reslist),
|
DEVMETHOD(bus_get_resource_list, nexus_get_reslist),
|
||||||
DEVMETHOD(bus_set_resource, nexus_set_resource),
|
DEVMETHOD(bus_map_resource, nexus_map_resource),
|
||||||
DEVMETHOD(bus_deactivate_resource, nexus_deactivate_resource),
|
|
||||||
DEVMETHOD(bus_release_resource, nexus_release_resource),
|
DEVMETHOD(bus_release_resource, nexus_release_resource),
|
||||||
DEVMETHOD(bus_setup_intr, nexus_setup_intr),
|
DEVMETHOD(bus_set_resource, nexus_set_resource),
|
||||||
DEVMETHOD(bus_teardown_intr, nexus_teardown_intr),
|
|
||||||
DEVMETHOD(bus_get_bus_tag, nexus_get_bus_tag),
|
|
||||||
#ifdef SMP
|
#ifdef SMP
|
||||||
DEVMETHOD(bus_bind_intr, nexus_bind_intr),
|
DEVMETHOD(bus_bind_intr, nexus_bind_intr),
|
||||||
#endif
|
#endif
|
||||||
{ 0, 0 }
|
DEVMETHOD(bus_config_intr, nexus_config_intr),
|
||||||
|
DEVMETHOD(bus_setup_intr, nexus_setup_intr),
|
||||||
|
DEVMETHOD(bus_teardown_intr, nexus_teardown_intr),
|
||||||
|
DEVMETHOD(bus_get_bus_tag, nexus_get_bus_tag),
|
||||||
|
|
||||||
|
DEVMETHOD_END
|
||||||
};
|
};
|
||||||
|
|
||||||
static driver_t nexus_driver = {
|
static driver_t nexus_driver = {
|
||||||
@@ -223,7 +216,6 @@ nexus_add_child(device_t bus, u_int order, const char *name, int unit)
|
|||||||
/*
|
/*
|
||||||
* Allocate a resource on behalf of child. NB: child is usually going to be a
|
* Allocate a resource on behalf of child. NB: child is usually going to be a
|
||||||
* child of one of our descendants, not a direct child of nexus0.
|
* child of one of our descendants, not a direct child of nexus0.
|
||||||
* (Exceptions include footbridge.)
|
|
||||||
*/
|
*/
|
||||||
static struct resource *
|
static struct resource *
|
||||||
nexus_alloc_resource(device_t bus, device_t child, int type, int *rid,
|
nexus_alloc_resource(device_t bus, device_t child, int type, int *rid,
|
||||||
@@ -243,10 +235,10 @@ nexus_alloc_resource(device_t bus, device_t child, int type, int *rid,
|
|||||||
*/
|
*/
|
||||||
if (RMAN_IS_DEFAULT_RANGE(start, end) && (count == 1)) {
|
if (RMAN_IS_DEFAULT_RANGE(start, end) && (count == 1)) {
|
||||||
if (device_get_parent(child) != bus || ndev == NULL)
|
if (device_get_parent(child) != bus || ndev == NULL)
|
||||||
return(NULL);
|
return (NULL);
|
||||||
rle = resource_list_find(&ndev->nx_resources, type, *rid);
|
rle = resource_list_find(&ndev->nx_resources, type, *rid);
|
||||||
if (rle == NULL)
|
if (rle == NULL)
|
||||||
return(NULL);
|
return (NULL);
|
||||||
start = rle->start;
|
start = rle->start;
|
||||||
end = rle->end;
|
end = rle->end;
|
||||||
count = rle->count;
|
count = rle->count;
|
||||||
@@ -369,7 +361,7 @@ static bus_space_tag_t
|
|||||||
nexus_get_bus_tag(device_t bus __unused, device_t child __unused)
|
nexus_get_bus_tag(device_t bus __unused, device_t child __unused)
|
||||||
{
|
{
|
||||||
|
|
||||||
return(&memmap_bus);
|
return (&memmap_bus);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -444,7 +436,7 @@ nexus_set_resource(device_t dev, device_t child, int type, int rid,
|
|||||||
/* XXX this should return a success/failure indicator */
|
/* XXX this should return a success/failure indicator */
|
||||||
resource_list_add(rl, type, rid, start, start + count - 1, count);
|
resource_list_add(rl, type, rid, start, start + count - 1, count);
|
||||||
|
|
||||||
return(0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
|||||||
Reference in New Issue
Block a user