[ARM] 3547/1: PXA-OHCI: Allow platforms to specify a power budget
Patch from Richard Purdie Add a power budget variable to the PXA OHCI platform data and add a default value for the spitz platform(s) which prevents known failures with certain USB devices. Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
Родитель
d782f33df7
Коммит
0c27c5d5b9
|
@ -371,6 +371,7 @@ static int spitz_ohci_init(struct device *dev)
|
||||||
static struct pxaohci_platform_data spitz_ohci_platform_data = {
|
static struct pxaohci_platform_data spitz_ohci_platform_data = {
|
||||||
.port_mode = PMM_NPS_MODE,
|
.port_mode = PMM_NPS_MODE,
|
||||||
.init = spitz_ohci_init,
|
.init = spitz_ohci_init,
|
||||||
|
.power_budget = 150,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -185,6 +185,9 @@ int usb_hcd_pxa27x_probe (const struct hc_driver *driver, struct platform_device
|
||||||
/* Select Power Management Mode */
|
/* Select Power Management Mode */
|
||||||
pxa27x_ohci_select_pmm(inf->port_mode);
|
pxa27x_ohci_select_pmm(inf->port_mode);
|
||||||
|
|
||||||
|
if (inf->power_budget)
|
||||||
|
hcd->power_budget = inf->power_budget;
|
||||||
|
|
||||||
ohci_hcd_init(hcd_to_ohci(hcd));
|
ohci_hcd_init(hcd_to_ohci(hcd));
|
||||||
|
|
||||||
retval = usb_add_hcd(hcd, pdev->resource[1].start, SA_INTERRUPT);
|
retval = usb_add_hcd(hcd, pdev->resource[1].start, SA_INTERRUPT);
|
||||||
|
|
|
@ -11,6 +11,8 @@ struct pxaohci_platform_data {
|
||||||
#define PMM_NPS_MODE 1
|
#define PMM_NPS_MODE 1
|
||||||
#define PMM_GLOBAL_MODE 2
|
#define PMM_GLOBAL_MODE 2
|
||||||
#define PMM_PERPORT_MODE 3
|
#define PMM_PERPORT_MODE 3
|
||||||
|
|
||||||
|
int power_budget;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern void pxa_set_ohci_info(struct pxaohci_platform_data *info);
|
extern void pxa_set_ohci_info(struct pxaohci_platform_data *info);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче