Do what we should have done a long time ago:

o If the class is PCIC_BRIDGE, subclass is PCIS_BRIDGE_PCMCIA and
  programming interface is 0, assume that it is a generic PCMCIA PCI
  chip we can program.  I don't think there are any of these that
  we don't know about, but you never know.
o If the class is PCIC_BRIDGE, subclass is PCIS_BRIDGE_CARDBUS and
  programming interface is 0, assume that it is a YENTA cardbus bridge
  that we know how to cope with.  There are likely some cardbus bridges
  that haven't it made it in here yet.
This commit is contained in:
Warner Losh 2001-05-24 04:24:22 +00:00
parent 99efcc2bb9
commit 4d5a4ec15f
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=77110

View File

@ -219,6 +219,8 @@ static int
pcic_pci_probe(device_t dev)
{
u_int32_t device_id;
u_int8_t subclass;
u_int8_t progif;
char *desc;
device_id = pci_get_devid(dev);
@ -307,6 +309,14 @@ pcic_pci_probe(device_t dev)
break;
default:
if (pci_get_class(dev) == PCIC_BRIDGE) {
subclass = pci_get_subclass(dev);
progif = pci_get_progif(dev);
if (subclass == PCIS_BRIDGE_PCMCIA && progif == 0)
desc = "Generic PCI-PCMCIA Bridge";
if (subclass == PCIS_BRIDGE_CARDBUS && progif == 0)
desc = "YENTA PCI-CARDBUS Bridge";
}
break;
}