aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/amdsmb
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2018-07-07 15:55:52 +0000
committerWarner Losh <imp@FreeBSD.org>2018-07-07 15:55:52 +0000
commit69c173e23f2903f3f3512368345e93aa8198c4d6 (patch)
tree497c6e60734830d07a6a6c116e6b9a1e2255c1b9 /sys/dev/amdsmb
parent4d711ae2697272ecd5cb77926e45920540b8cc56 (diff)
downloadsrc-69c173e23f2903f3f3512368345e93aa8198c4d6.tar.gz
src-69c173e23f2903f3f3512368345e93aa8198c4d6.zip
Update AMDSMB to use PCI_MATCH
Notes
Notes: svn path=/head/; revision=336068
Diffstat (limited to 'sys/dev/amdsmb')
-rw-r--r--sys/dev/amdsmb/amdsmb.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/sys/dev/amdsmb/amdsmb.c b/sys/dev/amdsmb/amdsmb.c
index 264b11a1b366..3da5ec0d143c 100644
--- a/sys/dev/amdsmb/amdsmb.c
+++ b/sys/dev/amdsmb/amdsmb.c
@@ -125,24 +125,22 @@ struct amdsmb_softc {
static int amdsmb_detach(device_t dev);
+struct pci_device_table amdsmb_devs[] = {
+ { PCI_DEV(AMDSMB_VENDORID_AMD, AMDSMB_DEVICEID_AMD8111_SMB2),
+ PCI_DESCR("AMD-8111 SMBus 2.0 Controller") }
+};
+
static int
amdsmb_probe(device_t dev)
{
- u_int16_t vid;
- u_int16_t did;
-
- vid = pci_get_vendor(dev);
- did = pci_get_device(dev);
+ const struct pci_device_table *tbl;
- if (vid == AMDSMB_VENDORID_AMD) {
- switch(did) {
- case AMDSMB_DEVICEID_AMD8111_SMB2:
- device_set_desc(dev, "AMD-8111 SMBus 2.0 Controller");
- return (BUS_PROBE_DEFAULT);
- }
- }
+ tbl = PCI_MATCH(dev, amdsmb_devs);
+ if (tbl == NULL)
+ return (ENXIO);
+ device_set_desc(dev, tbl->descr);
- return (ENXIO);
+ return (BUS_PROBE_DEFAULT);
}
static int