Skip to content

Commit

Permalink
usb/xhci: remove CONFIG_PCI in xhci.c's probe function
Browse files Browse the repository at this point in the history
This removes the need of ifdefs within the init function and with it the
headache about the correct clean without bus X but with bus/platform Y &
Z.
xhci-pci is only compiled if CONFIG_PCI is selected which can be
de-selected now without trouble. For now the result is kinda useless
because we have no other glue code. However, since nobody is using
USB_ARCH_HAS_XHCI then it should not be an issue :)

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Sebastian Andrzej Siewior authored and Greg Kroah-Hartman committed Sep 26, 2011
1 parent 552e0c4 commit 0cc47d5
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 9 deletions.
3 changes: 2 additions & 1 deletion drivers/usb/host/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,9 @@ fhci-y += fhci-mem.o fhci-tds.o fhci-sched.o

fhci-$(CONFIG_FHCI_DEBUG) += fhci-dbg.o

xhci-hcd-y := xhci.o xhci-mem.o xhci-pci.o
xhci-hcd-y := xhci.o xhci-mem.o
xhci-hcd-y += xhci-ring.o xhci-hub.o xhci-dbg.o
xhci-hcd-$(CONFIG_PCI) += xhci-pci.o

obj-$(CONFIG_USB_WHCI_HCD) += whci/

Expand Down
4 changes: 2 additions & 2 deletions drivers/usb/host/xhci-pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -320,12 +320,12 @@ static struct pci_driver xhci_pci_driver = {
#endif
};

int xhci_register_pci(void)
int __init xhci_register_pci(void)
{
return pci_register_driver(&xhci_pci_driver);
}

void xhci_unregister_pci(void)
void __exit xhci_unregister_pci(void)
{
pci_unregister_driver(&xhci_pci_driver);
}
7 changes: 1 addition & 6 deletions drivers/usb/host/xhci.c
Original file line number Diff line number Diff line change
Expand Up @@ -4039,16 +4039,13 @@ MODULE_LICENSE("GPL");

static int __init xhci_hcd_init(void)
{
#ifdef CONFIG_PCI
int retval = 0;
int retval;

retval = xhci_register_pci();

if (retval < 0) {
printk(KERN_DEBUG "Problem registering PCI driver.");
return retval;
}
#endif
/*
* Check the compiler generated sizes of structures that must be laid
* out in specific ways for hardware access.
Expand All @@ -4073,8 +4070,6 @@ module_init(xhci_hcd_init);

static void __exit xhci_hcd_cleanup(void)
{
#ifdef CONFIG_PCI
xhci_unregister_pci();
#endif
}
module_exit(xhci_hcd_cleanup);
3 changes: 3 additions & 0 deletions drivers/usb/host/xhci.h
Original file line number Diff line number Diff line change
Expand Up @@ -1644,6 +1644,9 @@ void xhci_free_command(struct xhci_hcd *xhci,
/* xHCI PCI glue */
int xhci_register_pci(void);
void xhci_unregister_pci(void);
#else
static inline int xhci_register_pci(void) { return 0; }
static inline void xhci_unregister_pci(void) {}
#endif

/* xHCI host controller glue */
Expand Down

0 comments on commit 0cc47d5

Please sign in to comment.