Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 10807
b: refs/heads/master
c: 54a5c4c
h: refs/heads/master
i:
  10805: 027382e
  10803: 8360656
  10799: 65334af
v: v3
  • Loading branch information
Greg Kroah-Hartman committed Oct 28, 2005
1 parent 0590ce7 commit 84392a9
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 29 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a7b986b3e107727dd1c1af0ead0b5e52d7726db3
refs/heads/master: 54a5c4cd2e4ec0b27c2c3731727f52591456086c
2 changes: 0 additions & 2 deletions trunk/drivers/usb/core/hcd.c
Original file line number Diff line number Diff line change
Expand Up @@ -793,7 +793,6 @@ static int usb_register_bus(struct usb_bus *bus)
up (&usb_bus_list_lock);

usb_notify_add_bus(bus);
usbfs_add_bus (bus);
usbmon_notify_bus_add (bus);

dev_info (bus->controller, "new USB bus registered, assigned bus number %d\n", bus->busnum);
Expand Down Expand Up @@ -823,7 +822,6 @@ static void usb_deregister_bus (struct usb_bus *bus)

usb_notify_remove_bus(bus);
usbmon_notify_bus_remove (bus);
usbfs_remove_bus (bus);

clear_bit (bus->busnum, busmap.busmap);

Expand Down
10 changes: 0 additions & 10 deletions trunk/drivers/usb/core/hcd.h
Original file line number Diff line number Diff line change
Expand Up @@ -400,23 +400,13 @@ static inline int hcd_bus_resume (struct usb_bus *bus)
* these are expected to be called from the USB core/hub thread
* with the kernel lock held
*/
extern void usbfs_add_bus(struct usb_bus *bus);
extern void usbfs_remove_bus(struct usb_bus *bus);
extern void usbfs_add_device(struct usb_device *dev);
extern void usbfs_remove_device(struct usb_device *dev);
extern void usbfs_update_special (void);

extern int usbfs_init(void);
extern void usbfs_cleanup(void);

#else /* CONFIG_USB_DEVICEFS */

static inline void usbfs_add_bus(struct usb_bus *bus) {}
static inline void usbfs_remove_bus(struct usb_bus *bus) {}
static inline void usbfs_add_device(struct usb_device *dev) {}
static inline void usbfs_remove_device(struct usb_device *dev) {}
static inline void usbfs_update_special (void) {}

static inline int usbfs_init(void) { return 0; }
static inline void usbfs_cleanup(void) { }

Expand Down
3 changes: 0 additions & 3 deletions trunk/drivers/usb/core/hub.c
Original file line number Diff line number Diff line change
Expand Up @@ -1136,7 +1136,6 @@ void usb_disconnect(struct usb_device **pdev)
*/
dev_dbg (&udev->dev, "unregistering device\n");
release_address(udev);
usbfs_remove_device(udev);
usb_remove_sysfs_dev_files(udev);

/* Avoid races with recursively_mark_NOTATTACHED() */
Expand Down Expand Up @@ -1374,8 +1373,6 @@ int usb_new_device(struct usb_device *udev)
/* USB device state == configured ... usable */
usb_notify_add_device(udev);

/* add a /proc/bus/usb entry */
usbfs_add_device(udev);
return 0;

fail:
Expand Down
44 changes: 31 additions & 13 deletions trunk/drivers/usb/core/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
#include <linux/usbdevice_fs.h>
#include <linux/smp_lock.h>
#include <linux/parser.h>
#include <linux/notifier.h>
#include <asm/byteorder.h>
#include "usb.h"
#include "hcd.h"
Expand Down Expand Up @@ -619,7 +620,7 @@ void usbfs_update_special (void)
}
}

void usbfs_add_bus(struct usb_bus *bus)
static void usbfs_add_bus(struct usb_bus *bus)
{
struct dentry *parent;
char name[8];
Expand All @@ -642,12 +643,9 @@ void usbfs_add_bus(struct usb_bus *bus)
err ("error creating usbfs bus entry");
return;
}

usbfs_update_special();
usbfs_conn_disc_event();
}

void usbfs_remove_bus(struct usb_bus *bus)
static void usbfs_remove_bus(struct usb_bus *bus)
{
if (bus->usbfs_dentry) {
fs_remove_file (bus->usbfs_dentry);
Expand All @@ -659,12 +657,9 @@ void usbfs_remove_bus(struct usb_bus *bus)
remove_special_files();
num_buses = 0;
}

usbfs_update_special();
usbfs_conn_disc_event();
}

void usbfs_add_device(struct usb_device *dev)
static void usbfs_add_device(struct usb_device *dev)
{
char name[8];
int i;
Expand All @@ -690,12 +685,9 @@ void usbfs_add_device(struct usb_device *dev)
}
if (dev->usbfs_dentry->d_inode)
dev->usbfs_dentry->d_inode->i_size = i_size;

usbfs_update_special();
usbfs_conn_disc_event();
}

void usbfs_remove_device(struct usb_device *dev)
static void usbfs_remove_device(struct usb_device *dev)
{
struct dev_state *ds;
struct siginfo sinfo;
Expand All @@ -716,10 +708,33 @@ void usbfs_remove_device(struct usb_device *dev)
kill_proc_info_as_uid(ds->discsignr, &sinfo, ds->disc_pid, ds->disc_uid, ds->disc_euid);
}
}
}

static int usbfs_notify(struct notifier_block *self, unsigned long action, void *dev)
{
switch (action) {
case USB_DEVICE_ADD:
usbfs_add_device(dev);
break;
case USB_DEVICE_REMOVE:
usbfs_remove_device(dev);
break;
case USB_BUS_ADD:
usbfs_add_bus(dev);
break;
case USB_BUS_REMOVE:
usbfs_remove_bus(dev);
}

usbfs_update_special();
usbfs_conn_disc_event();
return NOTIFY_OK;
}

static struct notifier_block usbfs_nb = {
.notifier_call = usbfs_notify,
};

/* --------------------------------------------------------------------- */

static struct proc_dir_entry *usbdir = NULL;
Expand All @@ -732,6 +747,8 @@ int __init usbfs_init(void)
if (retval)
return retval;

usb_register_notify(&usbfs_nb);

/* create mount point for usbfs */
usbdir = proc_mkdir("usb", proc_bus);

Expand All @@ -740,6 +757,7 @@ int __init usbfs_init(void)

void usbfs_cleanup(void)
{
usb_unregister_notify(&usbfs_nb);
unregister_filesystem(&usb_fs_type);
if (usbdir)
remove_proc_entry("usb", proc_bus);
Expand Down

0 comments on commit 84392a9

Please sign in to comment.