diff --git a/share/man/man9/device.9 b/share/man/man9/device.9 index 40bd3f16d3ee..d5e30f0abefa 100644 --- a/share/man/man9/device.9 +++ b/share/man/man9/device.9 @@ -35,7 +35,7 @@ .Nm device .Nd an abstract representation of a device .Sh SYNOPSIS -.Vt typedef struct device *device_t ; +.Vt typedef struct _device *device_t ; .Sh DESCRIPTION The device object represents a piece of hardware attached to the system such as an expansion card, the bus which that card is plugged diff --git a/share/man/man9/rman.9 b/share/man/man9/rman.9 index 3e03c05f9088..3faea2a014fc 100644 --- a/share/man/man9/rman.9 +++ b/share/man/man9/rman.9 @@ -88,12 +88,12 @@ .Ft "struct resource *" .Fo rman_reserve_resource .Fa "struct rman *rm" "rman_res_t start" "rman_res_t end" "rman_res_t count" -.Fa "u_int flags" "struct device *dev" +.Fa "u_int flags" "device_t dev" .Fc .Ft "struct resource *" .Fo rman_reserve_resource_bound .Fa "struct rman *rm" "rman_res_t start" "rman_res_t end" "rman_res_t count" -.Fa "rman_res_t bound" "u_int flags" "struct device *dev" +.Fa "rman_res_t bound" "u_int flags" "device_t dev" .Fc .Ft uint32_t .Fn rman_make_alignment_flags "uint32_t size" @@ -101,7 +101,7 @@ .Fn rman_get_start "struct resource *r" .Ft rman_res_t .Fn rman_get_end "struct resource *r" -.Ft "struct device *" +.Ft "device_t" .Fn rman_get_device "struct resource *r" .Ft rman_res_t .Fn rman_get_size "struct resource *r" diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index 2a8cf00b5700..08f1cb5886d2 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -95,7 +95,7 @@ struct driverlink { */ typedef TAILQ_HEAD(devclass_list, devclass) devclass_list_t; typedef TAILQ_HEAD(driver_list, driverlink) driver_list_t; -typedef TAILQ_HEAD(device_list, device) device_list_t; +typedef TAILQ_HEAD(device_list, _device) device_list_t; struct devclass { TAILQ_ENTRY(devclass) link; @@ -112,9 +112,12 @@ struct devclass { }; /** - * @brief Implementation of device. + * @brief Implementation of _device. + * + * The structure is named "_device" instead of "device" to avoid type confusion + * caused by other subsystems defining a (struct device). */ -struct device { +struct _device { /* * A device is a kernel object. The first field must be the * current ops table for the object. @@ -124,8 +127,8 @@ struct device { /* * Device hierarchy. */ - TAILQ_ENTRY(device) link; /**< list of devices in parent */ - TAILQ_ENTRY(device) devlink; /**< global device list membership */ + TAILQ_ENTRY(_device) link; /**< list of devices in parent */ + TAILQ_ENTRY(_device) devlink; /**< global device list membership */ device_t parent; /**< parent of this device */ device_list_t children; /**< list of child devices */ @@ -853,7 +856,7 @@ devctl_safe_quote_sb(struct sbuf *sb, const char *src) /* End of /dev/devctl code */ -static TAILQ_HEAD(,device) bus_data_devices; +static struct device_list bus_data_devices; static int bus_data_generation = 1; static kobj_method_t null_methods[] = { diff --git a/sys/powerpc/include/bus_dma.h b/sys/powerpc/include/bus_dma.h index ba4ebdab4c42..947a25819a7e 100644 --- a/sys/powerpc/include/bus_dma.h +++ b/sys/powerpc/include/bus_dma.h @@ -33,8 +33,6 @@ #include #include -struct device; - -int bus_dma_tag_set_iommu(bus_dma_tag_t, struct device *iommu, void *cookie); +int bus_dma_tag_set_iommu(bus_dma_tag_t, device_t iommu, void *cookie); #endif /* _POWERPC_BUS_DMA_H_ */ diff --git a/sys/sys/pcpu.h b/sys/sys/pcpu.h index 43827b1af4fa..cfc8a215707c 100644 --- a/sys/sys/pcpu.h +++ b/sys/sys/pcpu.h @@ -187,7 +187,7 @@ struct pcpu { STAILQ_ENTRY(pcpu) pc_allcpu; struct lock_list_entry *pc_spinlocks; long pc_cp_time[CPUSTATES]; /* statclock ticks */ - struct device *pc_device; + struct _device *pc_device; /* CPU device handle */ void *pc_netisr; /* netisr SWI cookie */ int pc_unused1; /* unused field */ int pc_domain; /* Memory domain. */ diff --git a/sys/sys/systm.h b/sys/sys/systm.h index 8a5bb23a3e14..5d41c9d53c2c 100644 --- a/sys/sys/systm.h +++ b/sys/sys/systm.h @@ -626,9 +626,8 @@ void counted_warning(unsigned *counter, const char *msg); /* * APIs to manage deprecation and obsolescence. */ -struct device; void _gone_in(int major, const char *msg); -void _gone_in_dev(struct device *dev, int major, const char *msg); +void _gone_in_dev(device_t dev, int major, const char *msg); #ifdef NO_OBSOLETE_CODE #define __gone_ok(m, msg) \ _Static_assert(m < P_OSREL_MAJOR(__FreeBSD_version)), \ @@ -641,5 +640,4 @@ void _gone_in_dev(struct device *dev, int major, const char *msg); #endif /* _KERNEL */ __NULLABILITY_PRAGMA_POP - #endif /* !_SYS_SYSTM_H_ */ diff --git a/sys/sys/types.h b/sys/sys/types.h index c026fa023bd0..58abcf00cebb 100644 --- a/sys/sys/types.h +++ b/sys/sys/types.h @@ -272,7 +272,7 @@ typedef __rman_res_t rman_res_t; #ifdef _KERNEL typedef int boolean_t; -typedef struct device *device_t; +typedef struct _device *device_t; typedef __intfptr_t intfptr_t; /*