)]}'
{
  "log": [
    {
      "commit": "44e1e9f8e70506728b02a18e6d03599a6485d67f",
      "tree": "cb50e9faaf6017d44faf6bd5224e209df42aa9d8",
      "parents": [
        "49dca5aebfdeadd4bf27b6cb4c60392147dc35a4"
      ],
      "author": {
        "name": "Shuah Khan",
        "email": "shuahkhan@gmail.com",
        "time": "Tue May 29 15:07:30 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:32 2012 -0700"
      },
      "message": "leds: add new transient trigger for one shot timer activation\n\nThe leds timer trigger does not currently have an interface to activate a\none shot timer.  The current support allows for setting two timers, one\nfor specifying how long a state to be on, and the second for how long the\nstate to be off.  The delay_on value specifies the time period an LED\nshould stay in on state, followed by a delay_off value that specifies how\nlong the LED should stay in off state.  The on and off cycle repeats until\nthe trigger gets deactivated.  There is no provision for one time\nactivation to implement features that require an on or off state to be\nheld just once and then stay in the original state forever.\n\nWithout one shot timer interface, user space can still use timer trigger\nto set a timer to hold a state, however when user space application\ncrashes or goes away without deactivating the timer, the hardware will be\nleft in that state permanently.\n\nAs a specific example of this use-case, let\u0027s look at vibrate feature on\nphones.  Vibrate function on phones is implemented using PWM pins on SoC\nor PMIC.  There is a need to activate one shot timer to control the\nvibrate feature, to prevent user space crashes leaving the phone in\nvibrate mode permanently causing the battery to drain.\n\nThis trigger exports three properties, activate, state, and duration When\ntransient trigger is activated these properties are set to default values.\n\n- duration allows setting timer value in msecs. The initial value is 0.\n- activate allows activating and deactivating the timer specified by\n  duration as needed. The initial and default value is 0.  This will allow\n  duration to be set after trigger activation.\n- state allows user to specify a transient state to be held for the specified\n  duration.\n\nSigned-off-by: Shuah Khan \u003cshuahkhan@gmail.com\u003e\nCc: Jonas Bonn \u003cjonas@southpole.se\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: NeilBrown \u003cneilb@suse.de\u003e\nCc: Bryan Wu \u003cbryan.wu@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ]
}
