1. 01 Apr, 2013 12 commits
    • Kim, Milo's avatar
      leds: lm355x, lm3642: support camera LED triggers for flash and torch · 313bf0b1
      Kim, Milo authored
      LM355x and LM3642 support flash and torch functionality.
      
       (Camera driver)          (LED trigger for camera)       (LED driver)
       Turn on the flash  ...>  ledtrig_flash_ctrl(true) ...>  LM355x or LM3642
                                                               brightness ctrl
                                                             <actual driving here>
      
      Flash/torch LEDs are controlled by other driver using LED camera trigger
      APIs, ledtrig_flash_ctrl()/ledtrig_torch_ctrl().
      Then, actual device control is activated by each LED driver such like
      LM355x or LM3642.
      Signed-off-by: default avatarMilo(Woogyom) Kim <milo.kim@ti.com>
      Signed-off-by: default avatarBryan Wu <cooloney@gmail.com>
      313bf0b1
    • Kim, Milo's avatar
      leds: add camera LED triggers · 48a1d032
      Kim, Milo authored
      Some LED devices support flash/torch functionality through the LED subsystem.
      This patch enables direct LED trigger controls by the driver.
      Flash on/off and torch on/off can be done simply by other driver space.
      Two trigger APIs are added, ledtrig_flash_ctrl() and ledtrig_torch_ctrl().
      Signed-off-by: default avatarMilo(Woogyom) Kim <milo.kim@ti.com>
      Signed-off-by: default avatarBryan Wu <cooloney@gmail.com>
      48a1d032
    • Kim, Milo's avatar
      leds: trigger: use inline functions instead of macros · 39f7e08a
      Kim, Milo authored
      Macros are used in case that an inline function doesn't work.
      Otherwise, use an empty inline function.
      
      (a) Case of !CONFIG_LEDS_TRIGGERS
      Following macros are replaced with inline functions.
        led_trigger_register_simple()
        led_trigger_unregister_simple()
        led_trigger_event()
      To make inline types, the structure, 'led_trigger' should be defined.
      This structure has no member at all.
      
      (b) Case of !CONFIG_LEDS_TRIGGER_IDE_DISK
      ledtrig_ide_activity() macro is replaced with an inline function as well.
      
      (c) DEFINE_LED_TRIGGER() and DEFINE_LED_TRIGGER_GLOBAL()
      Struct 'led_trigger' is defined both cases, with CONFIG_LEDS_TRIGGERS and
      without CONFIG_LEDS_TRIGGERS.
      Those macros are moved out of CONFIG_LED_TRIGGERS because of no-dependency
      on CONFIG_LEDS_TRIGGERS.
      
      (d) Fix build errors in mmc-core driver
      After replacing macros with inline functions, following build errors occur.
      (condition: CONFIG_LEDS_TRIGGERS is not set)
      
        drivers/mmc/core/core.c: In function 'mmc_request_done':
        drivers/mmc/core/core.c:164:25: error: 'struct mmc_host' has no member named 'led'
        drivers/mmc/core/core.c: In function 'mmc_start_request':
        drivers/mmc/core/core.c:254:24: error: 'struct mmc_host' has no member named 'led'
        make[3]: *** [drivers/mmc/core/core.o] Error 1
      
      The reason of these errors is non-existent member variable, 'led'.
      It is only valid when CONFIG_LEDS_TRIGGERS is set.
      But now, it can be used without this dependency.
      To fix build errors, member 'led' is always used without its config option in
      'include/linux/mmc/host.h'.
      Signed-off-by: default avatarMilo(Woogyom) Kim <milo.kim@ti.com>
      Signed-off-by: default avatarBryan Wu <cooloney@gmail.com>
      39f7e08a
    • Sachin Kamat's avatar
      leds: tca6507: Use of_match_ptr() macro · fbd9df28
      Sachin Kamat authored
      This eliminates having an #ifdef returning NULL for the case
      when OF is disabled.
      Signed-off-by: default avatarSachin Kamat <sachin.kamat@linaro.org>
      Signed-off-by: default avatarBryan Wu <cooloney@gmail.com>
      fbd9df28
    • Mark Brown's avatar
      leds: wm8350: Complain if we fail to reenable DCDC · d67eb8e6
      Mark Brown authored
      Provide some trace, though the hardware is most likely non-functional if
      this happens.
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: default avatarBryan Wu <cooloney@gmail.com>
      d67eb8e6
    • Jingoo Han's avatar
      leds: renesas: set gpio_request_one() flags param correctly · 901b74a3
      Jingoo Han authored
      The gpio_request_one() flags parameter was set to:
      
        GPIOF_DIR_OUT | !!brightness
      
      GPIOF_DIR_OUT and GPIOF_DIR_IN are defined as below:
        GPIOF_DIR_OUT   (0 << 0)
        GPIOF_DIR_IN    (1 << 0)
      
      So, when '!!brightness' is 1, the gpio pin can be set as input,
      instead of output.
      
      To prevent this problem, GPIOF_OUT_INIT flags should be used when
      using gpio_request_one().
      Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
      Signed-off-by: default avatarBryan Wu <cooloney@gmail.com>
      901b74a3
    • Jingoo Han's avatar
      leds: leds-ns2: set devm_gpio_request_one() flags param correctly · 9d04cbaa
      Jingoo Han authored
      The devm_gpio_request_one() flags parameter was set to:
      
        GPIOF_DIR_OUT | gpio_get_value(template->cmd)
      
      GPIOF_DIR_OUT and GPIOF_DIR_IN are defined as below:
      
        GPIOF_DIR_OUT   (0 << 0)
        GPIOF_DIR_IN    (1 << 0)
      
      So, when 'gpio_get_value(template->cmd)' is 1, the gpio pin can
      be set as input, instead of output.
      
      To prevent this problem, GPIOF_OUT_INIT flags should be used when
      using devm_gpio_request_one().
      
      Same goes for 'gpio_get_value(template->slow)' case.
      Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
      Signed-off-by: default avatarBryan Wu <cooloney@gmail.com>
      9d04cbaa
    • Jingoo Han's avatar
      leds: leds-lt3593: set devm_gpio_request_one() flags param correctly · 84f6942c
      Jingoo Han authored
      The devm_gpio_request_one() flags parameter was set to:
      
        GPIOF_DIR_OUT | state
      
      GPIOF_DIR_OUT and GPIOF_DIR_IN are defined as below:
      
        GPIOF_DIR_OUT   (0 << 0)
        GPIOF_DIR_IN    (1 << 0)
      
      So, when 'state' is 1, the gpio pin can be set as input, instead
      of output.
      
      To prevent this problem, GPIOF_OUT_INIT flags should be used when
      using devm_gpio_request_one().
      Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
      Signed-off-by: default avatarBryan Wu <cooloney@gmail.com>
      84f6942c
    • Jingoo Han's avatar
      leds: leds-bd2802: remove erroneous __exit annotation · e9dd68cf
      Jingoo Han authored
      CONFIG_HOTPLUG was removed, so __devexit or __exit of remove()
      should not be used.
      Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
      Signed-off-by: default avatarBryan Wu <cooloney@gmail.com>
      e9dd68cf
    • Jingoo Han's avatar
      leds: atmel-pwm: remove erroneous __exit annotation · 6fd79627
      Jingoo Han authored
      CONFIG_HOTPLUG was removed, so __devexit or __exit of remove()
      should not be used.
      Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
      Signed-off-by: default avatarBryan Wu <cooloney@gmail.com>
      6fd79627
    • Kim, Milo's avatar
      leds: move LED trigger drivers into new subdirectory · f07fb521
      Kim, Milo authored
      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: default avatarMilo(Woogyom) Kim <milo.kim@ti.com>
      Signed-off-by: default avatarBryan Wu <cooloney@gmail.com>
      f07fb521
    • Kim, Milo's avatar
      leds: add new LP5562 LED driver · ff45262a
      Kim, Milo authored
      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: default avatarMilo(Woogyom) Kim <milo.kim@ti.com>
      Signed-off-by: default avatarBryan Wu <cooloney@gmail.com>
      ff45262a
  2. 31 Mar, 2013 5 commits
    • Linus Torvalds's avatar
      Linux 3.9-rc5 · 07961ac7
      Linus Torvalds authored
      07961ac7
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma · 0bb44280
      Linus Torvalds authored
      Pull slave-dmaengine fixes from Vinod Koul:
       "Two fixes for slave-dmaengine.
      
        The first one is for making slave_id value correct for dw_dmac and
        the other one fixes the endieness in DT parsing"
      
      * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma:
        dw_dmac: adjust slave_id accordingly to request line base
        dmaengine: dw_dma: fix endianess for DT xlate function
      0bb44280
    • Linus Torvalds's avatar
      Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · a7b436d3
      Linus Torvalds authored
      Pull media fixes from Mauro Carvalho Chehab:
       "For a some fixes for Kernel 3.9:
         - subsystem build fix when VIDEO_DEV=y, VIDEO_V4L2=m and I2C=m
         - compilation fix for arm multiarch preventing IR_RX51 to be selected
         - regression fix at bttv crop logic
         - s5p-mfc/m5mols/exynos: a few fixes for cameras on exynos hardware"
      
      * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        [media] [REGRESSION] bt8xx: Fix too large height in cropcap
        [media] fix compilation with both V4L2 and I2C as 'm'
        [media] m5mols: Fix bug in stream on handler
        [media] s5p-fimc: Do not attempt to disable not enabled media pipeline
        [media] s5p-mfc: Fix encoder control 15 issue
        [media] s5p-mfc: Fix frame skip bug
        [media] s5p-fimc: send valid m2m ctx to fimc_m2m_job_finish
        [media] exynos-gsc: send valid m2m ctx to gsc_m2m_job_finish
        [media] fimc-lite: Fix the variable type to avoid possible crash
        [media] fimc-lite: Initialize 'step' field in fimc_lite_ctrl structure
        [media] ir: IR_RX51 only works on OMAP2
      a7b436d3
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20130331' of git://git.kernel.dk/linux-block · d299c290
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "Alright, this time from 10K up in the air.
      
        Collection of fixes that have been queued up since the merge window
        opened, hence postponed until later in the cycle.  The pull request
        contains:
      
         - A bunch of fixes for the xen blk front/back driver.
      
         - A round of fixes for the new IBM RamSan driver, fixing various
           nasty issues.
      
         - Fixes for multiple drives from Wei Yongjun, bad handling of return
           values and wrong pointer math.
      
         - A fix for loop properly killing partitions when being detached."
      
      * tag 'for-linus-20130331' of git://git.kernel.dk/linux-block: (25 commits)
        mg_disk: fix error return code in mg_probe()
        rsxx: remove unused variable
        rsxx: enable error return of rsxx_eeh_save_issued_dmas()
        block: removes dynamic allocation on stack
        Block: blk-flush: Fixed indent code style
        cciss: fix invalid use of sizeof in cciss_find_cfgtables()
        loop: cleanup partitions when detaching loop device
        loop: fix error return code in loop_add()
        mtip32xx: fix error return code in mtip_pci_probe()
        xen-blkfront: remove frame list from blk_shadow
        xen-blkfront: pre-allocate pages for requests
        xen-blkback: don't store dev_bus_addr
        xen-blkfront: switch from llist to list
        xen-blkback: fix foreach_grant_safe to handle empty lists
        xen-blkfront: replace kmalloc and then memcpy with kmemdup
        xen-blkback: fix dispatch_rw_block_io() error path
        rsxx: fix missing unlock on error return in rsxx_eeh_remap_dmas()
        Adding in EEH support to the IBM FlashSystem 70/80 device driver
        block: IBM RamSan 70/80 error message bug fix.
        block: IBM RamSan 70/80 branding changes.
        ...
      d299c290
    • Paul Walmsley's avatar
      Revert "lockdep: check that no locks held at freeze time" · dbf520a9
      Paul Walmsley authored
      This reverts commit 6aa97070.
      
      Commit 6aa97070 ("lockdep: check that no locks held at freeze time")
      causes problems with NFS root filesystems.  The failures were noticed on
      OMAP2 and 3 boards during kernel init:
      
        [ BUG: swapper/0/1 still has locks held! ]
        3.9.0-rc3-00344-ga937536b #1 Not tainted
        -------------------------------------
        1 lock held by swapper/0/1:
         #0:  (&type->s_umount_key#13/1){+.+.+.}, at: [<c011e84c>] sget+0x248/0x574
      
        stack backtrace:
          rpc_wait_bit_killable
          __wait_on_bit
          out_of_line_wait_on_bit
          __rpc_execute
          rpc_run_task
          rpc_call_sync
          nfs_proc_get_root
          nfs_get_root
          nfs_fs_mount_common
          nfs_try_mount
          nfs_fs_mount
          mount_fs
          vfs_kern_mount
          do_mount
          sys_mount
          do_mount_root
          mount_root
          prepare_namespace
          kernel_init_freeable
          kernel_init
      
      Although the rootfs mounts, the system is unstable.  Here's a transcript
      from a PM test:
      
        http://www.pwsan.com/omap/testlogs/test_v3.9-rc3/20130317194234/pm/37xxevm/37xxevm_log.txt
      
      Here's what the test log should look like:
      
        http://www.pwsan.com/omap/testlogs/test_v3.8/20130218214403/pm/37xxevm/37xxevm_log.txt
      
      Mailing list discussion is here:
      
        http://lkml.org/lkml/2013/3/4/221
      
      Deal with this for v3.9 by reverting the problem commit, until folks can
      figure out the right long-term course of action.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Mandeep Singh Baines <msb@chromium.org>
      Cc: Jeff Layton <jlayton@redhat.com>
      Cc: Shawn Guo <shawn.guo@linaro.org>
      Cc: <maciej.rutecki@gmail.com>
      Cc: Fengguang Wu <fengguang.wu@intel.com>
      Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Ben Chan <benchan@chromium.org>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Rafael J. Wysocki <rjw@sisk.pl>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      dbf520a9
  3. 30 Mar, 2013 1 commit
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 13d2080d
      Linus Torvalds authored
      Pull SCSI target fixes from Nicholas Bellinger:
       "This includes the bug-fix for a >= v3.8-rc1 regression specific to
        iscsi-target persistent reservation conflict handling (CC'ed to
        stable), and a tcm_vhost patch to drop VIRTIO_RING_F_EVENT_IDX usage
        so that in-flight qemu vhost-scsi-pci device code can detect the
        proper vhost feature bits.
      
        Also, there are two more tcm_vhost patches still being discussed by
        MST and Asias for v3.9 that will be required for the in-flight qemu
        vhost-scsi-pci device patch to function properly, and that should
        (hopefully) be the last target fixes for this round."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        target: Fix RESERVATION_CONFLICT status regression for iscsi-target special case
        tcm_vhost: Avoid VIRTIO_RING_F_EVENT_IDX feature bit
      13d2080d
  4. 29 Mar, 2013 12 commits
  5. 28 Mar, 2013 10 commits