Add a HAL representing a system-wide local time counter.

This is a squashed merge from master-tungsten of the following changes:

commit 9def1ae65f6b4d6a8fdec147fdcd34f22f08174a
Author: John Grossman <johngro@google.com>
Date:   Fri Aug 12 11:47:20 2011 -0700

    Change the signature of set_local_slew.

    Changed the definition of the slew function in the local time HAL to take an
    int16 instead of an int32 and to use the full range of the int instead of
    attempting to imply any particular PPM range.

    Change-Id: Ia67f50e77f1fe674a63ec69460e830d1191ef5a0

commit afab51327453d1bfc7423f8ce7a28933d8fc49b2
Author: John Grossman <johngro@google.com>
Date:   Mon Jun 27 17:29:07 2011 -0700

    Remove "primary" from the local_time HAL.

    Interface instances are a pattern which should only be used by audio.  Remove
    its use from the local_time HAL.

    Change-Id: If4c458cf16a02d9dc63c04185111ae793fc57801

commit 1c26e59a66e75ccb31027f42183aaa32bde6e456
Author: John Grossman <johngro@google.com>
Date:   Fri Jun 17 14:19:24 2011 -0700

    Refactor the local/common clock services.

    This change is one of a set of 5 changes made to different repositories.  Look
    for this comment in all of them.

    Refactor the local/common clock services in tungsten to match android best
    practice.  Notable changes include

    + The kernel no longer knows anything about common time.  Common time has been
      moved completely up into user land.  This has an impact on the accuracy of the
      timesync debugging code, and the netfilter assisted approach to network based
      timesync is going to have to be modified.
    + The timesync driver used by A@H is now just local time driver.
    + The kernel no longer needs access to the linear transform math code, and it
      has been removed.
    + A new HAL has been introduced to expose the concept of local time to the
      system.
    + A non-slewable stub implementation of the local time HAL based on
      CLOCK_MONOTONIC has been added.
    + The TungstenTime library has been eliminated.  Its functionality has been
      distributed among the common time binder service, the local time hal and the
      linear transform utility code.
    + All clients of the old TungstenTime library have been changed to be clients of
      the binder service, the hal and the utility code.
    + The reset_tt utilities have been removed, they no longer have a purpose in the
      system.
    + more progress has been made in eliminating the word "tungsten" from the code.

    Things left to do include
    + Finish getting rid of tungsten from the time service.
    + Move the time service into the framework; AudioFlinger's new timed mode
      depends on it and the service cannot continue to live in vendor tungsten.

    Change-Id: I39843b94f9b6d13f63b22145a2edcafe4ca87349

Change-Id: Ib264c992d564b99ef7c7847a788e4fa7f5e101b4
Signed-off-by: Mike J. Chen <mjchen@google.com>
Signed-off-by: John Grossman <johngro@google.com>
Modifications to audio_hal for Android@Home Tungsten.

This is a squashed merge from master-tungsten of the following changes:

Commit f560da61a5e128ca9f82f7fe939afcf1f09188c7
Author: John Grossman <johngro@google.com>
Date:   Thu Aug 11 15:34:55 2011 -0700

    Fill out a missing entry in the audio HAL function table.

    The entry for get_initial_master_volume was missing from the non-legacy audio
    HAL and needs to be filled out.  Also fix up the order of the comments
    describing the get_initial_master_volume method.

    Change-Id: I87d5415ef92611497a6dab4c657fc00367c4d80b

commit cea82facb63fd237a4ea6fb770605fcb500850ff
Author: Jason Simmons <jsimmons@google.com>
Date:   Thu Jun 16 14:24:24 2011 -0700

    Define a replacement for getSampleDelta that returns a DMA start time and count of samples queued

    Change-Id: I2d13f57b5a8c5b97fb3aa0a90834ce91c56864ef

commit 60a9acd7eee470a8d870218e8be618bfa3be15a5
Author: Mike J. Chen <mjchen@google.com>
Date:   Tue Jun 7 09:13:23 2011 -0700

    Add Tungsten extensions to new Audio HAL interface.

    Change-Id: I3ea4676d4b7d2afd78a5a7a7003ad5c437276d05
    Signed-off-by: Mike J. Chen <mjchen@google.com>

Change-Id: I09f3756d12a1ce4f9af39610ed857890742a72df
Signed-off-by: Mike J. Chen <mjchen@google.com>
Signed-off-by: John Grossman <johngro@google.com>
am cc3f6a34: improve sensor HAL test

* commit 'cc3f6a345b0cc356b22f9ea748505ce8a705d358':
  improve sensor HAL test
am cf209523: am 7bd7dd5d: am 3c935eda: resolved conflicts for merge of 33fddf0c to gingerbread-plus-aosp

* commit 'cf209523884350a3ad6af5840f1b0ae2dde9b98b':
  emulator: Add <hardware/qemu_pipe.h> header
Rename LOGV(_IF) to ALOGV(_IF)  DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/143865

Bug: 5449033
Change-Id: I8772e564a55981aad2a9cf7cb9245367fcf57fe8
am 7567eba2: (-s ours) Rename LOGV(_IF) to ALOGV(_IF)  DO NOT MERGE

* commit '7567eba2afa94abee27965d68c29b31d79b19e60':
  Rename LOGV(_IF) to ALOGV(_IF)  DO NOT MERGE
reset to ics-mr1, but keep history
undo reset to ics-mr1 until we have a better method
Add a HAL representing a system-wide local time counter.

This is a squashed merge from master-tungsten of the following changes:

commit 9def1ae65f6b4d6a8fdec147fdcd34f22f08174a
Author: John Grossman <johngro@google.com>
Date:   Fri Aug 12 11:47:20 2011 -0700

    Change the signature of set_local_slew.

    Changed the definition of the slew function in the local time HAL to take an
    int16 instead of an int32 and to use the full range of the int instead of
    attempting to imply any particular PPM range.

    Change-Id: Ia67f50e77f1fe674a63ec69460e830d1191ef5a0

commit afab51327453d1bfc7423f8ce7a28933d8fc49b2
Author: John Grossman <johngro@google.com>
Date:   Mon Jun 27 17:29:07 2011 -0700

    Remove "primary" from the local_time HAL.

    Interface instances are a pattern which should only be used by audio.  Remove
    its use from the local_time HAL.

    Change-Id: If4c458cf16a02d9dc63c04185111ae793fc57801

commit 1c26e59a66e75ccb31027f42183aaa32bde6e456
Author: John Grossman <johngro@google.com>
Date:   Fri Jun 17 14:19:24 2011 -0700

    Refactor the local/common clock services.

    This change is one of a set of 5 changes made to different repositories.  Look
    for this comment in all of them.

    Refactor the local/common clock services in tungsten to match android best
    practice.  Notable changes include

    + The kernel no longer knows anything about common time.  Common time has been
      moved completely up into user land.  This has an impact on the accuracy of the
      timesync debugging code, and the netfilter assisted approach to network based
      timesync is going to have to be modified.
    + The timesync driver used by A@H is now just local time driver.
    + The kernel no longer needs access to the linear transform math code, and it
      has been removed.
    + A new HAL has been introduced to expose the concept of local time to the
      system.
    + A non-slewable stub implementation of the local time HAL based on
      CLOCK_MONOTONIC has been added.
    + The TungstenTime library has been eliminated.  Its functionality has been
      distributed among the common time binder service, the local time hal and the
      linear transform utility code.
    + All clients of the old TungstenTime library have been changed to be clients of
      the binder service, the hal and the utility code.
    + The reset_tt utilities have been removed, they no longer have a purpose in the
      system.
    + more progress has been made in eliminating the word "tungsten" from the code.

    Things left to do include
    + Finish getting rid of tungsten from the time service.
    + Move the time service into the framework; AudioFlinger's new timed mode
      depends on it and the service cannot continue to live in vendor tungsten.

    Change-Id: I39843b94f9b6d13f63b22145a2edcafe4ca87349

Change-Id: Ifbc8c4c28c1cf45a762dd4fb00f8dffccd7efe94
Signed-off-by: Mike J. Chen <mjchen@google.com>
Signed-off-by: John Grossman <johngro@google.com>
Modifications to audio_hal for Android@Home Tungsten.

This is a squashed merge from master-tungsten of the following changes:

Commit f560da61a5e128ca9f82f7fe939afcf1f09188c7
Author: John Grossman <johngro@google.com>
Date:   Thu Aug 11 15:34:55 2011 -0700

    Fill out a missing entry in the audio HAL function table.

    The entry for get_initial_master_volume was missing from the non-legacy audio
    HAL and needs to be filled out.  Also fix up the order of the comments
    describing the get_initial_master_volume method.

    Change-Id: I87d5415ef92611497a6dab4c657fc00367c4d80b

commit cea82facb63fd237a4ea6fb770605fcb500850ff
Author: Jason Simmons <jsimmons@google.com>
Date:   Thu Jun 16 14:24:24 2011 -0700

    Define a replacement for getSampleDelta that returns a DMA start time and count of samples queued

    Change-Id: I2d13f57b5a8c5b97fb3aa0a90834ce91c56864ef

commit 60a9acd7eee470a8d870218e8be618bfa3be15a5
Author: Mike J. Chen <mjchen@google.com>
Date:   Tue Jun 7 09:13:23 2011 -0700

    Add Tungsten extensions to new Audio HAL interface.

    Change-Id: I3ea4676d4b7d2afd78a5a7a7003ad5c437276d05
    Signed-off-by: Mike J. Chen <mjchen@google.com>

Change-Id: Id9d0d2fb2fb28e2868f4eb8d8fbf86a975c47ceb
Signed-off-by: Mike J. Chen <mjchen@google.com>
Signed-off-by: John Grossman <johngro@google.com>
keep previous history after reset to mr1 plus aah changes (ics-aah-wip)
am 15879d89: change sensor HAL documentation to allow setting polling rate for "non continuous" sensors

* commit '15879d89af055f6cd651a94125a3802b526c3d66':
  change sensor HAL documentation to allow setting polling rate for "non continuous" sensors
am 15879d89: change sensor HAL documentation to allow setting polling rate for "non continuous" sensors

* commit '15879d89af055f6cd651a94125a3802b526c3d66':
  change sensor HAL documentation to allow setting polling rate for "non continuous" sensors
am 45065f97: Merge "New NFC HAL." into ics-mr1

* commit '45065f97354b4411d99dd57b348f758c6dbb5479':
  New NFC HAL.
resolved conflicts for merge of 45065f97 to ics-aah

Change-Id: I1e76a495d1ff76a49bfa091f63ed5bfc1d4f49c9
am e9eaf372: improve sensor HAL documentation

* commit 'e9eaf3721dd715901d669df6488b1ecd63b1e634':
  improve sensor HAL documentation
am e9eaf372: improve sensor HAL documentation

* commit 'e9eaf3721dd715901d669df6488b1ecd63b1e634':
  improve sensor HAL documentation
change sensor HAL documentation to allow setting polling rate for "non continuous" sensors

the current API / Documentation would not allow to set the
rate of "non continuous" sensors.

Most sensors HAL implementation already support changing the rate
(technically they're not compliant with the doc), so it's easier
to change the doc (and also allows more control).

Change-Id: I4ad324ddc3b569ec61770b3cf927c06f8ff4af4e
improve sensor HAL documentation

Change-Id: If2c1613902de6ed0e6cae8fe4755948c0f623bda
am fb410365: improve hw composer documentation

* commit 'fb410365ca67d36d4c81d7826712c6a05437612f':
  improve hw composer documentation