Follow the established pattern for the vendor/ entry points.

That way, scripts that expect that pattern don't get confused.

Bug: 6931494
Change-Id: I121e013af42fa8ee64f56dcacc81e17a945e01af
diff --git a/BoardConfig.mk b/BoardConfig.mk
index 174e189..b0e8d5e 100644
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -32,64 +32,4 @@
 USE_PROPRIETARY_AUDIO_EXTENSIONS := false
 
 -include vendor/asus/grouper/BoardConfigVendor.mk
-
-# inherit from the proprietary version
-# needed for BP-flashing updater extensions
-
-TARGET_BOARD_PLATFORM := tegra3
-TARGET_TEGRA_VERSION := t30
-
-TARGET_CPU_ABI := armeabi-v7a
-TARGET_CPU_ABI2 := armeabi
-TARGET_CPU_SMP := true
-TARGET_ARCH := arm
-TARGET_ARCH_VARIANT := armv7-a-neon
-ARCH_ARM_HAVE_TLS_REGISTER := true
-ARCH_ARM_USE_NON_NEON_MEMCPY := true
-
-TARGET_USERIMAGES_USE_EXT4 := true
-
-BOARD_SYSTEMIMAGE_PARTITION_SIZE := 681574400
-BOARD_USERDATAIMAGE_PARTITION_SIZE := 6567231488
-BOARD_FLASH_BLOCK_SIZE := 4096
-
-# Wifi related defines
-BOARD_WPA_SUPPLICANT_DRIVER := NL80211
-WPA_SUPPLICANT_VERSION      := VER_0_8_X
-BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_bcmdhd
-BOARD_HOSTAPD_DRIVER        := NL80211
-BOARD_HOSTAPD_PRIVATE_LIB   := lib_driver_cmd_bcmdhd
-BOARD_WLAN_DEVICE           := bcmdhd
-#WIFI_DRIVER_MODULE_PATH     := "/system/lib/modules/bcm4329.ko"
-WIFI_DRIVER_FW_PATH_PARAM   := "/sys/module/bcmdhd/parameters/firmware_path"
-WIFI_DRIVER_FW_PATH_STA     := "/vendor/firmware/fw_bcmdhd.bin"
-WIFI_DRIVER_FW_PATH_AP      := "/vendor/firmware/fw_bcmdhd_apsta.bin"
-WIFI_DRIVER_FW_PATH_P2P     := "/vendor/firmware/fw_bcmdhd_p2p.bin"
-
-TARGET_BOOTLOADER_BOARD_NAME := grouper
-TARGET_BOARD_INFO_FILE := device/asus/grouper/board-info.txt
-
-BOARD_USES_GENERIC_AUDIO := false
-BOARD_USES_ALSA_AUDIO := false
-
-BOARD_USES_GENERIC_INVENSENSE := false
-
-BOARD_HAVE_BLUETOOTH := true
-BOARD_HAVE_BLUETOOTH_BCM := true
-
-BOARD_LIB_DUMPSTATE := libdumpstate.grouper
-
-USE_OPENGL_RENDERER := true
-BOARD_EGL_CFG := device/asus/grouper/egl.cfg
-
-ifneq ($(HAVE_NVIDIA_PROP_SRC),false)
-# needed for source compilation of nvidia libraries
--include vendor/nvidia/proprietary_src/build/definitions.mk
--include vendor/nvidia/build/definitions.mk
-endif
-
-# Avoid the generation of ldrcc instructions
-NEED_WORKAROUND_CORTEX_A9_745320 := true
-
-TARGET_RECOVERY_UI_LIB := librecovery_ui_grouper
-TARGET_RELEASETOOLS_EXTENSIONS := device/asus/grouper
+include device/asus/grouper/BoardConfigCommon.mk
diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk
new file mode 100644
index 0000000..7eeb1ad
--- /dev/null
+++ b/BoardConfigCommon.mk
@@ -0,0 +1,82 @@
+# Copyright (C) 2010 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# This file sets variables that control the way modules are built
+# thorughout the system. It should not be used to conditionally
+# disable makefiles (the proper mechanism to control what gets
+# included in a build is to use PRODUCT_PACKAGES in a product
+# definition file).
+#
+
+# inherit from the proprietary version
+# needed for BP-flashing updater extensions
+
+TARGET_BOARD_PLATFORM := tegra3
+TARGET_TEGRA_VERSION := t30
+
+TARGET_CPU_ABI := armeabi-v7a
+TARGET_CPU_ABI2 := armeabi
+TARGET_CPU_SMP := true
+TARGET_ARCH := arm
+TARGET_ARCH_VARIANT := armv7-a-neon
+ARCH_ARM_HAVE_TLS_REGISTER := true
+ARCH_ARM_USE_NON_NEON_MEMCPY := true
+
+TARGET_USERIMAGES_USE_EXT4 := true
+
+BOARD_SYSTEMIMAGE_PARTITION_SIZE := 681574400
+BOARD_USERDATAIMAGE_PARTITION_SIZE := 6567231488
+BOARD_FLASH_BLOCK_SIZE := 4096
+
+# Wifi related defines
+BOARD_WPA_SUPPLICANT_DRIVER := NL80211
+WPA_SUPPLICANT_VERSION      := VER_0_8_X
+BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_bcmdhd
+BOARD_HOSTAPD_DRIVER        := NL80211
+BOARD_HOSTAPD_PRIVATE_LIB   := lib_driver_cmd_bcmdhd
+BOARD_WLAN_DEVICE           := bcmdhd
+#WIFI_DRIVER_MODULE_PATH     := "/system/lib/modules/bcm4329.ko"
+WIFI_DRIVER_FW_PATH_PARAM   := "/sys/module/bcmdhd/parameters/firmware_path"
+WIFI_DRIVER_FW_PATH_STA     := "/vendor/firmware/fw_bcmdhd.bin"
+WIFI_DRIVER_FW_PATH_AP      := "/vendor/firmware/fw_bcmdhd_apsta.bin"
+WIFI_DRIVER_FW_PATH_P2P     := "/vendor/firmware/fw_bcmdhd_p2p.bin"
+
+TARGET_BOOTLOADER_BOARD_NAME := grouper
+TARGET_BOARD_INFO_FILE := device/asus/grouper/board-info.txt
+
+BOARD_USES_GENERIC_AUDIO := false
+BOARD_USES_ALSA_AUDIO := false
+
+BOARD_USES_GENERIC_INVENSENSE := false
+
+BOARD_HAVE_BLUETOOTH := true
+BOARD_HAVE_BLUETOOTH_BCM := true
+
+BOARD_LIB_DUMPSTATE := libdumpstate.grouper
+
+USE_OPENGL_RENDERER := true
+BOARD_EGL_CFG := device/asus/grouper/egl.cfg
+
+ifneq ($(HAVE_NVIDIA_PROP_SRC),false)
+# needed for source compilation of nvidia libraries
+-include vendor/nvidia/proprietary_src/build/definitions.mk
+-include vendor/nvidia/build/definitions.mk
+endif
+
+# Avoid the generation of ldrcc instructions
+NEED_WORKAROUND_CORTEX_A9_745320 := true
+
+TARGET_RECOVERY_UI_LIB := librecovery_ui_grouper
+TARGET_RELEASETOOLS_EXTENSIONS := device/asus/grouper
diff --git a/device-common.mk b/device-common.mk
new file mode 100644
index 0000000..e7b9c3e
--- /dev/null
+++ b/device-common.mk
@@ -0,0 +1,154 @@
+#
+# Copyright (C) 2010 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+ifeq ($(TARGET_PREBUILT_KERNEL),)
+  LOCAL_KERNEL := device/asus/grouper/kernel
+else
+  LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL)
+endif
+
+PRODUCT_AAPT_CONFIG := normal large tvdpi hdpi
+PRODUCT_AAPT_PREF_CONFIG := tvdpi
+
+DEVICE_PACKAGE_OVERLAYS := \
+    device/asus/grouper/overlay
+
+PRODUCT_PROPERTY_OVERRIDES := \
+    wifi.interface=wlan0 \
+    wifi.supplicant_scan_interval=15 \
+    tf.enable=y \
+    drm.service.enabled=true \
+    ro.carrier=wifi-only
+
+# Set default USB interface
+PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
+	persist.sys.usb.config=mtp
+
+include frameworks/native/build/tablet-7in-hdpi-1024-dalvik-heap.mk
+
+PRODUCT_COPY_FILES += \
+    $(LOCAL_KERNEL):kernel \
+    device/asus/grouper/init.grouper.rc:root/init.grouper.rc \
+    device/asus/grouper/fstab.grouper:root/fstab.grouper \
+    device/asus/grouper/ueventd.grouper.rc:root/ueventd.grouper.rc \
+    device/asus/grouper/init.grouper.usb.rc:root/init.grouper.usb.rc \
+    device/asus/grouper/gps.conf:system/etc/gps.conf
+
+ifneq ($(TARGET_PREBUILT_WIFI_MODULE),)
+PRODUCT_COPY_FILES += \
+    $(TARGET_PREBUILT_WIFI_MODULE):system/lib/modules/bcm4329.ko
+endif
+
+PRODUCT_COPY_FILES += \
+    frameworks/native/data/etc/tablet_core_hardware.xml:system/etc/permissions/tablet_core_hardware.xml \
+    frameworks/native/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \
+    frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \
+    frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \
+    frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \
+    frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \
+    frameworks/native/data/etc/android.hardware.camera.front.xml:system/etc/permissions/android.hardware.camera.front.xml \
+    frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
+    frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml \
+    frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \
+    frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml
+
+# for PDK build, include only when the dir exists
+# too early to use $(TARGET_BUILD_PDK)
+ifneq ($(wildcard packages/wallpapers/LivePicker),)
+PRODUCT_COPY_FILES += \
+    packages/wallpapers/LivePicker/android.software.live_wallpaper.xml:system/etc/permissions/android.software.live_wallpaper.xml
+endif
+
+PRODUCT_COPY_FILES += \
+    device/asus/grouper/vold.fstab:system/etc/vold.fstab \
+    device/asus/grouper/elan-touchscreen.idc:system/usr/idc/elan-touchscreen.idc \
+    device/asus/grouper/raydium_ts.idc:system/usr/idc/raydium_ts.idc \
+    device/asus/grouper/sensor00fn11.idc:system/usr/idc/sensor00fn11.idc \
+    device/asus/grouper/gpio-keys.kl:system/usr/keylayout/gpio-keys.kl \
+    device/asus/grouper/tegra-kbc.kl:system/usr/keylayout/tegra-kbc.kl
+
+PRODUCT_PACKAGES := \
+    lights.grouper \
+    audio.primary.grouper \
+    power.grouper \
+    audio.a2dp.default \
+    audio.usb.default \
+    librs_jni \
+    make_ext4fs \
+    setup_fs \
+    l2ping \
+    hcitool \
+    bttest \
+    com.android.future.usb.accessory \
+    whisperd
+
+# for bugmailer
+PRODUCT_PACKAGES += send_bug
+PRODUCT_COPY_FILES += \
+    system/extras/bugmailer/bugmailer.sh:system/bin/bugmailer.sh \
+    system/extras/bugmailer/send_bug:system/bin/send_bug
+
+# NFC packages
+PRODUCT_PACKAGES += \
+    nfc.grouper \
+    libnfc \
+    libnfc_jni \
+    Nfc \
+    Tag \
+    com.android.nfc_extras
+
+PRODUCT_CHARACTERISTICS := tablet,nosdcard
+
+# we have enough storage space to hold precise GC data
+PRODUCT_TAGS += dalvik.gc.type-precise
+
+# media config xml file
+PRODUCT_COPY_FILES += \
+    device/asus/grouper/media_profiles.xml:system/etc/media_profiles.xml
+
+# media codec config xml file
+PRODUCT_COPY_FILES += \
+    device/asus/grouper/media_codecs.xml:system/etc/media_codecs.xml
+
+# Bluetooth config file
+PRODUCT_COPY_FILES += \
+    system/bluetooth/data/main.nonsmartphone.conf:system/etc/bluetooth/main.conf \
+
+# audio mixer paths
+PRODUCT_COPY_FILES += \
+    device/asus/grouper/mixer_paths.xml:system/etc/mixer_paths.xml
+
+# audio policy configuration
+PRODUCT_COPY_FILES += \
+    device/asus/grouper/audio_policy.conf:system/etc/audio_policy.conf
+
+PRODUCT_COPY_FILES += \
+    frameworks/native/data/etc/com.nxp.mifare.xml:system/etc/permissions/com.nxp.mifare.xml \
+    frameworks/native/data/etc/com.android.nfc_extras.xml:system/etc/permissions/com.android.nfc_extras.xml \
+    frameworks/native/data/etc/android.hardware.nfc.xml:system/etc/permissions/android.hardware.nfc.xml
+
+# NFCEE access control
+ifeq ($(TARGET_BUILD_VARIANT),user)
+    NFCEE_ACCESS_PATH := device/asus/grouper/nfcee_access.xml
+else
+    NFCEE_ACCESS_PATH := device/asus/grouper/nfcee_access_debug.xml
+endif
+PRODUCT_COPY_FILES += \
+    $(NFCEE_ACCESS_PATH):system/etc/nfcee_access.xml
+
+WIFI_BAND := 802_11_BG
+ $(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/firmware/bcm4330/device-bcm.mk)
+
diff --git a/device.mk b/device.mk
index b4fda16..da27eb6 100644
--- a/device.mk
+++ b/device.mk
@@ -14,144 +14,8 @@
 # limitations under the License.
 #
 
-ifeq ($(TARGET_PREBUILT_KERNEL),)
-  LOCAL_KERNEL := device/asus/grouper/kernel
-else
-  LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL)
-endif
-
-PRODUCT_AAPT_CONFIG := normal large tvdpi hdpi
-PRODUCT_AAPT_PREF_CONFIG := tvdpi
-
-DEVICE_PACKAGE_OVERLAYS := \
-    device/asus/grouper/overlay
-
-PRODUCT_PROPERTY_OVERRIDES := \
-    wifi.interface=wlan0 \
-    wifi.supplicant_scan_interval=15 \
-    tf.enable=y \
-    drm.service.enabled=true \
-    ro.carrier=wifi-only
-
-# Set default USB interface
-PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
-	persist.sys.usb.config=mtp
-
-include frameworks/native/build/tablet-7in-hdpi-1024-dalvik-heap.mk
-
-PRODUCT_COPY_FILES += \
-    $(LOCAL_KERNEL):kernel \
-    device/asus/grouper/init.grouper.rc:root/init.grouper.rc \
-    device/asus/grouper/fstab.grouper:root/fstab.grouper \
-    device/asus/grouper/ueventd.grouper.rc:root/ueventd.grouper.rc \
-    device/asus/grouper/init.grouper.usb.rc:root/init.grouper.usb.rc \
-    device/asus/grouper/gps.conf:system/etc/gps.conf
-
-ifneq ($(TARGET_PREBUILT_WIFI_MODULE),)
-PRODUCT_COPY_FILES += \
-    $(TARGET_PREBUILT_WIFI_MODULE):system/lib/modules/bcm4329.ko
-endif
-
-PRODUCT_COPY_FILES += \
-    frameworks/native/data/etc/tablet_core_hardware.xml:system/etc/permissions/tablet_core_hardware.xml \
-    frameworks/native/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \
-    frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \
-    frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \
-    frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \
-    frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \
-    frameworks/native/data/etc/android.hardware.camera.front.xml:system/etc/permissions/android.hardware.camera.front.xml \
-    frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
-    frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml \
-    frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \
-    frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml
-
-# for PDK build, include only when the dir exists
-# too early to use $(TARGET_BUILD_PDK)
-ifneq ($(wildcard packages/wallpapers/LivePicker),)
-PRODUCT_COPY_FILES += \
-    packages/wallpapers/LivePicker/android.software.live_wallpaper.xml:system/etc/permissions/android.software.live_wallpaper.xml
-endif
-
-PRODUCT_COPY_FILES += \
-    device/asus/grouper/vold.fstab:system/etc/vold.fstab \
-    device/asus/grouper/elan-touchscreen.idc:system/usr/idc/elan-touchscreen.idc \
-    device/asus/grouper/raydium_ts.idc:system/usr/idc/raydium_ts.idc \
-    device/asus/grouper/sensor00fn11.idc:system/usr/idc/sensor00fn11.idc \
-    device/asus/grouper/gpio-keys.kl:system/usr/keylayout/gpio-keys.kl \
-    device/asus/grouper/tegra-kbc.kl:system/usr/keylayout/tegra-kbc.kl
-
-PRODUCT_PACKAGES := \
-    lights.grouper \
-    audio.primary.grouper \
-    power.grouper \
-    audio.a2dp.default \
-    audio.usb.default \
-    librs_jni \
-    make_ext4fs \
-    setup_fs \
-    l2ping \
-    hcitool \
-    bttest \
-    com.android.future.usb.accessory \
-    whisperd
-
-# for bugmailer
-PRODUCT_PACKAGES += send_bug
-PRODUCT_COPY_FILES += \
-    system/extras/bugmailer/bugmailer.sh:system/bin/bugmailer.sh \
-    system/extras/bugmailer/send_bug:system/bin/send_bug
-
-# NFC packages
-PRODUCT_PACKAGES += \
-    nfc.grouper \
-    libnfc \
-    libnfc_jni \
-    Nfc \
-    Tag \
-    com.android.nfc_extras
-
-PRODUCT_CHARACTERISTICS := tablet,nosdcard
-
-# we have enough storage space to hold precise GC data
-PRODUCT_TAGS += dalvik.gc.type-precise
-
-# media config xml file
-PRODUCT_COPY_FILES += \
-    device/asus/grouper/media_profiles.xml:system/etc/media_profiles.xml
-
-# media codec config xml file
-PRODUCT_COPY_FILES += \
-    device/asus/grouper/media_codecs.xml:system/etc/media_codecs.xml
-
-# Bluetooth config file
-PRODUCT_COPY_FILES += \
-    system/bluetooth/data/main.nonsmartphone.conf:system/etc/bluetooth/main.conf \
-
-# audio mixer paths
-PRODUCT_COPY_FILES += \
-    device/asus/grouper/mixer_paths.xml:system/etc/mixer_paths.xml
-
-# audio policy configuration
-PRODUCT_COPY_FILES += \
-    device/asus/grouper/audio_policy.conf:system/etc/audio_policy.conf
+# the actual meat of the device-specific product definition
+$(call inherit-product, device/asus/grouper/device-common.mk)
 
 # inherit from the non-open-source side, if present
 $(call inherit-product-if-exists, vendor/asus/grouper/device-vendor.mk)
-
-PRODUCT_COPY_FILES += \
-    frameworks/native/data/etc/com.nxp.mifare.xml:system/etc/permissions/com.nxp.mifare.xml \
-    frameworks/native/data/etc/com.android.nfc_extras.xml:system/etc/permissions/com.android.nfc_extras.xml \
-    frameworks/native/data/etc/android.hardware.nfc.xml:system/etc/permissions/android.hardware.nfc.xml
-
-# NFCEE access control
-ifeq ($(TARGET_BUILD_VARIANT),user)
-    NFCEE_ACCESS_PATH := device/asus/grouper/nfcee_access.xml
-else
-    NFCEE_ACCESS_PATH := device/asus/grouper/nfcee_access_debug.xml
-endif
-PRODUCT_COPY_FILES += \
-    $(NFCEE_ACCESS_PATH):system/etc/nfcee_access.xml
-
-WIFI_BAND := 802_11_BG
- $(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/firmware/bcm4330/device-bcm.mk)
-