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

Commit 57584c5a authored by Joe Perches's avatar Joe Perches Committed by Linus Torvalds
Browse files

drivers/block/floppy.c: add function is_ready_state



Used a couple of times, might simplify the code a bit.

Signed-off-by: default avatarJoe Perches <joe@perches.com>
Cc: Stephen Hemminger <shemminger@vyatta.com>
Cc: Jens Axboe <jens.axboe@oracle.com>
Cc: Marcin Slusarz <marcin.slusarz@gmail.com>
Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 29f1c784
Loading
Loading
Loading
Loading
+15 −4
Original line number Diff line number Diff line
@@ -782,6 +782,12 @@ static inline int is_selected(int dor, int unit)
	return ((dor & (0x10 << unit)) && (dor & 3) == unit);
}

static bool is_ready_state(int status)
{
	int state = status & (STATUS_READY | STATUS_DIR | STATUS_DMA);
	return state == STATUS_READY;
}

static int set_dor(int fdc, char mask, char data)
{
	unsigned char unit;
@@ -823,8 +829,10 @@ static void twaddle(void)
	DRS->select_date = jiffies;
}

/* reset all driver information about the current fdc. This is needed after
 * a reset, and after a raw command. */
/*
 * Reset all driver information about the current fdc.
 * This is needed after a reset, and after a raw command.
 */
static void reset_fdc_info(int mode)
{
	int drive;
@@ -1162,7 +1170,8 @@ static int output_byte(char byte)

	if (status < 0)
		return -1;
	if ((status & (STATUS_READY | STATUS_DIR | STATUS_DMA)) == STATUS_READY) {

	if (is_ready_state(status)) {
		fd_outb(byte, FD_DATA);
#ifdef FLOPPY_SANITY_CHECK
		output_log[output_log_pos].data = byte;
@@ -1221,8 +1230,10 @@ static int need_more_output(void)

	if (status < 0)
		return -1;
	if ((status & (STATUS_READY | STATUS_DIR | STATUS_DMA)) == STATUS_READY)

	if (is_ready_state(status))
		return MORE_OUTPUT;

	return result();
}