DMIPATH=/sys/class/dmi/id

eeepc_info()
{
	# common for all Eee PC models
	[ -c /dev/fb0 ] || FB0DEV=i915
	EXTMOD="psmouse eeepc-laptop"
	PREDEV=snd-hda-codec-realtek
	SNDDEV=snd-hda-intel
	CAMDEV=uvcvideo

	board=`cat $DMIPATH/product_name`
	case "$board" in
		700|701|702|900)
			LANDEV=atl2
			WIFDEV=ath5k
			;;
		701SD|900SD)
			LANDEV=atl1e
			WIFDEV=rtl8187se
			;;
		900A|904HD|1000HD)
			LANDEV=atl1e
			WIFDEV=ath5k
			;;
		901|1000|1000H)
			LANDEV=atl1e
			WIFDEV=rt2860sta
			;;
		ET1602*)
			# i915 is buggy on 2.6.29
			if uname -r | grep -q 2.6.29; then
				FB0DEV=
				UVESA_MODE=${UVESA_MODE:-1366x768}
			fi
			LANDEV=r8169
			WIFDEV=rt2860sta
			BOARD_USES_TSLIB=true
			;;
		ET2002*)
			FB0DEV=
			UVESA_MODE=${UVESA_MODE:-1600x900}
			LANDEV=r8169
			WIFDEV=ath9k
			BOARD_USES_TSLIB=true
			;;
		T91)
			FB0DEV=
			UVESA_MODE=${UVESA_MODE:-1024x600}
			LANDEV=atl1e
			WIFDEV=ath9k
			BOARD_USES_TSLIB=true
			;;
		T101)
			LANDEV=atl1e
			WIFDEV=ath9k
			BOARD_USES_TSLIB=true
			;;
		*)
			LANDEV=atl1e
			WIFDEV=ath9k
			;;
	esac
}

detect_hardware()
{
	case "`cat $DMIPATH/uevent`" in
		*ASUSTeK*)
			grep -q EeePC $DMIPATH/board_serial || grep -q ^ET $DMIPATH/board_name
			if [ $? -eq 0 ]; then
				eeepc_info
			else
				error WARNING: Not an ASUS Eee PC
			fi
			;;
		*)
			error WARNING: Not an ASUS product
			;;
	esac
}
