Commit f08e3155 authored by Sven Schnelle's avatar Sven Schnelle Committed by Heiko Carstens
Browse files

s390/raw3270: add raw3270_start_request() helper



There are a few places (and there would be more with the following commits)
like this:

raw3270_request_reset(cp->kreset);
raw3270_request_set_cmd(cp->kreset, TC_WRITE);
raw3270_request_add_data(cp->kreset, &kreset_data, 1);
raw3270_start(&cp->view, cp->kreset);

i.e reset a request, setting the command, adding payload, and starting the
request. Add a helper raw3270_start_request() which takes a command and
the payload as argument and calls the approppriate functions.

Signed-off-by: default avatarSven Schnelle <svens@linux.ibm.com>
Acked-by: default avatarHeiko Carstens <hca@linux.ibm.com>
Tested-by: default avatarNiklas Schnelle <schnelle@linux.ibm.com>
Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
parent e22de7d7
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -591,10 +591,7 @@ static void tty3270_read_tasklet(unsigned long data)
	spin_unlock_irq(&tp->view.lock);

	/* Start keyboard reset command. */
	raw3270_request_reset(tp->kreset);
	raw3270_request_set_cmd(tp->kreset, TC_WRITE);
	raw3270_request_add_data(tp->kreset, &kreset_data, 1);
	raw3270_start(&tp->view, tp->kreset);
	raw3270_start_request(&tp->view, tp->kreset, TC_WRITE, &kreset_data, 1);

	while (len-- > 0)
		kbd_keycode(tp->kbd, *input++);
+14 −0
Original line number Diff line number Diff line
@@ -264,6 +264,19 @@ int raw3270_start(struct raw3270_view *view, struct raw3270_request *rq)
	return rc;
}

int raw3270_start_request(struct raw3270_view *view, struct raw3270_request *rq,
			  int cmd, void *data, size_t len)
{
	int rc;

	raw3270_request_reset(rq);
	raw3270_request_set_cmd(rq, cmd);
	rc = raw3270_request_add_data(rq, data, len);
	if (rc)
		return rc;
	return raw3270_start(view, rq);
}

int raw3270_start_locked(struct raw3270_view *view, struct raw3270_request *rq)
{
	struct raw3270 *rp;
@@ -1272,6 +1285,7 @@ EXPORT_SYMBOL(raw3270_find_view);
EXPORT_SYMBOL(raw3270_activate_view);
EXPORT_SYMBOL(raw3270_deactivate_view);
EXPORT_SYMBOL(raw3270_start);
EXPORT_SYMBOL(raw3270_start_request);
EXPORT_SYMBOL(raw3270_start_locked);
EXPORT_SYMBOL(raw3270_start_irq);
EXPORT_SYMBOL(raw3270_reset);
+2 −0
Original line number Diff line number Diff line
@@ -180,6 +180,8 @@ int raw3270_start_irq(struct raw3270_view *, struct raw3270_request *);
int raw3270_reset(struct raw3270_view *);
struct raw3270_view *raw3270_view(struct raw3270_view *);
int raw3270_view_active(struct raw3270_view *);
int raw3270_start_request(struct raw3270_view *view, struct raw3270_request *rq,
			  int cmd, void *data, size_t len);

/* Reference count inliner for view structures. */
static inline void