On Thu, Jun 13, 2019 at 01:44:55PM +0200, Greg Kroah-Hartman wrote:
> 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.
> 
> Also, because there is no need to save the file dentry, remove the local
> variable and just recursively delete the whole directory when shutting
> down.
> 
> Cc: Lukas Wunner <[email protected]>
> Cc: David Airlie <[email protected]>
> Cc: Daniel Vetter <[email protected]>
> Cc: Maarten Lankhorst <[email protected]>
> Cc: Maxime Ripard <[email protected]>
> Cc: Sean Paul <[email protected]>
> Cc: [email protected]
> Signed-off-by: Greg Kroah-Hartman <[email protected]>

Applied to drm-misc-next, thanks.
-Daniel

> ---
>  drivers/gpu/vga/vga_switcheroo.c | 34 +++++++-------------------------
>  1 file changed, 7 insertions(+), 27 deletions(-)
> 
> diff --git a/drivers/gpu/vga/vga_switcheroo.c 
> b/drivers/gpu/vga/vga_switcheroo.c
> index a132c37d7334..a48d810d6ccb 100644
> --- a/drivers/gpu/vga/vga_switcheroo.c
> +++ b/drivers/gpu/vga/vga_switcheroo.c
> @@ -133,7 +133,6 @@ static DEFINE_MUTEX(vgasr_mutex);
>   * @delayed_switch_active: whether a delayed switch is pending
>   * @delayed_client_id: client to which a delayed switch is pending
>   * @debugfs_root: directory for vga_switcheroo debugfs interface
> - * @switch_file: file for vga_switcheroo debugfs interface
>   * @registered_clients: number of registered GPUs
>   *   (counting only vga clients, not audio clients)
>   * @clients: list of registered clients
> @@ -152,7 +151,6 @@ struct vgasr_priv {
>       enum vga_switcheroo_client_id delayed_client_id;
>  
>       struct dentry *debugfs_root;
> -     struct dentry *switch_file;
>  
>       int registered_clients;
>       struct list_head clients;
> @@ -168,7 +166,7 @@ struct vgasr_priv {
>  #define client_is_vga(c)             (!client_is_audio(c))
>  #define client_id(c)         ((c)->id & ~ID_BIT_AUDIO)
>  
> -static int vga_switcheroo_debugfs_init(struct vgasr_priv *priv);
> +static void vga_switcheroo_debugfs_init(struct vgasr_priv *priv);
>  static void vga_switcheroo_debugfs_fini(struct vgasr_priv *priv);
>  
>  /* only one switcheroo per system */
> @@ -914,38 +912,20 @@ static const struct file_operations 
> vga_switcheroo_debugfs_fops = {
>  
>  static void vga_switcheroo_debugfs_fini(struct vgasr_priv *priv)
>  {
> -     debugfs_remove(priv->switch_file);
> -     priv->switch_file = NULL;
> -
> -     debugfs_remove(priv->debugfs_root);
> +     debugfs_remove_recursive(priv->debugfs_root);
>       priv->debugfs_root = NULL;
>  }
>  
> -static int vga_switcheroo_debugfs_init(struct vgasr_priv *priv)
> +static void vga_switcheroo_debugfs_init(struct vgasr_priv *priv)
>  {
> -     static const char mp[] = "/sys/kernel/debug";
> -
>       /* already initialised */
>       if (priv->debugfs_root)
> -             return 0;
> -     priv->debugfs_root = debugfs_create_dir("vgaswitcheroo", NULL);
> +             return;
>  
> -     if (!priv->debugfs_root) {
> -             pr_err("Cannot create %s/vgaswitcheroo\n", mp);
> -             goto fail;
> -     }
> +     priv->debugfs_root = debugfs_create_dir("vgaswitcheroo", NULL);
>  
> -     priv->switch_file = debugfs_create_file("switch", 0644,
> -                                             priv->debugfs_root, NULL,
> -                                             &vga_switcheroo_debugfs_fops);
> -     if (!priv->switch_file) {
> -             pr_err("cannot create %s/vgaswitcheroo/switch\n", mp);
> -             goto fail;
> -     }
> -     return 0;
> -fail:
> -     vga_switcheroo_debugfs_fini(priv);
> -     return -1;
> +     debugfs_create_file("switch", 0644, priv->debugfs_root, NULL,
> +                         &vga_switcheroo_debugfs_fops);
>  }
>  
>  /**
> -- 
> 2.22.0
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to