1 /* arch/arm/plat-samsung/include/plat/usb-control.h
2  *
3  * Copyright (c) 2004 Simtec Electronics
4  *	Ben Dooks <ben@simtec.co.uk>
5  *
6  * S3C - USB host 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 
13 #ifndef __ASM_ARCH_USBCONTROL_H
14 #define __ASM_ARCH_USBCONTROL_H
15 
16 #define S3C_HCDFLG_USED	(1)
17 
18 struct s3c2410_hcd_port {
19 	unsigned char	flags;
20 	unsigned char	power;
21 	unsigned char	oc_status;
22 	unsigned char	oc_changed;
23 };
24 
25 struct s3c2410_hcd_info {
26 	struct usb_hcd		*hcd;
27 	struct s3c2410_hcd_port	port[2];
28 
29 	void		(*power_control)(int port, int to);
30 	void		(*enable_oc)(struct s3c2410_hcd_info *, int on);
31 	void		(*report_oc)(struct s3c2410_hcd_info *, int ports);
32 };
33 
s3c2410_usb_report_oc(struct s3c2410_hcd_info * info,int ports)34 static void inline s3c2410_usb_report_oc(struct s3c2410_hcd_info *info, int ports)
35 {
36 	if (info->report_oc != NULL) {
37 		(info->report_oc)(info, ports);
38 	}
39 }
40 
41 extern void s3c_ohci_set_platdata(struct s3c2410_hcd_info *info);
42 
43 #endif /*__ASM_ARCH_USBCONTROL_H */
44