int __devm_uio_register_device()

in uio.c [1014:1036]


int __devm_uio_register_device(struct module *owner,
			       struct device *parent,
			       struct uio_info *info)
{
	struct uio_info **ptr;
	int ret;

	ptr = devres_alloc(devm_uio_unregister_device, sizeof(*ptr),
			   GFP_KERNEL);
	if (!ptr)
		return -ENOMEM;

	*ptr = info;
	ret = __uio_register_device(owner, parent, info);
	if (ret) {
		devres_free(ptr);
		return ret;
	}

	devres_add(parent, ptr);

	return 0;
}