Re: [BK PATCH] More PCI Hotplug changes for 2.4.20-pre7

Greg KH (greg@kroah.com)
Thu, 19 Sep 2002 17:59:49 -0700


# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
# ChangeSet 1.689 -> 1.690
# drivers/hotplug/pci_hotplug_core.c 1.8 -> 1.9
# drivers/pci/pci.c 1.35 -> 1.36
# include/linux/pci.h 1.27 -> 1.28
# drivers/pci/proc.c 1.6 -> 1.7
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 02/09/19 greg@kroah.com 1.690
# 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.
# --------------------------------------------
#
diff -Nru a/drivers/hotplug/pci_hotplug_core.c b/drivers/hotplug/pci_hotplug_core.c
--- a/drivers/hotplug/pci_hotplug_core.c Thu Sep 19 17:18:53 2002
+++ b/drivers/hotplug/pci_hotplug_core.c Thu Sep 19 17:18:53 2002
@@ -38,6 +38,7 @@
#include <linux/init.h>
#include <linux/pci.h>
#include <linux/dnotify.h>
+#include <linux/proc_fs.h>
#include <asm/uaccess.h>
#include "pci_hotplug.h"

@@ -57,7 +58,7 @@
/* local variables */
static int debug;

-#define DRIVER_VERSION "0.4"
+#define DRIVER_VERSION "0.5"
#define DRIVER_AUTHOR "Greg Kroah-Hartman <greg@kroah.com>"
#define DRIVER_DESC "PCI Hot Plug PCI Core"

@@ -126,6 +127,12 @@
return NULL;
}

+#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);
@@ -1259,6 +1266,11 @@
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:
@@ -1268,6 +1280,11 @@
static void __exit pci_hotplug_exit (void)
{
unregister_filesystem(&pcihpfs_fs_type);
+
+#ifdef CONFIG_PROC_FS
+ if (slotdir)
+ remove_proc_entry(slotdir_name, proc_bus_pci_dir);
+#endif
}

module_init(pci_hotplug_init);
diff -Nru a/drivers/pci/pci.c b/drivers/pci/pci.c
--- a/drivers/pci/pci.c Thu Sep 19 17:18:53 2002
+++ b/drivers/pci/pci.c Thu Sep 19 17:18:53 2002
@@ -2158,6 +2158,7 @@
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
#endif

diff -Nru a/drivers/pci/proc.c b/drivers/pci/proc.c
--- a/drivers/pci/proc.c Thu Sep 19 17:18:53 2002
+++ b/drivers/pci/proc.c Thu Sep 19 17:18:53 2002
@@ -369,7 +369,7 @@
show: show_device
};

-static struct proc_dir_entry *proc_bus_pci_dir;
+struct proc_dir_entry *proc_bus_pci_dir;

int pci_proc_attach_device(struct pci_dev *dev)
{
diff -Nru a/include/linux/pci.h b/include/linux/pci.h
--- a/include/linux/pci.h Thu Sep 19 17:18:53 2002
+++ b/include/linux/pci.h Thu Sep 19 17:18:53 2002
@@ -439,6 +439,7 @@
extern struct list_head pci_root_buses; /* list of all known PCI buses */
extern struct list_head pci_devices; /* list of all devices */

+extern struct proc_dir_entry *proc_bus_pci_dir;
/*
* Error values that may be returned by PCI functions.
*/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/