Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 72adaa96 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

[PATCH] USB: convert usbmon to use usb notifiers



This also removes 2 usbmon callbacks.

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 54a5c4cd
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -793,7 +793,6 @@ static int usb_register_bus(struct usb_bus *bus)
	up (&usb_bus_list_lock);

	usb_notify_add_bus(bus);
	usbmon_notify_bus_add (bus);

	dev_info (bus->controller, "new USB bus registered, assigned bus number %d\n", bus->busnum);
	return 0;
@@ -821,7 +820,6 @@ static void usb_deregister_bus (struct usb_bus *bus)
	up (&usb_bus_list_lock);

	usb_notify_remove_bus(bus);
	usbmon_notify_bus_remove (bus);

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

+0 −16
Original line number Diff line number Diff line
@@ -421,8 +421,6 @@ struct usb_mon_operations {
	void (*urb_submit_error)(struct usb_bus *bus, struct urb *urb, int err);
	void (*urb_complete)(struct usb_bus *bus, struct urb *urb);
	/* void (*urb_unlink)(struct usb_bus *bus, struct urb *urb); */
	void (*bus_add)(struct usb_bus *bus);
	void (*bus_remove)(struct usb_bus *bus);
};

extern struct usb_mon_operations *mon_ops;
@@ -446,18 +444,6 @@ static inline void usbmon_urb_complete(struct usb_bus *bus, struct urb *urb)
		(*mon_ops->urb_complete)(bus, urb);
}

static inline void usbmon_notify_bus_add(struct usb_bus *bus)
{
	if (mon_ops)
		(*mon_ops->bus_add)(bus);
}

static inline void usbmon_notify_bus_remove(struct usb_bus *bus)
{
	if (mon_ops)
		(*mon_ops->bus_remove)(bus);
}

int usb_mon_register(struct usb_mon_operations *ops);
void usb_mon_deregister(void);

@@ -467,8 +453,6 @@ static inline void usbmon_urb_submit(struct usb_bus *bus, struct urb *urb) {}
static inline void usbmon_urb_submit_error(struct usb_bus *bus, struct urb *urb,
    int error) {}
static inline void usbmon_urb_complete(struct usb_bus *bus, struct urb *urb) {}
static inline void usbmon_notify_bus_add(struct usb_bus *bus) {}
static inline void usbmon_notify_bus_remove(struct usb_bus *bus) {}

#endif /* CONFIG_USB_MON */

+21 −2
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@
#include <linux/usb.h>
#include <linux/debugfs.h>
#include <linux/smp_lock.h>
#include <linux/notifier.h>

#include "usb_mon.h"
#include "../core/hcd.h"
@@ -205,6 +206,23 @@ static void mon_bus_remove(struct usb_bus *ubus)
	up(&mon_lock);
}

static int mon_notify(struct notifier_block *self, unsigned long action,
		      void *dev)
{
	switch (action) {
	case USB_BUS_ADD:
		mon_bus_add(dev);
		break;
	case USB_BUS_REMOVE:
		mon_bus_remove(dev);
	}
	return NOTIFY_OK;
}

static struct notifier_block mon_nb = {
	.notifier_call = 	mon_notify,
};

/*
 * Ops
 */
@@ -212,8 +230,6 @@ static struct usb_mon_operations mon_ops_0 = {
	.urb_submit =	mon_submit,
	.urb_submit_error = mon_submit_error,
	.urb_complete =	mon_complete,
	.bus_add =	mon_bus_add,
	.bus_remove =	mon_bus_remove,
};

/*
@@ -329,6 +345,8 @@ static int __init mon_init(void)
	}
	// MOD_INC_USE_COUNT(which_module?);

	usb_register_notify(&mon_nb);

	down(&usb_bus_list_lock);
	list_for_each_entry (ubus, &usb_bus_list, bus_list) {
		mon_bus_init(mondir, ubus);
@@ -342,6 +360,7 @@ static void __exit mon_exit(void)
	struct mon_bus *mbus;
	struct list_head *p;

	usb_unregister_notify(&mon_nb);
	usb_mon_deregister();

	down(&mon_lock);