]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC 278320,278336,278830,285621:
authorjhb <jhb@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 1 Feb 2016 23:07:31 +0000 (23:07 +0000)
committerjhb <jhb@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 1 Feb 2016 23:07:31 +0000 (23:07 +0000)
commit74217bd0e920e82e13cb53d3a1966175ce88aafb
tree8ea3c2613bb0dac29850ab9ba9b462ff3ca84571
parentd5d5e0e607dc512ab10b19564cac65cb8404e9b7
MFC 278320,278336,278830,285621:
Add devctl(8): a utility for manipulating new-bus devices.  Note that
this version does not include the 'suspend' and 'resume' commands
present in HEAD as those depend on larger changes to the suspend and
resume code in the kernel.

278320:
Add a new device control utility for new-bus devices called devctl.  This
allows the user to request administrative changes to individual devices
such as attach or detaching drivers or disabling and re-enabling devices.
- Add a new /dev/devctl2 character device which uses ioctls for device
  requests.  The ioctls use a common 'struct devreq' which is somewhat
  similar to 'struct ifreq'.
- The ioctls identify the device to operate on via a string.  This
  string can either by the device's name, or it can be a bus-specific
  address.  (For unattached devices, a bus address is the only way to
  locate a device.)  Bus drivers register an eventhandler to claim
  unrecognized device names that the driver recognizes as a valid address.
  Two buses currently support addresses: ACPI recognizes any device
  in the ACPI namespace via its full path starting with "\" and
  the PCI bus driver recognizes an address specification of
  'pci[<domain>:]<bus>:<slot>:<func>' (identical to the PCI selector
  strings supported by pciconf).
- To make it easier to cut and paste, change the PnP location string
  in the PCI bus driver to output a full PCI selector string rather
  than 'slot=<slot> function=<func>'.
- Add a devctl(3) interface in libdevctl which provides a wrapper around
  the ioctls and is the preferred interface for other userland code.
- Add a devctl(8) program which is a simple wrapper around the requests
  supported by devctl(3).
- Add a resource_unset_value() function that can be used to remove a
  hint from the kernel environment.  This is used to clear a
  hint.<driver>.<unit>.disabled hint when re-enabling a boot-time
  disabled device.

278336:
Unbreak the build (memchr is explicitly required by devctl(9) after r278320)

278830:
install the man page...

285621:
Fix formatting.

Approved by: re (marius)

git-svn-id: svn://svn.freebsd.org/base/stable/10@295131 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
17 files changed:
contrib/mdocml/lib.in
lib/Makefile
lib/libdevctl/Makefile [new file with mode: 0644]
lib/libdevctl/devctl.3 [new file with mode: 0644]
lib/libdevctl/devctl.c [new file with mode: 0644]
lib/libdevctl/devctl.h [new file with mode: 0644]
share/mk/bsd.libnames.mk
sys/conf/files
sys/dev/acpica/acpi.c
sys/dev/pci/pci.c
sys/kern/subr_bus.c
sys/kern/subr_hints.c
sys/sys/bus.h
usr.sbin/Makefile
usr.sbin/devctl/Makefile [new file with mode: 0644]
usr.sbin/devctl/devctl.8 [new file with mode: 0644]
usr.sbin/devctl/devctl.c [new file with mode: 0644]