Re: bwfm@sdmmc: use symbolic constants for matching

2022-03-17 Thread Jonathan Gray
On Thu, Mar 17, 2022 at 08:05:38AM +, Miod Vallat wrote:
> The following diff declares the various devices bwfm@sdmmc checks for,
> and introduces no functional change.
> 
> Index: if_bwfm_sdio.c
> ===
> RCS file: /OpenBSD/src/sys/dev/sdmmc/if_bwfm_sdio.c,v
> retrieving revision 1.42
> diff -u -p -r1.42 if_bwfm_sdio.c
> --- if_bwfm_sdio.c2 Nov 2021 14:49:53 -   1.42
> +++ if_bwfm_sdio.c17 Mar 2022 07:59:57 -
> @@ -45,6 +45,7 @@
>  
>  #include 
>  
> +#include 
>  #include 
>  
>  #include 
> @@ -207,27 +208,27 @@ bwfm_sdio_match(struct device *parent, v
>  
>   /* Look for Broadcom. */
>   cis = &sf->sc->sc_fn0->cis;
> - if (cis->manufacturer != 0x02d0)
> + if (cis->manufacturer != SDMMC_VENDOR_BROADCOM)
>   return 0;
>  
>   /* Look for supported chips. */
>   switch (cis->product) {
> - case 0x4324:
> - case 0x4330:
> - case 0x4334:
> - case 0x4329:
> - case 0x4335:
> - case 0x4339:
> - case 0x4345:
> - case 0x4354:
> - case 0x4356:
> - case 0x4359:
> - case 0xa887:/* BCM43143 */
> - case 0xa94c:/* BCM43340 */
> - case 0xa94d:/* BCM43341 */
> - case 0xa962:/* BCM43362 */
> - case 0xa9a6:/* BCM43430 */
> - case 0xa9bf:/* BCM43364 */
> + case SDMMC_PRODUCT_BROADCOM_BCM4324:
> + case SDMMC_PRODUCT_BROADCOM_BCM4329:
> + case SDMMC_PRODUCT_BROADCOM_BCM4330:
> + case SDMMC_PRODUCT_BROADCOM_BCM4334:
> + case SDMMC_PRODUCT_BROADCOM_BCM4335:
> + case SDMMC_PRODUCT_BROADCOM_BCM4339:
> + case SDMMC_PRODUCT_BROADCOM_BCM4345:
> + case SDMMC_PRODUCT_BROADCOM_BCM4354:
> + case SDMMC_PRODUCT_BROADCOM_BCM4356:
> + case SDMMC_PRODUCT_BROADCOM_BCM4359:
> + case SDMMC_PRODUCT_BROADCOM_BCM43143:
> + case SDMMC_PRODUCT_BROADCOM_BCM43340:
> + case SDMMC_PRODUCT_BROADCOM_BCM43341:
> + case SDMMC_PRODUCT_BROADCOM_BCM43362:
> + case SDMMC_PRODUCT_BROADCOM_BCM43430:
> + case SDMMC_PRODUCT_BROADCOM_BCM43364:
>   break;
>   default:
>   return 0;
> Index: sdmmcdevs
> ===
> RCS file: /OpenBSD/src/sys/dev/sdmmc/sdmmcdevs,v
> retrieving revision 1.8
> diff -u -p -r1.8 sdmmcdevs
> --- sdmmcdevs 11 May 2007 17:16:16 -  1.8
> +++ sdmmcdevs 17 Mar 2022 07:59:57 -
> @@ -24,6 +24,7 @@ vendor CGUYS0x0092  C-guys, Inc.
>  vendor TOSHIBA   0x0098  Toshiba
>  vendor SOCKETCOM 0x0104  Socket Communications, Inc.
>  vendor ATHEROS   0x0271  Atheros
> +vendor BROADCOM  0x02d0  Broadcom
>  vendor SYCHIP0x02db  SyChip Inc.
>  vendor SPECTEC   0x02fe  Spectec Computer Co., Ltd
>  vendor GLOBALSAT 0x0501  Globalsat Technology Co.
> @@ -42,6 +43,24 @@ product ATHEROSAR6001_80x0108  AR6001
>  product ATHEROS  AR6001_90x0109  AR6001
>  product ATHEROS  AR6001_a0x010a  AR6001
>  product ATHEROS  AR6001_b0x010b  AR6001
> +
> +/* Broadcom */
> +product  BROADCOM BCM43240x4324  BCM4324
> +product  BROADCOM BCM43290x4329  BCM4329

the whitespace in your broadcom additions is different

 product ATHEROS^IAR6001_b^I0x010b^IAR6001$
+$
+/* Broadcom */$
+product^IBROADCOM BCM4324^I0x4324^IBCM4324$
+product^IBROADCOM BCM4329^I0x4329^IBCM4329$

pcidevs and usbdevs are product VENDOR DEVICE\t0x1234\tDevice

ok jsg@ if that is fixed

the existing atheros entries also get this wrong

> +product  BROADCOM BCM43300x4330  BCM4330
> +product  BROADCOM BCM43340x4334  BCM4334
> +product  BROADCOM BCM43350x4335  BCM4335
> +product  BROADCOM BCM43390x4339  BCM4339
> +product  BROADCOM BCM43450x4345  BCM4345
> +product  BROADCOM BCM43540x4354  BCM4354
> +product  BROADCOM BCM43560x4356  BCM4356
> +product  BROADCOM BCM43590x4359  BCM4359
> +product  BROADCOM BCM43143   0xa887  BCM43143
> +product  BROADCOM BCM43340   0xa94c  BCM43340
> +product  BROADCOM BCM43341   0xa94d  BCM43341
> +product  BROADCOM BCM43362   0xa962  BCM43362
> +product  BROADCOM BCM43430   0xa9a6  BCM43430
> +product  BROADCOM BCM43364   0xa9bf  BCM43364
>  
>  /* C-guys, Inc. */
>  product CGUYS TIACX100   0x0001  TI ACX100 SD-Link11b WiFi Card
> 
> 



bwfm@sdmmc: use symbolic constants for matching

2022-03-17 Thread Miod Vallat
The following diff declares the various devices bwfm@sdmmc checks for,
and introduces no functional change.

Index: if_bwfm_sdio.c
===
RCS file: /OpenBSD/src/sys/dev/sdmmc/if_bwfm_sdio.c,v
retrieving revision 1.42
diff -u -p -r1.42 if_bwfm_sdio.c
--- if_bwfm_sdio.c  2 Nov 2021 14:49:53 -   1.42
+++ if_bwfm_sdio.c  17 Mar 2022 07:59:57 -
@@ -45,6 +45,7 @@
 
 #include 
 
+#include 
 #include 
 
 #include 
@@ -207,27 +208,27 @@ bwfm_sdio_match(struct device *parent, v
 
/* Look for Broadcom. */
cis = &sf->sc->sc_fn0->cis;
-   if (cis->manufacturer != 0x02d0)
+   if (cis->manufacturer != SDMMC_VENDOR_BROADCOM)
return 0;
 
/* Look for supported chips. */
switch (cis->product) {
-   case 0x4324:
-   case 0x4330:
-   case 0x4334:
-   case 0x4329:
-   case 0x4335:
-   case 0x4339:
-   case 0x4345:
-   case 0x4354:
-   case 0x4356:
-   case 0x4359:
-   case 0xa887:/* BCM43143 */
-   case 0xa94c:/* BCM43340 */
-   case 0xa94d:/* BCM43341 */
-   case 0xa962:/* BCM43362 */
-   case 0xa9a6:/* BCM43430 */
-   case 0xa9bf:/* BCM43364 */
+   case SDMMC_PRODUCT_BROADCOM_BCM4324:
+   case SDMMC_PRODUCT_BROADCOM_BCM4329:
+   case SDMMC_PRODUCT_BROADCOM_BCM4330:
+   case SDMMC_PRODUCT_BROADCOM_BCM4334:
+   case SDMMC_PRODUCT_BROADCOM_BCM4335:
+   case SDMMC_PRODUCT_BROADCOM_BCM4339:
+   case SDMMC_PRODUCT_BROADCOM_BCM4345:
+   case SDMMC_PRODUCT_BROADCOM_BCM4354:
+   case SDMMC_PRODUCT_BROADCOM_BCM4356:
+   case SDMMC_PRODUCT_BROADCOM_BCM4359:
+   case SDMMC_PRODUCT_BROADCOM_BCM43143:
+   case SDMMC_PRODUCT_BROADCOM_BCM43340:
+   case SDMMC_PRODUCT_BROADCOM_BCM43341:
+   case SDMMC_PRODUCT_BROADCOM_BCM43362:
+   case SDMMC_PRODUCT_BROADCOM_BCM43430:
+   case SDMMC_PRODUCT_BROADCOM_BCM43364:
break;
default:
return 0;
Index: sdmmcdevs
===
RCS file: /OpenBSD/src/sys/dev/sdmmc/sdmmcdevs,v
retrieving revision 1.8
diff -u -p -r1.8 sdmmcdevs
--- sdmmcdevs   11 May 2007 17:16:16 -  1.8
+++ sdmmcdevs   17 Mar 2022 07:59:57 -
@@ -24,6 +24,7 @@ vendor CGUYS  0x0092  C-guys, Inc.
 vendor TOSHIBA 0x0098  Toshiba
 vendor SOCKETCOM   0x0104  Socket Communications, Inc.
 vendor ATHEROS 0x0271  Atheros
+vendor BROADCOM0x02d0  Broadcom
 vendor SYCHIP  0x02db  SyChip Inc.
 vendor SPECTEC 0x02fe  Spectec Computer Co., Ltd
 vendor GLOBALSAT   0x0501  Globalsat Technology Co.
@@ -42,6 +43,24 @@ product ATHEROS  AR6001_80x0108  AR6001
 product ATHEROSAR6001_90x0109  AR6001
 product ATHEROSAR6001_a0x010a  AR6001
 product ATHEROSAR6001_b0x010b  AR6001
+
+/* Broadcom */
+productBROADCOM BCM43240x4324  BCM4324
+productBROADCOM BCM43290x4329  BCM4329
+productBROADCOM BCM43300x4330  BCM4330
+productBROADCOM BCM43340x4334  BCM4334
+productBROADCOM BCM43350x4335  BCM4335
+productBROADCOM BCM43390x4339  BCM4339
+productBROADCOM BCM43450x4345  BCM4345
+productBROADCOM BCM43540x4354  BCM4354
+productBROADCOM BCM43560x4356  BCM4356
+productBROADCOM BCM43590x4359  BCM4359
+productBROADCOM BCM43143   0xa887  BCM43143
+productBROADCOM BCM43340   0xa94c  BCM43340
+productBROADCOM BCM43341   0xa94d  BCM43341
+productBROADCOM BCM43362   0xa962  BCM43362
+productBROADCOM BCM43430   0xa9a6  BCM43430
+productBROADCOM BCM43364   0xa9bf  BCM43364
 
 /* C-guys, Inc. */
 product CGUYS TIACX100 0x0001  TI ACX100 SD-Link11b WiFi Card