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"

Reply via email to