static void usbrh_delete(struct kref *kref) { struct usbrh *dev; dev = container_of(kref, struct usbrh, kref); remove_proc_subtree(USBRH_DIGIT_STR[dev->index], usbrh_proc_base); usb_put_dev(dev->udev); kfree(dev); }
void ipsec_proc_cleanup(void) { struct ipsec_proc_list *it; /* remove entries in reverse */ for (it = proc_items; it->name; it++) ; for (it--; it >= proc_items && it->name; it--) remove_proc_subtree(it->name, *it->parent); remove_proc_subtree("ipsec_klipsdebug", PROC_NET); remove_proc_subtree("ipsec_eroute", PROC_NET); remove_proc_subtree("ipsec_spi", PROC_NET); remove_proc_subtree("ipsec_spigrp", PROC_NET); #ifdef IPSEC_SA_RECOUNT_DEBUG remove_proc_subtree("ipsec_saraw", PROC_NET); #endif remove_proc_subtree("ipsec_tncfg", PROC_NET); remove_proc_subtree("ipsec_version", PROC_NET); remove_proc_subtree("ipsec", PROC_NET); }
int reiserfs_proc_info_done(struct super_block *sb) { struct proc_dir_entry *de = REISERFS_SB(sb)->procdir; if (de) { char b[BDEVNAME_SIZE]; char *s; /* Some block devices use /'s */ strlcpy(b, reiserfs_bdevname(sb), BDEVNAME_SIZE); s = strchr(b, '/'); if (s) *s = '!'; remove_proc_subtree(b, proc_info_root); REISERFS_SB(sb)->procdir = NULL; } return 0; }
/*----------------------------------------------------------------------------*/ INT_32 procRemoveProcfs(struct net_device *prDev, char *pucDevName) { P_GLUE_INFO_T prGlueInfo = NULL; DBGLOG(INIT, INFO, ("[%s]\n", __func__)); ASSERT(prDev); if (!prDev) return -ENOENT; if (init_net.proc_net == (struct proc_dir_entry *)NULL) { DBGLOG(INIT, WARN, ("remove proc fs fail: proc_net == NULL\n")); return -ENOENT; } prGlueInfo = *((P_GLUE_INFO_T *) netdev_priv(prDev)); if (!prGlueInfo->pProcRoot) { DBGLOG(INIT, WARN, ("The procfs root is NULL\n")); return -ENOENT; } #if 0 #if DBG remove_proc_entry(PROC_DBG_LEVEL, prGlueInfo->pProcRoot); #endif /* DBG */ remove_proc_entry(PROC_TX_STATISTICS, prGlueInfo->pProcRoot); remove_proc_entry(PROC_RX_STATISTICS, prGlueInfo->pProcRoot); remove_proc_entry(PROC_DRV_STATUS, prGlueInfo->pProcRoot); #endif remove_proc_entry(PROC_WLAN_THERMO, init_net.proc_net); remove_proc_subtree(pucDevName, init_net.proc_net); /* remove root directory (proc/net/wlan0) */ /* remove_proc_entry(pucDevName, init_net.proc_net); */ #if CFG_SUPPORT_THERMO_THROTTLING g_prGlueInfo_proc = NULL; #endif return 0; } /* end of procRemoveProcfs() */
INT_32 procUninitProcFs(VOID) { remove_proc_entry(PROC_DBG_LEVEL_NAME, gprProcRoot); remove_proc_subtree(PROC_ROOT_NAME, init_net.proc_net); return 0; }
static void pvc_proc_cleanup(void) { remove_proc_subtree(DISPLAY_DIR_NAME, NULL); del_timer_sync(&timer); }