[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20100126150609.GA24349@emergent.ellipticsemi.com>
Date: Tue, 26 Jan 2010 10:06:09 -0500
From: Nick Bowler <nbowler@...iptictech.com>
To: James Kosin <james.kosin.04@....edu>
Cc: Joe Perches <joe@...ches.com>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 23/24] drivers/block/floppy.c: Add function
is_ready_state
On 20:26 Mon 25 Jan , James Kosin wrote:
> On 1/23/2010 3:46 PM, Joe Perches wrote:
> > On Sat, 2010-01-23 at 12:32 -0500, James Kosin wrote:
> >
> >> On 1/22/2010 12:00 AM, Joe Perches wrote:
> >>
> >>> +static bool is_ready_state(int status)
> >>> +{
> >>> + int state = status& (STATUS_READY | STATUS_DIR | STATUS_DMA);
> >>> + return state == STATUS_READY;
> >>> +}
> >>> +
> >>>
> >> This should probably be simplified to:
> >>
> >> static bool is_ready_state(int status)
> >> {
> >> return ((state& STATUS_READY) == STATUS_READY);
> >> }
> >>
> > Certainly not.
> > That wouldn't be the same code.
> >
> > include/linux/fdreg.h:#define STATUS_DMA 0x20 /* 0- DMA mode */
> > include/linux/fdreg.h:#define STATUS_DIR 0x40 /* 0- cpu->fdc */
> > include/linux/fdreg.h:#define STATUS_READY 0x80 /* Data reg ready */
> >
> Read the code....
>
> It simplifies what is already there. The two other status flags make no
> difference in the test for equality with STATUS_READY.
Sure they do: the old code tests that the STATUS_READY is set and
both STATUS_DMA and STATUS_DIR bits are clear. So, for example, if
STATUS_READY and STATUS_DMA are both set, then the old test will return
false.
Your "simplification" has removed the check for those clear bits, and
will return true even if all three bits are set.
--
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists