Commit 1fa774f7 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

usb: gadget: remove s3c24xx drivers



The s3c24xx platform is gone, so both the udc and hsudc drivers
can be removed as well.

Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent 7d1ec119
Loading
Loading
Loading
Loading
+0 −25
Original line number Diff line number Diff line
@@ -206,31 +206,6 @@ config USB_PXA27X
	   dynamically linked module called "pxa27x_udc" and force all
	   gadget drivers to also be dynamically linked.

config USB_S3C2410
	tristate "S3C2410 USB Device Controller"
	depends on ARCH_S3C24XX
	help
	  Samsung's S3C2410 is an ARM-4 processor with an integrated
	  full speed USB 1.1 device controller.  It has 4 configurable
	  endpoints, as well as endpoint zero (for control transfers).

	  This driver has been tested on the S3C2410, S3C2412, and
	  S3C2440 processors.

config USB_S3C2410_DEBUG
	bool "S3C2410 udc debug messages"
	depends on USB_S3C2410

config USB_S3C_HSUDC
	tristate "S3C2416, S3C2443 and S3C2450 USB Device Controller"
	depends on ARCH_S3C24XX
	help
	  Samsung's S3C2416, S3C2443 and S3C2450 is an ARM9 based SoC
	  integrated with dual speed USB 2.0 device controller. It has
	  8 endpoints, as well as endpoint zero.

	  This driver has been tested on S3C2416 and S3C2450 processors.

config USB_MV_UDC
	tristate "Marvell USB2.0 Device Controller"
	depends on HAS_DMA
+0 −2
Original line number Diff line number Diff line
@@ -17,7 +17,6 @@ obj-$(CONFIG_USB_PXA25X) += pxa25x_udc.o
obj-$(CONFIG_USB_PXA27X)	+= pxa27x_udc.o
obj-$(CONFIG_USB_GOKU)		+= goku_udc.o
obj-$(CONFIG_USB_OMAP)		+= omap_udc.o
obj-$(CONFIG_USB_S3C2410)	+= s3c2410_udc.o
obj-$(CONFIG_USB_AT91)		+= at91_udc.o
obj-$(CONFIG_USB_ATMEL_USBA)	+= atmel_usba_udc.o
obj-$(CONFIG_USB_BCM63XX_UDC)	+= bcm63xx_udc.o
@@ -28,7 +27,6 @@ obj-$(CONFIG_USB_M66592) += m66592-udc.o
obj-$(CONFIG_USB_R8A66597)	+= r8a66597-udc.o
obj-$(CONFIG_USB_RENESAS_USB3)	+= renesas_usb3.o
obj-$(CONFIG_USB_FSL_QE)	+= fsl_qe_udc.o
obj-$(CONFIG_USB_S3C_HSUDC)	+= s3c-hsudc.o
obj-$(CONFIG_USB_LPC32XX)	+= lpc32xx_udc.o
obj-$(CONFIG_USB_EG20T)		+= pch_udc.o
obj-$(CONFIG_USB_MV_UDC)	+= mv_udc.o
+0 −1319

File deleted.

Preview size limit exceeded, changes collapsed.

+0 −1980

File deleted.

Preview size limit exceeded, changes collapsed.

+0 −99
Original line number Diff line number Diff line
// 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;

	struct gpio_desc		*vbus_gpiod;
	struct gpio_desc		*pullup_gpiod;

	unsigned			got_irq : 1;

	unsigned			req_std : 1;
	unsigned			req_config : 1;
	unsigned			req_pending : 1;
	u8				vbus;
	int				irq;
};
#define to_s3c2410(g)	(container_of((g), struct s3c2410_udc, gadget))

#endif
Loading