Re: gem(4): simplify gem_attach_pci() variant detection code a bit

2012-10-01 Thread Mark Kettenis
 Date: Fri, 28 Sep 2012 09:31:34 +0200
 From: Christiano F. Haesbaert haesba...@openbsd.org
 
 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.c3 Apr 2011 15:36:02 -   1.32
  +++ if_gem_pci.c28 Sep 2012 05:16:00 -
  @@ -227,22 +227,19 @@ gem_attach_pci(struct device *parent, st
   
  sc-sc_pci = 1; /* X 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 :=).

Yes, I'd really like to see the complete PCI ID to variant mapping.
However...

 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 -   1.32
 +++ if_gem_pci.c  28 Sep 2012 07:26:23 -
 @@ -227,22 +227,27 @@ gem_attach_pci(struct device *parent, st
  
   sc-sc_pci = 1; /* X 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;

as sthen@ points out, the printf in the default case will never get
hit, so it should probably be removed or turned into a KASSERT.

Also, I'd prefer if the K2_GMAC case would come last since that
variant came after the others.



Re: gem(4): simplify gem_attach_pci() variant detection code a bit

2012-09-28 Thread Christiano F. Haesbaert
I prefer a switch too, it shows you acknowledged those variants, anyhow i
think the current idiom is bad and should be changed.



Re: gem(4): simplify gem_attach_pci() variant detection code a bit

2012-09-28 Thread Brad Smith
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.c3 Apr 2011 15:36:02 -   1.32
+++ if_gem_pci.c28 Sep 2012 05:16:00 -
@@ -227,22 +227,19 @@ gem_attach_pci(struct device *parent, st
 
sc-sc_pci = 1; /* X 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,

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



Re: gem(4): simplify gem_attach_pci() variant detection code a bit

2012-09-28 Thread Christiano F. Haesbaert
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 -   1.32
 +++ if_gem_pci.c  28 Sep 2012 05:16:00 -
 @@ -227,22 +227,19 @@ gem_attach_pci(struct device *parent, st
  
   sc-sc_pci = 1; /* X 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.c3 Apr 2011 15:36:02 -   1.32
+++ if_gem_pci.c28 Sep 2012 07:26:23 -
@@ -227,22 +227,27 @@ gem_attach_pci(struct device *parent, st
 
sc-sc_pci = 1; /* X 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,



Re: gem(4): simplify gem_attach_pci() variant detection code a bit

2012-09-28 Thread Kenneth R Westerback
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.c3 Apr 2011 15:36:02 -   1.32
  +++ if_gem_pci.c28 Sep 2012 05:16:00 -
  @@ -227,22 +227,19 @@ gem_attach_pci(struct device *parent, st
   
  sc-sc_pci = 1; /* X 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 -   1.32
 +++ if_gem_pci.c  28 Sep 2012 07:26:23 -
 @@ -227,22 +227,27 @@ gem_attach_pci(struct device *parent, st
  
   sc-sc_pci = 1; /* X 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



Re: gem(4): simplify gem_attach_pci() variant detection code a bit

2012-09-28 Thread Stuart Henderson
On 2012/09/28 10:08, Kenneth R Westerback wrote:
 
 This is better IMHO. I was mildly concerned about the previous versions that
 seemed to recognize previously unknown chips. ok krw@

The driver won't attach to unknown chips anyway, if someone adds a new id
to gem_pci_devices[], either the variant setting is correct (in which case
no problem) or it's wrong (in which case it won't work anyway), so isn't
it a bit unnecessary to do the extra check?



Re: gem(4): simplify gem_attach_pci() variant detection code a bit

2012-09-27 Thread Mark Kettenis
 Date: Wed, 26 Sep 2012 15:32:37 -0400
 From: Brad Smith b...@comstyle.com
 
 Simplify the gem(4) variant detection code a bit.

I don't see the benefit and prefer to keep the code as it is now.

 Index: if_gem_pci.c
 ===
 RCS file: /home/cvs/src/sys/dev/pci/if_gem_pci.c,v
 retrieving revision 1.31
 diff -u -p -r1.31 if_gem_pci.c
 --- if_gem_pci.c  15 Oct 2009 17:54:56 -  1.31
 +++ if_gem_pci.c  6 Mar 2011 06:50:12 -
 @@ -231,18 +231,10 @@ gem_attach_pci(struct device *parent, st
   sc-sc_variant = GEM_SUN_GEM;
   else if (PCI_PRODUCT(pa-pa_id) == 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)
   sc-sc_variant = GEM_APPLE_K2_GMAC;
 + else
 + sc-sc_variant = GEM_APPLE_GMAC;
  
  #define PCI_GEM_BASEADDR 0x10
   if (pci_mapreg_map(pa, PCI_GEM_BASEADDR, type, 0,
 
 -- 
 This message has been scanned for viruses and
 dangerous content by MailScanner, and is
 believed to be clean.



Re: gem(4): simplify gem_attach_pci() variant detection code a bit

2012-09-27 Thread Ted Unangst
On Wed, Sep 26, 2012 at 15:32, Brad Smith wrote:
 Simplify the gem(4) variant detection code a bit.
 
 OK?

Wouldn't a switch be a nicer simplification?

 
 
 Index: if_gem_pci.c
 ===
 RCS file: /home/cvs/src/sys/dev/pci/if_gem_pci.c,v
 retrieving revision 1.31
 diff -u -p -r1.31 if_gem_pci.c
 --- if_gem_pci.c  15 Oct 2009 17:54:56 -  1.31
 +++ if_gem_pci.c  6 Mar 2011 06:50:12 -
 @@ -231,18 +231,10 @@ gem_attach_pci(struct device *parent, st
 sc-sc_variant = GEM_SUN_GEM;
 else if (PCI_PRODUCT(pa-pa_id) == 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)
 sc-sc_variant = GEM_APPLE_K2_GMAC;
 + else
 + sc-sc_variant = GEM_APPLE_GMAC;
 
 #define PCI_GEM_BASEADDR  0x10
 if (pci_mapreg_map(pa, PCI_GEM_BASEADDR, type, 0,



gem(4): simplify gem_attach_pci() variant detection code a bit

2012-09-26 Thread Brad Smith
Simplify the gem(4) variant detection code a bit.

OK?


Index: if_gem_pci.c
===
RCS file: /home/cvs/src/sys/dev/pci/if_gem_pci.c,v
retrieving revision 1.31
diff -u -p -r1.31 if_gem_pci.c
--- if_gem_pci.c15 Oct 2009 17:54:56 -  1.31
+++ if_gem_pci.c6 Mar 2011 06:50:12 -
@@ -231,18 +231,10 @@ gem_attach_pci(struct device *parent, st
sc-sc_variant = GEM_SUN_GEM;
else if (PCI_PRODUCT(pa-pa_id) == 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)
sc-sc_variant = GEM_APPLE_K2_GMAC;
+   else
+   sc-sc_variant = GEM_APPLE_GMAC;
 
 #define PCI_GEM_BASEADDR   0x10
if (pci_mapreg_map(pa, PCI_GEM_BASEADDR, type, 0,

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.