2008-02-21 13:07:39

by Pavel Machek

[permalink] [raw]
Subject: power_state: remove it from usb


power_state is scheduled for removal, and it is used only write-only
by USB. Remove it.

Signed-off-by: Pavel Machek <[email protected]>

diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c
index 801b6f1..eeb8115 100644
--- a/drivers/usb/core/driver.c
+++ b/drivers/usb/core/driver.c
@@ -794,8 +794,6 @@ static int usb_suspend_device(struct usb

done:
dev_vdbg(&udev->dev, "%s: status %d\n", __FUNCTION__, status);
- if (status == 0)
- udev->dev.power.power_state.event = msg.event;
return status;
}

@@ -826,7 +824,6 @@ static int usb_resume_device(struct usb_
dev_vdbg(&udev->dev, "%s: status %d\n", __FUNCTION__, status);
if (status == 0) {
udev->autoresume_disabled = 0;
- udev->dev.power.power_state.event = PM_EVENT_ON;
}
return status;
}
diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c
index 84760dd..739407b 100644
--- a/drivers/usb/core/hcd-pci.c
+++ b/drivers/usb/core/hcd-pci.c
@@ -73,7 +73,6 @@ int usb_hcd_pci_probe(struct pci_dev *de
if (pci_enable_device(dev) < 0)
return -ENODEV;
dev->current_state = PCI_D0;
- dev->dev.power.power_state = PMSG_ON;

if (!dev->irq) {
dev_err(&dev->dev,
@@ -302,8 +301,6 @@ int usb_hcd_pci_suspend(struct pci_dev *

done:
if (retval == 0) {
- dev->dev.power.power_state = PMSG_SUSPEND;
-
#ifdef CONFIG_PPC_PMAC
/* Disable ASIC clocks for USB */
if (machine_is(powermac)) {
@@ -406,8 +403,6 @@ #endif
pci_set_master(dev);
pci_restore_state(dev);

- dev->dev.power.power_state = PMSG_ON;
-
clear_bit(HCD_FLAG_SAW_IRQ, &hcd->flags);

if (hcd->driver->resume) {
diff --git a/drivers/usb/core/usb.h b/drivers/usb/core/usb.h
index 2375194..1bf8ccb 100644
--- a/drivers/usb/core/usb.h
+++ b/drivers/usb/core/usb.h
@@ -114,13 +114,11 @@ static inline int is_usb_device_driver(s
static inline void mark_active(struct usb_interface *f)
{
f->is_active = 1;
- f->dev.power.power_state.event = PM_EVENT_ON;
}

static inline void mark_quiesced(struct usb_interface *f)
{
f->is_active = 0;
- f->dev.power.power_state.event = PM_EVENT_SUSPEND;
}

static inline int is_active(const struct usb_interface *f)


--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html


2008-02-21 21:44:13

by Greg KH

[permalink] [raw]
Subject: patch power_state-remove-it-from-usb.patch added to gregkh-2.6 tree


This is a note to let you know that I've just added the patch titled

Subject: power_state: remove it from usb

to my gregkh-2.6 tree. Its filename is

power_state-remove-it-from-usb.patch

This tree can be found at
http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/patches/


>From [email protected] Thu Feb 21 13:36:03 2008
From: Pavel Machek <[email protected]>
Date: Thu, 21 Feb 2008 14:01:45 +0100
Subject: power_state: remove it from usb
To: kernel list <[email protected]>, Linux-pm mailing list <[email protected]>, Greg KH <[email protected]>, [email protected], [email protected]
Message-ID: <[email protected]>
Content-Disposition: inline



power_state is scheduled for removal, and it is used only write-only
by USB. Remove it.

Signed-off-by: Pavel Machek <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/usb/core/driver.c | 3 ---
drivers/usb/core/hcd-pci.c | 5 -----
drivers/usb/core/usb.h | 2 --
3 files changed, 10 deletions(-)

--- a/drivers/usb/core/driver.c
+++ b/drivers/usb/core/driver.c
@@ -794,8 +794,6 @@ static int usb_suspend_device(struct usb

done:
dev_vdbg(&udev->dev, "%s: status %d\n", __FUNCTION__, status);
- if (status == 0)
- udev->dev.power.power_state.event = msg.event;
return status;
}

@@ -826,7 +824,6 @@ static int usb_resume_device(struct usb_
dev_vdbg(&udev->dev, "%s: status %d\n", __FUNCTION__, status);
if (status == 0) {
udev->autoresume_disabled = 0;
- udev->dev.power.power_state.event = PM_EVENT_ON;
}
return status;
}
--- a/drivers/usb/core/hcd-pci.c
+++ b/drivers/usb/core/hcd-pci.c
@@ -73,7 +73,6 @@ int usb_hcd_pci_probe(struct pci_dev *de
if (pci_enable_device(dev) < 0)
return -ENODEV;
dev->current_state = PCI_D0;
- dev->dev.power.power_state = PMSG_ON;

if (!dev->irq) {
dev_err(&dev->dev,
@@ -302,8 +301,6 @@ int usb_hcd_pci_suspend(struct pci_dev *

done:
if (retval == 0) {
- dev->dev.power.power_state = PMSG_SUSPEND;
-
#ifdef CONFIG_PPC_PMAC
/* Disable ASIC clocks for USB */
if (machine_is(powermac)) {
@@ -406,8 +403,6 @@ int usb_hcd_pci_resume(struct pci_dev *d
pci_set_master(dev);
pci_restore_state(dev);

- dev->dev.power.power_state = PMSG_ON;
-
clear_bit(HCD_FLAG_SAW_IRQ, &hcd->flags);

if (hcd->driver->resume) {
--- a/drivers/usb/core/usb.h
+++ b/drivers/usb/core/usb.h
@@ -114,13 +114,11 @@ static inline int is_usb_device_driver(s
static inline void mark_active(struct usb_interface *f)
{
f->is_active = 1;
- f->dev.power.power_state.event = PM_EVENT_ON;
}

static inline void mark_quiesced(struct usb_interface *f)
{
f->is_active = 0;
- f->dev.power.power_state.event = PM_EVENT_SUSPEND;
}

static inline int is_active(const struct usb_interface *f)


Patches currently in gregkh-2.6 which might be from [email protected] are

driver/driver-core-pm-make-suspend_device-static.patch
driver/pm-remove-unbalanced-mutex_unlock-from-dpm_resume.patch
driver/power_state-remove-it-from-driver-core.patch
usb/power_state-remove-it-from-usb.patch

2008-02-21 21:50:50

by Alan Stern

[permalink] [raw]
Subject: Re: power_state: remove it from usb

On Thu, 21 Feb 2008, Pavel Machek wrote:

> power_state is scheduled for removal, and it is used only write-only
> by USB. Remove it.

Unfortunately some of the things you changed turn out not to be
write-only. (You also missed a usage of power.power_state in a
comment!) I'll post a more complete patch soon.

Alan Stern

2008-02-21 22:18:41

by Alan Stern

[permalink] [raw]
Subject: Re: [linux-pm] patch power_state-remove-it-from-usb.patch added to gregkh-2.6 tree

On Thu, 21 Feb 2008 [email protected] wrote:

> This is a note to let you know that I've just added the patch titled
>
> Subject: power_state: remove it from usb
>
> to my gregkh-2.6 tree. Its filename is
>
> power_state-remove-it-from-usb.patch
>
> This tree can be found at
> http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/patches/
>
>
> From [email protected] Thu Feb 21 13:36:03 2008
> From: Pavel Machek <[email protected]>
> Date: Thu, 21 Feb 2008 14:01:45 +0100
> Subject: power_state: remove it from usb
> To: kernel list <[email protected]>, Linux-pm mailing list <[email protected]>, Greg KH <[email protected]>, [email protected], [email protected]
> Message-ID: <[email protected]>
> Content-Disposition: inline
>
>
>
> power_state is scheduled for removal, and it is used only write-only
> by USB. Remove it.

Greg, this patch is incomplete. Some of the settings that Pavel
removed are used by the host controller drivers. Please revert this;
I'll send a more complete patch later.

Alan Stern

2008-02-21 22:19:45

by Pavel Machek

[permalink] [raw]
Subject: Re: power_state: remove it from usb

On Thu 2008-02-21 16:50:36, Alan Stern wrote:
> On Thu, 21 Feb 2008, Pavel Machek wrote:
>
> > power_state is scheduled for removal, and it is used only write-only
> > by USB. Remove it.
>
> Unfortunately some of the things you changed turn out not to be
> write-only. (You also missed a usage of power.power_state in a
> comment!)

I might have missed comments, but where I missed read? It compiled
after I removed the field from the core...?

> I'll post a more complete patch soon.

Thanks!
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

2008-02-21 22:21:56

by Pavel Machek

[permalink] [raw]
Subject: Re: [linux-pm] patch power_state-remove-it-from-usb.patch added to gregkh-2.6 tree

On Thu 2008-02-21 17:18:32, Alan Stern wrote:
> On Thu, 21 Feb 2008 [email protected] wrote:
>
> > This is a note to let you know that I've just added the patch titled
> >
> > Subject: power_state: remove it from usb
> >
> > to my gregkh-2.6 tree. Its filename is
> >
> > power_state-remove-it-from-usb.patch
> >
> > This tree can be found at
> > http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/patches/
> >
> >
> > From [email protected] Thu Feb 21 13:36:03 2008
> > From: Pavel Machek <[email protected]>
> > Date: Thu, 21 Feb 2008 14:01:45 +0100
> > Subject: power_state: remove it from usb
> > To: kernel list <[email protected]>, Linux-pm mailing list <[email protected]>, Greg KH <[email protected]>, [email protected], [email protected]
> > Message-ID: <[email protected]>
> > Content-Disposition: inline
> >
> >
> >
> > power_state is scheduled for removal, and it is used only write-only
> > by USB. Remove it.
>
> Greg, this patch is incomplete. Some of the settings that Pavel
> removed are used by the host controller drivers. Please revert this;
> I'll send a more complete patch later.

Alan is right, I was blind... and my config was not affected...
...
host/sl811-hcd.c: if (dev->dev.power.power_state.event == PM_EVENT_SUSPEND
misc/usbtest.c: if (intf->dev.power.power_state.event != PM_EVENT_ON) {
...

Pavel

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

2008-02-21 22:35:42

by Greg KH

[permalink] [raw]
Subject: Re: [linux-pm] patch power_state-remove-it-from-usb.patch added to gregkh-2.6 tree

On Thu, Feb 21, 2008 at 11:22:02PM +0100, Pavel Machek wrote:
> On Thu 2008-02-21 17:18:32, Alan Stern wrote:
> > On Thu, 21 Feb 2008 [email protected] wrote:
> >
> > > This is a note to let you know that I've just added the patch titled
> > >
> > > Subject: power_state: remove it from usb
> > >
> > > to my gregkh-2.6 tree. Its filename is
> > >
> > > power_state-remove-it-from-usb.patch
> > >
> > > This tree can be found at
> > > http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/patches/
> > >
> > >
> > > From [email protected] Thu Feb 21 13:36:03 2008
> > > From: Pavel Machek <[email protected]>
> > > Date: Thu, 21 Feb 2008 14:01:45 +0100
> > > Subject: power_state: remove it from usb
> > > To: kernel list <[email protected]>, Linux-pm mailing list <[email protected]>, Greg KH <[email protected]>, [email protected], [email protected]
> > > Message-ID: <[email protected]>
> > > Content-Disposition: inline
> > >
> > >
> > >
> > > power_state is scheduled for removal, and it is used only write-only
> > > by USB. Remove it.
> >
> > Greg, this patch is incomplete. Some of the settings that Pavel
> > removed are used by the host controller drivers. Please revert this;
> > I'll send a more complete patch later.
>
> Alan is right, I was blind... and my config was not affected...
> ...
> host/sl811-hcd.c: if (dev->dev.power.power_state.event == PM_EVENT_SUSPEND
> misc/usbtest.c: if (intf->dev.power.power_state.event != PM_EVENT_ON) {
> ...

Will do, thanks for letting me know.

greg k-h

2008-02-21 22:38:06

by Alan Stern

[permalink] [raw]
Subject: Re: power_state: remove it from usb

On Thu, 21 Feb 2008, Pavel Machek wrote:

> > Unfortunately some of the things you changed turn out not to be
> > write-only. (You also missed a usage of power.power_state in a
> > comment!)
>
> I might have missed comments, but where I missed read? It compiled
> after I removed the field from the core...?

Grep for power_state in drivers/usb/host/*.c.

Alan Stern