All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Justin P. Mattock" <justinmattock@gmail.com>
To: Jiri Kosina <jkosina@suse.cz>
Cc: linux-bluetooth@vger.kernel.org, linux-kernel@vger.kernel.org,
	mdpoole@troilus.org
Subject: Re: [PATCH] HID:magicmouse: This fixes a connection problem with the magicmouse.
Date: Wed, 12 May 2010 06:39:40 -0700	[thread overview]
Message-ID: <4BEAAF9C.909@gmail.com> (raw)
In-Reply-To: <alpine.LNX.2.00.1005121456150.28092@pobox.suse.cz>

On 05/12/2010 05:58 AM, Jiri Kosina wrote:
> On Tue, 11 May 2010, Justin P. Mattock wrote:
>
>    
>> With the latest HEAD, I've noticed that I needed to add: HIDRAW=y in
>> order for my apple magicmouse to connect. After receiving some posts, it
>> seems this it not the case(HIDRAW just relays HID events to userspace).
>>
>> The bisect results of this issue resulted in commit: HID:magicmouse: fix
>> oops after device removal.
>> (hash:28918c211d86b6eeb70182c523800c7bc442960c)
>>
>> After examining this commit, I've noticed that HID_CONNECT_DEFAULT has
>> also an entry in there of HID_CONNECT_HIDINPUT, not sure what "~" means,
>>      
> ~ is zeroing out the HID_CONENCT_HIDINPUT bits from the connect mask, as
> magicmouse driver is handling the input itself.
>
>    
ah.. cool thanks for that..(I still have lots to learn(so many 
expressions)).
>> before HID_CONNECT_HIDINPUT, but after removing
>> this(correct me if I'm wrong)"double" definition,
>> I'm able to have my magicmouse connect without the
>> need of HIDRAW, and also this in dmesg:
>>
>> magicmouse 0005:05AC:030D.0004: claimed by neither input, hiddev nor hidraw
>> magicmouse 0005:05AC:030D.0004: magicmouse hw start failed
>>
>> and as well as the crash that the above commit fixes when waking
>> up from suspend(mouse connects perfectly upon wakeup).
>>
>> Please have a look, and if this works, take it
>> if theres another solution let me know.
>> (so I can enjoy the power of the magicmouse!!).
>>
>>
>> Signed-off-by: Justin P. Mattock<justinmattock@gmail.com>
>>
>> ---
>>   drivers/hid/hid-magicmouse.c |    2 +-
>>   1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/drivers/hid/hid-magicmouse.c b/drivers/hid/hid-magicmouse.c
>> index 0d471fc..0de5e96 100644
>> --- a/drivers/hid/hid-magicmouse.c
>> +++ b/drivers/hid/hid-magicmouse.c
>> @@ -354,7 +354,7 @@ static int magicmouse_probe(struct hid_device *hdev,
>>   		goto err_free;
>>   	}
>>
>> -	ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT&  ~HID_CONNECT_HIDINPUT);
>> +	ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT);
>>      
> This is not particularly right, as we'll end up having dangling input
> device.
>
> The problem is, that when HIDRAW is not set, hid_hw_start() returns ENODEV
> as no subsystem has claimed the device, and probe routine bails out. Which
> is not what we want.
>
> Does the testing patch below fix the problems you are seeing?
>
>
>    
works good.. rebooted a few times
mouse connects. suspended a few times mouse reconnects.
> diff --git a/drivers/hid/hid-magicmouse.c b/drivers/hid/hid-magicmouse.c
> index 0d471fc..f10d56a 100644
> --- a/drivers/hid/hid-magicmouse.c
> +++ b/drivers/hid/hid-magicmouse.c
> @@ -354,12 +354,15 @@ static int magicmouse_probe(struct hid_device *hdev,
>   		goto err_free;
>   	}
>
> -	ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT&  ~HID_CONNECT_HIDINPUT);
> +	ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT);
>   	if (ret) {
>   		dev_err(&hdev->dev, "magicmouse hw start failed\n");
>   		goto err_free;
>   	}
>
> +	/* we are handling the input ourselves */
> +	hidinput_disconnect(hdev);
> +
>   	report = hid_register_report(hdev, HID_INPUT_REPORT, TOUCH_REPORT_ID);
>   	if (!report) {
>   		dev_err(&hdev->dev, "unable to register touch report\n");
>
>    

looks good over here.. If you'd like I can re-du
this patch, add your sign off etc.. and re-send,
or not worry.. either way this little quirk/problem
is fixed.

Justin P. Mattock

  reply	other threads:[~2010-05-12 13:39 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-11 16:29 [PATCH] HID:magicmouse: This fixes a connection problem with the magicmouse Justin P. Mattock
2010-05-12 12:58 ` Jiri Kosina
2010-05-12 13:39   ` Justin P. Mattock [this message]
2010-05-12 13:41     ` Jiri Kosina
2010-05-12 13:54       ` Michael Poole
2010-05-12 13:57       ` Justin P. Mattock
2010-05-12 14:03         ` Jiri Kosina
2010-05-12 14:25           ` Justin P. Mattock

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4BEAAF9C.909@gmail.com \
    --to=justinmattock@gmail.com \
    --cc=jkosina@suse.cz \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mdpoole@troilus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.