summaryrefslogtreecommitdiffstats
path: root/sys/dev/iir/iir_ctrl.c
diff options
context:
space:
mode:
authorscottl <scottl@FreeBSD.org>2003-09-26 15:36:47 +0000
committerscottl <scottl@FreeBSD.org>2003-09-26 15:36:47 +0000
commit47c99c556b9631ae70de97a00bb969611f49d91b (patch)
treef5d8a5ae4f0701a20ba290e56b48bcb560ace719 /sys/dev/iir/iir_ctrl.c
parent58f93096d930359fc72dbc0001cdd4e46efad5d9 (diff)
downloadFreeBSD-src-47c99c556b9631ae70de97a00bb969611f49d91b.zip
FreeBSD-src-47c99c556b9631ae70de97a00bb969611f49d91b.tar.gz
Update email addresses, copyrights, and tweak the management interface.
Submitted by: "Leubner, Achim" <Achim_Leubner@adaptec.com>
Diffstat (limited to 'sys/dev/iir/iir_ctrl.c')
-rw-r--r--sys/dev/iir/iir_ctrl.c27
1 files changed, 20 insertions, 7 deletions
diff --git a/sys/dev/iir/iir_ctrl.c b/sys/dev/iir/iir_ctrl.c
index 184bf7e..bcee81d 100644
--- a/sys/dev/iir/iir_ctrl.c
+++ b/sys/dev/iir/iir_ctrl.c
@@ -1,5 +1,7 @@
/*
- * Copyright (c) 2000-01 Intel Corporation
+ * Copyright (c) 2000-03 ICP vortex GmbH
+ * Copyright (c) 2002-03 Intel Corporation
+ * Copyright (c) 2003 Adaptec Inc.
* All Rights Reserved
*
* Redistribution and use in source and binary forms, with or without
@@ -30,13 +32,12 @@
/*
* iir_ctrl.c: Control functions and /dev entry points for /dev/iir*
*
- * Written by: Achim Leubner <achim.leubner@intel.com>
+ * Written by: Achim Leubner <achim_leubner@adaptec.com>
* Fixes/Additions: Boji Tony Kannanthanam <boji.t.kannanthanam@intel.com>
*
- * TODO:
+ * $Id: iir_ctrl.c 1.3 2003/08/26 12:31:15 achim Exp $"
*/
-#ident "$Id: iir_ctrl.c 1.2 2001/07/18 11:17:22 achim Exp $"
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
@@ -274,10 +275,22 @@ iir_ioctl(dev_t dev, u_long cmd, caddr_t cmdarg, int flags, d_thread_t * p)
gdt = gdt_minor2softc(p->io_node);
if (gdt == NULL)
return (ENXIO);
- p->oem_id = 0x8000;
- p->type = 0xfd;
+ /* only RP controllers */
+ p->ext_type = 0x6000 | gdt->sc_device;
+ if (gdt->sc_vendor == INTEL_VENDOR_ID) {
+ p->oem_id = OEM_ID_INTEL;
+ p->type = 0xfd;
+ /* new -> subdevice into ext_type */
+ if (gdt->sc_device >= 0x600)
+ p->ext_type = 0x6000 | gdt->sc_subdevice;
+ } else {
+ p->oem_id = OEM_ID_ICP;
+ p->type = 0xfe;
+ /* new -> subdevice into ext_type */
+ if (gdt->sc_device >= 0x300)
+ p->ext_type = 0x6000 | gdt->sc_subdevice;
+ }
p->info = (gdt->sc_bus << 8) | (gdt->sc_slot << 3);
- p->ext_type = 0x6000 | gdt->sc_subdevice;
p->device_id = gdt->sc_device;
p->sub_device_id = gdt->sc_subdevice;
break;
OpenPOWER on IntegriCloud