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)34static 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