static void ecard_proc_init(void)
 {
-       proc_bus_ecard_dir = proc_mkdir("ecard", proc_bus);
+       proc_bus_ecard_dir = proc_mkdir("bus/ecard", NULL);
        create_proc_info_entry("devices", 0, proc_bus_ecard_dir,
                get_ecard_dev_info);
 }
 
 {
        struct proc_dir_entry *entry;
 
-       proc_bus_input_dir = proc_mkdir("input", proc_bus);
+       proc_bus_input_dir = proc_mkdir("bus/input", NULL);
        if (!proc_bus_input_dir)
                return -ENOMEM;
 
        return 0;
 
  fail2:        remove_proc_entry("devices", proc_bus_input_dir);
- fail1: remove_proc_entry("input", proc_bus);
+ fail1: remove_proc_entry("bus/input", NULL);
        return -ENOMEM;
 }
 
 {
        remove_proc_entry("devices", proc_bus_input_dir);
        remove_proc_entry("handlers", proc_bus_input_dir);
-       remove_proc_entry("input", proc_bus);
+       remove_proc_entry("bus/input", NULL);
 }
 
 #else /* !CONFIG_PROC_FS */
 
 {
        if (!MACH_IS_MAC)
                return;
-       proc_bus_nubus_dir = proc_mkdir("nubus", proc_bus);
+       proc_bus_nubus_dir = proc_mkdir("bus/nubus", NULL);
        create_proc_info_entry("devices", 0, proc_bus_nubus_dir,
                                get_nubus_dev_info);
        proc_bus_nubus_add_devices();
 
 {
        struct proc_dir_entry *entry;
        struct pci_dev *dev = NULL;
-       proc_bus_pci_dir = proc_mkdir("pci", proc_bus);
+       proc_bus_pci_dir = proc_mkdir("bus/pci", NULL);
        entry = create_proc_entry("devices", 0, proc_bus_pci_dir);
        if (entry)
                entry->proc_fops = &proc_bus_pci_dev_operations;
 
 {
        struct pnp_dev *dev;
 
-       isapnp_proc_bus_dir = proc_mkdir("isapnp", proc_bus);
+       isapnp_proc_bus_dir = proc_mkdir("bus/isapnp", NULL);
        protocol_for_each_dev(&isapnp_protocol, dev) {
                isapnp_proc_attach_device(dev);
        }
 
  */
 int __init pnpbios_proc_init(void)
 {
-       proc_pnp = proc_mkdir("pnp", proc_bus);
+       proc_pnp = proc_mkdir("bus/pnp", NULL);
        if (!proc_pnp)
                return -EIO;
        proc_pnp_boot = proc_mkdir("boot", proc_pnp);
        remove_proc_entry("configuration_info", proc_pnp);
        remove_proc_entry("devices", proc_pnp);
        remove_proc_entry("boot", proc_pnp);
-       remove_proc_entry("pnp", proc_bus);
+       remove_proc_entry("bus/pnp", NULL);
 }
 
        usb_register_notify(&usbfs_nb);
 
        /* create mount point for usbfs */
-       usbdir = proc_mkdir("usb", proc_bus);
+       usbdir = proc_mkdir("bus/usb", NULL);
 
        return 0;
 }
        usb_unregister_notify(&usbfs_nb);
        unregister_filesystem(&usb_fs_type);
        if (usbdir)
-               remove_proc_entry("usb", proc_bus);
+               remove_proc_entry("bus/usb", NULL);
 }
 
 
        u_int slot;
 
        if (MACH_IS_AMIGA && AMIGAHW_PRESENT(ZORRO)) {
-               proc_bus_zorro_dir = proc_mkdir("zorro", proc_bus);
+               proc_bus_zorro_dir = proc_mkdir("bus/zorro", NULL);
                create_proc_info_entry("devices", 0, proc_bus_zorro_dir,
                                       get_zorro_dev_info);
                for (slot = 0; slot < zorro_num_autocon; slot++)
 
 
 #include "internal.h"
 
-struct proc_dir_entry *proc_bus, *proc_root_fs, *proc_root_driver;
+struct proc_dir_entry *proc_root_fs, *proc_root_driver;
 
 static int proc_test_super(struct super_block *sb, void *data)
 {
 #ifdef CONFIG_PROC_DEVICETREE
        proc_device_tree_init();
 #endif
-       proc_bus = proc_mkdir("bus", NULL);
+       proc_mkdir("bus", NULL);
        proc_sys_init();
 }
 
 EXPORT_SYMBOL(remove_proc_entry);
 EXPORT_SYMBOL(proc_root);
 EXPORT_SYMBOL(proc_root_fs);
-EXPORT_SYMBOL(proc_bus);
 EXPORT_SYMBOL(proc_root_driver);
 
 
 extern struct proc_dir_entry proc_root;
 extern struct proc_dir_entry *proc_root_fs;
-extern struct proc_dir_entry *proc_bus;
 extern struct proc_dir_entry *proc_root_driver;
 extern struct proc_dir_entry *proc_root_kcore;
 
 #else
 
 #define proc_root_driver NULL
-#define proc_bus NULL
 
 #define proc_net_fops_create(net, name, mode, fops)  ({ (void)(mode), NULL; })
 static inline void proc_net_remove(struct net *net, const char *name) {}