-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into for-linus
- Loading branch information
Showing
1,026 changed files
with
13,719 additions
and
6,992 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
What: /proc/<pid>/oom_adj | ||
When: August 2012 | ||
Why: /proc/<pid>/oom_adj allows userspace to influence the oom killer's | ||
badness heuristic used to determine which task to kill when the kernel | ||
is out of memory. | ||
|
||
The badness heuristic has since been rewritten since the introduction of | ||
this tunable such that its meaning is deprecated. The value was | ||
implemented as a bitshift on a score generated by the badness() | ||
function that did not have any precise units of measure. With the | ||
rewrite, the score is given as a proportion of available memory to the | ||
task allocating pages, so using a bitshift which grows the score | ||
exponentially is, thus, impossible to tune with fine granularity. | ||
|
||
A much more powerful interface, /proc/<pid>/oom_score_adj, was | ||
introduced with the oom killer rewrite that allows users to increase or | ||
decrease the badness() score linearly. This interface will replace | ||
/proc/<pid>/oom_adj. | ||
|
||
A warning will be emitted to the kernel log if an application uses this | ||
deprecated interface. After it is printed once, future warnings will be | ||
suppressed until the kernel is rebooted. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
Kernel driver for lp5521 | ||
======================== | ||
|
||
* National Semiconductor LP5521 led driver chip | ||
* Datasheet: http://www.national.com/pf/LP/LP5521.html | ||
|
||
Authors: Mathias Nyman, Yuri Zaporozhets, Samu Onkalo | ||
Contact: Samu Onkalo (samu.p.onkalo-at-nokia.com) | ||
|
||
Description | ||
----------- | ||
|
||
LP5521 can drive up to 3 channels. Leds can be controlled directly via | ||
the led class control interface. Channels have generic names: | ||
lp5521:channelx, where x is 0 .. 2 | ||
|
||
All three channels can be also controlled using the engine micro programs. | ||
More details of the instructions can be found from the public data sheet. | ||
|
||
Control interface for the engines: | ||
x is 1 .. 3 | ||
enginex_mode : disabled, load, run | ||
enginex_load : store program (visible only in engine load mode) | ||
|
||
Example (start to blink the channel 2 led): | ||
cd /sys/class/leds/lp5521:channel2/device | ||
echo "load" > engine3_mode | ||
echo "037f4d0003ff6000" > engine3_load | ||
echo "run" > engine3_mode | ||
|
||
stop the engine: | ||
echo "disabled" > engine3_mode | ||
|
||
sysfs contains a selftest entry. | ||
The test communicates with the chip and checks that | ||
the clock mode is automatically set to the requested one. | ||
|
||
Each channel has its own led current settings. | ||
/sys/class/leds/lp5521:channel0/led_current - RW | ||
/sys/class/leds/lp5521:channel0/max_current - RO | ||
Format: 10x mA i.e 10 means 1.0 mA | ||
|
||
example platform data: | ||
|
||
Note: chan_nr can have values between 0 and 2. | ||
|
||
static struct lp5521_led_config lp5521_led_config[] = { | ||
{ | ||
.chan_nr = 0, | ||
.led_current = 50, | ||
.max_current = 130, | ||
}, { | ||
.chan_nr = 1, | ||
.led_current = 0, | ||
.max_current = 130, | ||
}, { | ||
.chan_nr = 2, | ||
.led_current = 0, | ||
.max_current = 130, | ||
} | ||
}; | ||
|
||
static int lp5521_setup(void) | ||
{ | ||
/* setup HW resources */ | ||
} | ||
|
||
static void lp5521_release(void) | ||
{ | ||
/* Release HW resources */ | ||
} | ||
|
||
static void lp5521_enable(bool state) | ||
{ | ||
/* Control of chip enable signal */ | ||
} | ||
|
||
static struct lp5521_platform_data lp5521_platform_data = { | ||
.led_config = lp5521_led_config, | ||
.num_channels = ARRAY_SIZE(lp5521_led_config), | ||
.clock_mode = LP5521_CLOCK_EXT, | ||
.setup_resources = lp5521_setup, | ||
.release_resources = lp5521_release, | ||
.enable = lp5521_enable, | ||
}; | ||
|
||
If the current is set to 0 in the platform data, that channel is | ||
disabled and it is not visible in the sysfs. |
Oops, something went wrong.