Author: kib Date: Fri Apr 19 13:09:16 2019 New Revision: 346383 URL: https://svnweb.freebsd.org/changeset/base/346383
Log: MFC r345965: Add DEV_RESET /dev/devctl2 ioctl. Modified: stable/11/sys/kern/subr_bus.c stable/11/sys/sys/bus.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/kern/subr_bus.c ============================================================================== --- stable/11/sys/kern/subr_bus.c Fri Apr 19 13:04:48 2019 (r346382) +++ stable/11/sys/kern/subr_bus.c Fri Apr 19 13:09:16 2019 (r346383) @@ -5476,6 +5476,7 @@ devctl2_ioctl(struct cdev *cdev, u_long cmd, caddr_t d case DEV_CLEAR_DRIVER: case DEV_RESCAN: case DEV_DELETE: + case DEV_RESET: error = priv_check(td, PRIV_DRIVER); if (error == 0) error = find_device(req, &dev); @@ -5683,6 +5684,14 @@ devctl2_ioctl(struct cdev *cdev, u_long cmd, caddr_t d error = device_delete_child(parent, dev); break; } + case DEV_RESET: + if ((req->dr_flags & ~(DEVF_RESET_DETACH)) != 0) { + error = EINVAL; + break; + } + error = BUS_RESET_CHILD(device_get_parent(dev), dev, + req->dr_flags); + break; } mtx_unlock(&Giant); return (error); Modified: stable/11/sys/sys/bus.h ============================================================================== --- stable/11/sys/sys/bus.h Fri Apr 19 13:04:48 2019 (r346382) +++ stable/11/sys/sys/bus.h Fri Apr 19 13:09:16 2019 (r346383) @@ -120,6 +120,7 @@ struct devreq { #define DEV_CLEAR_DRIVER _IOW('D', 8, struct devreq) #define DEV_RESCAN _IOW('D', 9, struct devreq) #define DEV_DELETE _IOW('D', 10, struct devreq) +#define DEV_RESET _IOW('D', 13, struct devreq) /* Flags for DEV_DETACH and DEV_DISABLE. */ #define DEVF_FORCE_DETACH 0x0000001 _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"