USB: Allow usbmon as a module even if usbcore is builtin
usbmon can only be built as a module if usbcore is a module too. Trivial changes to the relevant Kconfig and Makefile (and a few trivial changes elsewhere) allow usbmon to be built as a module even if usbcore is builtin. This is verified to work in all 9 permutations (3 correctly prohibited by Kconfig, 6 build a suitable result). Signed-off-by: Paul Bolle <pebolle@tiscali.nl> Signed-off-by: Pete Zaitcev <zaitcev@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
5e5b0e5d6a
commit
f150fa1afb
5 changed files with 12 additions and 14 deletions
|
@ -2028,7 +2028,7 @@ EXPORT_SYMBOL_GPL(usb_hcd_platform_shutdown);
|
|||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
#if defined(CONFIG_USB_MON)
|
||||
#if defined(CONFIG_USB_MON) || defined(CONFIG_USB_MON_MODULE)
|
||||
|
||||
struct usb_mon_operations *mon_ops;
|
||||
|
||||
|
@ -2064,4 +2064,4 @@ void usb_mon_deregister (void)
|
|||
}
|
||||
EXPORT_SYMBOL_GPL (usb_mon_deregister);
|
||||
|
||||
#endif /* CONFIG_USB_MON */
|
||||
#endif /* CONFIG_USB_MON || CONFIG_USB_MON_MODULE */
|
||||
|
|
|
@ -421,7 +421,7 @@ static inline void usbfs_cleanup(void) { }
|
|||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
#if defined(CONFIG_USB_MON)
|
||||
#if defined(CONFIG_USB_MON) || defined(CONFIG_USB_MON_MODULE)
|
||||
|
||||
struct usb_mon_operations {
|
||||
void (*urb_submit)(struct usb_bus *bus, struct urb *urb);
|
||||
|
@ -463,7 +463,7 @@ static inline void usbmon_urb_submit_error(struct usb_bus *bus, struct urb *urb,
|
|||
static inline void usbmon_urb_complete(struct usb_bus *bus, struct urb *urb,
|
||||
int status) {}
|
||||
|
||||
#endif /* CONFIG_USB_MON */
|
||||
#endif /* CONFIG_USB_MON || CONFIG_USB_MON_MODULE */
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
|
|
|
@ -3,14 +3,13 @@
|
|||
#
|
||||
|
||||
config USB_MON
|
||||
bool "USB Monitor"
|
||||
depends on USB!=n
|
||||
default y
|
||||
tristate "USB Monitor"
|
||||
depends on USB
|
||||
default y if USB=y
|
||||
default m if USB=m
|
||||
help
|
||||
If you say Y here, a component which captures the USB traffic
|
||||
If you select this option, a component which captures the USB traffic
|
||||
between peripheral-specific drivers and HC drivers will be built.
|
||||
For more information, see <file:Documentation/usb/usbmon.txt>.
|
||||
|
||||
This is somewhat experimental at this time, but it should be safe.
|
||||
|
||||
If unsure, say Y.
|
||||
If unsure, say Y (if allowed), otherwise M.
|
||||
|
|
|
@ -4,5 +4,4 @@
|
|||
|
||||
usbmon-objs := mon_main.o mon_stat.o mon_text.o mon_bin.o mon_dma.o
|
||||
|
||||
# This does not use CONFIG_USB_MON because we want this to use a tristate.
|
||||
obj-$(CONFIG_USB) += usbmon.o
|
||||
obj-$(CONFIG_USB_MON) += usbmon.o
|
||||
|
|
|
@ -336,7 +336,7 @@ struct usb_bus {
|
|||
#endif
|
||||
struct device *dev; /* device for this bus */
|
||||
|
||||
#if defined(CONFIG_USB_MON)
|
||||
#if defined(CONFIG_USB_MON) || defined(CONFIG_USB_MON_MODULE)
|
||||
struct mon_bus *mon_bus; /* non-null when associated */
|
||||
int monitored; /* non-zero when monitored */
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue