On Mon, Nov 03, 2014 at 12:42:48PM -0800, Stephanie Wallick wrote: > +EXPORT_SYMBOL(mausb_register_ms_driver); EXPORT_SYMBOL_GPL()? I have to ask... > +static int mausb_hcd_init(void) > +{ > + int ret; > + > + /* register HCD driver */ > + ret = platform_driver_register(&mausb_driver); Why is this a platform driver? How does this relate to platform hardware? > + if (ret < 0) { > + printk(KERN_DEBUG "%s: failed to register HC driver: " > + " error number %d\n", __func__, ret); pr_err()? return here, that way you don't need: > + } else { This indentation. > + /* register HCD device */ > + ret = platform_device_register(&mausb_pdev); But again, why is this a platform device? What platform resources does it have / require? > + > + if (ret < 0) { > + printk(KERN_DEBUG "%s: failed to register HC device:" > + "error number %d\n", __func__, ret); pr_err()? > + platform_driver_unregister(&mausb_driver); > + } else { > + /* direct the release function (for exiting) */ > + mausb_pdev.dev.release = &mausb_dev_release; That seems like a serious hack, why do you need to do this in this manner? > + > + if (ret < 0) { > + printk(KERN_DEBUG "failed to register HC" > + " chardev: error number %d\n", ret); pr_err()? thanks, greg k-h _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel