Re: [PATCH] staging: brcm80211: return false if not a broadcom board

Julian Calaby
2011-06-16T23:45:45Z

Henry,

On Fri, Jun 17, 2011 at 09:37, Henry Ptasinski <henryp@broadcom.com> wrote:
> How's this for a somewhat clearer implementation:
>
> static bool brcms_c_validboardtype(struct brcms_c_hw_info *wlc_hw)
> {
>        bool goodboard = true;
>        uint boardrev = wlc_hw->boardrev;
>
>        if (wlc_hw->sih->boardvendor == PCI_VENDOR_ID_BROADCOM) {

You could reduce indentation by having this be:

if (wlc_hw->sih->boardvendor != PCI_VENDOR_ID_BROADCOM)
return true;

>                /* validate boardrev */
>                if (boardrev == 0)
>                        goodboard = false;

and remove the goodboard variable by having this return false immediately.

>                else if (boardrev > 0xff) {

You could also drop the else and have this as

if (boardrev <= 0xff)
return true;

>                        /* 4 bits each for board type, major, minor, and tiny
>                        version numbers */
>                        uint brt = (boardrev & 0xf000) >> 12;
>                        uint b0 = (boardrev & 0xf00) >> 8;
>                        uint b1 = (boardrev & 0xf0) >> 4;
>                        uint b2 = boardrev & 0xf;
>
>                        if ((brt > 2) || (brt == 0) || (b0 > 9) || (b0 == 0)
>                                || (b1 > 9) || (b2 > 9))
>                                goodboard = false;

and return false here too.

>                }
>        }
>
>        return goodboard;

then just return true here.

> }

Thanks,

--
Julian Calaby

Email: julian.calaby@gmail.com
Profile: http://www.google.com/profiles/julian.calaby/
.Plan: http://sites.google.com/site/juliancalaby/