# Makefile for staging directory

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

obj-y				+= media/
obj-$(CONFIG_ET131X)		+= et131x/
obj-$(CONFIG_SLICOSS)		+= slicoss/
obj-$(CONFIG_PRISM2_USB)	+= wlan-ng/
obj-$(CONFIG_COMEDI)		+= comedi/
obj-$(CONFIG_FB_OLPC_DCON)	+= olpc_dcon/
obj-$(CONFIG_PANEL)		+= panel/
obj-$(CONFIG_RTL8192U)		+= rtl8192u/
obj-$(CONFIG_RTL8192E)		+= rtl8192e/
obj-$(CONFIG_R8712U)		+= rtl8712/
obj-$(CONFIG_R8188EU)		+= rtl8188eu/
obj-$(CONFIG_R8192EE)		+= rtl8192ee/
obj-$(CONFIG_R8723AU)		+= rtl8723au/
obj-$(CONFIG_R8821AE)		+= rtl8821ae/
obj-$(CONFIG_RTS5208)		+= rts5208/
obj-$(CONFIG_LINE6_USB)		+= line6/
obj-$(CONFIG_NETLOGIC_XLR_NET)	+= netlogic/
obj-$(CONFIG_OCTEON_ETHERNET)	+= octeon/
obj-$(CONFIG_OCTEON_USB)	+= octeon-usb/
obj-$(CONFIG_VT6655)		+= vt6655/
obj-$(CONFIG_VT6656)		+= vt6656/
obj-$(CONFIG_VME_BUS)		+= vme/
obj-$(CONFIG_IIO)		+= iio/
obj-$(CONFIG_FB_XGI)		+= xgifb/
obj-$(CONFIG_USB_EMXX)		+= emxx_udc/
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_MFD_NVEC)		+= nvec/
obj-$(CONFIG_ANDROID)		+= android/
obj-$(CONFIG_STAGING_BOARD)	+= board/
obj-$(CONFIG_USB_WPAN_HCD)	+= ozwpan/
obj-$(CONFIG_WIMAX_GDM72XX)	+= gdm72xx/
obj-$(CONFIG_LTE_GDM724X)	+= gdm724x/
obj-$(CONFIG_DRM_IMX)		+= imx-drm/
obj-$(CONFIG_FIREWIRE_SERIAL)	+= fwserial/
obj-$(CONFIG_GOLDFISH)		+= goldfish/
obj-$(CONFIG_LUSTRE_FS)		+= lustre/
obj-$(CONFIG_XILLYBUS)		+= xillybus/
obj-$(CONFIG_DGNC)			+= dgnc/
obj-$(CONFIG_DGAP)			+= dgap/
obj-$(CONFIG_MTD_SPINAND_MT29F)	+= mt29f_spinand/
obj-$(CONFIG_GS_FPGABOOT)	+= gs_fpgaboot/
obj-$(CONFIG_BT_NOKIA_H4P)	+= nokia_h4p/
obj-$(CONFIG_CRYPTO_SKEIN)	+= skein/
obj-$(CONFIG_UNISYSSPAR)	+= unisys/
