|
@@ -1143,11 +1143,12 @@ static struct configfs_attribute *interf_grp_attrs[] = {
|
|
|
NULL
|
|
|
};
|
|
|
|
|
|
-int usb_os_desc_prepare_interf_dir(struct config_group *parent,
|
|
|
- int n_interf,
|
|
|
- struct usb_os_desc **desc,
|
|
|
- char **names,
|
|
|
- struct module *owner)
|
|
|
+struct config_group *usb_os_desc_prepare_interf_dir(
|
|
|
+ struct config_group *parent,
|
|
|
+ int n_interf,
|
|
|
+ struct usb_os_desc **desc,
|
|
|
+ char **names,
|
|
|
+ struct module *owner)
|
|
|
{
|
|
|
struct config_group *os_desc_group;
|
|
|
struct config_item_type *os_desc_type, *interface_type;
|
|
@@ -1159,7 +1160,7 @@ int usb_os_desc_prepare_interf_dir(struct config_group *parent,
|
|
|
|
|
|
char *vlabuf = kzalloc(vla_group_size(data_chunk), GFP_KERNEL);
|
|
|
if (!vlabuf)
|
|
|
- return -ENOMEM;
|
|
|
+ return ERR_PTR(-ENOMEM);
|
|
|
|
|
|
os_desc_group = vla_ptr(vlabuf, data_chunk, os_desc_group);
|
|
|
os_desc_type = vla_ptr(vlabuf, data_chunk, os_desc_type);
|
|
@@ -1184,7 +1185,7 @@ int usb_os_desc_prepare_interf_dir(struct config_group *parent,
|
|
|
configfs_add_default_group(&d->group, os_desc_group);
|
|
|
}
|
|
|
|
|
|
- return 0;
|
|
|
+ return os_desc_group;
|
|
|
}
|
|
|
EXPORT_SYMBOL(usb_os_desc_prepare_interf_dir);
|
|
|
|