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

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
...@@ -782,6 +782,12 @@ static inline int is_selected(int dor, int unit) ...@@ -782,6 +782,12 @@ static inline int is_selected(int dor, int unit)
return ((dor & (0x10 << unit)) && (dor & 3) == 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) static int set_dor(int fdc, char mask, char data)
{ {
unsigned char unit; unsigned char unit;
...@@ -823,8 +829,10 @@ static void twaddle(void) ...@@ -823,8 +829,10 @@ static void twaddle(void)
DRS->select_date = jiffies; 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) static void reset_fdc_info(int mode)
{ {
int drive; int drive;
...@@ -1162,7 +1170,8 @@ static int output_byte(char byte) ...@@ -1162,7 +1170,8 @@ static int output_byte(char byte)
if (status < 0) if (status < 0)
return -1; return -1;
if ((status & (STATUS_READY | STATUS_DIR | STATUS_DMA)) == STATUS_READY) {
if (is_ready_state(status)) {
fd_outb(byte, FD_DATA); fd_outb(byte, FD_DATA);
#ifdef FLOPPY_SANITY_CHECK #ifdef FLOPPY_SANITY_CHECK
output_log[output_log_pos].data = byte; output_log[output_log_pos].data = byte;
...@@ -1221,8 +1230,10 @@ static int need_more_output(void) ...@@ -1221,8 +1230,10 @@ static int need_more_output(void)
if (status < 0) if (status < 0)
return -1; return -1;
if ((status & (STATUS_READY | STATUS_DIR | STATUS_DMA)) == STATUS_READY)
if (is_ready_state(status))
return MORE_OUTPUT; return MORE_OUTPUT;
return result(); return result();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment