lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 01 Sep 2010 08:34:35 -0400
From:	Chase Douglas <chase.douglas@...onical.com>
To:	Henrik Rydberg <rydberg@...omail.se>
Cc:	Jiri Kosina <jkosina@...e.cz>, Michael Poole <mdpoole@...ilus.org>,
	Tejun Heo <tj@...nel.org>, linux-input@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/7 v3] HID: magicmouse: simplify multitouch feature
 request

On Wed, 2010-09-01 at 09:43 +0200, Henrik Rydberg wrote:
> On 09/01/2010 03:56 AM, Chase Douglas wrote:
> 
> > From: Chase Douglas <chase.douglas@...ntu.com>
> > 
> > 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 <chase.douglas@...onical.com>
> > Acked-by: Michael Poole <mdpoole@...ilus.org>
> > ---
> 
> 
> 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.

> >  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);
> 
> > -	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@...r.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ