From 4a331aac448bc6ebd006fa2ea80af68f57c666eb Mon Sep 17 00:00:00 2001 From: christos Date: Wed, 31 Dec 2014 19:52:04 +0000 Subject: 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. --- sys/dev/ld.c | 28 ++++------------------------ 1 file changed, 4 insertions(+), 24 deletions(-) (limited to 'sys/dev/ld.c') diff --git a/sys/dev/ld.c b/sys/dev/ld.c index 19a7d21b074..f3081fb6e15 100644 --- a/sys/dev/ld.c +++ b/sys/dev/ld.c @@ -1,4 +1,4 @@ -/* $NetBSD: ld.c,v 1.79 2014/12/31 17:06:48 christos Exp $ */ +/* $NetBSD: ld.c,v 1.80 2014/12/31 19:52:05 christos Exp $ */ /*- * Copyright (c) 1998, 2000 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ld.c,v 1.79 2014/12/31 17:06:48 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ld.c,v 1.80 2014/12/31 19:52:05 christos Exp $"); #include #include @@ -407,41 +407,21 @@ static int ldioctl(dev_t dev, u_long cmd, void *addr, int32_t flag, struct lwp *l) { struct ld_softc *sc; - int part, unit, error; + int unit, error; #ifdef __HAVE_OLD_DISKLABEL struct disklabel newlabel; #endif struct disklabel *lp; unit = DISKUNIT(dev); - part = DISKPART(dev); sc = device_lookup_private(&ld_cd, unit); - error = disk_ioctl(&sc->sc_dk, cmd, addr, flag, l); + error = disk_ioctl(&sc->sc_dk, dev, cmd, addr, flag, l); if (error != EPASSTHROUGH) return (error); error = 0; switch (cmd) { - case DIOCGDINFO: - memcpy(addr, sc->sc_dk.dk_label, sizeof(struct disklabel)); - return (0); - -#ifdef __HAVE_OLD_DISKLABEL - case ODIOCGDINFO: - newlabel = *(sc->sc_dk.dk_label); - if (newlabel.d_npartitions > OLDMAXPARTITIONS) - return ENOTTY; - memcpy(addr, &newlabel, sizeof(struct olddisklabel)); - return (0); -#endif - - case DIOCGPART: - ((struct partinfo *)addr)->disklab = sc->sc_dk.dk_label; - ((struct partinfo *)addr)->part = - &sc->sc_dk.dk_label->d_partitions[part]; - break; - case DIOCWDINFO: case DIOCSDINFO: #ifdef __HAVE_OLD_DISKLABEL -- cgit