Re: [PATCH 2/7 v3] HID: magicmouse: simplify multitouch feature request

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>
> > 
> > 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@xxxxxxxxxxxxx>
> > Acked-by: Michael Poole <mdpoole@xxxxxxxxxxx>
> > ---
> 
> 
> 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@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 



--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux