Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2cc97197 authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Felipe Balbi
Browse files

usb: gadget: renesas_usbhs: add struct usbhs_priv to packet done function



There was no method to get struct usbhs_priv when
packet transfer done function was called.
This patch allow that callback function receive it.

Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 92352071
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -171,7 +171,7 @@ __usbhs_pkt_handler_end:
	/********************  spin unlock ******************/

	if (is_done) {
		info->done(pkt);
		info->done(priv, pkt);
		usbhs_pkt_start(pipe);
	}

+1 −1
Original line number Diff line number Diff line
@@ -159,7 +159,7 @@ static void usbhsg_queue_pop(struct usbhsg_uep *uep,
	ureq->req.complete(&uep->ep, &ureq->req);
}

static void usbhsg_queue_done(struct usbhs_pkt *pkt)
static void usbhsg_queue_done(struct usbhs_priv *priv, struct usbhs_pkt *pkt)
{
	struct usbhs_pipe *pipe = pkt->pipe;
	struct usbhsg_uep *uep = usbhsg_pipe_to_uep(pipe);
+2 −1
Original line number Diff line number Diff line
@@ -497,7 +497,8 @@ static struct usbhs_pipe *usbhsp_get_pipe(struct usbhs_priv *priv, u32 type)
}

void usbhs_pipe_init(struct usbhs_priv *priv,
		     void (*done)(struct usbhs_pkt *pkt),
		     void (*done)(struct usbhs_priv *priv,
				  struct usbhs_pkt *pkt),
		     int (*dma_map_ctrl)(struct usbhs_pkt *pkt, int map))
{
	struct usbhs_pipe_info *info = usbhs_priv_to_pipeinfo(priv);
+3 −2
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ struct usbhs_pipe_info {
	int size;	/* array size of "pipe" */
	int bufnmb_last;	/* FIXME : driver needs good allocator */

	void (*done)(struct usbhs_pkt *pkt);
	void (*done)(struct usbhs_priv *priv, struct usbhs_pkt *pkt);
	int (*dma_map_ctrl)(struct usbhs_pkt *pkt, int map);
};

@@ -80,7 +80,8 @@ void usbhs_pipe_remove(struct usbhs_priv *priv);
int usbhs_pipe_is_dir_in(struct usbhs_pipe *pipe);
int usbhs_pipe_is_dir_host(struct usbhs_pipe *pipe);
void usbhs_pipe_init(struct usbhs_priv *priv,
		     void (*done)(struct usbhs_pkt *pkt),
		     void (*done)(struct usbhs_priv *priv,
				  struct usbhs_pkt *pkt),
		     int (*dma_map_ctrl)(struct usbhs_pkt *pkt, int map));
int usbhs_pipe_get_maxpacket(struct usbhs_pipe *pipe);
void usbhs_pipe_clear_sequence(struct usbhs_pipe *pipe);