# Makefile for staging directory

# fix for build system bug...
obj-$(CONFIG_STAGING)		+= staging.o

obj-$(CONFIG_ET131X)		+= et131x/
obj-$(CONFIG_SLICOSS)		+= slicoss/
obj-$(CONFIG_VIDEO_GO7007)	+= go7007/
obj-$(CONFIG_VIDEO_CX25821)	+= cx25821/
obj-$(CONFIG_USB_IP_COMMON)	+= usbip/
obj-$(CONFIG_W35UND)		+= winbond/
obj-$(CONFIG_PRISM2_USB)	+= wlan-ng/
obj-$(CONFIG_ECHO)		+= echo/
obj-$(CONFIG_POCH)		+= poch/
obj-$(CONFIG_OTUS)		+= otus/
obj-$(CONFIG_RT2860)		+= rt2860/
obj-$(CONFIG_RT2870)		+= rt2870/
obj-$(CONFIG_COMEDI)		+= comedi/
obj-$(CONFIG_ASUS_OLED)		+= asus_oled/
obj-$(CONFIG_PANEL)		+= panel/
obj-$(CONFIG_ALTERA_PCIE_CHDMA)	+= altpciechdma/
obj-$(CONFIG_R8187SE)		+= rtl8187se/
obj-$(CONFIG_RTL8192SU)		+= rtl8192su/
obj-$(CONFIG_RTL8192U)		+= rtl8192u/
obj-$(CONFIG_RTL8192E)		+= rtl8192e/
obj-$(CONFIG_INPUT_MIMIO)	+= mimio/
obj-$(CONFIG_TRANZPORT)		+= frontier/
obj-$(CONFIG_DREAM)		+= dream/
obj-$(CONFIG_POHMELFS)		+= pohmelfs/
obj-$(CONFIG_B3DFG)		+= b3dfg/
obj-$(CONFIG_IDE_PHISON)	+= phison/
obj-$(CONFIG_PLAN9AUTH)		+= p9auth/
obj-$(CONFIG_LINE6_USB)		+= line6/
obj-$(CONFIG_USB_SERIAL_QUATECH2)	+= serqt_usb2/
obj-$(CONFIG_USB_SERIAL_QUATECH_USB2)	+= quatech_usb2/
obj-$(CONFIG_OCTEON_ETHERNET)	+= octeon/
obj-$(CONFIG_VT6655)		+= vt6655/
obj-$(CONFIG_VT6656)		+= vt6656/
obj-$(CONFIG_FB_UDL)		+= udlfb/
obj-$(CONFIG_HYPERV)		+= hv/
obj-$(CONFIG_VME_BUS)		+= vme/
obj-$(CONFIG_RAR_REGISTER)	+= rar/
obj-$(CONFIG_DX_SEP)		+= sep/
obj-$(CONFIG_IIO)		+= iio/
obj-$(CONFIG_RAMZSWAP)		+= ramzswap/
obj-$(CONFIG_WLAGS49_H2)	+= wlags49_h2/
obj-$(CONFIG_WLAGS49_H25)	+= wlags49_h25/
obj-$(CONFIG_BATMAN_ADV)	+= batman-adv/
obj-$(CONFIG_SAMSUNG_LAPTOP)	+= samsung-laptop/
obj-$(CONFIG_STRIP)		+= strip/
obj-$(CONFIG_ARLAN)		+= arlan/
obj-$(CONFIG_WAVELAN)		+= wavelan/
obj-$(CONFIG_PCMCIA_WAVELAN)	+= wavelan/
obj-$(CONFIG_PCMCIA_NETWAVE)	+= netwave/
obj-$(CONFIG_FB_SM7XX)		+= sm7xx/
