Loading drivers/usb/gadget/f_diag.c +17 −6 Original line number Diff line number Diff line Loading @@ -837,17 +837,28 @@ static const struct file_operations debug_fdiag_ops = { struct dentry *dent_diag; static void fdiag_debugfs_init(void) { struct dentry *dent_diag_status; dent_diag = debugfs_create_dir("usb_diag", 0); if (IS_ERR(dent_diag)) if (!dent_diag || IS_ERR(dent_diag)) return; debugfs_create_file("status", 0444, dent_diag, 0, &debug_fdiag_ops); dent_diag_status = debugfs_create_file("status", 0444, dent_diag, 0, &debug_fdiag_ops); if (!dent_diag_status || IS_ERR(dent_diag_status)) { debugfs_remove(dent_diag); dent_diag = NULL; return; } #else static void fdiag_debugfs_init(void) } static void fdiag_debugfs_remove(void) { return; debugfs_remove_recursive(dent_diag); } #else static inline void fdiag_debugfs_init(void) {} static inline void fdiag_debugfs_remove(void) {} #endif static void diag_cleanup(void) Loading @@ -856,7 +867,7 @@ static void diag_cleanup(void) struct usb_diag_ch *_ch; unsigned long flags; debugfs_remove_recursive(dent_diag); fdiag_debugfs_remove(); list_for_each_safe(act, tmp, &usb_diag_ch_list) { _ch = list_entry(act, struct usb_diag_ch, list); Loading drivers/usb/gadget/f_rmnet.c +1 −1 Original line number Diff line number Diff line Loading @@ -1265,7 +1265,7 @@ static int frmnet_bind_config(struct usb_configuration *c, unsigned portno) static void frmnet_unbind_config(void) { int i; gbam_cleanup(); for (i = 0; i < nr_rmnet_ports; i++) if (rmnet_ports[i].data_xport == USB_GADGET_XPORT_ETHER) gether_cleanup(rmnet_ports[i].port->dev); Loading drivers/usb/gadget/f_rmnet_smd.c +14 −8 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ * Copyright (C) 2003-2004 Robert Schwebel, Benedikt Spranger * Copyright (C) 2003 Al Borchers (alborchers@steinerpoint.com) * Copyright (C) 2008 Nokia Corporation * Copyright (c) 2010-2012, The Linux Foundation. All rights reserved. * Copyright (c) 2010-2013, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Loading Loading @@ -1267,19 +1267,17 @@ const struct file_operations rmnet_smd_debug_stats_ops = { }; struct dentry *dent_smd; struct dentry *dent_smd_status; static void rmnet_smd_debugfs_init(struct rmnet_smd_dev *dev) { struct dentry *dent_smd_status; dent_smd = debugfs_create_dir("usb_rmnet_smd", 0); if (IS_ERR(dent_smd)) if (!dent_smd || IS_ERR(dent_smd)) return; dent_smd_status = debugfs_create_file("status", 0444, dent_smd, dev, &rmnet_smd_debug_stats_ops); if (!dent_smd_status) { if (!dent_smd_status || IS_ERR(dent_smd_status)) { debugfs_remove(dent_smd); dent_smd = NULL; return; Loading @@ -1287,8 +1285,14 @@ static void rmnet_smd_debugfs_init(struct rmnet_smd_dev *dev) return; } static void rmnet_smd_debugfs_remove(void) { debugfs_remove_recursive(dent_smd); } #else static void rmnet_smd_debugfs_init(struct rmnet_smd_dev *dev) {} static inline void rmnet_smd_debugfs_init(struct rmnet_smd_dev *dev) {} static inline void rmnet_smd_debugfs_remove(void){} #endif static void Loading @@ -1307,7 +1311,9 @@ rmnet_smd_unbind(struct usb_configuration *c, struct usb_function *f) dev->epout = dev->epin = dev->epnotify = NULL; /* release endpoints */ destroy_workqueue(dev->wq); debugfs_remove_recursive(dent_smd); rmnet_smd_debugfs_remove(); kfree(dev); } Loading drivers/usb/gadget/f_rmnet_smd_sdio.c +18 −6 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ * Copyright (C) 2003-2004 Robert Schwebel, Benedikt Spranger * Copyright (C) 2003 Al Borchers (alborchers@steinerpoint.com) * Copyright (C) 2008 Nokia Corporation * Copyright (c) 2011 The Linux Foundation. All rights reserved. * Copyright (c) 2011,2013 The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -1758,16 +1758,28 @@ struct dentry *dent_rmnet_mux; static void rmnet_mux_debugfs_init(struct rmnet_mux_dev *dev) { struct dentry *dent_rmnet_mux_status; dent_rmnet_mux = debugfs_create_dir("usb_rmnet_mux", 0); if (IS_ERR(dent_rmnet_mux)) if (!dent_rmnet_mux || IS_ERR(dent_rmnet_mux)) return; debugfs_create_file("status", 0444, dent_rmnet_mux, dev, dent_rmnet_mux_status = debugfs_create_file("status", 0444, dent_rmnet_mux, dev, &rmnet_mux_svlte_debug_stats_ops); if (!dent_rmnet_mux_status) { debugfs_remove(dent_rmnet_mux); dent_rmnet_mux = NULL; return; } } static void rmnet_mux_debugfs_remove(void) { debugfs_remove_recursive(dent_rmnet_mux); } #else static void rmnet_mux_debugfs_init(struct rmnet_mux_dev *dev) {} static inline void rmnet_mux_debugfs_init(struct rmnet_mux_dev *dev) {} static inline void rmnet_mux_debugfs_remove(void) {} #endif int usb_rmnet_mux_ctrl_open(struct inode *inode, struct file *fp) Loading Loading @@ -2037,7 +2049,7 @@ static void rmnet_smd_sdio_cleanup(void) struct rmnet_mux_dev *dev = rmux_dev; struct rmnet_mux_smd_dev *smd_dev = &dev->smd_dev; debugfs_remove_recursive(dent_rmnet_mux); rmnet_mux_debugfs_remove(); misc_deregister(&rmnet_mux_ctrl_dev); smd_close(smd_dev->smd_data.ch); destroy_workqueue(dev->wq); Loading drivers/usb/gadget/u_bam.c +22 −9 Original line number Diff line number Diff line Loading @@ -1258,22 +1258,30 @@ const struct file_operations gbam_stats_ops = { .write = gbam_reset_stats, }; struct dentry *gbam_dent; static void gbam_debugfs_init(void) { struct dentry *dent; struct dentry *dfile; dent = debugfs_create_dir("usb_rmnet", 0); if (IS_ERR(dent)) gbam_dent = debugfs_create_dir("usb_rmnet", 0); if (!gbam_dent || IS_ERR(gbam_dent)) return; /* TODO: Implement cleanup function to remove created file */ dfile = debugfs_create_file("status", 0444, dent, 0, &gbam_stats_ops); if (!dfile || IS_ERR(dfile)) debugfs_remove(dent); dfile = debugfs_create_file("status", 0444, gbam_dent, 0, &gbam_stats_ops); if (!dfile || IS_ERR(dfile)) { debugfs_remove(gbam_dent); gbam_dent = NULL; return; } } static void gbam_debugfs_remove(void) { debugfs_remove_recursive(gbam_dent); } #else static void gam_debugfs_init(void) { } static inline void gbam_debugfs_init(void) {} static inline void gbam_debugfs_remove(void) {} #endif void gbam_disconnect(struct grmnet *gr, u8 port_num, enum transport_type trans) Loading Loading @@ -1424,7 +1432,6 @@ int gbam_connect(struct grmnet *gr, u8 port_num, d->trans = trans; queue_work(gbam_wq, &port->connect_w); return 0; } Loading Loading @@ -1469,6 +1476,7 @@ int gbam_setup(unsigned int no_bam_port, unsigned int no_bam2bam_port) goto free_bam_ports; } } gbam_debugfs_init(); return 0; Loading @@ -1482,6 +1490,11 @@ free_bam_ports: return ret; } void gbam_cleanup(void) { gbam_debugfs_remove(); } void gbam_suspend(struct grmnet *gr, u8 port_num, enum transport_type trans) { struct gbam_port *port; Loading Loading
drivers/usb/gadget/f_diag.c +17 −6 Original line number Diff line number Diff line Loading @@ -837,17 +837,28 @@ static const struct file_operations debug_fdiag_ops = { struct dentry *dent_diag; static void fdiag_debugfs_init(void) { struct dentry *dent_diag_status; dent_diag = debugfs_create_dir("usb_diag", 0); if (IS_ERR(dent_diag)) if (!dent_diag || IS_ERR(dent_diag)) return; debugfs_create_file("status", 0444, dent_diag, 0, &debug_fdiag_ops); dent_diag_status = debugfs_create_file("status", 0444, dent_diag, 0, &debug_fdiag_ops); if (!dent_diag_status || IS_ERR(dent_diag_status)) { debugfs_remove(dent_diag); dent_diag = NULL; return; } #else static void fdiag_debugfs_init(void) } static void fdiag_debugfs_remove(void) { return; debugfs_remove_recursive(dent_diag); } #else static inline void fdiag_debugfs_init(void) {} static inline void fdiag_debugfs_remove(void) {} #endif static void diag_cleanup(void) Loading @@ -856,7 +867,7 @@ static void diag_cleanup(void) struct usb_diag_ch *_ch; unsigned long flags; debugfs_remove_recursive(dent_diag); fdiag_debugfs_remove(); list_for_each_safe(act, tmp, &usb_diag_ch_list) { _ch = list_entry(act, struct usb_diag_ch, list); Loading
drivers/usb/gadget/f_rmnet.c +1 −1 Original line number Diff line number Diff line Loading @@ -1265,7 +1265,7 @@ static int frmnet_bind_config(struct usb_configuration *c, unsigned portno) static void frmnet_unbind_config(void) { int i; gbam_cleanup(); for (i = 0; i < nr_rmnet_ports; i++) if (rmnet_ports[i].data_xport == USB_GADGET_XPORT_ETHER) gether_cleanup(rmnet_ports[i].port->dev); Loading
drivers/usb/gadget/f_rmnet_smd.c +14 −8 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ * Copyright (C) 2003-2004 Robert Schwebel, Benedikt Spranger * Copyright (C) 2003 Al Borchers (alborchers@steinerpoint.com) * Copyright (C) 2008 Nokia Corporation * Copyright (c) 2010-2012, The Linux Foundation. All rights reserved. * Copyright (c) 2010-2013, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Loading Loading @@ -1267,19 +1267,17 @@ const struct file_operations rmnet_smd_debug_stats_ops = { }; struct dentry *dent_smd; struct dentry *dent_smd_status; static void rmnet_smd_debugfs_init(struct rmnet_smd_dev *dev) { struct dentry *dent_smd_status; dent_smd = debugfs_create_dir("usb_rmnet_smd", 0); if (IS_ERR(dent_smd)) if (!dent_smd || IS_ERR(dent_smd)) return; dent_smd_status = debugfs_create_file("status", 0444, dent_smd, dev, &rmnet_smd_debug_stats_ops); if (!dent_smd_status) { if (!dent_smd_status || IS_ERR(dent_smd_status)) { debugfs_remove(dent_smd); dent_smd = NULL; return; Loading @@ -1287,8 +1285,14 @@ static void rmnet_smd_debugfs_init(struct rmnet_smd_dev *dev) return; } static void rmnet_smd_debugfs_remove(void) { debugfs_remove_recursive(dent_smd); } #else static void rmnet_smd_debugfs_init(struct rmnet_smd_dev *dev) {} static inline void rmnet_smd_debugfs_init(struct rmnet_smd_dev *dev) {} static inline void rmnet_smd_debugfs_remove(void){} #endif static void Loading @@ -1307,7 +1311,9 @@ rmnet_smd_unbind(struct usb_configuration *c, struct usb_function *f) dev->epout = dev->epin = dev->epnotify = NULL; /* release endpoints */ destroy_workqueue(dev->wq); debugfs_remove_recursive(dent_smd); rmnet_smd_debugfs_remove(); kfree(dev); } Loading
drivers/usb/gadget/f_rmnet_smd_sdio.c +18 −6 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ * Copyright (C) 2003-2004 Robert Schwebel, Benedikt Spranger * Copyright (C) 2003 Al Borchers (alborchers@steinerpoint.com) * Copyright (C) 2008 Nokia Corporation * Copyright (c) 2011 The Linux Foundation. All rights reserved. * Copyright (c) 2011,2013 The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -1758,16 +1758,28 @@ struct dentry *dent_rmnet_mux; static void rmnet_mux_debugfs_init(struct rmnet_mux_dev *dev) { struct dentry *dent_rmnet_mux_status; dent_rmnet_mux = debugfs_create_dir("usb_rmnet_mux", 0); if (IS_ERR(dent_rmnet_mux)) if (!dent_rmnet_mux || IS_ERR(dent_rmnet_mux)) return; debugfs_create_file("status", 0444, dent_rmnet_mux, dev, dent_rmnet_mux_status = debugfs_create_file("status", 0444, dent_rmnet_mux, dev, &rmnet_mux_svlte_debug_stats_ops); if (!dent_rmnet_mux_status) { debugfs_remove(dent_rmnet_mux); dent_rmnet_mux = NULL; return; } } static void rmnet_mux_debugfs_remove(void) { debugfs_remove_recursive(dent_rmnet_mux); } #else static void rmnet_mux_debugfs_init(struct rmnet_mux_dev *dev) {} static inline void rmnet_mux_debugfs_init(struct rmnet_mux_dev *dev) {} static inline void rmnet_mux_debugfs_remove(void) {} #endif int usb_rmnet_mux_ctrl_open(struct inode *inode, struct file *fp) Loading Loading @@ -2037,7 +2049,7 @@ static void rmnet_smd_sdio_cleanup(void) struct rmnet_mux_dev *dev = rmux_dev; struct rmnet_mux_smd_dev *smd_dev = &dev->smd_dev; debugfs_remove_recursive(dent_rmnet_mux); rmnet_mux_debugfs_remove(); misc_deregister(&rmnet_mux_ctrl_dev); smd_close(smd_dev->smd_data.ch); destroy_workqueue(dev->wq); Loading
drivers/usb/gadget/u_bam.c +22 −9 Original line number Diff line number Diff line Loading @@ -1258,22 +1258,30 @@ const struct file_operations gbam_stats_ops = { .write = gbam_reset_stats, }; struct dentry *gbam_dent; static void gbam_debugfs_init(void) { struct dentry *dent; struct dentry *dfile; dent = debugfs_create_dir("usb_rmnet", 0); if (IS_ERR(dent)) gbam_dent = debugfs_create_dir("usb_rmnet", 0); if (!gbam_dent || IS_ERR(gbam_dent)) return; /* TODO: Implement cleanup function to remove created file */ dfile = debugfs_create_file("status", 0444, dent, 0, &gbam_stats_ops); if (!dfile || IS_ERR(dfile)) debugfs_remove(dent); dfile = debugfs_create_file("status", 0444, gbam_dent, 0, &gbam_stats_ops); if (!dfile || IS_ERR(dfile)) { debugfs_remove(gbam_dent); gbam_dent = NULL; return; } } static void gbam_debugfs_remove(void) { debugfs_remove_recursive(gbam_dent); } #else static void gam_debugfs_init(void) { } static inline void gbam_debugfs_init(void) {} static inline void gbam_debugfs_remove(void) {} #endif void gbam_disconnect(struct grmnet *gr, u8 port_num, enum transport_type trans) Loading Loading @@ -1424,7 +1432,6 @@ int gbam_connect(struct grmnet *gr, u8 port_num, d->trans = trans; queue_work(gbam_wq, &port->connect_w); return 0; } Loading Loading @@ -1469,6 +1476,7 @@ int gbam_setup(unsigned int no_bam_port, unsigned int no_bam2bam_port) goto free_bam_ports; } } gbam_debugfs_init(); return 0; Loading @@ -1482,6 +1490,11 @@ free_bam_ports: return ret; } void gbam_cleanup(void) { gbam_debugfs_remove(); } void gbam_suspend(struct grmnet *gr, u8 port_num, enum transport_type trans) { struct gbam_port *port; Loading