# 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_VIDEO_TM6000)	+= tm6000/
obj-$(CONFIG_VIDEO_CPIA)	+= cpia/
obj-$(CONFIG_VIDEO_STRADIS)	+= stradis/
obj-$(CONFIG_LIRC_STAGING)	+= lirc/
obj-$(CONFIG_USB_IP_COMMON)	+= usbip/
obj-$(CONFIG_W35UND)		+= winbond/
obj-$(CONFIG_PRISM2_USB)	+= wlan-ng/
obj-$(CONFIG_ECHO)		+= echo/
obj-$(CONFIG_BRCM80211)		+= brcm80211/
obj-$(CONFIG_RT2860)		+= rt2860/
obj-$(CONFIG_RT2870)		+= rt2870/
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_SPECTRA)		+= spectra/
obj-$(CONFIG_TRANZPORT)		+= frontier/
obj-$(CONFIG_POHMELFS)		+= pohmelfs/
obj-$(CONFIG_AUTOFS_FS)		+= autofs/
obj-$(CONFIG_IDE_PHISON)	+= phison/
obj-$(CONFIG_LINE6_USB)		+= line6/
obj-$(CONFIG_USB_SERIAL_QUATECH2)	+= serqt_usb2/
obj-$(CONFIG_SMB_FS)		+= smbfs/
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_MRST_RAR_HANDLER)	+= memrar/
obj-$(CONFIG_IIO)		+= iio/
obj-$(CONFIG_ZRAM)		+= zram/
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_FB_SM7XX)		+= sm7xx/
obj-$(CONFIG_VIDEO_DT3155)	+= dt3155v4l/
obj-$(CONFIG_CRYSTALHD)		+= crystalhd/
obj-$(CONFIG_CXT1E1)		+= cxt1e1/
obj-$(CONFIG_TI_ST)		+= ti-st/
obj-$(CONFIG_ADIS16255)		+= adis16255/
obj-$(CONFIG_FB_XGI)		+= xgifb/
obj-$(CONFIG_MSM_STAGING)	+= msm/
obj-$(CONFIG_EASYCAP)		+= easycap/
obj-$(CONFIG_SOLO6X10)		+= solo6x10/
obj-$(CONFIG_TIDSPBRIDGE)	+= tidspbridge/
obj-$(CONFIG_ACPI_QUICKSTART)	+= quickstart/
obj-$(CONFIG_WESTBRIDGE_ASTORIA)	+= westbridge/astoria/
obj-$(CONFIG_SBE_2T3E3)	+= sbe-2t3e3/
obj-$(CONFIG_ATH6K_LEGACY)	+= ath6kl/
obj-$(CONFIG_USB_ENESTORAGE)	+= keucr/
obj-$(CONFIG_BCM_WIMAX)	+= bcm/
obj-$(CONFIG_FT1000)		+= ft1000/
obj-$(CONFIG_SND_INTEL_SST)		+= intel_sst/
obj-$(CONFIG_SPEAKUP)	+= speakup/
