Changeset View
Changeset View
Standalone View
Standalone View
head/sys/kern/subr_bus.c
Show First 20 Lines • Show All 1,788 Lines • ▼ Show 20 Lines | if (!dc) { | ||||
printf("make_device: can't find device class %s\n", | printf("make_device: can't find device class %s\n", | ||||
name); | name); | ||||
return (NULL); | return (NULL); | ||||
} | } | ||||
} else { | } else { | ||||
dc = NULL; | dc = NULL; | ||||
} | } | ||||
dev = malloc(sizeof(struct device), M_BUS, M_NOWAIT|M_ZERO); | dev = malloc(sizeof(*dev), M_BUS, M_NOWAIT|M_ZERO); | ||||
if (!dev) | if (!dev) | ||||
return (NULL); | return (NULL); | ||||
dev->parent = parent; | dev->parent = parent; | ||||
TAILQ_INIT(&dev->children); | TAILQ_INIT(&dev->children); | ||||
kobj_init((kobj_t) dev, &null_class); | kobj_init((kobj_t) dev, &null_class); | ||||
dev->driver = NULL; | dev->driver = NULL; | ||||
dev->devclass = NULL; | dev->devclass = NULL; | ||||
▲ Show 20 Lines • Show All 3,467 Lines • ▼ Show 20 Lines | SYSCTL_NODE(_hw_bus, OID_AUTO, info, CTLFLAG_RW, sysctl_bus, | ||||
"bus-related data"); | "bus-related data"); | ||||
static int | static int | ||||
sysctl_devices(SYSCTL_HANDLER_ARGS) | sysctl_devices(SYSCTL_HANDLER_ARGS) | ||||
{ | { | ||||
int *name = (int *)arg1; | int *name = (int *)arg1; | ||||
u_int namelen = arg2; | u_int namelen = arg2; | ||||
int index; | int index; | ||||
struct device *dev; | device_t dev; | ||||
struct u_device udev; /* XXX this is a bit big */ | struct u_device udev; /* XXX this is a bit big */ | ||||
int error; | int error; | ||||
if (namelen != 2) | if (namelen != 2) | ||||
return (EINVAL); | return (EINVAL); | ||||
if (bus_data_generation_check(name[0])) | if (bus_data_generation_check(name[0])) | ||||
return (EINVAL); | return (EINVAL); | ||||
▲ Show 20 Lines • Show All 348 Lines • Show Last 20 Lines |