Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3c9740a1 authored by Peter Chen's avatar Peter Chen Committed by Greg Kroah-Hartman
Browse files

usb: hcd: move controller wakeup setting initialization to individual driver



Individual controller driver has different requirement for wakeup
setting, so move it from core to itself. In order to align with
current etting the default wakeup setting is enabled (except for
chipidea host).

Pass compile test with below commands:
	make O=outout/all allmodconfig
	make -j$CPU_NUM O=outout/all drivers/usb

Signed-off-by: default avatarPeter Chen <peter.chen@freescale.com>
Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c4962e03
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -2921,6 +2921,8 @@ int dwc2_hcd_init(struct dwc2_hsotg *hsotg, int irq,
	if (retval < 0)
	if (retval < 0)
		goto error3;
		goto error3;


	device_wakeup_enable(hcd->self.controller);

	dwc2_hcd_dump_state(hsotg);
	dwc2_hcd_dump_state(hsotg);


	dwc2_enable_global_interrupts(hsotg);
	dwc2_enable_global_interrupts(hsotg);
+1 −0
Original line number Original line Diff line number Diff line
@@ -3498,6 +3498,7 @@ static int octeon_usb_driver_probe(struct device *dev)
		kfree(hcd);
		kfree(hcd);
		return -1;
		return -1;
	}
	}
	device_wakeup_enable(hcd->self.controller);


	dev_dbg(dev, "Registered HCD for port %d on irq %d\n", usb_num, irq);
	dev_dbg(dev, "Registered HCD for port %d on irq %d\n", usb_num, irq);


+2 −0
Original line number Original line Diff line number Diff line
@@ -2270,6 +2270,8 @@ static int oz_plat_probe(struct platform_device *dev)
		usb_put_hcd(hcd);
		usb_put_hcd(hcd);
		return -1;
		return -1;
	}
	}
	device_wakeup_enable(hcd->self.controller);

	spin_lock_bh(&g_hcdlock);
	spin_lock_bh(&g_hcdlock);
	g_ozhcd = ozhcd;
	g_ozhcd = ozhcd;
	spin_unlock_bh(&g_hcdlock);
	spin_unlock_bh(&g_hcdlock);
+2 −0
Original line number Original line Diff line number Diff line
@@ -384,6 +384,8 @@ int c67x00_hcd_probe(struct c67x00_sie *sie)
		goto err2;
		goto err2;
	}
	}


	device_wakeup_enable(hcd->self.controller);

	spin_lock_irqsave(&sie->lock, flags);
	spin_lock_irqsave(&sie->lock, flags);
	sie->private_data = c67x00;
	sie->private_data = c67x00;
	sie->irq = c67x00_hcd_irq;
	sie->irq = c67x00_hcd_irq;
+1 −0
Original line number Original line Diff line number Diff line
@@ -282,6 +282,7 @@ int usb_hcd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)


	if (retval != 0)
	if (retval != 0)
		goto unmap_registers;
		goto unmap_registers;
	device_wakeup_enable(hcd->self.controller);


	if (pci_dev_run_wake(dev))
	if (pci_dev_run_wake(dev))
		pm_runtime_put_noidle(&dev->dev);
		pm_runtime_put_noidle(&dev->dev);
Loading