Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/dev/mca use the locator-passing variant of autoconf subm...
details: https://anonhg.NetBSD.org/src/rev/77f7bbb8a12d
branches: trunk
changeset: 569707:77f7bbb8a12d
user: drochner <drochner%NetBSD.org@localhost>
date: Mon Aug 30 18:27:21 2004 +0000
description:
use the locator-passing variant of autoconf submatch and use constants
from locators.h
diffstat:
sys/dev/mca/mca.c | 25 +++++++++++++++++--------
sys/dev/mca/mcavar.h | 5 +----
2 files changed, 18 insertions(+), 12 deletions(-)
diffs (99 lines):
diff -r e24efacfcb9e -r 77f7bbb8a12d sys/dev/mca/mca.c
--- a/sys/dev/mca/mca.c Mon Aug 30 16:42:48 2004 +0000
+++ b/sys/dev/mca/mca.c Mon Aug 30 18:27:21 2004 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: mca.c,v 1.15 2004/08/30 15:05:19 drochner Exp $ */
+/* $NetBSD: mca.c,v 1.16 2004/08/30 18:27:21 drochner Exp $ */
/*-
* Copyright (c) 2000, 2001 The NetBSD Foundation, Inc.
@@ -42,7 +42,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mca.c,v 1.15 2004/08/30 15:05:19 drochner Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mca.c,v 1.16 2004/08/30 18:27:21 drochner Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -54,13 +54,16 @@
#include <dev/mca/mcavar.h>
#include <dev/mca/mcadevs.h>
+#include "locators.h"
+
int mca_match __P((struct device *, struct cfdata *, void *));
void mca_attach __P((struct device *, struct device *, void *));
CFATTACH_DECL(mca, sizeof(struct device),
mca_match, mca_attach, NULL, NULL);
-int mca_submatch __P((struct device *, struct cfdata *, void *));
+int mca_submatch __P((struct device *, struct cfdata *,
+ const locdesc_t *, void *));
int mca_print __P((void *, const char *));
int
@@ -115,15 +118,15 @@
}
int
-mca_submatch(parent, cf, aux)
+mca_submatch(parent, cf, ldesc, aux)
struct device *parent;
struct cfdata *cf;
+ const locdesc_t *ldesc;
void *aux;
{
- struct mca_attach_args *ma = aux;
- if (cf->mcacf_slot != MCA_UNKNOWN_SLOT &&
- cf->mcacf_slot != ma->ma_slot)
+ if (cf->cf_loc[MCACF_SLOT] != MCACF_SLOT_DEFAULT &&
+ cf->cf_loc[MCACF_SLOT] != ldesc->locs[MCACF_SLOT])
return 0;
return (config_match(parent, cf, aux));
}
@@ -159,6 +162,8 @@
for (slot = 0; slot < MCA_MAX_SLOTS; slot++) {
struct mca_attach_args ma;
int reg;
+ int help[2];
+ locdesc_t *ldesc = (void *)help; /* XXX */
ma.ma_iot = iot;
ma.ma_memt = memt;
@@ -173,9 +178,13 @@
if (ma.ma_id == 0xffff) /* no adapter here */
continue;
+ ldesc->len = 1;
+ ldesc->locs[MCACF_SLOT] = slot;
+
if (ma.ma_pos[2] & MCA_POS2_ENABLE
|| mca_match_disabled(ma.ma_id))
- config_found_sm(self, &ma, mca_print, mca_submatch);
+ config_found_sm_loc(self, "mca", ldesc, &ma,
+ mca_print, mca_submatch);
else {
mca_print(&ma, self->dv_xname);
printf(" disabled\n");
diff -r e24efacfcb9e -r 77f7bbb8a12d sys/dev/mca/mcavar.h
--- a/sys/dev/mca/mcavar.h Mon Aug 30 16:42:48 2004 +0000
+++ b/sys/dev/mca/mcavar.h Mon Aug 30 18:27:21 2004 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: mcavar.h,v 1.6 2004/08/30 15:05:19 drochner Exp $ */
+/* $NetBSD: mcavar.h,v 1.7 2004/08/30 18:27:21 drochner Exp $ */
/*-
* Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -73,9 +73,6 @@
int ma_id; /* MCA device ID (POS1 + POS2<<8) */
};
-#define mcacf_slot cf_loc[0]
-#define MCA_UNKNOWN_SLOT -1 /* wildcarded 'slot' */
-
int mcabusprint(void *, const char *);
void mca_devinfo __P((int, char *, size_t));
Home |
Main Index |
Thread Index |
Old Index