diff options
| author | John Baldwin <jhb@FreeBSD.org> | 2016-04-27 16:33:17 +0000 |
|---|---|---|
| committer | John Baldwin <jhb@FreeBSD.org> | 2016-04-27 16:33:17 +0000 |
| commit | 88eb5c506d00e446dcfeb0f84b36d5132a8d9f6b (patch) | |
| tree | 9d890003db3954532ce3e8f39ed0184a8e9983dc /usr.sbin/devctl/devctl.c | |
| parent | 3d0338a09278a0cc38785321f102de9775c57ed3 (diff) | |
Notes
Diffstat (limited to 'usr.sbin/devctl/devctl.c')
| -rw-r--r-- | usr.sbin/devctl/devctl.c | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/usr.sbin/devctl/devctl.c b/usr.sbin/devctl/devctl.c index 545224b502d1..824b9075c04e 100644 --- a/usr.sbin/devctl/devctl.c +++ b/usr.sbin/devctl/devctl.c @@ -70,14 +70,16 @@ DEVCTL_TABLE(top, set); static void usage(void) { - fprintf(stderr, "%s\n%s\n%s\n%s\n%s\n%s\n%s\n", + fprintf(stderr, "%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n", "usage: devctl attach device", " devctl detach [-f] device", " devctl disable [-f] device", " devctl enable device", " devctl suspend device", " devctl resume device", - " devctl set driver [-f] device driver"); + " devctl set driver [-f] device driver", + " devctl rescan device", + " devctl delete [-f] device"); exit(1); } @@ -271,6 +273,40 @@ rescan(int ac, char **av) } DEVCTL_COMMAND(top, rescan, rescan); +static void +delete_usage(void) +{ + + fprintf(stderr, "usage: devctl delete [-f] device\n"); + exit(1); +} + +static int +delete(int ac, char **av) +{ + bool force; + int ch; + + force = false; + while ((ch = getopt(ac, av, "f")) != -1) + switch (ch) { + case 'f': + force = true; + break; + default: + delete_usage(); + } + ac -= optind; + av += optind; + + if (ac != 1) + delete_usage(); + if (devctl_delete(av[0], force) < 0) + err(1, "Failed to delete %s", av[0]); + return (0); +} +DEVCTL_COMMAND(top, delete, delete); + int main(int ac, char *av[]) { |
