aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/chipidea
diff options
context:
space:
mode:
authorAlexander Shishkin <alexander.shishkin@linux.intel.com>2012-05-11 10:25:55 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-05-11 19:59:35 -0400
commitbd841986e4e1fe60fe97da45be5139f173c5188e (patch)
tree4fb3a19474eedd0c6775520a1f180171bafd228e /drivers/usb/chipidea
parenteb70e5ab8f95a81283623c03d2c99dfc59fcb319 (diff)
usb: chipidea: add power_budget limit for ehci to platform data
Some implementations need this limitation to work correctly. Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/chipidea')
-rw-r--r--drivers/usb/chipidea/ci13xxx_pci.c8
-rw-r--r--drivers/usb/chipidea/host.c2
2 files changed, 9 insertions, 1 deletions
diff --git a/drivers/usb/chipidea/ci13xxx_pci.c b/drivers/usb/chipidea/ci13xxx_pci.c
index f190140cf612..e3dab27f5c75 100644
--- a/drivers/usb/chipidea/ci13xxx_pci.c
+++ b/drivers/usb/chipidea/ci13xxx_pci.c
@@ -33,6 +33,12 @@ struct ci13xxx_udc_driver langwell_pci_driver = {
33 .capoffset = 0, 33 .capoffset = 0,
34}; 34};
35 35
36struct ci13xxx_udc_driver penwell_pci_driver = {
37 .name = UDC_DRIVER_NAME,
38 .capoffset = 0,
39 .power_budget = 200,
40};
41
36/** 42/**
37 * ci13xxx_pci_probe: PCI probe 43 * ci13xxx_pci_probe: PCI probe
38 * @pdev: USB device controller being probed 44 * @pdev: USB device controller being probed
@@ -153,7 +159,7 @@ static DEFINE_PCI_DEVICE_TABLE(ci13xxx_pci_id_table) = {
153 }, 159 },
154 { 160 {
155 PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x0829), 161 PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x0829),
156 .driver_data = (kernel_ulong_t)&langwell_pci_driver, 162 .driver_data = (kernel_ulong_t)&penwell_pci_driver,
157 }, 163 },
158 { 0, 0, 0, 0, 0, 0, 0 /* end: all zeroes */ } 164 { 0, 0, 0, 0, 0, 0, 0 /* end: all zeroes */ }
159}; 165};
diff --git a/drivers/usb/chipidea/host.c b/drivers/usb/chipidea/host.c
index 8c8362c89a8c..0cffcfe5ce53 100644
--- a/drivers/usb/chipidea/host.c
+++ b/drivers/usb/chipidea/host.c
@@ -116,6 +116,8 @@ static int host_start(struct ci13xxx *ci)
116 hcd->regs = ci->hw_bank.abs; 116 hcd->regs = ci->hw_bank.abs;
117 hcd->has_tt = 1; 117 hcd->has_tt = 1;
118 118
119 hcd->power_budget = ci->udc_driver->power_budget;
120
119 ehci = hcd_to_ehci(hcd); 121 ehci = hcd_to_ehci(hcd);
120 ehci->caps = ci->hw_bank.cap; 122 ehci->caps = ci->hw_bank.cap;
121 ehci->has_hostpc = ci->hw_bank.lpm; 123 ehci->has_hostpc = ci->hw_bank.lpm;