summaryrefslogtreecommitdiff
path: root/sys/dev/ata
diff options
context:
space:
mode:
authorchristos <christos@NetBSD.org>2014-12-31 19:52:04 +0000
committerchristos <christos@NetBSD.org>2014-12-31 19:52:04 +0000
commit4a331aac448bc6ebd006fa2ea80af68f57c666eb (patch)
treea61e69370e02aa55f74db2134eb4c32a0ce55868 /sys/dev/ata
parent7e0dbe4aff861a57f08f15f13b40808d8bd26a6f (diff)
make more drivers use disk_ioctl, and add a dev parameter to it so that
we can merge the "easy" disklabel ioctls to it. Ultimately all this will go do dk_ioctl once all the drivers have been converted.
Diffstat (limited to 'sys/dev/ata')
-rw-r--r--sys/dev/ata/wd.c30
1 files changed, 4 insertions, 26 deletions
diff --git a/sys/dev/ata/wd.c b/sys/dev/ata/wd.c
index 34c9da0821e..62c0633189a 100644
--- a/sys/dev/ata/wd.c
+++ b/sys/dev/ata/wd.c
@@ -1,4 +1,4 @@
-/* $NetBSD: wd.c,v 1.416 2014/12/31 17:06:48 christos Exp $ */
+/* $NetBSD: wd.c,v 1.417 2014/12/31 19:52:05 christos Exp $ */
/*
* Copyright (c) 1998, 2001 Manuel Bouyer. All rights reserved.
@@ -54,7 +54,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: wd.c,v 1.416 2014/12/31 17:06:48 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wd.c,v 1.417 2014/12/31 19:52:05 christos Exp $");
#include "opt_ata.h"
@@ -1202,9 +1202,9 @@ wdioctl(dev_t dev, u_long xfer, void *addr, int flag, struct lwp *l)
if ((wd->sc_flags & WDF_LOADED) == 0)
return EIO;
- error = disk_ioctl(&wd->sc_dk, xfer, addr, flag, l);
+ error = disk_ioctl(&wd->sc_dk, dev, xfer, addr, flag, l);
if (error != EPASSTHROUGH)
- return (error);
+ return error;
error = 0;
switch (xfer) {
@@ -1272,28 +1272,6 @@ wdioctl(dev_t dev, u_long xfer, void *addr, int flag, struct lwp *l)
wd->sc_bscount = 0;
return 0;
#endif
- case DIOCGDINFO:
- *(struct disklabel *)addr = *(wd->sc_dk.dk_label);
- return 0;
-#ifdef __HAVE_OLD_DISKLABEL
- case ODIOCGDINFO:
- newlabel = malloc(sizeof *newlabel, M_TEMP, M_WAITOK);
- if (newlabel == NULL)
- return EIO;
- *newlabel = *(wd->sc_dk.dk_label);
- if (newlabel->d_npartitions <= OLDMAXPARTITIONS)
- memcpy(addr, newlabel, sizeof (struct olddisklabel));
- else
- error = ENOTTY;
- free(newlabel, M_TEMP);
- return error;
-#endif
-
- case DIOCGPART:
- ((struct partinfo *)addr)->disklab = wd->sc_dk.dk_label;
- ((struct partinfo *)addr)->part =
- &wd->sc_dk.dk_label->d_partitions[WDPART(dev)];
- return 0;
case DIOCWDINFO:
case DIOCSDINFO: