Commit 70a1c9e0 authored by Alan Stern's avatar Alan Stern Committed by Greg Kroah-Hartman

USB: remove dev->power.power_state

power.power_state is scheduled for removal.  This patch (as1053)
removes all uses of that field from drivers/usb.  Almost all of them
were write-only, the most significant exceptions being sl811-hcd.c and
u132-hcd.c.

Part of this patch was written by Pavel Machek.
Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
Cc: David Brownell <david-b@pacbell.net>
Acked-by: default avatarPavel Machek <pavel@ucw.cz>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent e1879b19
...@@ -794,8 +794,6 @@ static int usb_suspend_device(struct usb_device *udev, pm_message_t msg) ...@@ -794,8 +794,6 @@ static int usb_suspend_device(struct usb_device *udev, pm_message_t msg)
done: done:
dev_vdbg(&udev->dev, "%s: status %d\n", __FUNCTION__, status); dev_vdbg(&udev->dev, "%s: status %d\n", __FUNCTION__, status);
if (status == 0)
udev->dev.power.power_state.event = msg.event;
return status; return status;
} }
...@@ -824,10 +822,8 @@ static int usb_resume_device(struct usb_device *udev) ...@@ -824,10 +822,8 @@ static int usb_resume_device(struct usb_device *udev)
done: done:
dev_vdbg(&udev->dev, "%s: status %d\n", __FUNCTION__, status); dev_vdbg(&udev->dev, "%s: status %d\n", __FUNCTION__, status);
if (status == 0) { if (status == 0)
udev->autoresume_disabled = 0; udev->autoresume_disabled = 0;
udev->dev.power.power_state.event = PM_EVENT_ON;
}
return status; return status;
} }
...@@ -1180,8 +1176,7 @@ static int usb_resume_both(struct usb_device *udev) ...@@ -1180,8 +1176,7 @@ static int usb_resume_both(struct usb_device *udev)
} }
} else { } else {
/* Needed for setting udev->dev.power.power_state.event, /* Needed for reset-resume */
* for possible debugging message, and for reset_resume. */
status = usb_resume_device(udev); status = usb_resume_device(udev);
} }
...@@ -1194,7 +1189,8 @@ static int usb_resume_both(struct usb_device *udev) ...@@ -1194,7 +1189,8 @@ static int usb_resume_both(struct usb_device *udev)
done: done:
dev_vdbg(&udev->dev, "%s: status %d\n", __FUNCTION__, status); dev_vdbg(&udev->dev, "%s: status %d\n", __FUNCTION__, status);
udev->reset_resume = 0; if (!status)
udev->reset_resume = 0;
return status; return status;
} }
......
...@@ -73,7 +73,6 @@ int usb_hcd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) ...@@ -73,7 +73,6 @@ int usb_hcd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
if (pci_enable_device(dev) < 0) if (pci_enable_device(dev) < 0)
return -ENODEV; return -ENODEV;
dev->current_state = PCI_D0; dev->current_state = PCI_D0;
dev->dev.power.power_state = PMSG_ON;
if (!dev->irq) { if (!dev->irq) {
dev_err(&dev->dev, dev_err(&dev->dev,
...@@ -302,8 +301,6 @@ int usb_hcd_pci_suspend(struct pci_dev *dev, pm_message_t message) ...@@ -302,8 +301,6 @@ int usb_hcd_pci_suspend(struct pci_dev *dev, pm_message_t message)
done: done:
if (retval == 0) { if (retval == 0) {
dev->dev.power.power_state = PMSG_SUSPEND;
#ifdef CONFIG_PPC_PMAC #ifdef CONFIG_PPC_PMAC
/* Disable ASIC clocks for USB */ /* Disable ASIC clocks for USB */
if (machine_is(powermac)) { if (machine_is(powermac)) {
...@@ -406,8 +403,6 @@ int usb_hcd_pci_resume(struct pci_dev *dev) ...@@ -406,8 +403,6 @@ int usb_hcd_pci_resume(struct pci_dev *dev)
pci_set_master(dev); pci_set_master(dev);
pci_restore_state(dev); pci_restore_state(dev);
dev->dev.power.power_state = PMSG_ON;
clear_bit(HCD_FLAG_SAW_IRQ, &hcd->flags); clear_bit(HCD_FLAG_SAW_IRQ, &hcd->flags);
if (hcd->driver->resume) { if (hcd->driver->resume) {
......
...@@ -114,13 +114,11 @@ static inline int is_usb_device_driver(struct device_driver *drv) ...@@ -114,13 +114,11 @@ static inline int is_usb_device_driver(struct device_driver *drv)
static inline void mark_active(struct usb_interface *f) static inline void mark_active(struct usb_interface *f)
{ {
f->is_active = 1; f->is_active = 1;
f->dev.power.power_state.event = PM_EVENT_ON;
} }
static inline void mark_quiesced(struct usb_interface *f) static inline void mark_quiesced(struct usb_interface *f)
{ {
f->is_active = 0; f->is_active = 0;
f->dev.power.power_state.event = PM_EVENT_SUSPEND;
} }
static inline int is_active(const struct usb_interface *f) static inline int is_active(const struct usb_interface *f)
......
...@@ -900,7 +900,6 @@ static int dummy_udc_suspend (struct platform_device *pdev, pm_message_t state) ...@@ -900,7 +900,6 @@ static int dummy_udc_suspend (struct platform_device *pdev, pm_message_t state)
set_link_state (dum); set_link_state (dum);
spin_unlock_irq (&dum->lock); spin_unlock_irq (&dum->lock);
pdev->dev.power.power_state = state;
usb_hcd_poll_rh_status (dummy_to_hcd (dum)); usb_hcd_poll_rh_status (dummy_to_hcd (dum));
return 0; return 0;
} }
...@@ -915,7 +914,6 @@ static int dummy_udc_resume (struct platform_device *pdev) ...@@ -915,7 +914,6 @@ static int dummy_udc_resume (struct platform_device *pdev)
set_link_state (dum); set_link_state (dum);
spin_unlock_irq (&dum->lock); spin_unlock_irq (&dum->lock);
pdev->dev.power.power_state = PMSG_ON;
usb_hcd_poll_rh_status (dummy_to_hcd (dum)); usb_hcd_poll_rh_status (dummy_to_hcd (dum));
return 0; return 0;
} }
......
...@@ -1265,8 +1265,6 @@ static int can_pullup(struct omap_udc *udc) ...@@ -1265,8 +1265,6 @@ static int can_pullup(struct omap_udc *udc)
static void pullup_enable(struct omap_udc *udc) static void pullup_enable(struct omap_udc *udc)
{ {
udc->gadget.dev.parent->power.power_state = PMSG_ON;
udc->gadget.dev.power.power_state = PMSG_ON;
UDC_SYSCON1_REG |= UDC_PULLUP_EN; UDC_SYSCON1_REG |= UDC_PULLUP_EN;
if (!gadget_is_otg(&udc->gadget) && !cpu_is_omap15xx()) if (!gadget_is_otg(&udc->gadget) && !cpu_is_omap15xx())
OTG_CTRL_REG |= OTG_BSESSVLD; OTG_CTRL_REG |= OTG_BSESSVLD;
...@@ -3061,8 +3059,6 @@ static int omap_udc_suspend(struct platform_device *dev, pm_message_t message) ...@@ -3061,8 +3059,6 @@ static int omap_udc_suspend(struct platform_device *dev, pm_message_t message)
omap_pullup(&udc->gadget, 0); omap_pullup(&udc->gadget, 0);
} }
udc->gadget.dev.power.power_state = PMSG_SUSPEND;
udc->gadget.dev.parent->power.power_state = PMSG_SUSPEND;
return 0; return 0;
} }
......
...@@ -670,7 +670,7 @@ static ssize_t fill_registers_buffer(struct debug_buffer *buf) ...@@ -670,7 +670,7 @@ static ssize_t fill_registers_buffer(struct debug_buffer *buf)
spin_lock_irqsave (&ehci->lock, flags); spin_lock_irqsave (&ehci->lock, flags);
if (buf->bus->controller->power.power_state.event) { if (!test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags)) {
size = scnprintf (next, size, size = scnprintf (next, size,
"bus %s, device %s (driver " DRIVER_VERSION ")\n" "bus %s, device %s (driver " DRIVER_VERSION ")\n"
"%s\n" "%s\n"
......
...@@ -125,7 +125,6 @@ static int ps3_ehci_probe(struct ps3_system_bus_device *dev) ...@@ -125,7 +125,6 @@ static int ps3_ehci_probe(struct ps3_system_bus_device *dev)
goto fail_irq; goto fail_irq;
} }
dev->core.power.power_state = PMSG_ON;
dev->core.dma_mask = &dummy_mask; /* FIXME: for improper usb code */ dev->core.dma_mask = &dummy_mask; /* FIXME: for improper usb code */
hcd = usb_create_hcd(&ps3_ehci_hc_driver, &dev->core, dev->core.bus_id); hcd = usb_create_hcd(&ps3_ehci_hc_driver, &dev->core, dev->core.bus_id);
......
...@@ -1442,11 +1442,6 @@ static int isp116x_bus_resume(struct usb_hcd *hcd) ...@@ -1442,11 +1442,6 @@ static int isp116x_bus_resume(struct usb_hcd *hcd)
break; break;
case HCCONTROL_USB_OPER: case HCCONTROL_USB_OPER:
spin_unlock_irq(&isp116x->lock); spin_unlock_irq(&isp116x->lock);
/* Without setting power_state here the
SUSPENDED state won't be removed from
sysfs/usbN/power.state as a response to remote
wakeup. Maybe in the future. */
hcd->self.root_hub->dev.power.power_state = PMSG_ON;
return 0; return 0;
default: default:
/* HCCONTROL_USB_RESET: this may happen, when during /* HCCONTROL_USB_RESET: this may happen, when during
...@@ -1460,7 +1455,6 @@ static int isp116x_bus_resume(struct usb_hcd *hcd) ...@@ -1460,7 +1455,6 @@ static int isp116x_bus_resume(struct usb_hcd *hcd)
if ((isp116x->rhdesca & RH_A_NDP) == 2) if ((isp116x->rhdesca & RH_A_NDP) == 2)
isp116x_hub_control(hcd, SetPortFeature, isp116x_hub_control(hcd, SetPortFeature,
USB_PORT_FEAT_POWER, 2, NULL, 0); USB_PORT_FEAT_POWER, 2, NULL, 0);
hcd->self.root_hub->dev.power.power_state = PMSG_ON;
return 0; return 0;
} }
...@@ -1486,8 +1480,6 @@ static int isp116x_bus_resume(struct usb_hcd *hcd) ...@@ -1486,8 +1480,6 @@ static int isp116x_bus_resume(struct usb_hcd *hcd)
isp116x_write_reg32(isp116x, HCCONTROL, isp116x_write_reg32(isp116x, HCCONTROL,
(val & ~HCCONTROL_HCFS) | HCCONTROL_USB_OPER); (val & ~HCCONTROL_HCFS) | HCCONTROL_USB_OPER);
spin_unlock_irq(&isp116x->lock); spin_unlock_irq(&isp116x->lock);
/* see analogous comment above */
hcd->self.root_hub->dev.power.power_state = PMSG_ON;
hcd->state = HC_STATE_RUNNING; hcd->state = HC_STATE_RUNNING;
return 0; return 0;
...@@ -1663,7 +1655,6 @@ static int __devinit isp116x_probe(struct platform_device *pdev) ...@@ -1663,7 +1655,6 @@ static int __devinit isp116x_probe(struct platform_device *pdev)
static int isp116x_suspend(struct platform_device *dev, pm_message_t state) static int isp116x_suspend(struct platform_device *dev, pm_message_t state)
{ {
VDBG("%s: state %x\n", __func__, state.event); VDBG("%s: state %x\n", __func__, state.event);
dev->dev.power.power_state = state;
return 0; return 0;
} }
...@@ -1672,8 +1663,7 @@ static int isp116x_suspend(struct platform_device *dev, pm_message_t state) ...@@ -1672,8 +1663,7 @@ static int isp116x_suspend(struct platform_device *dev, pm_message_t state)
*/ */
static int isp116x_resume(struct platform_device *dev) static int isp116x_resume(struct platform_device *dev)
{ {
VDBG("%s: state %x\n", __func__, dev->power.power_state.event); VDBG("%s\n", __func__);
dev->dev.power.power_state = PMSG_ON;
return 0; return 0;
} }
......
...@@ -655,7 +655,7 @@ static ssize_t fill_registers_buffer(struct debug_buffer *buf) ...@@ -655,7 +655,7 @@ static ssize_t fill_registers_buffer(struct debug_buffer *buf)
hcd->product_desc, hcd->product_desc,
hcd_name); hcd_name);
if (bus->controller->power.power_state.event) { if (!test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags)) {
size -= scnprintf (next, size, size -= scnprintf (next, size,
"SUSPENDED (no register access)\n"); "SUSPENDED (no register access)\n");
goto done; goto done;
......
...@@ -177,7 +177,6 @@ static int ohci_hcd_ep93xx_drv_suspend(struct platform_device *pdev, pm_message_ ...@@ -177,7 +177,6 @@ static int ohci_hcd_ep93xx_drv_suspend(struct platform_device *pdev, pm_message_
ep93xx_stop_hc(&pdev->dev); ep93xx_stop_hc(&pdev->dev);
hcd->state = HC_STATE_SUSPENDED; hcd->state = HC_STATE_SUSPENDED;
pdev->dev.power.power_state = PMSG_SUSPEND;
return 0; return 0;
} }
...@@ -193,7 +192,6 @@ static int ohci_hcd_ep93xx_drv_resume(struct platform_device *pdev) ...@@ -193,7 +192,6 @@ static int ohci_hcd_ep93xx_drv_resume(struct platform_device *pdev)
ohci->next_statechange = jiffies; ohci->next_statechange = jiffies;
ep93xx_start_hc(&pdev->dev); ep93xx_start_hc(&pdev->dev);
pdev->dev.power.power_state = PMSG_ON;
usb_hcd_resume_root_hub(hcd); usb_hcd_resume_root_hub(hcd);
return 0; return 0;
......
...@@ -505,7 +505,6 @@ static int ohci_omap_suspend(struct platform_device *dev, pm_message_t message) ...@@ -505,7 +505,6 @@ static int ohci_omap_suspend(struct platform_device *dev, pm_message_t message)
omap_ohci_clock_power(0); omap_ohci_clock_power(0);
ohci_to_hcd(ohci)->state = HC_STATE_SUSPENDED; ohci_to_hcd(ohci)->state = HC_STATE_SUSPENDED;
dev->dev.power.power_state = PMSG_SUSPEND;
return 0; return 0;
} }
...@@ -518,7 +517,6 @@ static int ohci_omap_resume(struct platform_device *dev) ...@@ -518,7 +517,6 @@ static int ohci_omap_resume(struct platform_device *dev)
ohci->next_statechange = jiffies; ohci->next_statechange = jiffies;
omap_ohci_clock_power(1); omap_ohci_clock_power(1);
dev->dev.power.power_state = PMSG_ON;
usb_hcd_resume_root_hub(platform_get_drvdata(dev)); usb_hcd_resume_root_hub(platform_get_drvdata(dev));
return 0; return 0;
} }
......
...@@ -127,7 +127,6 @@ static int ps3_ohci_probe(struct ps3_system_bus_device *dev) ...@@ -127,7 +127,6 @@ static int ps3_ohci_probe(struct ps3_system_bus_device *dev)
goto fail_irq; goto fail_irq;
} }
dev->core.power.power_state = PMSG_ON;
dev->core.dma_mask = &dummy_mask; /* FIXME: for improper usb code */ dev->core.dma_mask = &dummy_mask; /* FIXME: for improper usb code */
hcd = usb_create_hcd(&ps3_ohci_hc_driver, &dev->core, dev->core.bus_id); hcd = usb_create_hcd(&ps3_ohci_hc_driver, &dev->core, dev->core.bus_id);
......
...@@ -339,7 +339,6 @@ static int ohci_hcd_pxa27x_drv_suspend(struct platform_device *pdev, pm_message_ ...@@ -339,7 +339,6 @@ static int ohci_hcd_pxa27x_drv_suspend(struct platform_device *pdev, pm_message_
pxa27x_stop_hc(&pdev->dev); pxa27x_stop_hc(&pdev->dev);
hcd->state = HC_STATE_SUSPENDED; hcd->state = HC_STATE_SUSPENDED;
pdev->dev.power.power_state = PMSG_SUSPEND;
return 0; return 0;
} }
...@@ -357,7 +356,6 @@ static int ohci_hcd_pxa27x_drv_resume(struct platform_device *pdev) ...@@ -357,7 +356,6 @@ static int ohci_hcd_pxa27x_drv_resume(struct platform_device *pdev)
if ((status = pxa27x_start_hc(&pdev->dev)) < 0) if ((status = pxa27x_start_hc(&pdev->dev)) < 0)
return status; return status;
pdev->dev.power.power_state = PMSG_ON;
usb_hcd_resume_root_hub(hcd); usb_hcd_resume_root_hub(hcd);
return 0; return 0;
......
...@@ -224,7 +224,6 @@ static int ohci_sm501_suspend(struct platform_device *pdev, pm_message_t msg) ...@@ -224,7 +224,6 @@ static int ohci_sm501_suspend(struct platform_device *pdev, pm_message_t msg)
sm501_unit_power(dev->parent, SM501_GATE_USB_HOST, 0); sm501_unit_power(dev->parent, SM501_GATE_USB_HOST, 0);
ohci_to_hcd(ohci)->state = HC_STATE_SUSPENDED; ohci_to_hcd(ohci)->state = HC_STATE_SUSPENDED;
dev->power.power_state = PMSG_SUSPEND;
return 0; return 0;
} }
...@@ -238,7 +237,6 @@ static int ohci_sm501_resume(struct platform_device *pdev) ...@@ -238,7 +237,6 @@ static int ohci_sm501_resume(struct platform_device *pdev)
ohci->next_statechange = jiffies; ohci->next_statechange = jiffies;
sm501_unit_power(dev->parent, SM501_GATE_USB_HOST, 1); sm501_unit_power(dev->parent, SM501_GATE_USB_HOST, 1);
dev->power.power_state = PMSG_ON;
usb_hcd_resume_root_hub(platform_get_drvdata(pdev)); usb_hcd_resume_root_hub(platform_get_drvdata(pdev));
return 0; return 0;
} }
......
...@@ -2107,13 +2107,11 @@ static struct hc_driver r8a66597_hc_driver = { ...@@ -2107,13 +2107,11 @@ static struct hc_driver r8a66597_hc_driver = {
#if defined(CONFIG_PM) #if defined(CONFIG_PM)
static int r8a66597_suspend(struct platform_device *pdev, pm_message_t state) static int r8a66597_suspend(struct platform_device *pdev, pm_message_t state)
{ {
pdev->dev.power.power_state = state;
return 0; return 0;
} }
static int r8a66597_resume(struct platform_device *pdev) static int r8a66597_resume(struct platform_device *pdev)
{ {
pdev->dev.power.power_state = PMSG_ON;
return 0; return 0;
} }
#else /* if defined(CONFIG_PM) */ #else /* if defined(CONFIG_PM) */
......
...@@ -94,12 +94,10 @@ static void port_power(struct sl811 *sl811, int is_on) ...@@ -94,12 +94,10 @@ static void port_power(struct sl811 *sl811, int is_on)
sl811->port1 = (1 << USB_PORT_FEAT_POWER); sl811->port1 = (1 << USB_PORT_FEAT_POWER);
sl811->irq_enable = SL11H_INTMASK_INSRMV; sl811->irq_enable = SL11H_INTMASK_INSRMV;
hcd->self.controller->power.power_state = PMSG_ON;
} else { } else {
sl811->port1 = 0; sl811->port1 = 0;
sl811->irq_enable = 0; sl811->irq_enable = 0;
hcd->state = HC_STATE_HALT; hcd->state = HC_STATE_HALT;
hcd->self.controller->power.power_state = PMSG_SUSPEND;
} }
sl811->ctrl1 = 0; sl811->ctrl1 = 0;
sl811_write(sl811, SL11H_IRQ_ENABLE, 0); sl811_write(sl811, SL11H_IRQ_ENABLE, 0);
...@@ -1772,8 +1770,6 @@ sl811h_suspend(struct platform_device *dev, pm_message_t state) ...@@ -1772,8 +1770,6 @@ sl811h_suspend(struct platform_device *dev, pm_message_t state)
port_power(sl811, 0); port_power(sl811, 0);
break; break;
} }
if (retval == 0)
dev->dev.power.power_state = state;
return retval; return retval;
} }
...@@ -1786,15 +1782,13 @@ sl811h_resume(struct platform_device *dev) ...@@ -1786,15 +1782,13 @@ sl811h_resume(struct platform_device *dev)
/* with no "check to see if VBUS is still powered" board hook, /* with no "check to see if VBUS is still powered" board hook,
* let's assume it'd only be powered to enable remote wakeup. * let's assume it'd only be powered to enable remote wakeup.
*/ */
if (dev->dev.power.power_state.event == PM_EVENT_SUSPEND if (!sl811->port1 || !device_can_wakeup(&hcd->self.root_hub->dev)) {
|| !device_can_wakeup(&hcd->self.root_hub->dev)) {
sl811->port1 = 0; sl811->port1 = 0;
port_power(sl811, 1); port_power(sl811, 1);
usb_root_hub_lost_power(hcd->self.root_hub); usb_root_hub_lost_power(hcd->self.root_hub);
return 0; return 0;
} }
dev->dev.power.power_state = PMSG_ON;
return sl811h_bus_resume(hcd); return sl811h_bus_resume(hcd);
} }
......
...@@ -1534,11 +1534,9 @@ static void u132_power(struct u132 *u132, int is_on) ...@@ -1534,11 +1534,9 @@ static void u132_power(struct u132 *u132, int is_on)
if (u132->power) if (u132->power)
return; return;
u132->power = 1; u132->power = 1;
hcd->self.controller->power.power_state = PMSG_ON;
} else { } else {
u132->power = 0; u132->power = 0;
hcd->state = HC_STATE_HALT; hcd->state = HC_STATE_HALT;
hcd->self.controller->power.power_state = PMSG_SUSPEND;
} }
} }
...@@ -3227,8 +3225,6 @@ static int u132_suspend(struct platform_device *pdev, pm_message_t state) ...@@ -3227,8 +3225,6 @@ static int u132_suspend(struct platform_device *pdev, pm_message_t state)
} }
break; break;
} }
if (retval == 0)
pdev->dev.power.power_state = state;
return retval; return retval;
} }
} }
...@@ -3246,14 +3242,13 @@ static int u132_resume(struct platform_device *pdev) ...@@ -3246,14 +3242,13 @@ static int u132_resume(struct platform_device *pdev)
return -ESHUTDOWN; return -ESHUTDOWN;
} else { } else {
int retval = 0; int retval = 0;
if (pdev->dev.power.power_state.event == PM_EVENT_SUSPEND) { if (!u132->port[0].power) {
int ports = MAX_U132_PORTS; int ports = MAX_U132_PORTS;
while (ports-- > 0) { while (ports-- > 0) {
port_power(u132, ports, 1); port_power(u132, ports, 1);
} }
retval = 0; retval = 0;
} else { } else {
pdev->dev.power.power_state = PMSG_ON;
retval = u132_bus_resume(hcd); retval = u132_bus_resume(hcd);
} }
return retval; return retval;
......
...@@ -1564,7 +1564,8 @@ usbtest_ioctl (struct usb_interface *intf, unsigned int code, void *buf) ...@@ -1564,7 +1564,8 @@ usbtest_ioctl (struct usb_interface *intf, unsigned int code, void *buf)
if (mutex_lock_interruptible(&dev->lock)) if (mutex_lock_interruptible(&dev->lock))
return -ERESTARTSYS; return -ERESTARTSYS;
if (intf->dev.power.power_state.event != PM_EVENT_ON) { /* FIXME: What if a system sleep starts while a test is running? */
if (!intf->is_active) {
mutex_unlock(&dev->lock); mutex_unlock(&dev->lock);
return -EHOSTUNREACH; return -EHOSTUNREACH;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment