linux/drivers/usb/gadget/udc/cdns2/cdns2-ep0.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Cadence USBHS-DEV driver.
 *
 * Copyright (C) 2023 Cadence Design Systems.
 *
 * Authors: Pawel Laszczak <[email protected]>
 */

#include <linux/usb/composite.h>
#include <asm/unaligned.h>

#include "cdns2-gadget.h"
#include "cdns2-trace.h"

static struct usb_endpoint_descriptor cdns2_gadget_ep0_desc =;

static int cdns2_w_index_to_ep_index(u16 wIndex)
{}

static bool cdns2_check_new_setup(struct cdns2_device *pdev)
{}

static void cdns2_ep0_enqueue(struct cdns2_device *pdev, dma_addr_t dma_addr,
			      unsigned int length, int zlp)
{}

static int cdns2_ep0_delegate_req(struct cdns2_device *pdev)
{}

static void cdns2_ep0_stall(struct cdns2_device *pdev)
{}

static void cdns2_status_stage(struct cdns2_device *pdev)
{}

static int cdns2_req_ep0_set_configuration(struct cdns2_device *pdev,
					   struct usb_ctrlrequest *ctrl_req)
{}

static int cdns2_req_ep0_set_address(struct cdns2_device *pdev, u32 addr)
{}

static int cdns2_req_ep0_handle_status(struct cdns2_device *pdev,
				       struct usb_ctrlrequest *ctrl)
{}

static int cdns2_ep0_handle_feature_device(struct cdns2_device *pdev,
					   struct usb_ctrlrequest *ctrl,
					   int set)
{}

static int cdns2_ep0_handle_feature_intf(struct cdns2_device *pdev,
					 struct usb_ctrlrequest *ctrl,
					 int set)
{}

static int cdns2_ep0_handle_feature_endpoint(struct cdns2_device *pdev,
					     struct usb_ctrlrequest *ctrl,
					     int set)
{}

static int cdns2_req_ep0_handle_feature(struct cdns2_device *pdev,
					struct usb_ctrlrequest *ctrl,
					int set)
{}

static int cdns2_ep0_std_request(struct cdns2_device *pdev)
{}

static void __pending_setup_status_handler(struct cdns2_device *pdev)
{}

void cdns2_pending_setup_status_handler(struct work_struct *work)
{}

void cdns2_handle_setup_packet(struct cdns2_device *pdev)
{}

static void cdns2_transfer_completed(struct cdns2_device *pdev)
{}

void cdns2_handle_ep0_interrupt(struct cdns2_device *pdev, int dir)
{}

/*
 * Function shouldn't be called by gadget driver,
 * endpoint 0 is allways active.
 */
static int cdns2_gadget_ep0_enable(struct usb_ep *ep,
				   const struct usb_endpoint_descriptor *desc)
{}

/*
 * Function shouldn't be called by gadget driver,
 * endpoint 0 is allways active.
 */
static int cdns2_gadget_ep0_disable(struct usb_ep *ep)
{}

static int cdns2_gadget_ep0_set_halt(struct usb_ep *ep, int value)
{}

static int cdns2_gadget_ep0_set_wedge(struct usb_ep *ep)
{}

static int cdns2_gadget_ep0_queue(struct usb_ep *ep,
				  struct usb_request *request,
				  gfp_t gfp_flags)
{}

static const struct usb_ep_ops cdns2_gadget_ep0_ops =;

void cdns2_ep0_config(struct cdns2_device *pdev)
{}

void cdns2_init_ep0(struct cdns2_device *pdev,
		    struct cdns2_endpoint *pep)
{}