From b81a24a29792a91b43e0b0f0852b5ae02ce37f1b Mon Sep 17 00:00:00 2001 From: thorpej Date: Sun, 26 Feb 2006 05:36:15 +0000 Subject: [PATCH] Use device_is_a(). --- sys/arch/sparc/dev/zs.c | 6 +++--- sys/arch/sparc/sparc/autoconf.c | 28 +++++++++++++++------------- sys/arch/sparc64/sparc64/autoconf.c | 28 ++++++++++++---------------- 3 files changed, 30 insertions(+), 32 deletions(-) diff --git a/sys/arch/sparc/dev/zs.c b/sys/arch/sparc/dev/zs.c index dd644980fd03..bc4a334863c0 100644 --- a/sys/arch/sparc/dev/zs.c +++ b/sys/arch/sparc/dev/zs.c @@ -1,4 +1,4 @@ -/* $NetBSD: zs.c,v 1.103 2005/11/16 00:49:03 uwe Exp $ */ +/* $NetBSD: zs.c,v 1.104 2006/02/26 05:36:15 thorpej Exp $ */ /*- * Copyright (c) 1996 The NetBSD Foundation, Inc. @@ -45,7 +45,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: zs.c,v 1.103 2005/11/16 00:49:03 uwe Exp $"); +__KERNEL_RCSID(0, "$NetBSD: zs.c,v 1.104 2006/02/26 05:36:15 thorpej Exp $"); #include "opt_ddb.h" #include "opt_kgdb.h" @@ -497,7 +497,7 @@ zs_attach(struct zsc_softc *zsc, struct zsdevice *zsd, int pri) * sunkbd and sunms line disciplines. */ if ((child != NULL) - && (strcmp(child->dv_cfdata->cf_name, "zstty") == 0) + && (device_is_a(child, "zstty")) && (prom_getproplen(zsc->zsc_node, "keyboard") == 0)) { struct kbd_ms_tty_attach_args kma; diff --git a/sys/arch/sparc/sparc/autoconf.c b/sys/arch/sparc/sparc/autoconf.c index 2c414f2b71b0..b48beb2ac7cf 100644 --- a/sys/arch/sparc/sparc/autoconf.c +++ b/sys/arch/sparc/sparc/autoconf.c @@ -1,4 +1,4 @@ -/* $NetBSD: autoconf.c,v 1.216 2006/02/25 00:58:35 wiz Exp $ */ +/* $NetBSD: autoconf.c,v 1.217 2006/02/26 05:36:15 thorpej Exp $ */ /* * Copyright (c) 1996 @@ -48,7 +48,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.216 2006/02/25 00:58:35 wiz Exp $"); +__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.217 2006/02/26 05:36:15 thorpej Exp $"); #include "opt_ddb.h" #include "opt_kgdb.h" @@ -1719,7 +1719,7 @@ void device_register(struct device *dev, void *aux) { struct bootpath *bp = bootpath_store(0, NULL); - const char *dvname, *bpname; + const char *bpname; /* * If device name does not match current bootpath component @@ -1732,14 +1732,14 @@ device_register(struct device *dev, void *aux) * Translate PROM name in case our drivers are named differently */ bpname = bus_compatible(bp->name); - dvname = dev->dv_cfdata->cf_name; DPRINTF(ACDB_BOOTDEV, ("\n%s: device_register: dvname %s(%s) bpname %s(%s)\n", - dev->dv_xname, dvname, dev->dv_xname, bpname, bp->name)); + dev->dv_xname, dev->dv_cfdata->cf_name, dev->dv_xname, + bpname, bp->name)); /* First, match by name */ - if (strcmp(dvname, bpname) != 0) + if (!device_is_a(dev, bpname)) return; if (bus_class(dev) != BUSCLASS_NONE) { @@ -1748,7 +1748,7 @@ device_register(struct device *dev, void *aux) * parameters and advance boot path on match. */ if (instance_match(dev, aux, bp) != 0) { - if (strcmp(dvname, "fdc") == 0) { + if (device_is_a(dev, "fdc")) { /* * XXX - HACK ALERT * Sun PROMs don't really seem to support @@ -1767,8 +1767,9 @@ device_register(struct device *dev, void *aux) dev->dv_xname)); return; } - } else if (strcmp(dvname, "le") == 0 || strcmp(dvname, "hme") == 0 || - strcmp(dvname, "be") == 0) { + } else if (device_is_a(dev, "le") || + device_is_a(dev, "hme") || + device_is_a(dev, "be")) { /* * LANCE, Happy Meal, or BigMac ethernet device */ @@ -1778,7 +1779,8 @@ device_register(struct device *dev, void *aux) dev->dv_xname)); return; } - } else if (strcmp(dvname, "sd") == 0 || strcmp(dvname, "cd") == 0) { + } else if (device_is_a(dev, "sd") || + device_is_a(dev, "cd")) { #if NSCSIBUS > 0 /* * A SCSI disk or cd; retrieve target/lun information @@ -1832,7 +1834,8 @@ device_register(struct device *dev, void *aux) return; } #endif /* NSCSIBUS */ - } else if (strcmp("xd", dvname) == 0 || strcmp("xy", dvname) == 0) { + } else if (device_is_a(dev, "xd") || + device_is_a(dev, "xy")) { /* A Xylogic disk */ if (instance_match(dev, aux, bp) != 0) { @@ -1842,7 +1845,7 @@ device_register(struct device *dev, void *aux) return; } - } else if (strcmp("fd", dvname) == 0) { + } else if (device_is_a(dev, "fd")) { /* * Sun PROMs don't really seem to support multiple * floppy drives. So we aren't going to, either. @@ -1863,7 +1866,6 @@ device_register(struct device *dev, void *aux) return; } } - } /* diff --git a/sys/arch/sparc64/sparc64/autoconf.c b/sys/arch/sparc64/sparc64/autoconf.c index 47eede42d858..b53f6e8e520c 100644 --- a/sys/arch/sparc64/sparc64/autoconf.c +++ b/sys/arch/sparc64/sparc64/autoconf.c @@ -1,4 +1,4 @@ -/* $NetBSD: autoconf.c,v 1.111 2006/02/25 00:58:35 wiz Exp $ */ +/* $NetBSD: autoconf.c,v 1.112 2006/02/26 05:36:15 thorpej Exp $ */ /* * Copyright (c) 1996 @@ -48,7 +48,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.111 2006/02/25 00:58:35 wiz Exp $"); +__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.112 2006/02/26 05:36:15 thorpej Exp $"); #include "opt_ddb.h" #include "opt_kgdb.h" @@ -1016,8 +1016,7 @@ dev_compatible(struct device *dev, void *aux, char *bpname) * match. This is a nasty O(n^2) operation. */ for (i = 0; dev_compat_tab[i].name != NULL; i++) { - if (strcmp(dev->dv_cfdata->cf_name, - dev_compat_tab[i].name) == 0) { + if (device_is_a(dev, dev_compat_tab[i].name)) { DPRINTF(ACDB_BOOTDEV, ("\n%s: dev_compatible: translating %s\n", dev->dv_xname, dev_compat_tab[i].name)); @@ -1042,16 +1041,14 @@ dev_compatible(struct device *dev, void *aux, char *bpname) static int bus_class(struct device *dev) { - const char *name; int i, class; class = BUSCLASS_NONE; if (dev == NULL) return (class); - name = dev->dv_cfdata->cf_name; for (i = sizeof(bus_class_tab)/sizeof(bus_class_tab[0]); i-- > 0;) { - if (strcmp(name, bus_class_tab[i].name) == 0) { + if (device_is_a(dev, bus_class_tab[i].name)) { class = bus_class_tab[i].class; break; } @@ -1145,7 +1142,6 @@ void device_register(struct device *dev, void *aux) { struct bootpath *bp = bootpath_store(0, NULL); - const char *dvname; char *bpname; /* @@ -1160,13 +1156,12 @@ device_register(struct device *dev, void *aux) * that. */ bpname = bp->name; - dvname = dev->dv_cfdata->cf_name; DPRINTF(ACDB_BOOTDEV, ("\n%s: device_register: dvname %s(%s) bpname %s\n", - dev->dv_xname, dvname, dev->dv_xname, bpname)); + dev->dv_xname, dev->dv_cfdata->cf_name, dev->dv_xname, bpname)); /* First, match by name */ - if (strcmp(dvname, bpname) != 0) { + if (!device_is_a(dev, bpname)) { if (dev_compatible(dev, aux, bpname) != 0) return; } @@ -1183,9 +1178,9 @@ device_register(struct device *dev, void *aux) dev->dv_xname)); return; } - } else if (strcmp(dvname, "le") == 0 || - strcmp(dvname, "hme") == 0 || - strcmp(dvname, "tlp") == 0) { + } else if (device_is_a(dev, "le") || + device_is_a(dev, "hme") || + device_is_a(dev, "tlp")) { /* * ethernet devices. @@ -1196,7 +1191,8 @@ device_register(struct device *dev, void *aux) dev->dv_xname)); return; } - } else if (strcmp(dvname, "sd") == 0 || strcmp(dvname, "cd") == 0) { + } else if (device_is_a(dev, "sd") || + device_is_a(dev, "cd")) { /* * A SCSI disk or cd; retrieve target/lun information * from parent and match with current bootpath component. @@ -1232,7 +1228,7 @@ device_register(struct device *dev, void *aux) dev->dv_xname)); return; } - } else if (strcmp("wd", dvname) == 0) { + } else if (device_is_a(dev, "wd") == 0) { /* IDE disks. */ struct ata_device *adev = aux;