static void init_rlimit (void) { int i; __mutex_init (&_hurd_rlimit_lock); for (i = 0; i < RLIM_NLIMITS; ++i) { if (_hurd_rlimits[i].rlim_max == 0) _hurd_rlimits[i].rlim_max = RLIM_INFINITY; if (_hurd_rlimits[i].rlim_cur == 0) #define I(lim, val) case RLIMIT_##lim: _hurd_rlimits[i].rlim_cur = (val); break switch (i) { I (NOFILE, 1024); /* Linux 2.2.12 uses this initial value. */ default: _hurd_rlimits[i].rlim_cur = _hurd_rlimits[i].rlim_max; break; } #undef I } (void) &init_rlimit; }
int nouveau_subdev_create_(struct nouveau_object *parent, struct nouveau_object *engine, struct nouveau_oclass *oclass, u32 pclass, const char *subname, const char *sysname, int size, void **pobject) { struct nouveau_subdev *subdev; int ret; ret = nouveau_object_create_(parent, engine, oclass, pclass | NV_SUBDEV_CLASS, size, pobject); subdev = *pobject; if (ret) return ret; __mutex_init(&subdev->mutex, subname, &oclass->lock_class_key); subdev->name = subname; if (parent) { struct nouveau_device *device = nv_device(parent); subdev->debug = nouveau_dbgopt(device->dbgopt, subname); subdev->mmio = nv_subdev(device)->mmio; } return 0; }
static void init_id (void) { __mutex_init (&_hurd_id.lock); _hurd_id.valid = 0; _hurd_id.rid_auth = MACH_PORT_NULL; _hurd_id.gen.uids = _hurd_id.aux.uids = NULL; _hurd_id.gen.nuids = _hurd_id.aux.nuids = 0; _hurd_id.gen.gids = _hurd_id.aux.gids = NULL; _hurd_id.gen.ngids = _hurd_id.aux.ngids = 0; (void) &init_id; /* Avoid "defined but not used" warning. */ }
void nvkm_subdev_ctor(const struct nvkm_subdev_func *func, struct nvkm_device *device, int index, struct nvkm_subdev *subdev) { const char *name = nvkm_subdev_name[index]; subdev->func = func; subdev->device = device; subdev->index = index; __mutex_init(&subdev->mutex, name, &nvkm_subdev_lock_class[index]); subdev->debug = nvkm_dbgopt(device->dbgopt, name); }
/** * bus_register - register a driver-core subsystem * @bus: bus to register * * Once we have that, we register the bus with the kobject * infrastructure, then register the children subsystems it has: * the devices and drivers that belong to the subsystem. */ int bus_register(struct bus_type *bus) { int retval; struct subsys_private *priv; struct lock_class_key *key = &bus->lock_key; priv = kzalloc(sizeof(struct subsys_private), GFP_KERNEL); if (!priv) return -ENOMEM; priv->bus = bus; bus->p = priv; BLOCKING_INIT_NOTIFIER_HEAD(&priv->bus_notifier); retval = kobject_set_name(&priv->subsys.kobj, "%s", bus->name); if (retval) goto out; priv->subsys.kobj.kset = bus_kset; priv->subsys.kobj.ktype = &bus_ktype; priv->drivers_autoprobe = 1; retval = kset_register(&priv->subsys); if (retval) goto out; retval = bus_create_file(bus, &bus_attr_uevent); if (retval) goto bus_uevent_fail; priv->devices_kset = kset_create_and_add("devices", NULL, &priv->subsys.kobj); if (!priv->devices_kset) { retval = -ENOMEM; goto bus_devices_fail; } priv->drivers_kset = kset_create_and_add("drivers", NULL, &priv->subsys.kobj); if (!priv->drivers_kset) { retval = -ENOMEM; goto bus_drivers_fail; } INIT_LIST_HEAD(&priv->interfaces); __mutex_init(&priv->mutex, "subsys mutex", key); klist_init(&priv->klist_devices, klist_devices_get, klist_devices_put); klist_init(&priv->klist_drivers, NULL, NULL); retval = add_probe_files(bus); if (retval) goto bus_probe_files_fail; retval = bus_add_attrs(bus); if (retval) goto bus_attrs_fail; pr_debug("bus: '%s': registered\n", bus->name); return 0; bus_attrs_fail: remove_probe_files(bus); bus_probe_files_fail: kset_unregister(bus->p->drivers_kset); bus_drivers_fail: kset_unregister(bus->p->devices_kset); bus_devices_fail: bus_remove_file(bus, &bus_attr_uevent); bus_uevent_fail: kset_unregister(&bus->p->subsys); out: kfree(bus->p); bus->p = NULL; return retval; }