# usb subsystem core
common-obj-y += core.o combined-packet.o bus.o libhw.o
common-obj-$(CONFIG_USB) += desc.o desc-msos.o

# usb host adapters
common-obj-$(CONFIG_USB_UHCI) += hcd-uhci.o
common-obj-$(CONFIG_USB_OHCI) += hcd-ohci.o
common-obj-$(CONFIG_USB_EHCI) += hcd-ehci.o hcd-ehci-pci.o
common-obj-$(CONFIG_USB_EHCI_SYSBUS) += hcd-ehci-sysbus.o
common-obj-$(CONFIG_USB_XHCI) += hcd-xhci.o
common-obj-$(CONFIG_USB_XHCI_NEC) += hcd-xhci-nec.o
common-obj-$(CONFIG_USB_MUSB) += hcd-musb.o

obj-$(CONFIG_TUSB6010) += tusb6010.o

# emulated usb devices
common-obj-$(CONFIG_USB) += dev-hub.o
common-obj-$(CONFIG_USB) += dev-hid.o
common-obj-$(CONFIG_USB_TABLET_WACOM) += dev-wacom.o
common-obj-$(CONFIG_USB_STORAGE_BOT)  += dev-storage.o
common-obj-$(CONFIG_USB_STORAGE_UAS)  += dev-uas.o
common-obj-$(CONFIG_USB_AUDIO)        += dev-audio.o
common-obj-$(CONFIG_USB_SERIAL)       += dev-serial.o
common-obj-$(CONFIG_USB_NETWORK)      += dev-network.o
common-obj-$(CONFIG_USB_BLUETOOTH)    += dev-bluetooth.o

ifeq ($(CONFIG_USB_SMARTCARD),y)
common-obj-y                          += dev-smartcard-reader.o
common-obj-$(CONFIG_SMARTCARD)        += smartcard.mo
smartcard.mo-objs := ccid-card-passthru.o ccid-card-emulated.o
smartcard.mo-cflags := $(SMARTCARD_CFLAGS)
smartcard.mo-libs := $(SMARTCARD_LIBS)
endif

ifeq ($(CONFIG_POSIX),y)
common-obj-$(CONFIG_USB_STORAGE_MTP)  += dev-mtp.o
endif

# usb redirection
common-obj-$(CONFIG_USB_REDIR) += redirect.o quirks.o
redirect.o-cflags = $(USB_REDIR_CFLAGS)
redirect.o-libs = $(USB_REDIR_LIBS)

# usb pass-through
ifeq ($(CONFIG_USB_LIBUSB)$(CONFIG_USB),yy)
common-obj-y += host-libusb.o host-legacy.o
else
common-obj-y += host-stub.o
endif
common-obj-$(CONFIG_ALL) += host-stub.o

host-libusb.o-cflags := $(LIBUSB_CFLAGS)
host-libusb.o-libs := $(LIBUSB_LIBS)

ifeq ($(CONFIG_USB_LIBUSB),y)
common-obj-$(CONFIG_XEN) += xen-usb.o
xen-usb.o-cflags := $(LIBUSB_CFLAGS)
xen-usb.o-libs := $(LIBUSB_LIBS)
endif
