diff options
Diffstat (limited to 'drivers/staging/ccg/ccg.c')
-rw-r--r-- | drivers/staging/ccg/ccg.c | 43 |
1 files changed, 20 insertions, 23 deletions
diff --git a/drivers/staging/ccg/ccg.c b/drivers/staging/ccg/ccg.c index 6a7aab8d9bf5..93e1e2ffca0c 100644 --- a/drivers/staging/ccg/ccg.c +++ b/drivers/staging/ccg/ccg.c @@ -32,7 +32,7 @@ #include <linux/platform_device.h> #include <linux/usb/ch9.h> -#include <linux/usb/composite.h> +#include "composite.h" #include <linux/usb/gadget.h> #include "gadget_chips.h" @@ -44,19 +44,19 @@ * the runtime footprint, and giving us at least some parts of what * a "gcc --combine ... part1.c part2.c part3.c ... " build would. */ -#include "../../usb/gadget/usbstring.c" -#include "../../usb/gadget/config.c" -#include "../../usb/gadget/epautoconf.c" -#include "../../usb/gadget/composite.c" - -#include "../../usb/gadget/f_mass_storage.c" -#include "../../usb/gadget/u_serial.c" -#include "../../usb/gadget/f_acm.c" +#include "usbstring.c" +#include "config.c" +#include "epautoconf.c" +#include "composite.c" + +#include "f_mass_storage.c" +#include "u_serial.c" +#include "f_acm.c" #define USB_ETH_RNDIS y -#include "../../usb/gadget/f_rndis.c" -#include "../../usb/gadget/rndis.c" -#include "../../usb/gadget/u_ether.c" -#include "../../usb/gadget/f_fs.c" +#include "f_rndis.c" +#include "rndis.c" +#include "u_ether.c" +#include "f_fs.c" MODULE_AUTHOR("Mike Lockwood, Andrzej Pietrasiewicz"); MODULE_DESCRIPTION("Configurable Composite USB Gadget"); @@ -728,7 +728,7 @@ static int mass_storage_function_init(struct ccg_usb_function *f, struct fsg_common *common; int err; - memset(&fsg, 0, sizeof fsg); + memset(&fsg, 0, sizeof(fsg)); fsg.nluns = 1; fsg.luns[0].removable = 1; fsg.vendor_name = iManufacturer; @@ -1101,13 +1101,7 @@ static struct device_attribute *ccg_usb_attributes[] = { static int ccg_bind_config(struct usb_configuration *c) { struct ccg_dev *dev = _ccg_dev; - int ret = 0; - - ret = ccg_bind_enabled_functions(dev, c); - if (ret) - return ret; - - return 0; + return ccg_bind_enabled_functions(dev, c); } static void ccg_unbind_config(struct usb_configuration *c) @@ -1162,6 +1156,7 @@ static int ccg_usb_unbind(struct usb_composite_dev *cdev) static struct usb_composite_driver ccg_usb_driver = { .name = "configurable_usb", .dev = &device_desc, + .bind = ccg_bind, .unbind = ccg_usb_unbind, .needs_serial = true, .iManufacturer = "Linux Foundation", @@ -1254,8 +1249,10 @@ static int __init init(void) return PTR_ERR(ccg_class); dev = kzalloc(sizeof(*dev), GFP_KERNEL); - if (!dev) + if (!dev) { + class_destroy(ccg_class); return -ENOMEM; + } dev->functions = supported_functions; INIT_LIST_HEAD(&dev->enabled_functions); @@ -1275,7 +1272,7 @@ static int __init init(void) composite_driver.setup = ccg_setup; composite_driver.disconnect = ccg_disconnect; - err = usb_composite_probe(&ccg_usb_driver, ccg_bind); + err = usb_composite_probe(&ccg_usb_driver); if (err) { class_destroy(ccg_class); kfree(dev); |