summaryrefslogtreecommitdiffstats
path: root/sys/scsi/scsiconf.c
diff options
context:
space:
mode:
authorasami <asami@FreeBSD.org>1996-06-14 11:02:28 +0000
committerasami <asami@FreeBSD.org>1996-06-14 11:02:28 +0000
commit36a1932601c730683d263ee933dd90cd6dae96bf (patch)
treed76ce0bf0a31500c82596831333ff034e969773b /sys/scsi/scsiconf.c
parent5fa995752f02a42fcb2b0ca54149fef141f98060 (diff)
downloadFreeBSD-src-36a1932601c730683d263ee933dd90cd6dae96bf.zip
FreeBSD-src-36a1932601c730683d263ee933dd90cd6dae96bf.tar.gz
The Great PC98 Merge.
All new code is "#ifdef PC98"ed so this should make no difference to PC/AT (and its clones) users. Ok'd by: core Submitted by: FreeBSD(98) development team
Diffstat (limited to 'sys/scsi/scsiconf.c')
-rw-r--r--sys/scsi/scsiconf.c25
1 files changed, 24 insertions, 1 deletions
diff --git a/sys/scsi/scsiconf.c b/sys/scsi/scsiconf.c
index 62efd5e..24223d3 100644
--- a/sys/scsi/scsiconf.c
+++ b/sys/scsi/scsiconf.c
@@ -16,7 +16,7 @@
*
* New configuration setup: dufault@hda.com
*
- * $Id: scsiconf.c,v 1.58 1996/04/07 17:32:42 bde Exp $
+ * $Id: scsiconf.c,v 1.59 1996/06/03 14:25:11 jfieber Exp $
*/
#include "opt_scsi.h"
@@ -29,6 +29,9 @@
#include <sys/sysctl.h>
#include <sys/devconf.h>
#include <sys/conf.h>
+#ifdef PC98
+#include <sys/device.h>
+#endif
#include <machine/clock.h>
@@ -619,6 +622,11 @@ scsi_assign_unit(struct scsi_link *sc_link)
{
int i;
int found;
+#ifdef PC98
+ struct cfdata cf;
+ cf.cf_flags = 0;
+#endif
+
found = 0;
for (i = 0; scsi_dinit[i].name; i++) {
if ((strcmp(sc_link->device->name, scsi_dinit[i].name) == 0) &&
@@ -630,6 +638,9 @@ scsi_assign_unit(struct scsi_link *sc_link)
sc_link->scsibus == scsi_dinit[i].cunit) {
sc_link->dev_unit = scsi_dinit[i].unit;
found = 1;
+#ifdef PC98
+ cf.cf_flags = scsi_dinit[i].flags;
+#endif
if (bootverbose)
printf("%s is configured at %d\n",
sc_link->device->name, sc_link->dev_unit);
@@ -640,6 +651,18 @@ scsi_assign_unit(struct scsi_link *sc_link)
if (!found)
sc_link->dev_unit = sc_link->device->free_unit++;
+#ifdef PC98
+ if (!found) {
+ for (i = 0; scsi_dinit[i].name; i++) {
+ if ((strcmp(sc_link->device->name, scsi_dinit[i].name) == 0) &&
+ (scsi_dinit[i].target == SCCONF_UNSPEC))
+ cf.cf_flags = scsi_dinit[i].flags;
+ }
+ }
+ if (sc_link->adapter->open_target_lu)
+ (*(sc_link->adapter->open_target_lu))(sc_link, &cf);
+#endif
+
return sc_link->dev_unit;
}
OpenPOWER on IntegriCloud