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