1. 02 4月, 2013 2 次提交
    • K
      leds: move LED trigger drivers into new subdirectory · f07fb521
      Kim, Milo 提交于
      For better driver management, new subdirectory, 'trigger' is created.
      All LED trigger drivers are moved into this directory.
      
      Internal header, 'leds.h' is included in each LED trigger drivers.
      Fix the location of header file, "leds.h" -> "../leds.h" in driver files.
      One exception is here, 'ledtrig-timer.c'.
      There is no need to include 'leds.h'. so '#include "leds.h"' line was removed.
      Signed-off-by: NMilo(Woogyom) Kim <milo.kim@ti.com>
      Signed-off-by: NBryan Wu <cooloney@gmail.com>
      f07fb521
    • K
      leds: add new LP5562 LED driver · ff45262a
      Kim, Milo 提交于
      LP5562 can drive up to 4 channels, RGB and White.
      LEDs can be controlled directly via the led class control interface.
      
       LP55xx common driver
        LP5562 is one of LP55xx family device, so LP55xx common code are used.
        On the other hand, chip specific configuration is defined in the structure
        'lp55xx_device_config'
      
       LED pattern data
        LP5562 has also internal program memory which is used for running various LED
        patterns. LP5562 driver supports the firmware interface and the predefined
        pattern data as well.
      
       LP5562 device attributes: 'led_pattern' and 'engine_mux'
        A 'led_pattern' is an index code which runs the predefined pattern data.
        And 'engine_mux' is updated with the firmware interface is activated.
        Detailed description has been updated in the documentation files,
        'leds-lp55xx.txt' and 'leds-lp5562.txt'.
      
       Changes on the header file
        LP5562 configurable definitions are added.
        Pattern RGB data is fixed as constant value.
        (No side effect on other devices, LP5521 or LP5523.)
      
      (cooloney@gmail.com: remove redundant mutex_unlock(). Reported by Dan
      Carpenter <dan.carpenter@oracle.com>)
      Signed-off-by: NMilo(Woogyom) Kim <milo.kim@ti.com>
      Signed-off-by: NBryan Wu <cooloney@gmail.com>
      ff45262a
  2. 07 2月, 2013 3 次提交
    • P
      leds: leds-pwm: make it depend on PWM and not HAVE_PWM · ad0ba85f
      Peter Ujfalusi 提交于
      The correct dependency for the leds-pwm is PWM and not HAVE_PWM
      since PWM drivers now have their own subsystem.
      Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@ti.com>
      Signed-off-by: NBryan Wu <cooloney@gmail.com>
      ad0ba85f
    • M
      leds-lp55xx: support firmware interface · 10c06d17
      Milo(Woogyom) Kim 提交于
       This patch provides additional device attributes which enable
       loading the firmware. ('select_engine' and 'run_engine')
       To run a LED pattern, two parts of driver should be enabled.
      
       Common features : lp55xx-common
       ===============================
       Firmware interface for loading LED patterns
      
       Chip specific features : leds-lp5521, leds-lp5523
       =================================================
       Register addresses for loading firmware data
       Register addresses for running selected engine
      
       Pattern programming sequence
       ============================
       LP55xx chips have three program engines.
       To load and run a LED pattern, the programming sequence is as follows.
       (1) Select an engine number (1/2/3)
       (2) Set engine mode to load
       (3) Write pattern data into selected area
       (4) Set engine mode to run
      
       This sequence is almost same as the firmware interface.
       (1) Select an engine number               : 'select_engine' dev attribute
       (2) Mode change to load                   : 'loading' of firmware class
       (3) Write pattern data into selected area : 'data' of firmware class
       (4) Mode change to run                    : 'run_engine' dev attribute
      
       (1) and (4) are device specific features which provide callback functions
       (2) and (3) are common features.
      
       For example,
       echo 1 or 2 or 3 > /sys/bus/i2c/devices/xxxx/select_engine
       echo 1 > /sys/class/firmware/lp5521/loading
       echo "4000600040FF6000" > /sys/class/firmware/lp5521/data
       echo 0 > /sys/class/firmware/lp5521/loading
       echo 1 > /sys/bus/i2c/devices/xxxx/run_engine
      
       As soon as 'loading' is set to 0, registered callback is called.
       Inside the callback, the selected engine is loaded and memory is updated.
       To run programmed pattern, 'run_engine' attribute should be enabled.
      
       Device specific data structure
       ==============================
       o Firmware callback
         load selected engine and update program memory
       o Run engine
         change the engine mode
       o 'engine_idx' and firmware data, 'fw'
         Those are used in the driver internally with callback functions
      Signed-off-by: NMilo(Woogyom) Kim <milo.kim@ti.com>
      Signed-off-by: NBryan Wu <cooloney@gmail.com>
      10c06d17
    • M
      leds-lp55xx: add new common driver for lp5521/5523 · c93d08fa
      Milo(Woogyom) Kim 提交于
       This patch supports basic common driver code for LP5521, LP5523/55231 devices.
      
       ( Driver Structure Data )
      
       lp55xx_led and lp55xx_chip
       In lp55xx common driver, two different data structure is used.
       o lp55xx_led
         control multi output LED channels such as led current, channel index.
       o lp55xx_chip
         general chip control such like the I2C and platform data.
      
       For example, LP5521 has maximum 3 LED channels.
       LP5523/55231 has 9 output channels.
      
       lp55xx_chip for LP5521 ... lp55xx_led #1
                                  lp55xx_led #2
                                  lp55xx_led #3
      
       lp55xx_chip for LP5523 ... lp55xx_led #1
                                  lp55xx_led #2
                                  .
                                  .
                                  lp55xx_led #9
      
       ( Platform Data )
      
       LP5521 and LP5523/55231 have own specific platform data.
       However, this data can be handled with just one platform data structure.
       The lp55xx platform data is declared in the header.
       This structure is derived from leds-lp5521.h and leds-lp5523.h
      Signed-off-by: NMilo(Woogyom) Kim <milo.kim@ti.com>
      Signed-off-by: NBryan Wu <cooloney@gmail.com>
      c93d08fa
  3. 22 1月, 2013 1 次提交
  4. 22 11月, 2012 2 次提交
  5. 13 9月, 2012 1 次提交
  6. 11 9月, 2012 2 次提交
  7. 31 7月, 2012 1 次提交
  8. 26 7月, 2012 1 次提交
    • K
      leds: add new lp8788 led driver · eb80411b
      Kim, Milo 提交于
      TI LP8788 PMU has the current sink as the keyboard led driver.
      The brightness is controlled by the i2c commands.
      Configurable parameters can be defined in the platform side.
      
      Patch v2.
      (a) use workqueue on changing the brightness
      
      (b) use mutex_lock/unlock when the brightness is set
          and the led block of lp8788 device is enabled
      
      (c) remove err_dev on _probe()
          : just return as returned value if any errors
      
      (d) replace module_init/exit() with module_platform_driver()
      
      (e) add led configuration structure and loading them by default
          if platform data is null
      Signed-off-by: NMilo(Woogyom) Kim <milo.kim@ti.com>
      Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: NBryan Wu <bryan.wu@canonical.com>
      eb80411b
  9. 24 7月, 2012 4 次提交
  10. 12 6月, 2012 1 次提交
    • A
      leds: Make LEDS_ASIC3 and LEDS_RENESAS_TPU depend on LEDS_CLASS=y · 9473c4c1
      Axel Lin 提交于
      Otherwise, I got below build error when CONFIG_LEDS_CLASS=m.
      
        LD      init/built-in.o
      drivers/built-in.o: In function `asic3_led_probe':
      clkdev.c:(.devinit.text+0x4680): undefined reference to `led_classdev_register'
      drivers/built-in.o: In function `r_tpu_probe':
      clkdev.c:(.devinit.text+0x4838): undefined reference to `led_classdev_register'
      drivers/built-in.o: In function `asic3_led_remove':
      clkdev.c:(.devexit.text+0x564): undefined reference to `led_classdev_unregister'
      drivers/built-in.o: In function `r_tpu_remove':
      clkdev.c:(.devexit.text+0x5a0): undefined reference to `led_classdev_unregister'
      make: *** [vmlinux] Error 1
      Signed-off-by: NAxel Lin <axel.lin@gmail.com>
      Signed-off-by: NBryan Wu <bryan.wu@canonical.com>
      9473c4c1
  11. 30 5月, 2012 3 次提交
    • J
      leds: add LM3533 LED driver · 401dea7f
      Johan Hovold 提交于
      Add sub-driver for the LEDs on National Semiconductor / TI LM3533 lighting
      power chips.
      
      The chip provides 256 brightness levels, hardware accelerated blinking as
      well as ambient-light-sensor and pwm input control.
      Signed-off-by: NJohan Hovold <jhovold@gmail.com>
      Cc: Richard Purdie <rpurdie@rpsys.net>
      Cc: Rob Landley <rob@landley.net>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Cc: Jonathan Cameron <jic23@cam.ac.uk>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
      Cc: Bryan Wu <bryan.wu@canonical.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      401dea7f
    • S
      leds: add new transient trigger for one shot timer activation · 44e1e9f8
      Shuah Khan 提交于
      The leds timer trigger does not currently have an interface to activate a
      one shot timer.  The current support allows for setting two timers, one
      for specifying how long a state to be on, and the second for how long the
      state to be off.  The delay_on value specifies the time period an LED
      should stay in on state, followed by a delay_off value that specifies how
      long the LED should stay in off state.  The on and off cycle repeats until
      the trigger gets deactivated.  There is no provision for one time
      activation to implement features that require an on or off state to be
      held just once and then stay in the original state forever.
      
      Without one shot timer interface, user space can still use timer trigger
      to set a timer to hold a state, however when user space application
      crashes or goes away without deactivating the timer, the hardware will be
      left in that state permanently.
      
      As a specific example of this use-case, let's look at vibrate feature on
      phones.  Vibrate function on phones is implemented using PWM pins on SoC
      or PMIC.  There is a need to activate one shot timer to control the
      vibrate feature, to prevent user space crashes leaving the phone in
      vibrate mode permanently causing the battery to drain.
      
      This trigger exports three properties, activate, state, and duration When
      transient trigger is activated these properties are set to default values.
      
      - duration allows setting timer value in msecs. The initial value is 0.
      - activate allows activating and deactivating the timer specified by
        duration as needed. The initial and default value is 0.  This will allow
        duration to be set after trigger activation.
      - state allows user to specify a transient state to be held for the specified
        duration.
      Signed-off-by: NShuah Khan <shuahkhan@gmail.com>
      Cc: Jonas Bonn <jonas@southpole.se>
      Cc: Richard Purdie <rpurdie@rpsys.net>
      Cc: NeilBrown <neilb@suse.de>
      Cc: Bryan Wu <bryan.wu@canonical.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      44e1e9f8
    • D
      leds: driver for DA9052/53 PMIC v2 · 5ba73631
      David Dajun Chen 提交于
      LED Driver for Dialog Semiconductor DA9052/53 PMICs.
      
      [akpm@linux-foundation.org: make led_reg static]
      Signed-off-by: NDavid Dajun Chen <dchen@diasemi.com>
      Signed-off-by: NAshish Jangam <ashish.jangam@kpitcummins.com>
      Reviewed-by: NLars-Peter Clausen <lars@metafoo.de>
      Cc: Richard Purdie <rpurdie@rpsys.net>
      Cc: Bryan Wu <bryan.wu@canonical.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      5ba73631
  12. 24 3月, 2012 2 次提交
  13. 06 3月, 2012 1 次提交
  14. 03 3月, 2012 1 次提交
    • K
      ARM: S3C24XX: change the ARCH_S3C2410 to ARCH_S3C24XX · b130d5c2
      Kukjin Kim 提交于
      This patch changes the ARCH name to "ARCH_S3C24XX" for Samsung
      S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443,
      and S3C2450 SoCs so that we can merge the mach-xxx directories
      and plat-s3c24xx dir. to just one mach-s3c24xx for them.
      
      I think this should be sent to upstream via samsung tree because
      this touches many samsung stuff.
      
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: Richard Purdie <rpurdie@rpsys.net>
      Cc: Chris Ball <cjb@laptop.org>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Greg Kroah-Hartman <gregkh@suse.de>
      [for the gadget part:]
      Acked-by: NFelipe Balbi <balbi@ti.com>
      [for the framebuffer (video) part:]
      Acked-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      [For the watchdog-part:]
      Acked-by: NWim Van Sebroeck <wim@iguana.be>
      Cc: Sangbeom Kim <sbkim73@samsung.com>
      Cc: Liam Girdwood <lrg@ti.com>
      Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
      b130d5c2
  15. 24 1月, 2012 1 次提交
  16. 11 1月, 2012 1 次提交
  17. 09 1月, 2012 1 次提交
  18. 23 12月, 2011 1 次提交
  19. 24 11月, 2011 1 次提交
  20. 01 11月, 2011 1 次提交
    • M
      leds: Renesas TPU LED driver · f59b6f9f
      Magnus Damm 提交于
      Add V2 of the LED driver for a single timer channel for the TPU hardware
      block commonly found in Renesas SoCs.
      
      The driver has been written with optimal Power Management in mind, so to
      save power the LED is driven as a regular GPIO pin in case of maximum
      brightness and power off which allows the TPU hardware to be idle and
      which in turn allows the clocks to be stopped and the power domain to be
      turned off transparently.
      
      Any other brightness level requires use of the TPU hardware in PWM mode.
      TPU hardware device clocks and power are managed through Runtime PM.
      System suspend and resume is known to be working - during suspend the LED
      is set to off by the generic LED code.
      
      The TPU hardware timer is equipeed with a 16-bit counter together with an
      up-to-divide-by-64 prescaler which makes the hardware suitable for
      brightness control.  Hardware blink is unsupported.
      
      The LED PWM waveform has been verified with a Fluke 123 Scope meter on a
      sh7372 Mackerel board.  Tested with experimental sh7372 A3SP power domain
      patches.  Platform device bind/unbind tested ok.
      
      V2 has been tested on the DS2 LED of the sh73a0-based AG5EVM.
      
      [axel.lin@gmail.com: include linux/module.h]
      Signed-off-by: NMagnus Damm <damm@opensource.se>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Richard Purdie <rpurdie@rpsys.net>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Signed-off-by: NAxel Lin <axel.lin@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f59b6f9f
  21. 28 9月, 2011 1 次提交
    • P
      doc: fix broken references · 395cf969
      Paul Bolle 提交于
      There are numerous broken references to Documentation files (in other
      Documentation files, in comments, etc.). These broken references are
      caused by typo's in the references, and by renames or removals of the
      Documentation files. Some broken references are simply odd.
      
      Fix these broken references, sometimes by dropping the irrelevant text
      they were part of.
      Signed-off-by: NPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      395cf969
  22. 21 9月, 2011 1 次提交
    • E
      x86: geode: New PCEngines Alix system driver · d4f3e350
      Ed Wildgoose 提交于
      This new driver replaces the old PCEngines Alix 2/3 LED driver with a
      new driver that controls the LEDs through the leds-gpio driver. The
      old driver accessed GPIOs directly, which created a conflict and
      prevented also loading the cs5535-gpio driver to read other GPIOs on
      the Alix board. With this new driver, we hook into leds-gpio which in
      turn uses GPIO to control the LEDs and therefore it's possible to
      control both the LEDs and access onboard GPIOs
      
      Driver is moved to platform/geode as requested by Grant and any other
      geode initialisation modules should move here also
      
      This driver is inspired by leds-net5501.c by Alessandro Zummo.
      
      Ideally, leds-net5501.c should also be moved to platform/geode. 
      Additionally the driver relies on parts of the patch: 7f131cf3 ("leds:
      leds-alix2c - take port address from MSR) by Daniel Mack to perform
      detection of the Alix board.
      
      [akpm@linux-foundation.org: include module.h]
      Signed-off-by: NEd Wildgoose <kernel@wildgooses.com>
      Cc: git@wildgooses.com
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Daniel Mack <daniel@caiaq.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Richard Purdie <rpurdie@rpsys.net>
      Reviewed-by: NGrant Likely <grant.likely@secretlab.ca>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      d4f3e350
  23. 26 7月, 2011 1 次提交
  24. 16 6月, 2011 3 次提交
  25. 04 6月, 2011 1 次提交
  26. 27 5月, 2011 1 次提交
  27. 25 5月, 2011 1 次提交