mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
229e368239
Now that the SPDX tag is in all USB files, that identifies the license in a specific and legally-defined manner. So the extra GPL text wording can be removed as it is no longer needed at all. This is done on a quest to remove the 700+ different ways that files in the kernel describe the GPL license text. And there's unneeded stuff like the address (sometimes incorrect) for the FSF which is never needed. No copyright headers or other non-license-description text was removed. Cc: Kevin Cernekee <cernekee@gmail.com> Cc: Florian Fainelli <f.fainelli@gmail.com> Cc: Vladimir Zapolskiy <vz@mleia.com> Cc: Sylvain Lemieux <slemieux.tyco@gmail.com> Cc: Daniel Mack <daniel@zonque.org> Cc: Haojian Zhuang <haojian.zhuang@gmail.com> Cc: Michal Simek <michal.simek@xilinx.com> Cc: "Sören Brinkmann" <soren.brinkmann@xilinx.com> Cc: Raviteja Garimella <raviteja.garimella@broadcom.com> Cc: Romain Perier <romain.perier@collabora.com> Cc: Johan Hovold <johan@kernel.org> Cc: Al Cooper <alcooperx@gmail.com> Cc: Srinath Mannam <srinath.mannam@broadcom.com> Cc: Roger Quadros <rogerq@ti.com> Cc: Krzysztof Opasiak <k.opasiak@samsung.com> Cc: Stefan Agner <stefan@agner.ch> Cc: Alan Stern <stern@rowland.harvard.edu> Cc: "Felix Hädicke" <felixhaedicke@web.de> Cc: Peter Chen <peter.chen@nxp.com> Cc: Allen Pais <allen.lkml@gmail.com> Cc: Yuyang Du <yuyang.du@intel.com> Acked-by: Felipe Balbi <felipe.balbi@linux.intel.com> Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com> Acked-by: Robert Jarzmik <robert.jarzmik@free.fr> Acked-by: Li Yang <leoyang.li@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
97 lines
2.1 KiB
C
97 lines
2.1 KiB
C
// SPDX-License-Identifier: GPL-2.0+
|
|
/*
|
|
* linux/drivers/usb/gadget/s3c2410_udc.h
|
|
* Samsung on-chip full speed USB device controllers
|
|
*
|
|
* Copyright (C) 2004-2007 Herbert Pötzl - Arnaud Patard
|
|
* Additional cleanups by Ben Dooks <ben-linux@fluff.org>
|
|
*/
|
|
|
|
#ifndef _S3C2410_UDC_H
|
|
#define _S3C2410_UDC_H
|
|
|
|
struct s3c2410_ep {
|
|
struct list_head queue;
|
|
unsigned long last_io; /* jiffies timestamp */
|
|
struct usb_gadget *gadget;
|
|
struct s3c2410_udc *dev;
|
|
struct usb_ep ep;
|
|
u8 num;
|
|
|
|
unsigned short fifo_size;
|
|
u8 bEndpointAddress;
|
|
u8 bmAttributes;
|
|
|
|
unsigned halted : 1;
|
|
unsigned already_seen : 1;
|
|
unsigned setup_stage : 1;
|
|
};
|
|
|
|
|
|
/* Warning : ep0 has a fifo of 16 bytes */
|
|
/* Don't try to set 32 or 64 */
|
|
/* also testusb 14 fails wit 16 but is */
|
|
/* fine with 8 */
|
|
#define EP0_FIFO_SIZE 8
|
|
#define EP_FIFO_SIZE 64
|
|
#define DEFAULT_POWER_STATE 0x00
|
|
|
|
#define S3C2440_EP_FIFO_SIZE 128
|
|
|
|
static const char ep0name [] = "ep0";
|
|
|
|
static const char *const ep_name[] = {
|
|
ep0name, /* everyone has ep0 */
|
|
/* s3c2410 four bidirectional bulk endpoints */
|
|
"ep1-bulk", "ep2-bulk", "ep3-bulk", "ep4-bulk",
|
|
};
|
|
|
|
#define S3C2410_ENDPOINTS ARRAY_SIZE(ep_name)
|
|
|
|
struct s3c2410_request {
|
|
struct list_head queue; /* ep's requests */
|
|
struct usb_request req;
|
|
};
|
|
|
|
enum ep0_state {
|
|
EP0_IDLE,
|
|
EP0_IN_DATA_PHASE,
|
|
EP0_OUT_DATA_PHASE,
|
|
EP0_END_XFER,
|
|
EP0_STALL,
|
|
};
|
|
|
|
static const char *ep0states[]= {
|
|
"EP0_IDLE",
|
|
"EP0_IN_DATA_PHASE",
|
|
"EP0_OUT_DATA_PHASE",
|
|
"EP0_END_XFER",
|
|
"EP0_STALL",
|
|
};
|
|
|
|
struct s3c2410_udc {
|
|
spinlock_t lock;
|
|
|
|
struct s3c2410_ep ep[S3C2410_ENDPOINTS];
|
|
int address;
|
|
struct usb_gadget gadget;
|
|
struct usb_gadget_driver *driver;
|
|
struct s3c2410_request fifo_req;
|
|
u8 fifo_buf[EP_FIFO_SIZE];
|
|
u16 devstatus;
|
|
|
|
u32 port_status;
|
|
int ep0state;
|
|
|
|
unsigned got_irq : 1;
|
|
|
|
unsigned req_std : 1;
|
|
unsigned req_config : 1;
|
|
unsigned req_pending : 1;
|
|
u8 vbus;
|
|
struct dentry *regs_info;
|
|
};
|
|
#define to_s3c2410(g) (container_of((g), struct s3c2410_udc, gadget))
|
|
|
|
#endif
|