greybus: es2: Reserve CPorts 16 and 17

CPorts 16 and 17 are reserved for CDSI0 and CDSI1 by the ES2 APB, make
sure they won't be allocated dynamically.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
Laurent Pinchart 2015-12-08 19:54:59 +02:00 committed by Greg Kroah-Hartman
parent 5626e0bf99
commit a75fd8ba5c
1 changed files with 9 additions and 0 deletions

View File

@ -841,6 +841,7 @@ static int ap_probe(struct usb_interface *interface,
int retval = -ENOMEM;
int i;
int num_cports;
int cport_id;
udev = usb_get_dev(interface_to_usbdev(interface));
@ -859,6 +860,14 @@ static int ap_probe(struct usb_interface *interface,
return PTR_ERR(hd);
}
/*
* CPorts 16 and 17 are reserved for CDSI0 and CDSI1, make sure they
* won't be allocated dynamically.
*/
do {
cport_id = ida_simple_get(&hd->cport_id_map, 16, 18, GFP_KERNEL);
} while (cport_id > 0);
es2 = hd_to_es2(hd);
es2->hd = hd;
es2->usb_intf = interface;