diff options
author | David Howells | 2013-04-12 17:27:28 +0100 |
---|---|---|
committer | Al Viro | 2013-05-01 17:29:46 -0400 |
commit | a8ca16ea7b0abb0a7e49492d1123b715f0ec62e8 (patch) | |
tree | fe201353c71385cab2f3cc0d7235c76121f51789 /drivers/acpi | |
parent | 8d8b97ba499cb69fccb5fd9f2b439e3265fc3f27 (diff) |
proc: Supply a function to remove a proc entry by PDE
Supply a function (proc_remove()) to remove a proc entry (and any subtree
rooted there) by proc_dir_entry pointer rather than by name and (optionally)
root dir entry pointer. This allows us to eliminate all remaining pde->name
accesses outside of procfs.
Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Grant Likely <grant.likely@linaro.or>
cc: linux-acpi@vger.kernel.org
cc: openipmi-developer@lists.sourceforge.net
cc: devicetree-discuss@lists.ozlabs.org
cc: linux-pci@vger.kernel.org
cc: netdev@vger.kernel.org
cc: netfilter-devel@vger.kernel.org
cc: alsa-devel@alsa-project.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'drivers/acpi')
-rw-r--r-- | drivers/acpi/sbs.c | 21 |
1 files changed, 4 insertions, 17 deletions
diff --git a/drivers/acpi/sbs.c b/drivers/acpi/sbs.c index a296e08d76b6..b6241eeb1132 100644 --- a/drivers/acpi/sbs.c +++ b/drivers/acpi/sbs.c @@ -521,19 +521,6 @@ acpi_sbs_add_fs(struct proc_dir_entry **dir, return 0; } -static void -acpi_sbs_remove_fs(struct proc_dir_entry **dir, - struct proc_dir_entry *parent_dir) -{ - if (*dir) { - remove_proc_entry(ACPI_SBS_FILE_INFO, *dir); - remove_proc_entry(ACPI_SBS_FILE_STATE, *dir); - remove_proc_entry(ACPI_SBS_FILE_ALARM, *dir); - remove_proc_entry((*dir)->name, parent_dir); - *dir = NULL; - } -} - /* Smart Battery Interface */ static struct proc_dir_entry *acpi_battery_dir = NULL; @@ -836,8 +823,8 @@ static void acpi_battery_remove(struct acpi_sbs *sbs, int id) power_supply_unregister(&battery->bat); } #ifdef CONFIG_ACPI_PROCFS_POWER - if (battery->proc_entry) - acpi_sbs_remove_fs(&battery->proc_entry, acpi_battery_dir); + proc_remove(battery->proc_entry); + battery->proc_entry = NULL; #endif } @@ -873,8 +860,8 @@ static void acpi_charger_remove(struct acpi_sbs *sbs) if (sbs->charger.dev) power_supply_unregister(&sbs->charger); #ifdef CONFIG_ACPI_PROCFS_POWER - if (sbs->charger_entry) - acpi_sbs_remove_fs(&sbs->charger_entry, acpi_ac_dir); + proc_remove(sbs->charger_entry); + sbs->charger_entry = NULL; #endif } |