* Re: suspend
[not found] ` <e79639220804030153q46fa82c7jb79bedbe88b30df7-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2008-04-03 10:31 ` Oliver Neukum
[not found] ` <200804031231.19193.oliver-GvhC2dPhHPQdnm+yROfE0A@public.gmane.org>
0 siblings, 1 reply; 16+ messages in thread
From: Oliver Neukum @ 2008-04-03 10:31 UTC (permalink / raw)
To: Stefan Schweizer
Cc: linux-usb-u79uwXL29TY76Z2rM5mHXA,
linux-input-u79uwXL29TY76Z2rM5mHXA
Am Donnerstag, 3. April 2008 10:53:53 schrieb Stefan Schweizer:
> > On second thought, this should be fixed by usb persist if the appletouch
> > driver supported reset_resume. Would you be willing to test a kernel patch
> > that implements reset_resume in the appletouch driver?
>
> Sure, I would love to have this fixed :-)
Then, here's the patch. Testing this is not trivial. Please
compile your kernel with CONFIG_USB_SUSPEND and CONFIG_USB_PERSIST.
To use the feature you need to switch it on as described in
Documentation/usb/persist.txt
Regards
Oliver
----
--- linux-2.6.25-rc7-vanilla/drivers/input/mouse/appletouch.c 2008-03-31 15:16:40.000000000 +0200
+++ linux-2.6.25-rc7-work/drivers/input/mouse/appletouch.c 2008-04-03 12:17:01.000000000 +0200
@@ -32,6 +32,7 @@
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/module.h>
+#include <linux/mutex.h>
#include <linux/usb/input.h>
/* Apple has powerbooks which have the keyboard with different Product IDs */
@@ -158,6 +159,7 @@ struct atp {
int datalen; /* size of an USB urb transfer */
int idlecount; /* number of empty packets */
struct work_struct work;
+ struct mutex lock;
};
#define dbg_dump(msg, tab) \
@@ -562,10 +564,14 @@ static int atp_open(struct input_dev *in
{
struct atp *dev = input_get_drvdata(input);
- if (usb_submit_urb(dev->urb, GFP_ATOMIC))
+ mutex_lock(&dev->lock);
+ if (usb_submit_urb(dev->urb, GFP_KERNEL)) {
+ mutex_unlock(&dev->lock);
return -EIO;
+ }
dev->open = 1;
+ mutex_unlock(&dev->lock);
return 0;
}
@@ -573,9 +579,25 @@ static void atp_close(struct input_dev *
{
struct atp *dev = input_get_drvdata(input);
+ mutex_lock(&dev->lock);
usb_kill_urb(dev->urb);
cancel_work_sync(&dev->work);
dev->open = 0;
+ mutex_unlock(&dev->lock);
+}
+
+static int handle_geyser(struct atp *dev)
+{
+ struct usb_device *udev = dev->udev;
+
+ if (!atp_is_fountain(dev)) {
+ /* switch to raw sensor mode */
+ if (atp_geyser_init(udev))
+ return -EIO;
+
+ printk(KERN_INFO "appletouch: Geyser mode initialized.\n");
+ }
+ return 0;
}
static int atp_probe(struct usb_interface *iface, const struct usb_device_id *id)
@@ -612,6 +634,7 @@ static int atp_probe(struct usb_interfac
goto err_free_devs;
}
+ mutex_init(&dev->lock);
dev->udev = udev;
dev->input = input_dev;
dev->overflowwarn = 0;
@@ -622,13 +645,8 @@ static int atp_probe(struct usb_interfac
else
dev->datalen = 81;
- if (!atp_is_fountain(dev)) {
- /* switch to raw sensor mode */
- if (atp_geyser_init(udev))
- goto err_free_devs;
-
- printk(KERN_INFO "appletouch: Geyser mode initialized.\n");
- }
+ if (handle_geyser(dev) < 0)
+ goto err_free_devs;
dev->urb = usb_alloc_urb(0, GFP_KERNEL);
if (!dev->urb)
@@ -747,18 +765,63 @@ static int atp_resume(struct usb_interfa
{
struct atp *dev = usb_get_intfdata(iface);
- if (dev->open && usb_submit_urb(dev->urb, GFP_ATOMIC))
+ if (dev->open && usb_submit_urb(dev->urb, GFP_NOIO))
return -EIO;
return 0;
}
+static int recover_dev(struct atp *dev)
+{
+ int rv;
+
+ rv = handle_geyser(dev);
+ if (rv < 0)
+ return rv;
+
+ if (dev->open && usb_submit_urb(dev->urb, GFP_NOIO))
+ return -EIO;
+
+ return 0;
+}
+
+static int atp_pre_reset(struct usb_interface *iface)
+{
+ struct atp *dev = usb_get_intfdata(iface);
+
+ mutex_lock(&dev->lock);
+ if (dev->open)
+ usb_kill_urb(dev->urb);
+
+ return 0;
+}
+
+static int atp_post_reset(struct usb_interface *iface)
+{
+ struct atp *dev = usb_get_intfdata(iface);
+ int rv;
+
+ rv = recover_dev(dev);
+ mutex_unlock(&dev->lock);
+ return rv;
+}
+
+static int atp_reset_resume(struct usb_interface *iface)
+{
+ struct atp *dev = usb_get_intfdata(iface);
+
+ return recover_dev(dev);
+}
+
static struct usb_driver atp_driver = {
.name = "appletouch",
.probe = atp_probe,
.disconnect = atp_disconnect,
.suspend = atp_suspend,
.resume = atp_resume,
+ .reset_resume = atp_reset_resume,
+ .pre_reset = atp_pre_reset,
+ .post_reset = atp_post_reset,
.id_table = atp_table,
};
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: suspend
[not found] ` <e79639220804030153q46fa82c7jb79bedbe88b30df7@mail.gmail.com>
[not found] ` <e79639220804030153q46fa82c7jb79bedbe88b30df7-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2008-04-03 10:58 ` Oliver Neukum
2008-04-03 14:14 ` suspend Stefan Schweizer
1 sibling, 1 reply; 16+ messages in thread
From: Oliver Neukum @ 2008-04-03 10:58 UTC (permalink / raw)
To: Stefan Schweizer; +Cc: linux-usb, linux-input
Am Donnerstag, 3. April 2008 10:53:53 schrieb Stefan Schweizer:
> > On second thought, this should be fixed by usb persist if the appletouch
> > driver supported reset_resume. Would you be willing to test a kernel patch
> > that implements reset_resume in the appletouch driver?
>
> Sure, I would love to have this fixed :-)
Hi,
here I have another test request. This patch on top of the earlier patch
implements autosuspend for the appletouch driver. Can you try it? You
also need to activate it as described in Documentation/usb/power-management.txt
Regards
Oliver
---
--- linux-2.6.25-rc7-work/drivers/input/mouse/appletouch.c.alt 2008-04-03 12:46:06.000000000 +0200
+++ linux-2.6.25-rc7-work/drivers/input/mouse/appletouch.c 2008-04-03 12:46:24.000000000 +0200
@@ -572,16 +572,26 @@ exit:
static int atp_open(struct input_dev *input)
{
struct atp *dev = input_get_drvdata(input);
+ int rv;
mutex_lock(&dev->lock);
- if (usb_submit_urb(dev->urb, GFP_KERNEL)) {
- mutex_unlock(&dev->lock);
- return -EIO;
- }
+
+ rv = usb_autopm_get_interface(dev->intf);
+ if ( rv < 0)
+ goto err_out;
+
+ rv = usb_submit_urb(dev->urb, GFP_KERNEL);
+ if (rv < 0)
+ goto err_put;
dev->open = 1;
+ dev->intf->needs_remote_wakeup = 1;
+
+err_put:
+ usb_autopm_put_interface(dev->intf);
+err_out:
mutex_unlock(&dev->lock);
- return 0;
+ return rv;
}
static void atp_close(struct input_dev *input)
@@ -592,6 +602,7 @@ static void atp_close(struct input_dev *
usb_kill_urb(dev->urb);
cancel_work_sync(&dev->work);
dev->open = 0;
+ dev->intf->needs_remote_wakeup = 0;
mutex_unlock(&dev->lock);
}
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: suspend
2008-04-03 10:58 ` suspend Oliver Neukum
@ 2008-04-03 14:14 ` Stefan Schweizer
2008-04-03 21:07 ` suspend Oliver Neukum
0 siblings, 1 reply; 16+ messages in thread
From: Stefan Schweizer @ 2008-04-03 14:14 UTC (permalink / raw)
To: Oliver Neukum; +Cc: linux-usb, linux-input
On Thu, Apr 3, 2008 at 12:58 PM, Oliver Neukum <oliver@neukum.org> wrote:
> here I have another test request. This patch on top of the earlier patch
> implements autosuspend for the appletouch driver. Can you try it? You
> also need to activate it as described in Documentation/usb/power-management.txt
this one fails to build with several
struct atp has no element intf
errors.
trying the other one only now
regards,
Stefan
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: suspend
[not found] ` <200804031231.19193.oliver-GvhC2dPhHPQdnm+yROfE0A@public.gmane.org>
@ 2008-04-03 15:44 ` Stefan Schweizer
2008-04-03 20:42 ` suspend Oliver Neukum
0 siblings, 1 reply; 16+ messages in thread
From: Stefan Schweizer @ 2008-04-03 15:44 UTC (permalink / raw)
To: Oliver Neukum
Cc: linux-usb-u79uwXL29TY76Z2rM5mHXA,
linux-input-u79uwXL29TY76Z2rM5mHXA
Cannot seem to find the persist attribute even after this patch applied :((
CONFIG_USB_PERSIST is enabled, but other drivers do not provide it.
However this is 2.6.24 - I will try it on 2.6.25 now.
macbook linux # ls -dl /sys/bus/usb/devices/1-2\:1.1/driver
lrwxrwxrwx 1 root root 0 3. Apr 17:12
/sys/bus/usb/devices/1-2:1.1/driver ->
../../../../../../bus/usb/drivers/appletouch
macbook linux # find /sys/bus/usb/devices/1-2\:1.1/ | grep power
/sys/bus/usb/devices/1-2:1.1/power
/sys/bus/usb/devices/1-2:1.1/power/wakeup
/sys/bus/usb/devices/1-2:1.1/input/input7/power
/sys/bus/usb/devices/1-2:1.1/input/input7/power/wakeup
/sys/bus/usb/devices/1-2:1.1/input/input7/mouse2/power
/sys/bus/usb/devices/1-2:1.1/input/input7/mouse2/power/wakeup
/sys/bus/usb/devices/1-2:1.1/input/input7/event7/power
/sys/bus/usb/devices/1-2:1.1/input/input7/event7/power/wakeup
/sys/bus/usb/devices/1-2:1.1/usb_endpoint/usbdev1.5_ep81/power
/sys/bus/usb/devices/1-2:1.1/usb_endpoint/usbdev1.5_ep81/power/wakeup
Best regards,
Stefan
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: suspend
2008-04-03 15:44 ` suspend Stefan Schweizer
@ 2008-04-03 20:42 ` Oliver Neukum
[not found] ` <200804032242.36493.oliver-GvhC2dPhHPQdnm+yROfE0A@public.gmane.org>
0 siblings, 1 reply; 16+ messages in thread
From: Oliver Neukum @ 2008-04-03 20:42 UTC (permalink / raw)
To: Stefan Schweizer, Alan Stern; +Cc: linux-usb, linux-input
Am Donnerstag, 3. April 2008 17:44:19 schrieb Stefan Schweizer:
> Cannot seem to find the persist attribute even after this patch applied :((
>
> CONFIG_USB_PERSIST is enabled, but other drivers do not provide it.
> However this is 2.6.24 - I will try it on 2.6.25 now.
Odd, I can't reproduce it. Alan?
Regards
Oliver
oneukum@tranquility:/sys/bus/usb/devices/6-1/power> ll
insgesamt 0
-r--r--r-- 1 root root 4096 3. Apr 22:40 active_duration
-rw-r--r-- 1 root root 4096 3. Apr 22:40 autosuspend
-r--r--r-- 1 root root 4096 3. Apr 22:40 connected_duration
-rw-r--r-- 1 root root 4096 3. Apr 22:40 level
-rw-r--r-- 1 root root 4096 3. Apr 22:40 persist
-rw-r--r-- 1 root root 4096 3. Apr 22:40 wakeup
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: suspend
2008-04-03 14:14 ` suspend Stefan Schweizer
@ 2008-04-03 21:07 ` Oliver Neukum
0 siblings, 0 replies; 16+ messages in thread
From: Oliver Neukum @ 2008-04-03 21:07 UTC (permalink / raw)
To: Stefan Schweizer; +Cc: linux-usb, linux-input
Am Donnerstag, 3. April 2008 16:14:29 schrieb Stefan Schweizer:
> On Thu, Apr 3, 2008 at 12:58 PM, Oliver Neukum <oliver@neukum.org> wrote:
> > here I have another test request. This patch on top of the earlier patch
> > implements autosuspend for the appletouch driver. Can you try it? You
> > also need to activate it as described in Documentation/usb/power-management.txt
>
> this one fails to build with several
> struct atp has no element intf
> errors.
Sorry. Here's a full patch.
Regards
Oliver
---
--- linux-2.6.25-rc7-vanilla/drivers/input/mouse/appletouch.c 2008-03-31 15:16:40.000000000 +0200
+++ linux-2.6.25-rc7-work/drivers/input/mouse/appletouch.c 2008-04-03 12:46:24.000000000 +0200
@@ -32,6 +32,7 @@
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/module.h>
+#include <linux/mutex.h>
#include <linux/usb/input.h>
/* Apple has powerbooks which have the keyboard with different Product IDs */
@@ -140,6 +141,7 @@ MODULE_DEVICE_TABLE (usb, atp_table);
struct atp {
char phys[64];
struct usb_device * udev; /* usb device */
+ struct usb_interface * intf; /* usb interface */
struct urb * urb; /* usb request block */
signed char * data; /* transferred data */
struct input_dev * input; /* input dev */
@@ -158,6 +160,7 @@ struct atp {
int datalen; /* size of an USB urb transfer */
int idlecount; /* number of empty packets */
struct work_struct work;
+ struct mutex lock;
};
#define dbg_dump(msg, tab) \
@@ -345,6 +348,11 @@ static inline void atp_report_fingers(st
input_report_key(input, BTN_TOOL_TRIPLETAP, fingers > 2);
}
+static void atp_mark_busy(struct atp *dev)
+{
+ usb_mark_last_busy(dev->udev);
+}
+
static void atp_complete(struct urb* urb)
{
int x, y, x_z, y_z, x_f, y_f;
@@ -384,6 +392,9 @@ static void atp_complete(struct urb* urb
goto exit;
}
+ /* mark busy for autosuspend purposes */
+ atp_mark_busy(dev);
+
/* reorder the sensors values */
if (atp_is_geyser_3(dev)) {
memset(dev->xy_cur, 0, sizeof(dev->xy_cur));
@@ -561,21 +572,52 @@ exit:
static int atp_open(struct input_dev *input)
{
struct atp *dev = input_get_drvdata(input);
+ int rv;
- if (usb_submit_urb(dev->urb, GFP_ATOMIC))
- return -EIO;
+ mutex_lock(&dev->lock);
+
+ rv = usb_autopm_get_interface(dev->intf);
+ if ( rv < 0)
+ goto err_out;
+
+ rv = usb_submit_urb(dev->urb, GFP_KERNEL);
+ if (rv < 0)
+ goto err_put;
dev->open = 1;
- return 0;
+ dev->intf->needs_remote_wakeup = 1;
+
+err_put:
+ usb_autopm_put_interface(dev->intf);
+err_out:
+ mutex_unlock(&dev->lock);
+ return rv;
}
static void atp_close(struct input_dev *input)
{
struct atp *dev = input_get_drvdata(input);
+ mutex_lock(&dev->lock);
usb_kill_urb(dev->urb);
cancel_work_sync(&dev->work);
dev->open = 0;
+ dev->intf->needs_remote_wakeup = 0;
+ mutex_unlock(&dev->lock);
+}
+
+static int handle_geyser(struct atp *dev)
+{
+ struct usb_device *udev = dev->udev;
+
+ if (!atp_is_fountain(dev)) {
+ /* switch to raw sensor mode */
+ if (atp_geyser_init(udev))
+ return -EIO;
+
+ printk(KERN_INFO "appletouch: Geyser mode initialized.\n");
+ }
+ return 0;
}
static int atp_probe(struct usb_interface *iface, const struct usb_device_id *id)
@@ -612,7 +654,9 @@ static int atp_probe(struct usb_interfac
goto err_free_devs;
}
+ mutex_init(&dev->lock);
dev->udev = udev;
+ dev->intf = iface;
dev->input = input_dev;
dev->overflowwarn = 0;
if (atp_is_geyser_3(dev))
@@ -622,13 +666,8 @@ static int atp_probe(struct usb_interfac
else
dev->datalen = 81;
- if (!atp_is_fountain(dev)) {
- /* switch to raw sensor mode */
- if (atp_geyser_init(udev))
- goto err_free_devs;
-
- printk(KERN_INFO "appletouch: Geyser mode initialized.\n");
- }
+ if (handle_geyser(dev) < 0)
+ goto err_free_devs;
dev->urb = usb_alloc_urb(0, GFP_KERNEL);
if (!dev->urb)
@@ -747,19 +786,65 @@ static int atp_resume(struct usb_interfa
{
struct atp *dev = usb_get_intfdata(iface);
- if (dev->open && usb_submit_urb(dev->urb, GFP_ATOMIC))
+ if (dev->open && usb_submit_urb(dev->urb, GFP_NOIO))
return -EIO;
return 0;
}
+static int recover_dev(struct atp *dev)
+{
+ int rv;
+
+ rv = handle_geyser(dev);
+ if (rv < 0)
+ return rv;
+
+ if (dev->open && usb_submit_urb(dev->urb, GFP_NOIO))
+ return -EIO;
+
+ return 0;
+}
+
+static int atp_pre_reset(struct usb_interface *iface)
+{
+ struct atp *dev = usb_get_intfdata(iface);
+
+ mutex_lock(&dev->lock);
+ if (dev->open)
+ usb_kill_urb(dev->urb);
+
+ return 0;
+}
+
+static int atp_post_reset(struct usb_interface *iface)
+{
+ struct atp *dev = usb_get_intfdata(iface);
+ int rv;
+
+ rv = recover_dev(dev);
+ mutex_unlock(&dev->lock);
+ return rv;
+}
+
+static int atp_reset_resume(struct usb_interface *iface)
+{
+ struct atp *dev = usb_get_intfdata(iface);
+
+ return recover_dev(dev);
+}
+
static struct usb_driver atp_driver = {
.name = "appletouch",
.probe = atp_probe,
.disconnect = atp_disconnect,
.suspend = atp_suspend,
.resume = atp_resume,
+ .reset_resume = atp_reset_resume,
+ .pre_reset = atp_pre_reset,
+ .post_reset = atp_post_reset,
.id_table = atp_table,
+ .supports_autosuspend = 1,
};
static int __init atp_init(void)
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: suspend
[not found] ` <200804032242.36493.oliver-GvhC2dPhHPQdnm+yROfE0A@public.gmane.org>
@ 2008-04-03 21:41 ` Alan Stern
2008-04-03 22:06 ` suspend Stefan Schweizer
0 siblings, 1 reply; 16+ messages in thread
From: Alan Stern @ 2008-04-03 21:41 UTC (permalink / raw)
To: Oliver Neukum
Cc: Stefan Schweizer, linux-usb-u79uwXL29TY76Z2rM5mHXA,
linux-input-u79uwXL29TY76Z2rM5mHXA
On Thu, 3 Apr 2008, Oliver Neukum wrote:
> Am Donnerstag, 3. April 2008 17:44:19 schrieb Stefan Schweizer:
> > Cannot seem to find the persist attribute even after this patch applied :((
> >
> > CONFIG_USB_PERSIST is enabled, but other drivers do not provide it.
> > However this is 2.6.24 - I will try it on 2.6.25 now.
>
> Odd, I can't reproduce it. Alan?
>
> Regards
> Oliver
>
> oneukum@tranquility:/sys/bus/usb/devices/6-1/power> ll
> insgesamt 0
> -r--r--r-- 1 root root 4096 3. Apr 22:40 active_duration
> -rw-r--r-- 1 root root 4096 3. Apr 22:40 autosuspend
> -r--r--r-- 1 root root 4096 3. Apr 22:40 connected_duration
> -rw-r--r-- 1 root root 4096 3. Apr 22:40 level
> -rw-r--r-- 1 root root 4096 3. Apr 22:40 persist
> -rw-r--r-- 1 root root 4096 3. Apr 22:40 wakeup
Sometimes people run into problems when rebuilding usbcore. Depending
on the distribution, the usbcore.ko module is sometimes loaded as part
of an initramfs image. Merely installing the new modules won't change
the image.
Alan Stern
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: suspend
2008-04-03 21:41 ` suspend Alan Stern
@ 2008-04-03 22:06 ` Stefan Schweizer
2008-04-04 8:59 ` suspend Oliver Neukum
0 siblings, 1 reply; 16+ messages in thread
From: Stefan Schweizer @ 2008-04-03 22:06 UTC (permalink / raw)
To: Alan Stern; +Cc: Oliver Neukum, linux-usb, linux-input
Hi,
the problem was that I did not identify the correct /sys entry. Anyways with
for i in $(find /sys -name persist); do echo 1 > '$i'; done
it works perfectly :-)
Thank you very much! Finally working touchpad after resume :-)
Best regards,
Stefan
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: suspend
2008-04-03 22:06 ` suspend Stefan Schweizer
@ 2008-04-04 8:59 ` Oliver Neukum
2008-04-04 9:20 ` suspend Stefan Schweizer
0 siblings, 1 reply; 16+ messages in thread
From: Oliver Neukum @ 2008-04-04 8:59 UTC (permalink / raw)
To: Stefan Schweizer; +Cc: Alan Stern, linux-usb, linux-input
Am Freitag, 4. April 2008 00:06:48 schrieb Stefan Schweizer:
> Hi,
>
> the problem was that I did not identify the correct /sys entry. Anyways with
>
> for i in $(find /sys -name persist); do echo 1 > '$i'; done
>
> it works perfectly :-)
>
> Thank you very much! Finally working touchpad after resume :-)
Good. Did you test the first patch or the second? Can you test whether
the device autosuspends with the combined patch I sent you?
Regards
Oliver
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: suspend
2008-04-04 8:59 ` suspend Oliver Neukum
@ 2008-04-04 9:20 ` Stefan Schweizer
[not found] ` <e79639220804040220g560e94b4l418724ff1653780d-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
0 siblings, 1 reply; 16+ messages in thread
From: Stefan Schweizer @ 2008-04-04 9:20 UTC (permalink / raw)
To: Oliver Neukum; +Cc: Alan Stern, linux-usb, linux-input
Yeah, I tested it with the combined patch. How can I test if
autosuspend works? Seems to work fine so far but does not write in my
logfile. No problems found when testing.
Best regards,
Stefan
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: suspend
[not found] ` <e79639220804040220g560e94b4l418724ff1653780d-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2008-04-04 11:36 ` Oliver Neukum
2008-04-04 22:40 ` suspend Stefan Schweizer
0 siblings, 1 reply; 16+ messages in thread
From: Oliver Neukum @ 2008-04-04 11:36 UTC (permalink / raw)
To: Stefan Schweizer
Cc: Alan Stern, linux-usb-u79uwXL29TY76Z2rM5mHXA,
linux-input-u79uwXL29TY76Z2rM5mHXA
Am Freitag, 4. April 2008 11:20:51 schrieb Stefan Schweizer:
> Yeah, I tested it with the combined patch. How can I test if
> autosuspend works? Seems to work fine so far but does not write in my
> logfile. No problems found when testing.
Please compile your kernel with CONFIG_PM_DEBUG and follow the
instructions in Documentation/usb. You should see something in the log.
Regards
Oliver
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: suspend
2008-04-04 11:36 ` suspend Oliver Neukum
@ 2008-04-04 22:40 ` Stefan Schweizer
2008-04-05 8:00 ` suspend Oliver Neukum
0 siblings, 1 reply; 16+ messages in thread
From: Stefan Schweizer @ 2008-04-04 22:40 UTC (permalink / raw)
To: Oliver Neukum; +Cc: Alan Stern, linux-usb, linux-input
On Fri, Apr 4, 2008 at 1:36 PM, Oliver Neukum <oliver@neukum.org> wrote:
> Am Freitag, 4. April 2008 11:20:51 schrieb Stefan Schweizer:
>
> > Yeah, I tested it with the combined patch. How can I test if
> > autosuspend works? Seems to work fine so far but does not write in my
> > logfile. No problems found when testing.
>
> Please compile your kernel with CONFIG_PM_DEBUG and follow the
> instructions in Documentation/usb. You should see something in the log.
there is still no information in dmesg when I use the device. Do I
need more debugging maybe?
That is one rmmod; modprobe cycle:
usbcore: deregistering interface driver appletouch
PM: Removing info for No Bus:mouse1
PM: Removing info for No Bus:event5
PM: Removing info for No Bus:input5
input: appletouch disconnected
appletouch: Geyser mode initialized.
PM: Adding info for No Bus:input12
input: appletouch as
/devices/pci0000:00/0000:00:1d.0/usb2/2-2/2-2:1.1/input/input12
PM: Adding info for No Bus:mouse1
PM: Adding info for No Bus:event5
usbcore: registered new interface driver appletouch
Best regards,
Stefan
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: suspend
2008-04-04 22:40 ` suspend Stefan Schweizer
@ 2008-04-05 8:00 ` Oliver Neukum
2008-04-05 9:15 ` suspend Stefan Schweizer
2008-04-05 14:13 ` suspend Alan Stern
0 siblings, 2 replies; 16+ messages in thread
From: Oliver Neukum @ 2008-04-05 8:00 UTC (permalink / raw)
To: Stefan Schweizer; +Cc: Alan Stern, linux-usb, linux-input
Am Samstag, 5. April 2008 00:40:35 schrieb Stefan Schweizer:
> On Fri, Apr 4, 2008 at 1:36 PM, Oliver Neukum <oliver@neukum.org> wrote:
> > Am Freitag, 4. April 2008 11:20:51 schrieb Stefan Schweizer:
> >
> > > Yeah, I tested it with the combined patch. How can I test if
> > > autosuspend works? Seems to work fine so far but does not write in my
> > > logfile. No problems found when testing.
> >
> > Please compile your kernel with CONFIG_PM_DEBUG and follow the
> > instructions in Documentation/usb. You should see something in the log.
>
> there is still no information in dmesg when I use the device. Do I
> need more debugging maybe?
Ok, please locate the directory for your touchpad in sysfs and post all
files in the power subdirectory.
Regards
Oliver
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: suspend
[not found] ` <e79639220804050215j42829de7iab99b51e85683a53-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2008-04-05 9:12 ` Oliver Neukum
0 siblings, 0 replies; 16+ messages in thread
From: Oliver Neukum @ 2008-04-05 9:12 UTC (permalink / raw)
To: Stefan Schweizer
Cc: Alan Stern, linux-usb-u79uwXL29TY76Z2rM5mHXA,
linux-input-u79uwXL29TY76Z2rM5mHXA
Am Samstag, 5. April 2008 11:15:55 schrieb Stefan Schweizer:
> The kernel documentation says that "auto" is default for level. Why is
> it "on" here? Simple startup line to make it right:
Which kernel version are you using? In modern kernels the default is "on".
Regards
Oliver
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: suspend
2008-04-05 8:00 ` suspend Oliver Neukum
@ 2008-04-05 9:15 ` Stefan Schweizer
[not found] ` <e79639220804050215j42829de7iab99b51e85683a53-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-04-05 14:13 ` suspend Alan Stern
1 sibling, 1 reply; 16+ messages in thread
From: Stefan Schweizer @ 2008-04-05 9:15 UTC (permalink / raw)
To: Oliver Neukum; +Cc: Alan Stern, linux-usb, linux-input
On Sat, Apr 5, 2008 at 10:00 AM, Oliver Neukum <oliver@neukum.org> wrote:
> Ok, please locate the directory for your touchpad in sysfs and post all
> files in the power subdirectory.
The kernel documentation says that "auto" is default for level. Why is
it "on" here? Simple startup line to make it right:
for i in $(find /sys | grep power/level); do echo auto > "$i"; done
But still no extra info in dmesg :(
# ls /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-2/power/
autosuspend level persist wakeup
power # for i in *; do echo $i: $(<$i); done
autosuspend: 2
level: on
persist: 1
wakeup: enabled
2-2 # for i in *; do echo $i: $(<$i); done
2-2:1.0:
2-2:1.1:
2-2:1.2:
authorized: 1
bcdDevice: 0064
bConfigurationValue: 1
bDeviceClass: 00
bDeviceProtocol: 00
bDeviceSubClass: 00
bmAttributes: a0
bMaxPacketSize0: 8
bMaxPower: 40mA
bNumConfigurations: 1
bNumInterfaces: 3
busnum: 2
configuration:
" !"Y� !"��▒d T� !
dev: 189:136
devnum: 9
driver:
ep_00:
idProduct: 0218
idVendor: 05ac
manufacturer: Apple Computer
maxchild: 0
power:
product: Apple Internal Keyboard / Trackpad
quirks: 0x0
speed: 12
subsystem:
uevent: MAJOR=189 MINOR=136 DEVTYPE=usb_device DRIVER=usb
DEVICE=/proc/bus/usb/002/009 PRODUCT=5ac/218/64 TYPE=0/0/0 BUSNUM=002
DEVNUM=009
urbnum: 3615
usb_endpoint:
version: 2.00
Regards,
Stefan
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: suspend
2008-04-05 8:00 ` suspend Oliver Neukum
2008-04-05 9:15 ` suspend Stefan Schweizer
@ 2008-04-05 14:13 ` Alan Stern
1 sibling, 0 replies; 16+ messages in thread
From: Alan Stern @ 2008-04-05 14:13 UTC (permalink / raw)
To: Oliver Neukum; +Cc: Stefan Schweizer, linux-usb, linux-input
On Sat, 5 Apr 2008, Oliver Neukum wrote:
> Am Samstag, 5. April 2008 00:40:35 schrieb Stefan Schweizer:
> > On Fri, Apr 4, 2008 at 1:36 PM, Oliver Neukum <oliver@neukum.org> wrote:
> > > Am Freitag, 4. April 2008 11:20:51 schrieb Stefan Schweizer:
> > >
> > > > Yeah, I tested it with the combined patch. How can I test if
> > > > autosuspend works? Seems to work fine so far but does not write in my
> > > > logfile. No problems found when testing.
> > >
> > > Please compile your kernel with CONFIG_PM_DEBUG and follow the
> > > instructions in Documentation/usb. You should see something in the log.
Note that CONFIG_PM_DEBUG has nothing to do with autosuspend. You
shouldn't expect to see anything unless you set CONFIG_USB_DEBUG.
> > there is still no information in dmesg when I use the device. Do I
> > need more debugging maybe?
>
> Ok, please locate the directory for your touchpad in sysfs and post all
> files in the power subdirectory.
Alan Stern
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2008-04-05 14:13 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <dd18b0c30804012331oc548416k113e492d7dc9c189@mail.gmail.com>
[not found] ` <200804031029.26635.oliver@neukum.org>
[not found] ` <e79639220804030153q46fa82c7jb79bedbe88b30df7@mail.gmail.com>
[not found] ` <e79639220804030153q46fa82c7jb79bedbe88b30df7-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-04-03 10:31 ` suspend Oliver Neukum
[not found] ` <200804031231.19193.oliver-GvhC2dPhHPQdnm+yROfE0A@public.gmane.org>
2008-04-03 15:44 ` suspend Stefan Schweizer
2008-04-03 20:42 ` suspend Oliver Neukum
[not found] ` <200804032242.36493.oliver-GvhC2dPhHPQdnm+yROfE0A@public.gmane.org>
2008-04-03 21:41 ` suspend Alan Stern
2008-04-03 22:06 ` suspend Stefan Schweizer
2008-04-04 8:59 ` suspend Oliver Neukum
2008-04-04 9:20 ` suspend Stefan Schweizer
[not found] ` <e79639220804040220g560e94b4l418724ff1653780d-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-04-04 11:36 ` suspend Oliver Neukum
2008-04-04 22:40 ` suspend Stefan Schweizer
2008-04-05 8:00 ` suspend Oliver Neukum
2008-04-05 9:15 ` suspend Stefan Schweizer
[not found] ` <e79639220804050215j42829de7iab99b51e85683a53-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-04-05 9:12 ` suspend Oliver Neukum
2008-04-05 14:13 ` suspend Alan Stern
2008-04-03 10:58 ` suspend Oliver Neukum
2008-04-03 14:14 ` suspend Stefan Schweizer
2008-04-03 21:07 ` suspend Oliver Neukum
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).