Merge remote-tracking branches 'asoc/topic/wm8753' and 'asoc/topic/wm8985' into asoc...
[sfrench/cifs-2.6.git] / tools / usb / usbip / src / usbip_port.c
1 /*
2  * Copyright (C) 2011 matt mooney <mfm@muteddisk.com>
3  *               2005-2007 Takahiro Hirofuchi
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  */
15
16 #include "vhci_driver.h"
17 #include "usbip_common.h"
18
19 static int list_imported_devices(void)
20 {
21         int i;
22         struct usbip_imported_device *idev;
23         int ret;
24
25         if (usbip_names_init(USBIDS_FILE))
26                 err("failed to open %s", USBIDS_FILE);
27
28         ret = usbip_vhci_driver_open();
29         if (ret < 0) {
30                 err("open vhci_driver");
31                 goto err_names_free;
32         }
33
34         printf("Imported USB devices\n");
35         printf("====================\n");
36
37         for (i = 0; i < vhci_driver->nports; i++) {
38                 idev = &vhci_driver->idev[i];
39
40                 if (usbip_vhci_imported_device_dump(idev) < 0)
41                         goto err_driver_close;
42         }
43
44         usbip_vhci_driver_close();
45         usbip_names_free();
46
47         return ret;
48
49 err_driver_close:
50         usbip_vhci_driver_close();
51 err_names_free:
52         usbip_names_free();
53         return -1;
54 }
55
56 int usbip_port_show(__attribute__((unused)) int argc,
57                     __attribute__((unused)) char *argv[])
58 {
59         int ret;
60
61         ret = list_imported_devices();
62         if (ret < 0)
63                 err("list imported devices");
64
65         return ret;
66 }