# Makefile for staging directory

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

obj-y				+= serial/
obj-y				+= media/
obj-$(CONFIG_ET131X)		+= et131x/
obj-$(CONFIG_SLICOSS)		+= slicoss/
obj-$(CONFIG_USBIP_CORE)	+= usbip/
obj-$(CONFIG_W35UND)		+= winbond/
obj-$(CONFIG_PRISM2_USB)	+= wlan-ng/
obj-$(CONFIG_ECHO)		+= echo/
obj-$(CONFIG_COMEDI)		+= comedi/
obj-$(CONFIG_FB_OLPC_DCON)	+= olpc_dcon/
obj-$(CONFIG_ASUS_OLED)		+= asus_oled/
obj-$(CONFIG_PANEL)		+= panel/
obj-$(CONFIG_R8187SE)		+= rtl8187se/
obj-$(CONFIG_RTL8192U)		+= rtl8192u/
obj-$(CONFIG_RTL8192E)		+= rtl8192e/
obj-$(CONFIG_R8712U)		+= rtl8712/
obj-$(CONFIG_RTS_PSTOR)		+= rts_pstor/
obj-$(CONFIG_RTS5139)		+= rts5139/
obj-$(CONFIG_TRANZPORT)		+= frontier/
obj-$(CONFIG_POHMELFS)		+= pohmelfs/
obj-$(CONFIG_IDE_PHISON)	+= phison/
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_HYPERV)		+= hv/
obj-$(CONFIG_VME_BUS)		+= vme/
obj-$(CONFIG_DX_SEP)            += sep/
obj-$(CONFIG_IIO)		+= iio/
obj-$(CONFIG_ZRAM)		+= zram/
obj-$(CONFIG_XVMALLOC)		+= zram/
obj-$(CONFIG_ZCACHE)		+= zcache/
obj-$(CONFIG_WLAGS49_H2)	+= wlags49_h2/
obj-$(CONFIG_WLAGS49_H25)	+= wlags49_h25/
obj-$(CONFIG_FB_SM7XX)		+= sm7xx/
obj-$(CONFIG_CRYSTALHD)		+= crystalhd/
obj-$(CONFIG_CXT1E1)		+= cxt1e1/
obj-$(CONFIG_FB_XGI)		+= xgifb/
obj-$(CONFIG_TIDSPBRIDGE)	+= tidspbridge/
obj-$(CONFIG_ACPI_QUICKSTART)	+= quickstart/
obj-$(CONFIG_SBE_2T3E3)		+= sbe-2t3e3/
obj-$(CONFIG_USB_ENESTORAGE)	+= keucr/
obj-$(CONFIG_BCM_WIMAX)		+= bcm/
obj-$(CONFIG_FT1000)		+= ft1000/
obj-$(CONFIG_SPEAKUP)		+= speakup/
obj-$(CONFIG_TOUCHSCREEN_CLEARPAD_TM1217)	+= cptm1217/
obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4)	+= ste_rmi4/
obj-$(CONFIG_DRM_PSB)		+= gma500/
obj-$(CONFIG_INTEL_MEI)		+= mei/
obj-$(CONFIG_MFD_NVEC)		+= nvec/
obj-$(CONFIG_DRM_OMAP)		+= omapdrm/
obj-$(CONFIG_ANDROID)		+= android/
