summaryrefslogtreecommitdiffstats
path: root/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0002-faytech-fix-rpi.patch
blob: 00e369205f8a3960c47bdb1cd49599059491adb6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
From f9fefc63456dd50eeec727ae2fbc13b0d84eb44e Mon Sep 17 00:00:00 2001
From: Tom Pollard <tom.pollard@codethink.co.uk>
Date: Wed, 6 Apr 2016 07:47:25 +0000
Subject: [PATCH 1/1] Fix lack of touch up for Faytech 10" Touchscreen MonitorV2

NOTE: This is a very temporary hack that is not in a state to be upstreamed yet.
---
Index: a/drivers/hid/hid-multitouch.c
===================================================================
--- a/drivers/hid/hid-multitouch.c	2016-07-05 08:45:06.006466000 +0000
+++ b/drivers/hid/hid-multitouch.c	2016-07-05 08:48:44.574466000 +0000
@@ -205,7 +205,6 @@
 	{ .name = MT_CLS_WIN_8,
 		.quirks = MT_QUIRK_ALWAYS_VALID |
 			MT_QUIRK_IGNORE_DUPLICATES |
-			MT_QUIRK_HOVERING |
 			MT_QUIRK_CONTACT_CNT_ACCURATE },
 	{ .name = MT_CLS_EXPORT_ALL_INPUTS,
 		.quirks = MT_QUIRK_ALWAYS_VALID |
@@ -396,11 +395,6 @@
 			td->is_buttonpad = true;
 
 		break;
-	case 0xff0000c5:
-		/* Retrieve the Win8 blob once to enable some devices */
-		if (usage->usage_index == 0)
-			mt_get_feature(hdev, field->report);
-		break;
 	}
 }
 
-- 
1.9.1
;../can/can-signals.hpp" #include "../diagnostic/diagnostic-message.hpp" #include "../binding/low-can-subscription.hpp" namespace utils { struct signals_found { std::vector<std::shared_ptr<can_signal_t> > can_signals; std::vector<std::shared_ptr<diagnostic_message_t> > diagnostic_messages; }; /// @brief Signal manager singleton hold subscription object with attached afb_event and its mutex /// to read and write it safely. /// It can be used to browse CAN signals and Diagnostic messages vectors and find a particular signal to /// subscribe to. class signals_manager_t { private: std::mutex subscribed_signals_mutex_; std::map<int, std::shared_ptr<low_can_subscription_t> > subscribed_signals_; ///< Map containing all subscribed signals, key is the socket int value. signals_manager_t(); ///< Private constructor to make singleton class. public: static signals_manager_t& instance(); std::mutex& get_subscribed_signals_mutex(); std::map<int, std::shared_ptr<low_can_subscription_t> >& get_subscribed_signals(); struct signals_found find_signals(const openxc_DynamicField &key); void find_diagnostic_messages(const openxc_DynamicField &key, std::vector<std::shared_ptr<diagnostic_message_t> >& found_signals); void find_can_signals(const openxc_DynamicField &key, std::vector<std::shared_ptr<can_signal_t> >& found_signals); template <typename T> void lookup_signals_by_name(const std::string& key, std::vector<std::shared_ptr<T> > signals, std::vector<std::shared_ptr<T> >& found_signals) { for(std::shared_ptr<T> s : signals) { if(::fnmatch(key.c_str(), s->get_generic_name().c_str(), FNM_CASEFOLD) == 0) found_signals.push_back(s); else if(::fnmatch(key.c_str(), s->get_name().c_str(), FNM_CASEFOLD) == 0) found_signals.push_back(s); } } template <typename T> void lookup_signals_by_id(const double key, std::vector<std::shared_ptr<T> > signals, std::vector<std::shared_ptr<T> >& found_signals) { for(std::shared_ptr<T> s : signals) { if(application_t::instance().get_signal_id(*s) == key) { found_signals.push_back(s); } } } }; }