]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
USB: gadget: udc: bcm63xx_udc: no need to check return value of debugfs_create functions
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 29 May 2018 15:31:03 +0000 (17:31 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 31 May 2018 10:54:22 +0000 (12:54 +0200)
When calling debugfs functions, there is no need to ever check the
return value.  The function can work or not, but the code logic should
never do something different based on this.

There is also no need to keep the file dentries around at all, so remove
those variables from the device structure.

Cc: Kevin Cernekee <cernekee@gmail.com>
Cc: Felipe Balbi <balbi@kernel.org>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/udc/bcm63xx_udc.c

index 3a8df86010744ba2ea68c31bf23d6966f5f4f1d7..c1fcc77403eaffaba6e2b60089524237d96976f7 100644 (file)
@@ -288,8 +288,6 @@ struct bcm63xx_req {
  * @ep0_reply: Pending reply from gadget driver.
  * @ep0_request: Outstanding ep0 request.
  * @debugfs_root: debugfs directory: /sys/kernel/debug/<DRV_MODULE_NAME>.
- * @debugfs_usbd: debugfs file "usbd" for controller state.
- * @debugfs_iudma: debugfs file "usbd" for IUDMA state.
  */
 struct bcm63xx_udc {
        spinlock_t                      lock;
@@ -330,8 +328,6 @@ struct bcm63xx_udc {
        struct usb_request              *ep0_request;
 
        struct dentry                   *debugfs_root;
-       struct dentry                   *debugfs_usbd;
-       struct dentry                   *debugfs_iudma;
 };
 
 static const struct usb_ep_ops bcm63xx_udc_ep_ops;
@@ -2247,34 +2243,16 @@ DEFINE_SHOW_ATTRIBUTE(bcm63xx_iudma_dbg);
  */
 static void bcm63xx_udc_init_debugfs(struct bcm63xx_udc *udc)
 {
-       struct dentry *root, *usbd, *iudma;
+       struct dentry *root;
 
        if (!IS_ENABLED(CONFIG_USB_GADGET_DEBUG_FS))
                return;
 
        root = debugfs_create_dir(udc->gadget.name, NULL);
-       if (IS_ERR(root) || !root)
-               goto err_root;
-
-       usbd = debugfs_create_file("usbd", 0400, root, udc,
-                       &bcm63xx_usbd_dbg_fops);
-       if (!usbd)
-               goto err_usbd;
-       iudma = debugfs_create_file("iudma", 0400, root, udc,
-                       &bcm63xx_iudma_dbg_fops);
-       if (!iudma)
-               goto err_iudma;
-
        udc->debugfs_root = root;
-       udc->debugfs_usbd = usbd;
-       udc->debugfs_iudma = iudma;
-       return;
-err_iudma:
-       debugfs_remove(usbd);
-err_usbd:
-       debugfs_remove(root);
-err_root:
-       dev_err(udc->dev, "debugfs is not available\n");
+
+       debugfs_create_file("usbd", 0400, root, udc, &bcm63xx_usbd_dbg_fops);
+       debugfs_create_file("iudma", 0400, root, udc, &bcm63xx_iudma_dbg_fops);
 }
 
 /**
@@ -2285,12 +2263,7 @@ err_root:
  */
 static void bcm63xx_udc_cleanup_debugfs(struct bcm63xx_udc *udc)
 {
-       debugfs_remove(udc->debugfs_iudma);
-       debugfs_remove(udc->debugfs_usbd);
-       debugfs_remove(udc->debugfs_root);
-       udc->debugfs_iudma = NULL;
-       udc->debugfs_usbd = NULL;
-       udc->debugfs_root = NULL;
+       debugfs_remove_recursive(udc->debugfs_root);
 }
 
 /***********************************************************************