allow to load only 1 usb port on AR9 / VR9

SVN-Revision: 34700
owl
John Crispin 2012-12-15 11:01:05 +00:00
parent 3dac521a49
commit 66daf1ef61
1 changed files with 13 additions and 8 deletions

View File

@ -305,6 +305,8 @@ static int ifxusb_driver_probe(struct platform_device *_pdev)
int retval = 0; int retval = 0;
struct device_node *np; struct device_node *np;
int gpio_count; int gpio_count;
u32 port_mask = 0x1;
#ifdef __IS_DANUBE__ #ifdef __IS_DANUBE__
np = of_find_compatible_node(NULL, NULL, "lantiq,ifxhcd-danube"); np = of_find_compatible_node(NULL, NULL, "lantiq,ifxhcd-danube");
#elif defined __IS_AMAZON_SE__ #elif defined __IS_AMAZON_SE__
@ -318,7 +320,7 @@ static int ifxusb_driver_probe(struct platform_device *_pdev)
dev_err(&_pdev->dev, "failed to find hcd device node\n"); dev_err(&_pdev->dev, "failed to find hcd device node\n");
return -ENODEV; return -ENODEV;
} }
of_property_read_u32(np, "lantiq,portmask", &port_mask);
// Parsing and store the parameters // Parsing and store the parameters
IFX_DEBUGPL(DBG_ENTRY, "%s() %d\n", __func__, __LINE__ ); IFX_DEBUGPL(DBG_ENTRY, "%s() %d\n", __func__, __LINE__ );
parse_parms(); parse_parms();
@ -349,24 +351,27 @@ static int ifxusb_driver_probe(struct platform_device *_pdev)
ifxusb_hcd_1.dev=&_pdev->dev; ifxusb_hcd_1.dev=&_pdev->dev;
ifxusb_hcd_2.dev=&_pdev->dev; ifxusb_hcd_2.dev=&_pdev->dev;
retval = ifxusb_driver_probe_h(&ifxusb_hcd_1, if (port_mask & 0x1) {
retval = ifxusb_driver_probe_h(&ifxusb_hcd_1,
IFXUSB1_IRQ, IFXUSB1_IRQ,
IFXUSB1_IOMEM_BASE, IFXUSB1_IOMEM_BASE,
IFXUSB1_FIFOMEM_BASE, IFXUSB1_FIFOMEM_BASE,
IFXUSB1_FIFODBG_BASE IFXUSB1_FIFODBG_BASE
); );
if(retval) if(retval)
goto ifxusb_driver_probe_fail; goto ifxusb_driver_probe_fail;
}
retval = ifxusb_driver_probe_h(&ifxusb_hcd_2, if (port_mask & 0x2) {
retval = ifxusb_driver_probe_h(&ifxusb_hcd_2,
IFXUSB2_IRQ, IFXUSB2_IRQ,
IFXUSB2_IOMEM_BASE, IFXUSB2_IOMEM_BASE,
IFXUSB2_FIFOMEM_BASE, IFXUSB2_FIFOMEM_BASE,
IFXUSB2_FIFODBG_BASE IFXUSB2_FIFODBG_BASE
); );
if(retval) if(retval)
goto ifxusb_driver_probe_fail; goto ifxusb_driver_probe_fail;
}
#elif defined(__IS_FIRST__) #elif defined(__IS_FIRST__)
memset(&ifxusb_hcd, 0, sizeof(ifxhcd_hcd_t)); memset(&ifxusb_hcd, 0, sizeof(ifxhcd_hcd_t));