* [PATCH 2/4] HID: wacom: move all quirks to wacom_setup_device_quirks
@ 2015-04-15 23:53 Ping Cheng
2015-04-16 23:52 ` Jason Gerecke
0 siblings, 1 reply; 3+ messages in thread
From: Ping Cheng @ 2015-04-15 23:53 UTC (permalink / raw)
To: jkosina; +Cc: linux-input, Ping Cheng
It makes probe routine easy to follow.
Signed-off-by: Ping Cheng <pingc@wacom.com>
---
drivers/hid/wacom.h | 2 +-
drivers/hid/wacom_sys.c | 39 +--------------------------------------
drivers/hid/wacom_wac.c | 30 +++++++++++++++++++++++++++++-
3 files changed, 31 insertions(+), 40 deletions(-)
diff --git a/drivers/hid/wacom.h b/drivers/hid/wacom.h
index ad7318d..0f189c2 100644
--- a/drivers/hid/wacom.h
+++ b/drivers/hid/wacom.h
@@ -132,7 +132,7 @@ static inline void wacom_schedule_work(struct wacom_wac *wacom_wac)
extern const struct hid_device_id wacom_ids[];
void wacom_wac_irq(struct wacom_wac *wacom_wac, size_t len);
-void wacom_setup_device_quirks(struct wacom_features *features);
+void wacom_setup_device_quirks(struct wacom *wacom);
int wacom_setup_pentouch_input_capabilities(struct input_dev *input_dev,
struct wacom_wac *wacom_wac);
int wacom_setup_pad_input_capabilities(struct input_dev *input_dev,
diff --git a/drivers/hid/wacom_sys.c b/drivers/hid/wacom_sys.c
index 4c5d924..ca30eab 100644
--- a/drivers/hid/wacom_sys.c
+++ b/drivers/hid/wacom_sys.c
@@ -1504,44 +1504,7 @@ static int wacom_probe(struct hid_device *hdev,
/* Retrieve the physical and logical size for touch devices */
wacom_retrieve_hid_descriptor(hdev, features);
- /*
- * Intuos5 has no useful data about its touch interface in its
- * HID descriptor. If this is the touch interface (PacketSize
- * of WACOM_PKGLEN_BBTOUCH3), override the table values.
- */
- if (features->type >= INTUOS5S && features->type <= INTUOSHT) {
- if (features->pktlen == WACOM_PKGLEN_BBTOUCH3) {
- features->device_type = BTN_TOOL_FINGER;
-
- features->x_max = 4096;
- features->y_max = 4096;
- } else {
- features->device_type = BTN_TOOL_PEN;
- }
- }
-
- /*
- * Same thing for Bamboo 3rd gen.
- */
- if ((features->type == BAMBOO_PT) &&
- (features->pktlen == WACOM_PKGLEN_BBTOUCH3) &&
- (features->device_type == BTN_TOOL_PEN)) {
- features->device_type = BTN_TOOL_FINGER;
-
- features->x_max = 4096;
- features->y_max = 4096;
- }
-
- /*
- * Same thing for Bamboo PAD
- */
- if (features->type == BAMBOO_PAD)
- features->device_type = BTN_TOOL_FINGER;
-
- if (hdev->bus == BUS_BLUETOOTH)
- features->quirks |= WACOM_QUIRK_BATTERY;
-
- wacom_setup_device_quirks(features);
+ wacom_setup_device_quirks(wacom);
/* set unit to "100th of a mm" for devices not reported by HID */
if (!features->unit) {
diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c
index 69c7df7..952ed4c 100644
--- a/drivers/hid/wacom_wac.c
+++ b/drivers/hid/wacom_wac.c
@@ -2164,8 +2164,9 @@ static void wacom_setup_intuos(struct wacom_wac *wacom_wac)
input_set_abs_params(input_dev, ABS_THROTTLE, -1023, 1023, 0, 0);
}
-void wacom_setup_device_quirks(struct wacom_features *features)
+void wacom_setup_device_quirks(struct wacom *wacom)
{
+ struct wacom_features *features = &wacom->wacom_wac.features;
/* touch device found but size is not defined. use default */
if (features->device_type == BTN_TOOL_FINGER && !features->x_max) {
@@ -2173,6 +2174,33 @@ void wacom_setup_device_quirks(struct wacom_features *features)
features->y_max = 1023;
}
+ /*
+ * Intuos5/Pro and Bamboo 3rd gen have no useful data about its
+ * touch interface in its HID descriptor. If this is the touch
+ * interface (PacketSize of WACOM_PKGLEN_BBTOUCH3), override the
+ * tablet values.
+ */
+ if ((features->type >= INTUOS5S && features->type <= INTUOSHT) ||
+ (features->type == BAMBOO_PT)) {
+ if (features->pktlen == WACOM_PKGLEN_BBTOUCH3) {
+ features->device_type = BTN_TOOL_FINGER;
+
+ features->x_max = 4096;
+ features->y_max = 4096;
+ } else {
+ features->device_type = BTN_TOOL_PEN;
+ }
+ }
+
+ /*
+ * Same thing for Bamboo PAD
+ */
+ if (features->type == BAMBOO_PAD)
+ features->device_type = BTN_TOOL_FINGER;
+
+ if (wacom->hdev->bus == BUS_BLUETOOTH)
+ features->quirks |= WACOM_QUIRK_BATTERY;
+
/* quirk for bamboo touch with 2 low res touches */
if (features->type == BAMBOO_PT &&
features->pktlen == WACOM_PKGLEN_BBTOUCH) {
--
1.9.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 2/4] HID: wacom: move all quirks to wacom_setup_device_quirks
2015-04-15 23:53 [PATCH 2/4] HID: wacom: move all quirks to wacom_setup_device_quirks Ping Cheng
@ 2015-04-16 23:52 ` Jason Gerecke
2015-04-23 8:04 ` Jiri Kosina
0 siblings, 1 reply; 3+ messages in thread
From: Jason Gerecke @ 2015-04-16 23:52 UTC (permalink / raw)
To: Ping Cheng, jkosina; +Cc: linux-input, Ping Cheng
On 4/15/2015 4:53 PM, Ping Cheng wrote:
> It makes probe routine easy to follow.
>
> Signed-off-by: Ping Cheng <pingc@wacom.com>
For patches 2-4, Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com>
Jason
---
Now instead of four in the eights place /
you’ve got three, ‘Cause you added one /
(That is to say, eight) to the two, /
But you can’t take seven from three, /
So you look at the sixty-fours....
> ---
> drivers/hid/wacom.h | 2 +-
> drivers/hid/wacom_sys.c | 39 +--------------------------------------
> drivers/hid/wacom_wac.c | 30 +++++++++++++++++++++++++++++-
> 3 files changed, 31 insertions(+), 40 deletions(-)
>
> diff --git a/drivers/hid/wacom.h b/drivers/hid/wacom.h
> index ad7318d..0f189c2 100644
> --- a/drivers/hid/wacom.h
> +++ b/drivers/hid/wacom.h
> @@ -132,7 +132,7 @@ static inline void wacom_schedule_work(struct wacom_wac *wacom_wac)
> extern const struct hid_device_id wacom_ids[];
>
> void wacom_wac_irq(struct wacom_wac *wacom_wac, size_t len);
> -void wacom_setup_device_quirks(struct wacom_features *features);
> +void wacom_setup_device_quirks(struct wacom *wacom);
> int wacom_setup_pentouch_input_capabilities(struct input_dev *input_dev,
> struct wacom_wac *wacom_wac);
> int wacom_setup_pad_input_capabilities(struct input_dev *input_dev,
> diff --git a/drivers/hid/wacom_sys.c b/drivers/hid/wacom_sys.c
> index 4c5d924..ca30eab 100644
> --- a/drivers/hid/wacom_sys.c
> +++ b/drivers/hid/wacom_sys.c
> @@ -1504,44 +1504,7 @@ static int wacom_probe(struct hid_device *hdev,
> /* Retrieve the physical and logical size for touch devices */
> wacom_retrieve_hid_descriptor(hdev, features);
>
> - /*
> - * Intuos5 has no useful data about its touch interface in its
> - * HID descriptor. If this is the touch interface (PacketSize
> - * of WACOM_PKGLEN_BBTOUCH3), override the table values.
> - */
> - if (features->type >= INTUOS5S && features->type <= INTUOSHT) {
> - if (features->pktlen == WACOM_PKGLEN_BBTOUCH3) {
> - features->device_type = BTN_TOOL_FINGER;
> -
> - features->x_max = 4096;
> - features->y_max = 4096;
> - } else {
> - features->device_type = BTN_TOOL_PEN;
> - }
> - }
> -
> - /*
> - * Same thing for Bamboo 3rd gen.
> - */
> - if ((features->type == BAMBOO_PT) &&
> - (features->pktlen == WACOM_PKGLEN_BBTOUCH3) &&
> - (features->device_type == BTN_TOOL_PEN)) {
> - features->device_type = BTN_TOOL_FINGER;
> -
> - features->x_max = 4096;
> - features->y_max = 4096;
> - }
> -
> - /*
> - * Same thing for Bamboo PAD
> - */
> - if (features->type == BAMBOO_PAD)
> - features->device_type = BTN_TOOL_FINGER;
> -
> - if (hdev->bus == BUS_BLUETOOTH)
> - features->quirks |= WACOM_QUIRK_BATTERY;
> -
> - wacom_setup_device_quirks(features);
> + wacom_setup_device_quirks(wacom);
>
> /* set unit to "100th of a mm" for devices not reported by HID */
> if (!features->unit) {
> diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c
> index 69c7df7..952ed4c 100644
> --- a/drivers/hid/wacom_wac.c
> +++ b/drivers/hid/wacom_wac.c
> @@ -2164,8 +2164,9 @@ static void wacom_setup_intuos(struct wacom_wac *wacom_wac)
> input_set_abs_params(input_dev, ABS_THROTTLE, -1023, 1023, 0, 0);
> }
>
> -void wacom_setup_device_quirks(struct wacom_features *features)
> +void wacom_setup_device_quirks(struct wacom *wacom)
> {
> + struct wacom_features *features = &wacom->wacom_wac.features;
>
> /* touch device found but size is not defined. use default */
> if (features->device_type == BTN_TOOL_FINGER && !features->x_max) {
> @@ -2173,6 +2174,33 @@ void wacom_setup_device_quirks(struct wacom_features *features)
> features->y_max = 1023;
> }
>
> + /*
> + * Intuos5/Pro and Bamboo 3rd gen have no useful data about its
> + * touch interface in its HID descriptor. If this is the touch
> + * interface (PacketSize of WACOM_PKGLEN_BBTOUCH3), override the
> + * tablet values.
> + */
> + if ((features->type >= INTUOS5S && features->type <= INTUOSHT) ||
> + (features->type == BAMBOO_PT)) {
> + if (features->pktlen == WACOM_PKGLEN_BBTOUCH3) {
> + features->device_type = BTN_TOOL_FINGER;
> +
> + features->x_max = 4096;
> + features->y_max = 4096;
> + } else {
> + features->device_type = BTN_TOOL_PEN;
> + }
> + }
> +
> + /*
> + * Same thing for Bamboo PAD
> + */
> + if (features->type == BAMBOO_PAD)
> + features->device_type = BTN_TOOL_FINGER;
> +
> + if (wacom->hdev->bus == BUS_BLUETOOTH)
> + features->quirks |= WACOM_QUIRK_BATTERY;
> +
> /* quirk for bamboo touch with 2 low res touches */
> if (features->type == BAMBOO_PT &&
> features->pktlen == WACOM_PKGLEN_BBTOUCH) {
>
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 2/4] HID: wacom: move all quirks to wacom_setup_device_quirks
2015-04-16 23:52 ` Jason Gerecke
@ 2015-04-23 8:04 ` Jiri Kosina
0 siblings, 0 replies; 3+ messages in thread
From: Jiri Kosina @ 2015-04-23 8:04 UTC (permalink / raw)
To: Jason Gerecke; +Cc: Ping Cheng, linux-input, Ping Cheng
On Thu, 16 Apr 2015, Jason Gerecke wrote:
> On 4/15/2015 4:53 PM, Ping Cheng wrote:
> > It makes probe routine easy to follow.
> >
> > Signed-off-by: Ping Cheng <pingc@wacom.com>
>
> For patches 2-4, Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com>
2-4 applied to for-4.2/wacom.
--
Jiri Kosina
SUSE Labs
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-04-23 8:04 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-15 23:53 [PATCH 2/4] HID: wacom: move all quirks to wacom_setup_device_quirks Ping Cheng
2015-04-16 23:52 ` Jason Gerecke
2015-04-23 8:04 ` Jiri Kosina
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.