Commit bb7006cb authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

PCI Hotplug: created /proc/bus/pci/slots for pcihpfs to be mounted on.

proc_bus_pci_dir had to be exported for this to work properly.
parent 371a77da
......@@ -39,6 +39,7 @@
#include <linux/namei.h>
#include <linux/pci.h>
#include <linux/dnotify.h>
#include <linux/proc_fs.h>
#include <asm/uaccess.h>
#include "pci_hotplug.h"
......@@ -113,6 +114,12 @@ static char *pci_bus_speed_strings[] = {
"133 MHz PCIX 533", /* 0x13 */
};
#ifdef CONFIG_PROC_FS
extern struct proc_dir_entry *proc_bus_pci_dir;
static struct proc_dir_entry *slotdir = NULL;
static const char *slotdir_name = "slots";
#endif
static struct inode *pcihpfs_get_inode (struct super_block *sb, int mode, int dev)
{
struct inode *inode = new_inode(sb);
......@@ -1265,6 +1272,11 @@ static int __init pci_hotplug_init (void)
goto exit;
}
#ifdef CONFIG_PROC_FS
/* create mount point for pcihpfs */
slotdir = proc_mkdir(slotdir_name, proc_bus_pci_dir);
#endif
info (DRIVER_DESC " version: " DRIVER_VERSION "\n");
exit:
......@@ -1274,6 +1286,11 @@ static int __init pci_hotplug_init (void)
static void __exit pci_hotplug_exit (void)
{
unregister_filesystem(&pcihpfs_type);
#ifdef CONFIG_PROC_FS
if (slotdir)
remove_proc_entry(slotdir_name, proc_bus_pci_dir);
#endif
}
module_init(pci_hotplug_init);
......
......@@ -371,7 +371,7 @@ static struct seq_operations proc_bus_pci_devices_op = {
show: show_device
};
static struct proc_dir_entry *proc_bus_pci_dir;
struct proc_dir_entry *proc_bus_pci_dir;
/* driverfs files */
static ssize_t pci_show_irq(struct device * dev, char * buf, size_t count, loff_t off)
......@@ -621,5 +621,6 @@ EXPORT_SYMBOL(pci_proc_attach_device);
EXPORT_SYMBOL(pci_proc_detach_device);
EXPORT_SYMBOL(pci_proc_attach_bus);
EXPORT_SYMBOL(pci_proc_detach_bus);
EXPORT_SYMBOL(proc_bus_pci_dir);
#endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment