On Fri, Sep 28, 2012 at 09:31:34AM +0200, Christiano F. Haesbaert wrote:
> 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,
> 

This is better IMHO. I was mildly concerned about the previous versions that
seemed to recognize previously unknown chips. ok krw@

.... Ken

Reply via email to