# 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_USBIP_CORE)	+= usbip/
obj-$(CONFIG_W35UND)		+= winbond/
obj-$(CONFIG_PRISM2_USB)	+= wlan-ng/
obj-$(CONFIG_COMEDI)		+= comedi/
obj-$(CONFIG_FB_OLPC_DCON)	+= olpc_dcon/
obj-$(CONFIG_PANEL)		+= panel/
obj-$(CONFIG_R8187SE)		+= rtl8187se/
obj-$(CONFIG_RTL8192U)		+= rtl8192u/
obj-$(CONFIG_RTL8192E)		+= rtl8192e/
obj-$(CONFIG_R8712U)		+= rtl8712/
obj-$(CONFIG_R8188EU)		+= rtl8188eu/
obj-$(CONFIG_R8723AU)		+= rtl8723au/
obj-$(CONFIG_R8821AE)		+= rtl8821ae/
obj-$(CONFIG_RTS5139)		+= rts5139/
obj-$(CONFIG_RTS5208)		+= rts5208/
obj-$(CONFIG_TRANZPORT)		+= frontier/
obj-$(CONFIG_IDE_PHISON)	+= phison/
obj-$(CONFIG_LINE6_USB)		+= line6/
obj-$(CONFIG_NETLOGIC_XLR_NET)	+= netlogic/
obj-$(CONFIG_USB_SERIAL_QUATECH2)	+= serqt_usb2/
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_DX_SEP)            += sep/
obj-$(CONFIG_IIO)		+= iio/
obj-$(CONFIG_WLAGS49_H2)	+= wlags49_h2/
obj-$(CONFIG_WLAGS49_H25)	+= wlags49_h25/
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_MFD_NVEC)		+= nvec/
obj-$(CONFIG_ANDROID)		+= android/
obj-$(CONFIG_USB_WPAN_HCD)	+= ozwpan/
obj-$(CONFIG_WIMAX_GDM72XX)	+= gdm72xx/
obj-$(CONFIG_LTE_GDM724X)	+= gdm724x/
obj-$(CONFIG_NET_VENDOR_SILICOM)	+= silicom/
obj-$(CONFIG_CED1401)		+= ced1401/
obj-$(CONFIG_DRM_IMX)		+= imx-drm/
obj-$(CONFIG_DGRP)		+= dgrp/
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_UNISYSSPAR)	+= unisys/
