Update of /cvsroot/alsa/alsa-driver/support/pnp
In directory sc8-pr-cvs1:/tmp/cvs-serv32166
Modified Files:
pnp.c
Log Message:
more clean ups and potential bugfix.
Index: pnp.c
===================================================================
RCS file: /cvsroot/alsa/alsa-driver/support/pnp/pnp.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- pnp.c 16 Oct 2003 11:54:04 -0000 1.14
+++ pnp.c 17 Oct 2003 15:45:02 -0000 1.15
@@ -186,36 +186,37 @@
ninst->devs[i] = NULL;
for (i = 0; i < PNP_MAX_DEVICES && cid->devs[i].id[0] != '\0';
i++) {
if (parse_id(cid->devs[i].id, &subvendor, &subdevice)
< 0)
- goto __next_card;
+ goto __next_id;
dev = ninst->devs[i] = (struct pnp_dev
*)isapnp_find_dev((struct isapnp_card *)card, subvendor, subdevice, NULL);
if (dev == NULL)
- break;
+ goto __next_card;
}
- if (i == PNP_MAX_DEVICES || !cid->devs[i].id[0]) {
- /* all parsed successfully */
- /* activate or deactivate devices before probing */
- for (i = 0; i < PNP_MAX_DEVICES; i++) {
- dev = ninst->devs[i];
- if (! dev)
- break;
- if ((drv->flags & PNP_DRIVER_RES_DISABLE) !=
PNP_DRIVER_RES_DISABLE)
- dev->p.activate((struct isapnp_dev
*)dev);
- else {
- dev->p.deactivate((struct isapnp_dev
*)dev);
- dev->p.prepare((struct isapnp_dev
*)dev);
- }
- }
- ninst->link.card = card;
- ninst->link.driver = drv;
- ninst->link.driver_data = NULL;
- if (drv->probe(&ninst->link, cid) >= 0) {
- list_add_tail(&ninst->list, &pnp_card_drivers);
- ninst = NULL;
- res++;
+
+ /* all parsed successfully */
+ /* activate or deactivate devices before probing */
+ for (i = 0; i < PNP_MAX_DEVICES; i++) {
+ dev = ninst->devs[i];
+ if (! dev)
+ break;
+ if (! drv->flags)
+ dev->p.activate((struct isapnp_dev *)dev);
+ else if (drv->flags != PNP_DRIVER_RES_DO_NOT_CHANGE) {
+ dev->p.deactivate((struct isapnp_dev *)dev);
+ dev->p.prepare((struct isapnp_dev *)dev);
}
}
+ ninst->link.card = card;
+ ninst->link.driver = drv;
+ ninst->link.driver_data = NULL;
+ if (drv->probe(&ninst->link, cid) >= 0) {
+ list_add_tail(&ninst->list, &pnp_card_drivers);
+ ninst = NULL;
+ res++;
+ }
+ __next_card:
+ ;
}
- __next_card:
+ __next_id:
;
}
-------------------------------------------------------
This SF.net email sponsored by: Enterprise Linux Forum Conference & Expo
The Event For Linux Datacenter Solutions & Strategies in The Enterprise
Linux in the Boardroom; in the Front Office; & in the Server Room
http://www.enterpriselinuxforum.com
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog