fastboot: Add ability to specify device path

For manufacturing and testing, there is a need to talk to
whatever device is connected to a given port on the host.  This
change modifies fastboot's "-s" option to take either a serial
number or a device path.  The device paths of the connected
devices can be listed using "fastboot -l devices" whose output
will resemble:

    016B75D60A00600D	usb:2-5	fastboot
    AD3C12020173	usb:1-4.3	fastboot

The second column lists the device paths.  If the -l option is
not given, the output from "fastboot devices" will be the same as
it used to be (i.e. the paths will not be printed).

Finally, note that the format of the device paths are platform
dependent.  The example above is from Linux.  On OS-X, the paths
will be "usb:" followed by hex digits.  For Windows, the device
paths will be printed as "????????????" and the -s option will
not be able to select a device until someone implements the
underlying functionality in usb_windows.c.

Change-Id: I1f01b8f47acd32edb0ac18db107316a2c923bbde
Signed-off-by: Scott Anderson <saa@android.com>
adb: Add ability to specify device path

For manufacturing and testing, there is a need to talk to
whatever device is connected to a given port on the host.  This
change modifies adb's "-s" option to take either a serial
number or a device path.  The device paths of the connected
devices can be listed using "adb devices -l" whose output
will resemble:

    List of devices attached
    016B75D60A00600D	usb:2-5	device
    3031D0B2E71D00EC	usb:1-4.3	device

The second column lists the device paths.  If the -l option is
not given, the output from "adb devices" will be the same as
it used to be (i.e. the paths will not be printed).

The device path can also be obtained with the get-devpath
command:

    $adb -s 3031D0B2E71D00EC get-devpath
    usb:1-4.3

Note that the format of the device paths are platform dependent.
The example above is from Linux.  On OS-X, the paths will be
"usb:" followed by hex digits.  For other platforms, the device
paths will be printed as "????????????" and the -s option will
not be able to select a device until someone implements the
underlying functionality.

Change-Id: I057d5d9f8c5bb72eddf5b8088aae110763f809d7
Signed-off-by: Scott Anderson <saa@android.com>
init: set perms for cpufreq interactive governor boost

Change-Id: I6509cda358b4a75706afd01a5b5a36eabe492554
Signed-off-by: Todd Poynor <toddpoynor@google.com>
am 75878ecc: Merge from AOSP

* commit '75878eccc219c02eff6363f1b16a8dab07032322':
  Forward compatibility
am d8b46e7f: am f8bbaba5: Add directory for forward locked apps in ASECs

* commit 'd8b46e7fd6769bcae2cdd763a809a265e7a527da':
  Add directory for forward locked apps in ASECs
am 1875930a: (-s ours) am 8d3ea1d1: init: set perms for cpufreq interactive governor boost -- DO NOT MERGE

* commit '1875930a9d24f2b97650bf511c52d197ba0d44d6':
  init: set perms for cpufreq interactive governor boost -- DO NOT MERGE
am e860d239: am 9c1c2059: am 5b3eb07e: Merge "Prevent bit shifting if num bits is negative"

* commit 'e860d239529a484021d779d391c823ca93323ae1':
  Prevent bit shifting if num bits is negative
am cf417693: am 64753635: am a02ff986: Merge "init: Add noexec mount option"

* commit 'cf41769375f34dbf17de52df02e4881ecfee0c8b':
  init: Add noexec mount option
am 03768b36: am b982bce7: Revert "libsysutils: NetlinkEvent: add support for interface xt_IDLETIMER events."

* commit '03768b363cdfbc976ab92a07d70e46b8cd597276':
  Revert "libsysutils: NetlinkEvent: add support for interface xt_IDLETIMER events."
am efc70215: am bb2cba56: Merge "Add encryption parameters to adb install" into jb-dev

* commit 'efc702154b5b8256149d1a7a76487244b0d537f8':
  Add encryption parameters to adb install
am d0ffe384: am ce182cb8: Merge "Let users with SYSTEM permission set debug. properties" into jb-dev

* commit 'd0ffe3840bbcf95e1ee79a4a6926d04c2ea1d56b':
  Let users with SYSTEM permission set debug. properties
am 9a676caa: am ced29ec3: am 87576b5f: Merge "Restrict zygote to system user."

* commit '9a676caaa715cc3d56b884382cf2c49c5f4c1e28':
  Restrict zygote to system user.
am d5fc797f: am f1f0d224: am 331667ff: Use #define value of 1 to indicate presence of headers.

* commit 'd5fc797fddcbde6574273c0e33d3a569dc6ef415':
  Use #define value of 1 to indicate presence of headers.
am 8ae80a68: am 249b16d9: Merge "init: Set perms for cpufreq interactive governor input boost sysfs" into jb-dev

* commit '8ae80a68f3ba0587a45e73504498a1cf57f0d5ad':
  init: Set perms for cpufreq interactive governor input boost sysfs
am 5a95bdaa: am 575b2358: Merge "graphics.h: clarify docs about stride for YV12" into jb-dev

* commit '5a95bdaab2939d8f8a2b7657f1b63884781254b6':
  graphics.h: clarify docs about stride for YV12
A filesystem manager library to mount filesystems for init.

Instead of specifying in init what to mount, and having various hacks in init
itself to deal with encryption, use a filesystem manager library to do the
work, that can also be invoked by vold when mounting an encrypted volume.
Keep all the magic filesystem info an a device specific fstab file.

Change-Id: Ib988f1e4fb0638ba1d5fd98407fa6d8cf862aaca
Change init to use libfs_mgr to mount filesystems.

The new fs_mgr library moves much of the knowledge of what filesystems
to mount into a new fstab.<device> file, and just calls one function to
mount all the filesystems.

Change-Id: If3db37530a0676000cba3e679db27aca734227e5
am e80645d2: am 190b6e26: ANativeWindow: fix up some comments

* commit 'e80645d248c636475929fc6a33ca4eb0ed77d6ba':
  ANativeWindow: fix up some comments
am 4580143b: am c1bf8966: A filesystem manager library to mount filesystems for init.

* commit '4580143b70dc5122a8970d365206ca791a7e6d14':
  A filesystem manager library to mount filesystems for init.
am 048cc27c: am 0e9dd90a: Change init to use libfs_mgr to mount filesystems.

* commit '048cc27c8a6796f9b2ce9d58be8c423ab837cf8b':
  Change init to use libfs_mgr to mount filesystems.