aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-arm/arch-s3c2410/usb-control.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-arm/arch-s3c2410/usb-control.h')
-rw-r--r--include/asm-arm/arch-s3c2410/usb-control.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/include/asm-arm/arch-s3c2410/usb-control.h b/include/asm-arm/arch-s3c2410/usb-control.h
new file mode 100644
index 00000000000..1cc85a096b2
--- /dev/null
+++ b/include/asm-arm/arch-s3c2410/usb-control.h
@@ -0,0 +1,45 @@
1/* linux/include/asm-arm/arch-s3c2410/usb-control.h
2 *
3 * (c) 2004 Simtec Electronics
4 * Ben Dooks <ben@simtec.co.uk>
5 *
6 * S3C2410 - usb port information
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 *
12 * Changelog:
13 * 11-Sep-2004 BJD Created file
14 * 21-Sep-2004 BJD Updated port info
15*/
16
17#ifndef __ASM_ARCH_USBCONTROL_H
18#define __ASM_ARCH_USBCONTROL_H "include/asm-arm/arch-s3c2410/usb-control.h"
19
20#define S3C_HCDFLG_USED (1)
21
22struct s3c2410_hcd_port {
23 unsigned char flags;
24 unsigned char power;
25 unsigned char oc_status;
26 unsigned char oc_changed;
27};
28
29struct s3c2410_hcd_info {
30 struct usb_hcd *hcd;
31 struct s3c2410_hcd_port port[2];
32
33 void (*power_control)(int port, int to);
34 void (*enable_oc)(struct s3c2410_hcd_info *, int on);
35 void (*report_oc)(struct s3c2410_hcd_info *, int ports);
36};
37
38static void inline s3c2410_report_oc(struct s3c2410_hcd_info *info, int ports)
39{
40 if (info->report_oc != NULL) {
41 (info->report_oc)(info, ports);
42 }
43}
44
45#endif /*__ASM_ARCH_USBCONTROL_H */