RK3288 Linux4.4.143 适配EETI
适配电阻触摸屏
一.添加配置文件
diff --git a/device/rockchip/common/device.mk b/device/rockchip/common/device.mk
index 22fa127..38f84fa 100755
--- a/device/rockchip/common/device.mk
+++ b/device/rockchip/common/device.mk
@@ -773,4 +773,8 @@ PRODUCT_COPY_FILES += \
device/rockchip/common/su/system/bin/rootsudaemon.sh:system/bin/rootsudaemon.sh \
device/rockchip/common/su/system/xbin/su:system/xbin/su \
device/rockchip/common/su/system/xbin/daemonsu:system/xbin/daemonsu
-
\ No newline at end of file
+
+PRODUCT_COPY_FILES += \
+ device/rockchip/common/eeti_file/eGalaxTouch_VirtualDevice.idc:system/usr/idc/eGalaxTouch_VirtualDevice.idc \
+ device/rockchip/common/eeti_file/eGTouchA.ini:system/etc/eGTouchA.ini \
+ device/rockchip/common/eeti_file/eGTouchD:system/bin/eGTouchD
\ No newline at end of file
diff --git a/device/rockchip/common/init.rk30board.rc b/device/rockchip/common/init.rk30board.rc
index 03f3e35..0f94f71 100755
--- a/device/rockchip/common/init.rk30board.rc
+++ b/device/rockchip/common/init.rk30board.rc
@@ -172,6 +172,9 @@ on boot
chown system system /sys/bus/platform/drivers/usb20_otg/force_usb_mode
chmod 0664 /sys/bus/platform/drivers/usb20_otg/force_usb_mode
+ copy /etc/eGTouchA.ini /data/eGTouchA.ini
+ chmod 0777 /data/eGTouchA.ini
+
#add for rtc by jessica
chown system system /sys/class/rtc/rtc0/wakealarm
chmod 0666 /sys/class/rtc/rtc0/wakealarm
二.驱动
diff --git a/kernel/drivers/input/evdev.c b/kernel/drivers/input/evdev.c
index e9ae3d5..0790a38 100755
--- a/kernel/drivers/input/evdev.c
+++ b/kernel/drivers/input/evdev.c
@@ -1454,11 +1454,21 @@ static const struct input_device_id evdev_ids[] = {
{ }, /* Terminating zero entry */
};
+static bool evdev_match(struct input_handler *handler, struct input_dev *dev)
+{
+ /* Avoid EETI USB touchscreens */
+ #define VID_EETI 0x0EEF
+ if ((BUS_USB == dev->id.bustype) && (VID_EETI == dev->id.vendor))
+ return false;
+ return true;
+}
+
MODULE_DEVICE_TABLE(input, evdev_ids);
static struct input_handler evdev_handler = {
.event = evdev_event,
.events = evdev_events,
+ .match = evdev_match, /* Added by EETI*/
.connect = evdev_connect,
.disconnect = evdev_disconnect,
.legacy_minors = true,
diff --git a/kernel/drivers/input/joydev.c b/kernel/drivers/input/joydev.c
index 5d11fea..1763abe 100755
--- a/kernel/drivers/input/joydev.c
+++ b/kernel/drivers/input/joydev.c
@@ -804,7 +804,10 @@ static bool joydev_match(struct input_handler *handler, struct input_dev *dev)
/* Avoid tablets, digitisers and similar devices */
if (test_bit(EV_KEY, dev->evbit) && test_bit(BTN_DIGI, dev->keybit))
return false;
-
+ /* Avoid EETI virtual devices */
+ #define VID_EETI 0x0EEF
+ if (( BUS_VIRTUAL == dev->id.bustype) && (VID_EETI == dev->id.vendor))
+ return false;
/* Avoid absolute mice */
if (joydev_dev_is_absolute_mouse(dev))
return false;
diff --git a/kernel/drivers/input/mousedev.c b/kernel/drivers/input/mousedev.c
index 30328e5..a3d2180 100755
--- a/kernel/drivers/input/mousedev.c
+++ b/kernel/drivers/input/mousedev.c
@@ -1057,11 +1057,24 @@ static const struct input_device_id mousedev_ids[] = {
{ }, /* Terminating entry */
};
+static bool mousedev_match(struct input_handler *handler, struct input_dev *dev)
+{
+ /* Avoid EETI USB touchscreens */
+ #define VID_EETI 0x0EEF
+ if ((BUS_USB == dev->id.bustype) && (VID_EETI == dev->id.vendor))
+ return false;
+ /* Avoid EETI virtual devices */
+ if ((BUS_VIRTUAL == dev->id.bustype) && (VID_EETI == dev->id.vendor))
+ return false;
+ return true;
+}
+
MODULE_DEVICE_TABLE(input, mousedev_ids);
static struct input_handler mousedev_handler = {
.event = mousedev_event,
.connect = mousedev_connect,
+ .match = mousedev_match, /* Added by EETI */
.disconnect = mousedev_disconnect,
.legacy_minors = true,
.minor = MOUSEDEV_MINOR_BASE,
diff --git a/system/core/rootdir/init.rc b/system/core/rootdir/init.rc
index d6fb7da..e1bf610 100755
--- a/system/core/rootdir/init.rc
+++ b/system/core/rootdir/init.rc
@@ -692,4 +692,9 @@ service lcdparamservice /system/bin/lcdparamservice
user root
group root
oneshot
-
\ No newline at end of file
+
+service eGTouchD /system/bin/eGTouchD
+ class main
+ user root
+ group root
+ oneshot
\ No newline at end of file

浙公网安备 33010602011771号