On Fri, Sep 28, 2012 at 02:42:18AM -0400, Brad Smith wrote:
> On Wed, Sep 26, 2012 at 03:32:37PM -0400, Brad Smith wrote:
> > Simplify the gem(4) variant detection code a bit.
> > 
> > OK?
> 
> How about this..
> 
> 
> Index: if_gem_pci.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/pci/if_gem_pci.c,v
> retrieving revision 1.32
> diff -u -p -r1.32 if_gem_pci.c
> --- if_gem_pci.c      3 Apr 2011 15:36:02 -0000       1.32
> +++ if_gem_pci.c      28 Sep 2012 05:16:00 -0000
> @@ -227,22 +227,19 @@ gem_attach_pci(struct device *parent, st
>  
>       sc->sc_pci = 1; /* XXXXX should all be done in bus_dma. */
>  
> -     if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_SUN_GEMNETWORK)
> +     switch (PCI_PRODUCT(pa->pa_id)) {
> +     case PCI_PRODUCT_SUN_GEMNETWORK:
>               sc->sc_variant = GEM_SUN_GEM;
> -     else if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_SUN_ERINETWORK)
> +             break;
> +     case PCI_PRODUCT_SUN_ERINETWORK:
>               sc->sc_variant = GEM_SUN_ERI;
> -     else if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_APPLE_INTREPID2_GMAC)
> -             sc->sc_variant = GEM_APPLE_GMAC;
> -     else if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_APPLE_PANGEA_GMAC)
> -             sc->sc_variant = GEM_APPLE_GMAC;
> -     else if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_APPLE_SHASTA_GMAC)
> -             sc->sc_variant = GEM_APPLE_GMAC;
> -     else if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_APPLE_UNINORTHGMAC)
> -             sc->sc_variant = GEM_APPLE_GMAC;
> -     else if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_APPLE_UNINORTH2GMAC)
> -             sc->sc_variant = GEM_APPLE_GMAC;
> -     else if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_APPLE_K2_GMAC)
> +             break;
> +     case PCI_PRODUCT_APPLE_K2_GMAC:
>               sc->sc_variant = GEM_APPLE_K2_GMAC;
> +             break;
> +     default:
> +             sc->sc_variant = GEM_APPLE_GMAC;
> +     }
>  
>  #define PCI_GEM_BASEADDR     0x10
>       if (pci_mapreg_map(pa, PCI_GEM_BASEADDR, type, 0,
> 

Ok by me, but when I said acknowledge I meant this, I'm ok with either,
if kettenis doesn't mind :=).


Index: if_gem_pci.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_gem_pci.c,v
retrieving revision 1.32
diff -d -u -p -r1.32 if_gem_pci.c
--- if_gem_pci.c        3 Apr 2011 15:36:02 -0000       1.32
+++ if_gem_pci.c        28 Sep 2012 07:26:23 -0000
@@ -227,22 +227,27 @@ gem_attach_pci(struct device *parent, st
 
        sc->sc_pci = 1; /* XXXXX should all be done in bus_dma. */
 
-       if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_SUN_GEMNETWORK)
+       switch (PCI_PRODUCT(pa->pa_id)) {
+       case PCI_PRODUCT_SUN_GEMNETWORK:
                sc->sc_variant = GEM_SUN_GEM;
-       else if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_SUN_ERINETWORK)
+               break;
+       case PCI_PRODUCT_SUN_ERINETWORK:
                sc->sc_variant = GEM_SUN_ERI;
-       else if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_APPLE_INTREPID2_GMAC)
-               sc->sc_variant = GEM_APPLE_GMAC;
-       else if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_APPLE_PANGEA_GMAC)
-               sc->sc_variant = GEM_APPLE_GMAC;
-       else if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_APPLE_SHASTA_GMAC)
-               sc->sc_variant = GEM_APPLE_GMAC;
-       else if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_APPLE_UNINORTHGMAC)
-               sc->sc_variant = GEM_APPLE_GMAC;
-       else if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_APPLE_UNINORTH2GMAC)
-               sc->sc_variant = GEM_APPLE_GMAC;
-       else if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_APPLE_K2_GMAC)
+               break;
+       case PCI_PRODUCT_APPLE_K2_GMAC:
                sc->sc_variant = GEM_APPLE_K2_GMAC;
+               break;
+       case PCI_PRODUCT_APPLE_INTREPID2_GMAC:
+       case PCI_PRODUCT_APPLE_PANGEA_GMAC:
+       case PCI_PRODUCT_APPLE_SHASTA_GMAC:
+       case PCI_PRODUCT_APPLE_UNINORTHGMAC:
+       case PCI_PRODUCT_APPLE_UNINORTH2GMAC:
+               sc->sc_variant = GEM_APPLE_GMAC;
+               break;
+       default:
+               printf(": unknown variant 0x%x\n", sc->sc_variant);
+               return;
+       }
 
 #define PCI_GEM_BASEADDR       0x10
        if (pci_mapreg_map(pa, PCI_GEM_BASEADDR, type, 0,

Reply via email to