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

Commit 8cdd7639 authored by Mark Hounschell's avatar Mark Hounschell Committed by Greg Kroah-Hartman
Browse files

staging: dgap: re-factor some code for 80+ lines as reported by checkpatch



This patch re-factors some code to fix some 80+ lines as reported by checkpatch.
This patch was suggested and authored by Dan Carpenter. A test case for this
patch has been written and used to show the patch to be correct.

Suggested-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarMark Hounschell <markh@compro.net>
Tested-by: default avatarMark Hounschell <markh@compro.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent d658f90f
Loading
Loading
Loading
Loading
+35 −72
Original line number Original line Diff line number Diff line
@@ -5567,6 +5567,33 @@ static void dgap_parity_scan(struct channel_t *ch, unsigned char *cbuf,
	*len = count;
	*len = count;
}
}


static void dgap_write_wakeup(struct board_t *bd, struct channel_t *ch,
			      struct un_t *un, u32 mask,
			      unsigned long *irq_flags1,
			      unsigned long *irq_flags2)
{
	if (!(un->un_flags & mask))
		return;

	un->un_flags &= ~mask;

	if (!(un->un_flags & UN_ISOPEN))
		return;

	if ((un->un_tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) &&
	    un->un_tty->ldisc->ops->write_wakeup) {
		spin_unlock_irqrestore(&ch->ch_lock, *irq_flags2);
		spin_unlock_irqrestore(&bd->bd_lock, *irq_flags1);

		(un->un_tty->ldisc->ops->write_wakeup)(un->un_tty);

		spin_lock_irqsave(&bd->bd_lock, *irq_flags1);
		spin_lock_irqsave(&ch->ch_lock, *irq_flags2);
	}
	wake_up_interruptible(&un->un_tty->write_wait);
	wake_up_interruptible(&un->un_flags_wait);
}

/*=======================================================================
/*=======================================================================
 *
 *
 *      dgap_event - FEP to host event processing routine.
 *      dgap_event - FEP to host event processing routine.
@@ -5721,42 +5748,10 @@ static int dgap_event(struct board_t *bd)
		 * Process Transmit low.
		 * Process Transmit low.
		 */
		 */
		if (reason & IFTLW) {
		if (reason & IFTLW) {

			dgap_write_wakeup(bd, ch, &ch->ch_tun, UN_LOW,
			if (ch->ch_tun.un_flags & UN_LOW) {
					  &lock_flags, &lock_flags2);
				ch->ch_tun.un_flags &= ~UN_LOW;
			dgap_write_wakeup(bd, ch, &ch->ch_pun, UN_LOW,

					  &lock_flags, &lock_flags2);
				if (ch->ch_tun.un_flags & UN_ISOPEN) {
					if ((ch->ch_tun.un_tty->flags &
					   (1 << TTY_DO_WRITE_WAKEUP)) &&
						ch->ch_tun.un_tty->ldisc->ops->write_wakeup) {
						DGAP_UNLOCK(ch->ch_lock, lock_flags2);
						DGAP_UNLOCK(bd->bd_lock, lock_flags);
						(ch->ch_tun.un_tty->ldisc->ops->write_wakeup)(ch->ch_tun.un_tty);
						DGAP_LOCK(bd->bd_lock, lock_flags);
						DGAP_LOCK(ch->ch_lock, lock_flags2);
					}
					wake_up_interruptible(&ch->ch_tun.un_tty->write_wait);
					wake_up_interruptible(&ch->ch_tun.un_flags_wait);
				}
			}

			if (ch->ch_pun.un_flags & UN_LOW) {
				ch->ch_pun.un_flags &= ~UN_LOW;
				if (ch->ch_pun.un_flags & UN_ISOPEN) {
					if ((ch->ch_pun.un_tty->flags &
					   (1 << TTY_DO_WRITE_WAKEUP)) &&
						ch->ch_pun.un_tty->ldisc->ops->write_wakeup) {
						DGAP_UNLOCK(ch->ch_lock, lock_flags2);
						DGAP_UNLOCK(bd->bd_lock, lock_flags);
						(ch->ch_pun.un_tty->ldisc->ops->write_wakeup)(ch->ch_pun.un_tty);
						DGAP_LOCK(bd->bd_lock, lock_flags);
						DGAP_LOCK(ch->ch_lock, lock_flags2);
					}
					wake_up_interruptible(&ch->ch_pun.un_tty->write_wait);
					wake_up_interruptible(&ch->ch_pun.un_flags_wait);
				}
			}

			if (ch->ch_flags & CH_WLOW) {
			if (ch->ch_flags & CH_WLOW) {
				ch->ch_flags &= ~CH_WLOW;
				ch->ch_flags &= ~CH_WLOW;
				wake_up_interruptible(&ch->ch_flags_wait);
				wake_up_interruptible(&ch->ch_flags_wait);
@@ -5767,42 +5762,10 @@ static int dgap_event(struct board_t *bd)
		 * Process Transmit empty.
		 * Process Transmit empty.
		 */
		 */
		if (reason & IFTEM) {
		if (reason & IFTEM) {
			if (ch->ch_tun.un_flags & UN_EMPTY) {
			dgap_write_wakeup(bd, ch, &ch->ch_tun, UN_EMPTY,
				ch->ch_tun.un_flags &= ~UN_EMPTY;
					  &lock_flags, &lock_flags2);
				if (ch->ch_tun.un_flags & UN_ISOPEN) {
			dgap_write_wakeup(bd, ch, &ch->ch_pun, UN_EMPTY,
					if ((ch->ch_tun.un_tty->flags &
					  &lock_flags, &lock_flags2);
					   (1 << TTY_DO_WRITE_WAKEUP)) &&
						ch->ch_tun.un_tty->ldisc->ops->write_wakeup) {
						DGAP_UNLOCK(ch->ch_lock, lock_flags2);
						DGAP_UNLOCK(bd->bd_lock, lock_flags);

						(ch->ch_tun.un_tty->ldisc->ops->write_wakeup)(ch->ch_tun.un_tty);
						DGAP_LOCK(bd->bd_lock, lock_flags);
						DGAP_LOCK(ch->ch_lock, lock_flags2);
					}
					wake_up_interruptible(&ch->ch_tun.un_tty->write_wait);
					wake_up_interruptible(&ch->ch_tun.un_flags_wait);
				}
			}

			if (ch->ch_pun.un_flags & UN_EMPTY) {
				ch->ch_pun.un_flags &= ~UN_EMPTY;
				if (ch->ch_pun.un_flags & UN_ISOPEN) {
					if ((ch->ch_pun.un_tty->flags &
					   (1 << TTY_DO_WRITE_WAKEUP)) &&
						ch->ch_pun.un_tty->ldisc->ops->write_wakeup) {
						DGAP_UNLOCK(ch->ch_lock, lock_flags2);
						DGAP_UNLOCK(bd->bd_lock, lock_flags);
						(ch->ch_pun.un_tty->ldisc->ops->write_wakeup)(ch->ch_pun.un_tty);
						DGAP_LOCK(bd->bd_lock, lock_flags);
						DGAP_LOCK(ch->ch_lock, lock_flags2);
					}
					wake_up_interruptible(&ch->ch_pun.un_tty->write_wait);
					wake_up_interruptible(&ch->ch_pun.un_flags_wait);
				}
			}


			if (ch->ch_flags & CH_WEMPTY) {
			if (ch->ch_flags & CH_WEMPTY) {
				ch->ch_flags &= ~CH_WEMPTY;
				ch->ch_flags &= ~CH_WEMPTY;
				wake_up_interruptible(&ch->ch_flags_wait);
				wake_up_interruptible(&ch->ch_flags_wait);