05 Oct, 2009
1 commit
-
The I2C_CLIENT_INSMOD_1 macro is only useful for i2c drivers which
implement device detection. The leds-pca9532 driver doesn't, so there
is no point in calling it.Signed-off-by: Jean Delvare
Cc: Richard Purdie
Cc: Riku Voipio
27 Sep, 2009
1 commit
-
* 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds:
leds: move leds-clevo-mail's probe function to .devinit.text
leds: Fix indentation in LEDS_LP3944 Kconfig entry
leds: Fix LED names
leds: Fix leds-pca9532 whitespace issues
leds: fix coding style in worker thread code for ledtrig-gpio.
leds: gpio-leds: fix typographics fault
leds: Add WM831x status LED driver
24 Sep, 2009
1 commit
-
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: add driver for Atmel AT42QT2160 Sensor Chip
Input: max7359 - use threaded IRQs
Input: add driver for Maxim MAX7359 key switch controller
Input: add driver for ADP5588 QWERTY I2C Keypad
Input: add touchscreen driver for MELFAS MCS-5000 controller
Input: add driver for OpenCores Keyboard Controller
Input: dm355evm_keys - remove dm355evm_keys_hardirq
Input: synaptics_i2c - switch to using __cancel_delayed_work()
Input: ad7879 - add support for AD7889
Input: atkbd - rely on input core to restore state on resume
Input: add generic suspend and resume for input devices
Input: libps2 - additional locking for i8042 ports
23 Sep, 2009
1 commit
-
This makes it consistent with other buses (platform, i2c, vio, ...). I'm
not sure why we use the prefixes, but there must be a reason.This was easy enough to do it, and I did it.
Signed-off-by: Anton Vorontsov
Cc: David Brownell
Cc: David Woodhouse
Cc: Grant Likely
Cc: Jean Delvare
Cc: Ben Dooks
Cc: Benjamin Herrenschmidt
Cc: Dmitry Torokhov
Cc: Samuel Ortiz
Cc: "John W. Linville"
Acked-by: Mike Frysinger
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
18 Sep, 2009
1 commit
-
The serio ports on i8042 are not completely isolated; while we provide
enough locking to ensure proper serialization when accessing control
and data registers AUX and KBD ports can still have an effect on each
other on PS/2 protocol level. The most prominent effect is that
issuing a command for the device connected to one port may cause
abort of the command currently executing by the device connected to
another port.Since i8042 nor serio subsystem are not aware of the details of the
PS/2 protocol (length of the commands and their replies and so on) the
locking should be done on libps2 level by adding special handling when
we see that we are dealing with serio port on i8042.Signed-off-by: Dmitry Torokhov
07 Sep, 2009
7 commits
-
A pointer to clevo_mail_led_probe is passed to the core via
platform_driver_register and so the function must not disappear when the
.init sections are discarded. Otherwise (if also having HOTPLUG=y)
unbinding and binding a device to the driver via sysfs will result in an
oops as does a device being registered late.Signed-off-by: Uwe Kleine-König
Signed-off-by: Richard Purdie -
Signed-off-by: Antonio Ospite
Signed-off-by: Richard Purdie -
This is needed to get kde-powersave to work properly on some g4
powerbooks.From: Olaf Hering
Signed-off-by: Greg Kroah-Hartman
Signed-off-by: Richard Purdie -
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com
-
[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Thadeu Lima de Souza Cascardo
Signed-off-by: Samuel R. C. Vale
Signed-off-by: Andrew Morton
Signed-off-by: Richard Purdie -
[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Michal Simek
Signed-off-by: Andrew Morton
Signed-off-by: Richard Purdie -
The WM831x devices feature two software controlled status LEDs with
hardware assisted blinking.The device can also autonomously control the LEDs based on a selection
of sources. This can be configured at boot time using either platform
data or the chip OTP. A sysfs file in the style of that for triggers
allowing the control source to be configured at run time. Triggers
can't be used here since they can't depend on the implementation details
of a specific LED type.Signed-off-by: Mark Brown
Signed-off-by: Richard Purdie
27 Aug, 2009
2 commits
-
If we change the inverted attribute to another value, the LED will not be
inverted until we change the GPIO state.Signed-off-by: Thadeu Lima de Souza Cascardo
Cc: Samuel R. C. Vale
Cc: Richard Purdie
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
When setting the same GPIO number, multiple IRQ shared requests will be
done without freing the previous request. It will also try to free a
failed request or an already freed IRQ if 0 was written to the gpio file.All these oops and leaks were fixed with the following solution: keep the
previous allocated GPIO (if any) still allocated in case the new request
fails. The alternative solution would desallocate the previous allocated
GPIO and set gpio as 0.Signed-off-by: Thadeu Lima de Souza Cascardo
Signed-off-by: Samuel R. C. Vale
Cc: Richard Purdie
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
03 Jul, 2009
1 commit
-
Signed-off-by: Yoichi Yuasa
Signed-off-by: Ralf Baechle
24 Jun, 2009
9 commits
-
There already is a "default-on" trigger but there are problems with it.
For one, it's a inefficient way to do it and requires led trigger support
to be compiled in.But the real reason is that is produces a glitch on the LED. The GPIO is
allocate with the LED *off*, then *later* when the trigger runs it is
turned back on. If the LED was already on via the GPIO's reset default or
action of the firmware, this produces a glitch where the LED goes from on
to off to on. While normally this is fast enough that it wouldn't be
noticeable to a human observer, there are still serious problems.One is that there may be something else on the GPIO line, like a hardware
alarm or watchdog, that is fast enough to notice the glitch.Another is that the kernel may panic before the LED is turned back on, thus
hanging with the LED in the wrong state. This is not just speculation, but
actually happened to me with an embedded system that has an LED which
should turn off when the kernel finishes booting, which was left in the
incorrect state due to a bug in the OF LED binding code.We also let GPIO LEDs get their initial value from whatever the current
state of the GPIO line is. On some systems the LEDs are put into some
state by the firmware or hardware before Linux boots, and it is desired to
have them keep this state which is otherwise unknown to Linux.This requires that the underlying GPIO driver support reading the value of
output GPIOs. Some drivers support this and some do not.The platform device binding gains a field in the platform data
"default_state" that controls this. There are three constants defined to
select from on, off, or keeping the current state. The OpenFirmware
binding uses a property named "default-state" that can be set to "on",
"off", or "keep". The default if the property isn't present is off.Signed-off-by: Trent Piepho
Acked-by: Grant Likely
Acked-by: Wolfram Sang
Acked-by: Sean MacLennan
Signed-off-by: Richard Purdie -
LEDs driver for National Semiconductor LP3944 Funlight Chip
http://www.national.com/pf/LP/LP3944.htmlThis helper chip can drive up to 8 leds, with two programmable DIM
modes; it could even be used as a gpio expander but this driver assumes
it is used as a led controller.The DIM modes are used to set _blink_ patterns for leds, the pattern is
specified supplying two parameters:
- period: from 0s to 1.6s
- duty cycle: percentage of the period the led is on, from 0 to 100LP3944 can be found on Motorola A910 smartphone, where it drives the rgb
leds, the camera flash light and the displays backlights.Signed-off-by: Antonio Ospite
Signed-off-by: Richard Purdie -
Indent using tabs, not spaces.
Signed-off-by: Antonio Ospite
Acked-by: Riku Voipio
Signed-off-by: Richard Purdie -
Remove an orphan Kconfig entry (LEDS_LP5521)
Signed-off-by: Richard Purdie
-
Add initialisation of GPIO ports for compatibility with boards with Award
BIOS (e.g. ALIX.3D3).Signed-off-by: Tobias Mueller
Reviewed-by: Constantin Baranov
Signed-off-by: Andrew Morton
Signed-off-by: Richard Purdie -
WARNING: drivers/leds/leds-gpio.o(.text+0x153): Section mismatch in reference from the function gpio_led_probe() to the function .devinit.text:create_gpio_led()
The function gpio_led_probe() references the function __devinit
create_gpio_led(). This is often because gpio_led_probe lacks a __devinit
annotation or the annotation of create_gpio_led is wrong.Signed-off-by: Zhenwen Xu
Signed-off-by: Andrew Morton
Signed-off-by: Richard Purdie -
Allow the user application to change the wave pattern and led current by
'wave_pattern' and 'rgb_current' sysfs files.Signed-off-by: Kim Kyuwon
Signed-off-by: Andrew Morton
Signed-off-by: Richard Purdie -
Change the license to 'GPL v2'
Signed-off-by: Kim Kyuwon
Signed-off-by: Andrew Morton
Signed-off-by: Richard Purdie -
LED_CORE_SUSPENDRESUME flag is not needed in the bd2802 driver, because
all works for suspend/resume is done in bd2802_suspend and bd2802_suspend
functions. And this patch allows bd2802 to be configured again when it
resumes from suspend.Signed-off-by: Kim Kyuwon
Signed-off-by: Andrew Morton
Signed-off-by: Richard Purdie
18 May, 2009
1 commit
-
Move all the gpio functions out of as
this file is for defining the generic IO base addresses
for the kernel IO calls.Make a new header to take this and
include it via the chain from which is
what most of these files should be using (and will be
changed as soon as possible).Note, this does make minor changes to some drivers but
should not mess up any pending merges.CC: Richard Purdie
Acked-by: Mark Brown
CC: David Brownell
Signed-off-by: Ben Dooks
08 Apr, 2009
1 commit
-
Fix build problems with leds-gpio:
CC drivers/leds/leds-gpio.o
drivers/leds/leds-gpio.c: In function 'create_gpio_led':
drivers/leds/leds-gpio.c:85: warning: 'return' with no value, in function returning non-voidSigned-off-by: David Brownell
Signed-off-by: Richard Purdie
06 Apr, 2009
14 commits
-
LP5521 is a three channel led driver with support
for hardware accelerated patterns (currently used
via lp5521-only sysfs interface).Currently, it's used on n810 device.
Signed-off-by: Felipe Balbi
Signed-off-by: Richard Purdie -
Sometimes it's awkward to make sure that the array in the
platform_data handed to the leds-gpio driver has only valid
data ... some leds may not be always available, and coping
with that currently requires patching or rebuilding the array.This patch fixes that by making it be OK to pass an invalid
GPIO (such as "-EINVAL") ... such table entries are skipped.[rpurdie@linux.intel.com: adjusted to apply against other led tree changes]
Signed-off-by: David Brownell
Tested-by: Diego Dompe
Signed-off-by: Richard Purdie -
This fixes the expression in the driver to do the correct thing,
not that I think anyone would send SND_* without EV_SND.Thanks to Roel Kluin for noticing.
Signed-off-by: Riku Voipio
Signed-off-by: Richard Purdie -
A pointer to h1940leds_probe is passed to the core via
platform_driver_register and so the function must not disappear when the
.init sections are discarded. Otherwise (if also having HOTPLUG=y)
unbinding and binding a device to the driver via sysfs will result in an
oops as does a device being registered late.An alternative to this patch is using platform_driver_probe instead of
platform_driver_register plus removing the pointer to the probe function
from the struct platform_driver.Signed-off-by: Uwe Kleine-König
Signed-off-by: Richard Purdie -
This goto is unnecessary.
Signed-off-by: Zhenwen Xu
Signed-off-by: Andrew Morton
Signed-off-by: Richard Purdie -
ROHM BD2802GU is a RGB LED controller attached to i2c bus and specifically
engineered for decoration purposes. This RGB controller incorporates
lighting patterns and illuminates.This driver is designed to minimize power consumption, so when there is no
emitting LED, it enters to reset state. And because the BD2802GU has lots
of features that can't be covered by the current LED framework, it
provides Advanced Configuration Function(ADF) mode, so that user
applications can set registers of BD2802GU directly.Here are basic usage examples :
; to turn on LED (not blink)
$ echo 1 > /sys/class/leds/led1_R/brightness
; to blink LED
$ echo timer > /sys/class/leds/led1_R/trigger
$ echo 1 > /sys/class/leds/led1_R/delay_on
$ echo 1 > /sys/class/leds/led1_R/delay_off
; to turn off LED
$ echo 0 > /sys/class/leds/led1_R/brightness[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Kim Kyuwon
Signed-off-by: Andrew Morton
Signed-off-by: Richard Purdie -
The leds-clevo-mail driver is in the mainline kernel since 2.6.25 and works
without severe problems. Make this driver available for a larger audience.Signed-off-by: Márton Németh
Signed-off-by: Richard Purdie -
Signed-off-by: Adam Nielsen
Signed-off-by: Richard Purdie -
The gpio led trigger will allow leds to be triggered by
gpio events.When we give the led a gpio number, the trigger will
request_irq() on that so we don't have to keep polling
for gpio state.It's useful for usecases as n810's keypad leds that could
be triggered by the gpio event generated when user slides
up to show the keypad.We also provide means for userland to tell us what is the
desired brightness for that special led when it goes on
so userland could use information from ambient light sensors
and not set led brightness too high if it's not necessary.Signed-off-by: Felipe Balbi
Signed-off-by: Richard Purdie -
Mikrotik built six LEDs into the Routerboard 532, from which one is
destined for custom use, the so called "User LED". This patch adds a
driver for it, based on the LEDs class.Signed-off-by: Phil Sutter
Acked-by: Florian Fainelli
Signed-off-by: Richard Purdie -
Add an option to preserve LED state when suspending/resuming to the LED
gpio driver. Based on a suggestion from Robert Jarzmik.Tested-by: Robert Jarzmik
Signed-off-by: Richard Purdie -
Add a simple driver for pwm driver LEDs. pwm_id and period can be defined
in board file. It is developed for pxa, however it is probably generic
enough to be used on other platforms with pwm.Signed-off-by: Luotao Fu
Signed-off-by: Andrew Morton
Signed-off-by: Richard Purdie -
You can't have multiple module_init()/module_exit calls so resort to messy
ifdefs potentially pending some code refactoring.Signed-off-by: Richard Purdie
-
Add an LED driver using the DAC124S085 DAC from NatSemi
[randy.dunlap@oracle.com: use header files for interfaces]
Signed-off-by: Guennadi Liakhovetski
Signed-off-by: Randy Dunlap
Signed-off-by: Richard Purdie