static int uio_major;
static DEFINE_IDR(uio_idr);
-static struct file_operations uio_fops;
+static const struct file_operations uio_fops;
/* UIO class infrastructure */
static struct uio_class {
map = kzalloc(sizeof(*map), GFP_KERNEL);
if (!map)
goto err;
- kobject_init_ng(&map->kobj, &map_attr_type);
+ kobject_init(&map->kobj, &map_attr_type);
map->mem = mem;
mem->map = map;
- ret = kobject_add_ng(&map->kobj, idev->map_dir, "map%d", mi);
+ ret = kobject_add(&map->kobj, idev->map_dir, "map%d", mi);
if (ret)
goto err;
ret = kobject_uevent(&map->kobj, KOBJ_ADD);
for (mi--; mi>=0; mi--) {
mem = &idev->info->mem[mi];
map = mem->map;
- kobject_unregister(&map->kobj);
+ kobject_put(&map->kobj);
}
- kobject_unregister(idev->map_dir);
+ kobject_put(idev->map_dir);
sysfs_remove_group(&idev->dev->kobj, &uio_attr_grp);
err_group:
dev_err(idev->dev, "error creating sysfs files (%d)\n", ret);
mem = &idev->info->mem[mi];
if (mem->size == 0)
break;
- kobject_unregister(&mem->map->kobj);
+ kobject_put(&mem->map->kobj);
}
- kobject_unregister(idev->map_dir);
+ kobject_put(idev->map_dir);
sysfs_remove_group(&idev->dev->kobj, &uio_attr_grp);
}
}
}
-static struct file_operations uio_fops = {
+static const struct file_operations uio_fops = {
.owner = THIS_MODULE,
.open = uio_open,
.release = uio_release,