Re: [PATCH 2/7 v3] HID: magicmouse: simplify multitouch feature request
From: Chase Douglas <hidden>
Date: 2010-09-01 12:34:51
Also in:
lkml
On Wed, 2010-09-01 at 09:43 +0200, Henrik Rydberg wrote:
On 09/01/2010 03:56 AM, Chase Douglas wrote:quoted
From: Chase Douglas <redacted> Only the first feature request is required to put the Magic Mouse into multitouch mode. This is also the case for the Magic Trackpad, for which support will be added in a later commit. Signed-off-by: Chase Douglas <redacted> Acked-by: Michael Poole <redacted> ---Since this is starting to look awfully similar to the mode switch found in appletouch and bcm5974, I wonder what happens to the stream from the device when the connection to hid is closed. It could be that the mode switch should be moved to open/close instead.
I don't really understand what you are proposing. It sounds like maybe you want the device to continue to function in a non-multitouch way after hid disconnection, but the device needs hid to function at all. The closest thing I can think to what you are saying is to do whatever it takes on module removal so that it goes back to functioning in the non-multitouch mode. That may be possible.
quoted
drivers/hid/hid-magicmouse.c | 16 ++++------------ 1 files changed, 4 insertions(+), 12 deletions(-)diff --git a/drivers/hid/hid-magicmouse.c b/drivers/hid/hid-magicmouse.c index d38b529..8a2fe78 100644 --- a/drivers/hid/hid-magicmouse.c +++ b/drivers/hid/hid-magicmouse.c@@ -380,8 +380,7 @@ static void magicmouse_setup_input(struct input_dev *input, struct hid_device *h static int magicmouse_probe(struct hid_device *hdev, const struct hid_device_id *id) { - __u8 feature_1[] = { 0xd7, 0x01 }; - __u8 feature_2[] = { 0xf8, 0x01, 0x32 }; + __u8 feature[] = { 0xd7, 0x01 }; struct input_dev *input; struct magicmouse_sc *msc; struct hid_report *report;@@ -426,17 +425,10 @@ static int magicmouse_probe(struct hid_device *hdev, } report->size = 6; - ret = hdev->hid_output_raw_report(hdev, feature_1, sizeof(feature_1), + ret = hdev->hid_output_raw_report(hdev, feature, sizeof(feature), HID_FEATURE_REPORT);quoted
- if (ret != sizeof(feature_1)) { - dev_err(&hdev->dev, "unable to request touch data (1:%d)\n", - ret); - goto err_stop_hw; - } - ret = hdev->hid_output_raw_report(hdev, feature_2, - sizeof(feature_2), HID_FEATURE_REPORT); - if (ret != sizeof(feature_2)) { - dev_err(&hdev->dev, "unable to request touch data (2:%d)\n", + if (ret != sizeof(feature)) { + dev_err(&hdev->dev, "unable to request touch data (%d)\n", ret); goto err_stop_hw; }-- 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