[PATCH 0/9] PL08x further cleanups
Vinod Koul
vkoul at infradead.org
Mon Jul 25 10:38:31 EDT 2011
On Mon, 2011-07-25 at 15:22 +0100, Russell King - ARM Linux wrote:
> On Mon, Jul 25, 2011 at 07:21:12PM +0530, Vinod Koul wrote:
> > On Mon, 2011-07-25 at 14:43 +0100, Russell King - ARM Linux wrote:
> > > No. This function is used as:
> > >
> > > + width = pl08x_width(addr_width);
> > > + if (width == ~0) {
> > > dev_err(&pl08x->adev->dev,
> > > "bad runtime_config: alien address width\n");
> > > return -EINVAL;
> > > }
> > >
> > > Notice that it returns a u32 so negative errnos don't make sense. It
> > > returns ~0 to indicate error.
> > >
> > > The code is actually correct as it stands, it's just gcc deciding to
> > > emit a warning for an unhandled enum value which isn't really unhandled.
> > > Just move the 'return ~0;' at the end of the function inside the switch
> > > as a default case to shut it up.
> > Okay but shouldn't this ideally check for width < 0, that way we can
> > return proper errors?
>
> No. Two reasons:
>
> 1. u32 < 0 does not exist.
>
> 2. It's returning a sub bitmask value for the register, so signed numbers
> conceptually don't make sense.
Agreed, Pushed this with return ~0;
You should be able to see your patchset along with this change in my
tree now
--
~Vinod Koul
Intel Corp.
More information about the linux-arm-kernel
mailing list