From: pirofti Date: Thu, 22 Jul 2010 17:16:10 +0000 (+0000) Subject: Clean the macros from puc(4). Now with correct logic. X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=45c3d248e167fcde79ebc20b1338648f69cfeb4b;p=openbsd Clean the macros from puc(4). Now with correct logic. Tested and okay sthen@. --- diff --git a/sys/dev/pci/puc.c b/sys/dev/pci/puc.c index 09da445c1b8..9ec1af4d59d 100644 --- a/sys/dev/pci/puc.c +++ b/sys/dev/pci/puc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: puc.c,v 1.16 2010/07/07 21:32:50 sthen Exp $ */ +/* $OpenBSD: puc.c,v 1.17 2010/07/22 17:16:10 pirofti Exp $ */ /* $NetBSD: puc.c,v 1.3 1999/02/06 06:29:54 cgd Exp $ */ /* @@ -349,22 +349,13 @@ puc_find_description(u_int16_t vend, u_int16_t prod, { int i; -#define checkreg(val, index) \ - (((val) & puc_devices[i].rmask[(index)]) == puc_devices[i].rval[(index)]) -#define pucdevdone(idx) \ - (puc_devices[idx].rval[0] == 0 && puc_devices[idx].rval[1] == 0 \ - && puc_devices[idx].rval[2] == 0 && puc_devices[idx].rval[3] == 0) - - for (i = 0; !pucdevdone(i); i++) { - if (checkreg(vend, PUC_REG_VEND) && - checkreg(prod, PUC_REG_PROD) && - checkreg(svend, PUC_REG_SVEND) && - checkreg(sprod, PUC_REG_SPROD)) - return (&puc_devices[i]); - } - -#undef devdone -#undef checkreg + for (i = 0; !(puc_devs[i].rval[0] == 0 && puc_devs[i].rval[1] == 0 && + puc_devs[i].rval[2] == 0 && puc_devs[i].rval[3] == 0); i++) + if ((vend & puc_devs[i].rmask[0]) == puc_devs[i].rval[0] && + (prod & puc_devs[i].rmask[1]) == puc_devs[i].rval[1] && + (svend & puc_devs[i].rmask[2]) == puc_devs[i].rval[2] && + (sprod & puc_devs[i].rmask[3]) == puc_devs[i].rval[3]) + return (&puc_devs[i]); return (NULL); } diff --git a/sys/dev/pci/pucdata.c b/sys/dev/pci/pucdata.c index 0d9a2b470c2..f2b79db5d04 100644 --- a/sys/dev/pci/pucdata.c +++ b/sys/dev/pci/pucdata.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pucdata.c,v 1.71 2010/07/07 21:32:50 sthen Exp $ */ +/* $OpenBSD: pucdata.c,v 1.72 2010/07/22 17:16:10 pirofti Exp $ */ /* $NetBSD: pucdata.c,v 1.6 1999/07/03 05:55:23 cgd Exp $ */ /* @@ -46,7 +46,7 @@ #include #include -const struct puc_device_description puc_devices[] = { +const struct puc_device_description puc_devs[] = { /* * XXX no entry because I have no data: * XXX Dolphin Peripherals 4006 (single parallel) diff --git a/sys/dev/pci/pucvar.h b/sys/dev/pci/pucvar.h index 857e1eaa897..b2a5fa4b2a7 100644 --- a/sys/dev/pci/pucvar.h +++ b/sys/dev/pci/pucvar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: pucvar.h,v 1.9 2010/07/07 21:32:50 sthen Exp $ */ +/* $OpenBSD: pucvar.h,v 1.10 2010/07/22 17:16:10 pirofti Exp $ */ /* $NetBSD: pucvar.h,v 1.2 1999/02/06 06:29:54 cgd Exp $ */ /* @@ -51,11 +51,6 @@ struct puc_device_description { } ports[PUC_MAX_PORTS]; }; -#define PUC_REG_VEND 0 -#define PUC_REG_PROD 1 -#define PUC_REG_SVEND 2 -#define PUC_REG_SPROD 3 - #define PUC_PORT_TYPE_NONE 0 #define PUC_PORT_TYPE_COM 1 #define PUC_PORT_TYPE_LPT 2 @@ -85,7 +80,7 @@ struct puc_attach_args { void (*intr_disestablish)(struct puc_attach_args *, void *); }; -extern const struct puc_device_description puc_devices[]; +extern const struct puc_device_description puc_devs[]; #define PUC_NBARS 6 struct puc_softc {