<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/leds, branch v3.12.10</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/leds?h=v3.12.10</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/leds?h=v3.12.10'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-01-15T23:31:42Z</updated>
<entry>
<title>leds: lp5521/5523: Remove duplicate mutex</title>
<updated>2014-01-15T23:31:42Z</updated>
<author>
<name>Milo Kim</name>
<email>milo.kim@ti.com</email>
</author>
<published>2013-12-03T01:21:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ac4de081312a65427e847157f46ea35cab2d7b82'/>
<id>urn:sha1:ac4de081312a65427e847157f46ea35cab2d7b82</id>
<content type='text'>
commit e70988d1aaf73221355e06125c9937bd4b27761c upstream.

It can be a problem when a pattern is loaded via the firmware interface.
LP55xx common driver has already locked the mutex in 'lp55xx_firmware_loaded()'.
So it should be deleted.

On the other hand, locks are required in store_engine_load()
on updating program memory.

Reported-by: Pali Rohár &lt;pali.rohar@gmail.com&gt;
Reported-by: Pavel Machek &lt;pavel@ucw.cz&gt;
Signed-off-by: Milo Kim &lt;milo.kim@ti.com&gt;
Signed-off-by: Bryan Wu &lt;cooloney@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds</title>
<updated>2013-09-12T18:35:33Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-09-12T18:35:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5223161dc0f5e44fbf3d5e42d23697b6796cdf4e'/>
<id>urn:sha1:5223161dc0f5e44fbf3d5e42d23697b6796cdf4e</id>
<content type='text'>
Pull led updates from Bryan Wu:
 "Sorry for the late pull request, since I'm just back from vacation.

  LED subsystem updates for 3.12:
   - pca9633 driver DT supporting and pca9634 chip supporting
   - restore legacy device attributes for lp5521
   - other fixing and updates"

* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds: (28 commits)
  leds: wm831x-status: Request a REG resource
  leds: trigger: ledtrig-backlight: Fix invalid memory access in fb_event notification callback
  leds-pca963x: Fix device tree parsing
  leds-pca9633: Rename to leds-pca963x
  leds-pca9633: Add mutex to the ledout register
  leds-pca9633: Unique naming of the LEDs
  leds-pca9633: Add support for PCA9634
  leds: lp5562: use LP55xx common macros for device attributes
  Documentation: leds-lp5521,lp5523: update device attribute information
  leds: lp5523: remove unnecessary writing commands
  leds: lp5523: restore legacy device attributes
  leds: lp5523: LED MUX configuration on initializing
  leds: lp5523: make separate API for loading engine
  leds: lp5521: remove unnecessary writing commands
  leds: lp5521: restore legacy device attributes
  leds: lp55xx: add common macros for device attributes
  leds: lp55xx: add common data structure for program
  Documentation: leds: Fix a typo
  leds: ss4200: Fix incorrect placement of __initdata
  leds: clevo-mail: Fix incorrect placement of __initdata
  ...
</content>
</entry>
<entry>
<title>Merge tag 'boards-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc</title>
<updated>2013-09-06T20:34:43Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-09-06T20:34:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=44598f98b98e54beca34dc836b38eaea40be1abf'/>
<id>urn:sha1:44598f98b98e54beca34dc836b38eaea40be1abf</id>
<content type='text'>
Pull ARM SoC board updates from Olof Johansson:
 "Board updates for 3.12.  Again, a bit of domain overlap with SoC and
  DT branches, but most of this is around legacy code and board support.
  We've found that platform maintainers have a hard time separating all
  of these out and might move towards fewer branches for next release.

   - Removal of a number of Marvell Kirkwood board files, since contents
     is now common and mostly configured via DT.
   - Device-tree updates for Marvell Dove, including irqchip and
     clocksource setup.
   - Defconfig updates.  Gotta go somewhere.  One new one for Renesas
     Lager.
   - New backlight drivers for backlights used on Renesas shmobile
     platforms.
   - Removal of Renesas leds driver.
   - Shuffling of some of the new Broadcom platforms to give room for
     others in the same mach directory.  More in 3.13"

* tag 'boards-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (67 commits)
  mmc: sdhci-bcm-kona: Staticize sdhci_bcm_kona_card_event
  mmc: sdhci-bcm-kona: Remove unneeded version.h inclusion
  ARM: bcm: Make secure API call optional
  ARM: DT: binding fixup to align with vendor-prefixes.txt (drivers)
  ARM: mmc: fix NONREMOVABLE test in sdhci-bcm-kona
  ARM: bcm: Rename board_bcm
  mmc: sdhci-bcm-kona: make linker-section warning go away
  ARM: tegra: defconfig updates
  ARM: dove: add initial DT file for Globalscale D2Plug
  ARM: dove: add GPIO IR receiver node to SolidRun CuBox
  ARM: dove: add common pinmux functions to DT
  ARM: dove: add cpu device tree node
  ARM: dove: update dove_defconfig with SI5351, PCI, and xHCI
  arch/arm/mach-kirkwood: Avoid using ARRAY_AND_SIZE(e) as a function argument
  ARM: kirkwood: fix DT building and update defconfig
  ARM: kirkwood: Remove all remaining trace of DNS-320/325 platform code
  ARM: configs: disable DEBUG_LL in bcm_defconfig
  ARM: bcm281xx: Board specific reboot code
  ARM bcm281xx: Turn on socket &amp; network support.
  ARM: bcm281xx: Turn on L2 cache.
  ...
</content>
</entry>
<entry>
<title>leds: wm831x-status: Request a REG resource</title>
<updated>2013-08-30T17:17:45Z</updated>
<author>
<name>Mark Brown</name>
<email>broonie@linaro.org</email>
</author>
<published>2013-08-29T14:18:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=61abeba5222895d6900b13115f5d8eba7988d7d6'/>
<id>urn:sha1:61abeba5222895d6900b13115f5d8eba7988d7d6</id>
<content type='text'>
The wm831x-status driver was not converted to use a REG resource when they
were introduced and the rest of the wm831x drivers converted, causing it
to fail to probe due to requesting the wrong resource type.

Signed-off-by: Mark Brown &lt;broonie@linaro.org&gt;
Cc: stable@vger.kernel.org # v3.7+
Signed-off-by: Bryan Wu &lt;cooloney@gmail.com&gt;
</content>
</entry>
<entry>
<title>leds: trigger: ledtrig-backlight: Fix invalid memory access in fb_event notification callback</title>
<updated>2013-08-27T00:46:36Z</updated>
<author>
<name>Manfred Schlaegl</name>
<email>manfred.schlaegl@gmx.at</email>
</author>
<published>2013-08-13T11:17:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c945cbcf453cb72dc2287fc4f7b63314f173b313'/>
<id>urn:sha1:c945cbcf453cb72dc2287fc4f7b63314f173b313</id>
<content type='text'>
fb_notifier_callback is called on any event fired by
fb_notifier_call_chain. Events may, or may not contain some data
(fb_event.data). In case of FB_EVENT_BLANK fb_event.data contains a
pointer to an integer holdingthe blank state. The Problem is, that in
ledtrig-backlight.c - fb_notifier_callback the pointer to blank state
is dereferenced BEFORE the event-type is checked.

Obviously this leads to problems with other events than FB_EVENT_BLANK,
where fb_event.data is undefined or NULL. It seems, that this problem
existed ever since the driver was added.

Like in drivers/video/backlight/backlight.c line 43 I would suggest to
return immediately on events other than FB_EVENT_BLANK.

Signed-off-by: Manfred Schlaegl &lt;manfred.schlaegl@gmx.at&gt;
Signed-off-by: Bryan Wu &lt;cooloney@gmail.com&gt;
</content>
</entry>
<entry>
<title>leds-pca963x: Fix device tree parsing</title>
<updated>2013-08-27T00:22:14Z</updated>
<author>
<name>Ricardo Ribalda Delgado</name>
<email>ricardo.ribalda@gmail.com</email>
</author>
<published>2013-08-14T21:23:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8a6acd648c1dfdc82f1bbcd15f7777962054c268'/>
<id>urn:sha1:8a6acd648c1dfdc82f1bbcd15f7777962054c268</id>
<content type='text'>
A malformed device tree could lead into a segmentation fault if the reg
value of a led is bigger than the number of leds.

A valid device tree could have only information about the last led of the
chip. Fix the device tree parsing to handle those cases.

Signed-off-by: Ricardo Ribalda Delgado &lt;ricardo.ribalda@gmail.com&gt;
Signed-off-by: Bryan Wu &lt;cooloney@gmail.com&gt;
</content>
</entry>
<entry>
<title>leds-pca9633: Rename to leds-pca963x</title>
<updated>2013-08-27T00:22:14Z</updated>
<author>
<name>Ricardo Ribalda Delgado</name>
<email>ricardo.ribalda@gmail.com</email>
</author>
<published>2013-08-14T21:23:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=56a1740c21e4396164265c3ec80e29990ddcdc36'/>
<id>urn:sha1:56a1740c21e4396164265c3ec80e29990ddcdc36</id>
<content type='text'>
The driver now supports the chips pca9633 and pca9634, therefore we
rename the files to more generic and meaningul names

Signed-off-by: Ricardo Ribalda Delgado &lt;ricardo.ribalda@gmail.com&gt;
Signed-off-by: Bryan Wu &lt;cooloney@gmail.com&gt;
</content>
</entry>
<entry>
<title>leds-pca9633: Add mutex to the ledout register</title>
<updated>2013-08-27T00:22:14Z</updated>
<author>
<name>Ricardo Ribalda Delgado</name>
<email>ricardo.ribalda@gmail.com</email>
</author>
<published>2013-08-14T21:23:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a7d0e9884fd7594d4de5066add5135ac6bb55bd4'/>
<id>urn:sha1:a7d0e9884fd7594d4de5066add5135ac6bb55bd4</id>
<content type='text'>
To update an LED a register has to be read, updated and writen. If
another LED whas been updated at the same time, this could lead into
wrong updates.

This patch adds a common mutex to all the leds of the same chip to
protect the ledout register.

Signed-off-by: Ricardo Ribalda Delgado &lt;ricardo.ribalda@gmail.com&gt;
Signed-off-by: Bryan Wu &lt;cooloney@gmail.com&gt;
</content>
</entry>
<entry>
<title>leds-pca9633: Unique naming of the LEDs</title>
<updated>2013-08-27T00:22:14Z</updated>
<author>
<name>Ricardo Ribalda Delgado</name>
<email>ricardo.ribalda@gmail.com</email>
</author>
<published>2013-08-14T21:23:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a5cd98b796b6891edc324415034a7f89531c754f'/>
<id>urn:sha1:a5cd98b796b6891edc324415034a7f89531c754f</id>
<content type='text'>
If there is more than one pca963x chips on the system and there are
some LEDs without platform_data names, the driver wont be able to
provide unique naming to them.

This will cause led_class_dev_register to fail, unregistering all the
LEDs of the chip.

This patch adds the i2c address to the name of the unnamed LEDs, making
them unique.

[  555.346827] ------------[ cut here ]------------
[  555.346844] WARNING: at /build/linux-voe0Su/linux-3.9.8/fs/sysfs/dir.c:536 sysfs_add_one+0x8b/0x9d()
[  555.346847] Hardware name: QT5022
[  555.346850] sysfs: cannot create duplicate filename '/class/leds/pca9633:6'
[  555.346853] Modules linked in: qt5038_platform(O+) leds_pca9633(O) hid_generic ledtrig_default_on rfcomm bnep bluetooth binfmt_misc nfsd auth_rpcgss nfs_acl nfs lockd dns_resolver fscache sunrpc nls_utf8 nls_cp437 vfat fat loop fuse joydev hid_multitouch usbhid hid acpi_cpufreq mperf kvm_amd kvm evdev pn533 nfc arc4 microcode pcspkr efivars k10temp ath9k ath9k_common ath9k_hw ath fglrx(PO) mac80211 cfg80211 video rfkill processor thermal_sys sp5100_tco button i2c_piix4 ext4 crc16 jbd2 mbcache sg sd_mod crc_t10dif ahci libahci igb i2c_algo_bit i2c_core dca ptp pps_core ehci_pci ohci_hcd ehci_hcd libata usbcore usb_common scsi_mod [last unloaded: leds_pca963x]
[  555.346940] Pid: 4766, comm: insmod Tainted: P        W  O 3.9-1-amd64 #1 Debian 3.9.8-1
[  555.346943] Call Trace:
[  555.346956]  [&lt;ffffffff8103d153&gt;] ? warn_slowpath_common+0x76/0x8c
[  555.346962]  [&lt;ffffffff8103d202&gt;] ? warn_slowpath_fmt+0x47/0x49
[  555.346968]  [&lt;ffffffff8116005d&gt;] ? sysfs_pathname+0x3b/0x41
[  555.346973]  [&lt;ffffffff81160767&gt;] ? sysfs_add_one+0x8b/0x9d
[  555.346978]  [&lt;ffffffff811610a4&gt;] ? sysfs_do_create_link_sd+0xe8/0x174
[  555.346985]  [&lt;ffffffff81279250&gt;] ? device_add+0x243/0x5ab
[  555.346991]  [&lt;ffffffff81060a16&gt;] ? complete_all+0x31/0x40
[  555.346998]  [&lt;ffffffff8104991a&gt;] ? init_timer_key+0xc/0x56
[  555.347004]  [&lt;ffffffff8127964c&gt;] ? device_create_vargs+0x82/0xb6
[  555.347009]  [&lt;ffffffff812796af&gt;] ? device_create+0x2f/0x31
[  555.347014]  [&lt;ffffffff81060add&gt;] ? should_resched+0x5/0x23
[  555.347021]  [&lt;ffffffff812a3a92&gt;] ? led_classdev_register+0x24/0x103
[  555.347028]  [&lt;ffffffffa09d01c0&gt;] ? pca9633_probe+0x173/0x239 [leds_pca9633]
[  555.347035]  [&lt;ffffffff8127b504&gt;] ? __driver_attach+0x73/0x73
[  555.347049]  [&lt;ffffffffa009dfc9&gt;] ? i2c_device_probe+0x63/0x88 [i2c_core]
[  555.347057]  [&lt;ffffffff8127b373&gt;] ? driver_probe_device+0x92/0x1b0
[  555.347064]  [&lt;ffffffff81279c5c&gt;] ? bus_for_each_drv+0x43/0x7d
[  555.347070]  [&lt;ffffffff8127b2af&gt;] ? device_attach+0x68/0x83
[  555.347078]  [&lt;ffffffff8127a990&gt;] ? bus_probe_device+0x25/0x8d
[  555.347083]  [&lt;ffffffff812793f7&gt;] ? device_add+0x3ea/0x5ab
[  555.347088]  [&lt;ffffffff81060a16&gt;] ? complete_all+0x31/0x40
[  555.347094]  [&lt;ffffffff8104991a&gt;] ? init_timer_key+0xc/0x56
[  555.347104]  [&lt;ffffffffa009d3a1&gt;] ? i2c_new_device+0x10d/0x179 [i2c_core]
[  555.347112]  [&lt;ffffffffa008f036&gt;] ? qt5038_init+0x36/0x1000 [qt5038_platform]
[  555.347119]  [&lt;ffffffffa008f000&gt;] ? 0xffffffffa008efff
[  555.347125]  [&lt;ffffffff8100209e&gt;] ? do_one_initcall+0x74/0x128
[  555.347131]  [&lt;ffffffffa008f000&gt;] ? 0xffffffffa008efff
[  555.347137]  [&lt;ffffffff810836f5&gt;] ? load_module+0x1af7/0x1dfc
[  555.347144]  [&lt;ffffffff810801c5&gt;] ? free_notes_attrs+0x3c/0x3c
[  555.347150]  [&lt;ffffffff81083a98&gt;] ? sys_init_module+0x9e/0xab
[  555.347157]  [&lt;ffffffff8138be29&gt;] ? system_call_fastpath+0x16/0x1b
[  555.347161] ---[ end trace ad00b85794e0de4d ]---
[  555.347448] leds-pca9633: probe of 0-006b failed with error -17

Signed-off-by: Ricardo Ribalda Delgado &lt;ricardo.ribalda@gmail.com&gt;
Signed-off-by: Bryan Wu &lt;cooloney@gmail.com&gt;
</content>
</entry>
<entry>
<title>leds-pca9633: Add support for PCA9634</title>
<updated>2013-08-27T00:22:14Z</updated>
<author>
<name>Ricardo Ribalda Delgado</name>
<email>ricardo.ribalda@gmail.com</email>
</author>
<published>2013-08-14T21:23:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=af67384f011e81ea86aef8aec51e62e775432ea8'/>
<id>urn:sha1:af67384f011e81ea86aef8aec51e62e775432ea8</id>
<content type='text'>
Add support for PCA9634 chip, which belongs to the same family as the
9633 but with support for 8 outputs instead of 4.

Signed-off-by: Ricardo Ribalda Delgado &lt;ricardo.ribalda@gmail.com&gt;
Signed-off-by: Bryan Wu &lt;cooloney@gmail.com&gt;
</content>
</entry>
</feed>
