From d3f297b0c47d37be2cc826d275596fb67f714f9e Mon Sep 17 00:00:00 2001 From: Eric Lee Date: Mon, 10 Apr 2017 10:39:06 +0800 Subject: [PATCH] Fix Frambuffer red and blue swap problem and some minor bug fixed --- arch/arm/configs/smarc_t335x_defconfig | 9 ++++----- drivers/hid/hid-core.c | 9 +++++++++ drivers/video/da8xx-fb.c | 12 ++++++------ 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/arch/arm/configs/smarc_t335x_defconfig b/arch/arm/configs/smarc_t335x_defconfig index 2a60bb1..b8e5ed7 100644 --- a/arch/arm/configs/smarc_t335x_defconfig +++ b/arch/arm/configs/smarc_t335x_defconfig @@ -1009,8 +1009,7 @@ CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=y CONFIG_FIRMWARE_IN_KERNEL=y -CONFIG_EXTRA_FIRMWARE="am335x-pm-firmware.bin" -CONFIG_EXTRA_FIRMWARE_DIR="firmware" +CONFIG_EXTRA_FIRMWARE="" CONFIG_FW_LOADER_USER_HELPER=y # CONFIG_DEBUG_DRIVER is not set # CONFIG_DEBUG_DEVRES is not set @@ -2705,7 +2704,7 @@ CONFIG_SND_SOC_TLV320AIC3X=y # CONFIG_HID=y # CONFIG_HID_BATTERY_STRENGTH is not set -# CONFIG_HIDRAW is not set +CONFIG_HIDRAW=y CONFIG_UHID=y CONFIG_HID_GENERIC=y @@ -2743,7 +2742,7 @@ CONFIG_HID_GENERIC=y # CONFIG_HID_MAGICMOUSE is not set # CONFIG_HID_MICROSOFT is not set # CONFIG_HID_MONTEREY is not set -# CONFIG_HID_MULTITOUCH is not set +CONFIG_HID_MULTITOUCH=m # CONFIG_HID_NTRIG is not set # CONFIG_HID_ORTEK is not set # CONFIG_HID_PANTHERLORD is not set @@ -2852,7 +2851,7 @@ CONFIG_USB_TMC=m # also be needed; see USB_STORAGE Help for more info # CONFIG_USB_STORAGE=y -# CONFIG_USB_STORAGE_DEBUG is not set +CONFIG_USB_STORAGE_DEBUG=y CONFIG_USB_STORAGE_REALTEK=y CONFIG_REALTEK_AUTOPM=y CONFIG_USB_STORAGE_DATAFAB=y diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c index 245f892..760cfd1 100644 --- a/drivers/hid/hid-core.c +++ b/drivers/hid/hid-core.c @@ -2368,6 +2368,15 @@ bool hid_ignore(struct hid_device *hdev) hdev->product <= USB_DEVICE_ID_CODEMERCS_IOW_LAST) return true; break; + case USB_VENDOR_ID_DWAV: + /* These are handled by usbtouchscreen. hdev->type is probably + * HID_TYPE_USBNONE, but we say !HID_TYPE_USBMOUSE to match + * usbtouchscreen. */ + if ((hdev->product == USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER || + hdev->product == USB_DEVICE_ID_DWAV_TOUCHCONTROLLER) && + hdev->type != HID_TYPE_USBMOUSE) + return true; + break; case USB_VENDOR_ID_LOGITECH: if (hdev->product >= USB_DEVICE_ID_LOGITECH_HARMONY_FIRST && hdev->product <= USB_DEVICE_ID_LOGITECH_HARMONY_LAST) diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c index df6b679..bd37876 100644 --- a/drivers/video/da8xx-fb.c +++ b/drivers/video/da8xx-fb.c @@ -1126,33 +1126,33 @@ static int fb_check_var(struct fb_var_screeninfo *var, var->nonstd = FB_NONSTD_REV_PIX_IN_B; break; case 16: /* RGB 565 */ - var->red.offset = 11; + var->blue.offset = 11; var->red.length = 5; var->green.offset = 5; var->green.length = 6; - var->blue.offset = 0; + var->red.offset = 0; var->blue.length = 5; var->transp.offset = 0; var->transp.length = 0; var->nonstd = 0; break; case 24: - var->red.offset = 16; + var->blue.offset = 16; var->red.length = 8; var->green.offset = 8; var->green.length = 8; - var->blue.offset = 0; + var->red.offset = 0; var->blue.length = 8; var->nonstd = 0; break; case 32: var->transp.offset = 24; var->transp.length = 8; - var->red.offset = 16; + var->blue.offset = 16; var->red.length = 8; var->green.offset = 8; var->green.length = 8; - var->blue.offset = 0; + var->red.offset = 0; var->blue.length = 8; var->nonstd = 0; break; -- 1.9.1