10 Aug, 2010
40 commits
-
Signed-off-by: Joe Perches
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Signed-off-by: Joe Perches
Cc: Felipe Balbi
Cc: David Brownell
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Signed-off-by: Joe Perches
Cc: Vitaly Bordug
Cc: Marcelo Tosatti
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Signed-off-by: Joe Perches
Cc: Matthew Garrett
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Signed-off-by: Joe Perches
Cc: Neil Horman
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Signed-off-by: Joe Perches
Cc: David Airlie
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Signed-off-by: Joe Perches
Cc: Yoshinori Sato
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Commit f80a3f62383bf673c310926d55142d51f118926d ("Staging: strip: delete
the driver") removed it.Signed-off-by: Joe Perches
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Signed-off-by: Joe Perches
Cc: Viresh Kumar
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Commit d6e976c0d258c9547a308bd8a9a82ec93e2bc6e2 ("UIO: Remove SMX
Cryptengine driver") removed the file.Signed-off-by: Joe Perches
Acked-by: Ben Nizette
Acked-by: Hans J. Koch
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Entered as 822 (10 key typo?).
Signed-off-by: Joe Perches
Acked-by: Maxim Levitsky
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Commit 21b4aaa14329db793832e865f15000c5c0192ac3 ("l2tp: Relocate pppol2tp
driver to new net/l2tp directory") moved the file.Signed-off-by: Joe Perches
Cc: James Chapman
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Signed-off-by: Joe Perches
Cc: "John W. Linville"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Use correct file location.
Signed-off-by: Joe Perches
Acked-by: Marek Vasut
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Signed-off-by: Joe Perches
Acked-by: Marek Vasut
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Signed-off-by: Joe Perches
Acked-by: Wan ZongShun
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Signed-off-by: Joe Perches
Cc: Leo Chen
Cc: Scott Branden
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
kmsg_dump takes care to sample the global variables
inside a spinlock, but then goes on to use the same
variables outside the spinlock region too.Use the correct variable. This will make the race
window smaller.Found by gcc 4.6's new warnings.
Signed-off-by: Andi Kleen
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
The previous change added WARN_ON() in misc_deregister(). So it is not
necessary to WARN_ON() misc_deregister() failure by callers.Signed-off-by: Akinobu Mita
Cc: Martin Schwidefsky
Cc: Heiko Carstens
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
misc_deregister() returns an error only when it attempts to unregister
the device that is not registered. This is the driver's bug.Most of the drivers don't check the return value of misc_deregister().
(It is not bad thing because most of kernel *_unregister() API always
succeed and do not return value)So it is better to indicate the error by WARN_ON() in misc_deregister().
Signed-off-by: Akinobu Mita
Cc: Heiko Carstens
Cc: Martin Schwidefsky
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Reorder elements in structure cpu_stopper to remove alignment padding on
64 bit builds, this shrinks its size from 40 to 32 bytes saving 8 bytes
per cpu.Signed-off-by: Richard Kennedy
Acked-by: Tejun Heo
Cc: Peter Zijlstra
Cc: Ingo Molnar
Cc: Rusty Russell
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Workqueues are now initialized as part of the early_initcall(). So they
are available for use during cold boot process aswell.Signed-off-by: Suresh Siddha
Cc: "H. Peter Anvin"
Cc: Ingo Molnar
Cc: Thomas Gleixner
Cc: Tejun Heo
Cc: Oleg Nesterov
Cc: Tony Luck
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Andrew Morton suggested that the do_one_initcall and do_one_initcall_debug
functions can be marked __init_or_module such that they can be discarded
for the CONFIG_MODULES=N case.Signed-off-by: Kevin Winchester
Cc: Ingo Molnar
Cc: Rusty Russell
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Using:
gcc (GCC) 4.5.0 20100610 (prerelease)
The following warning appears:
init/main.c: In function `do_one_initcall':
init/main.c:730:10: warning: `calltime.tv64' may be used uninitialized in this functionThis warning is actually correct, as the global initcall_debug could
arguably be changed by the initcall.Correct this warning by extracting a new function, do_one_initcall_debug,
that performs the initcall for the debug case.Signed-off-by: Kevin Winchester
Cc: Ingo Molnar
Cc: Rusty Russell
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Remove duplicate definition of ARRAY_SIZE(), which was never used anyway.
Signed-off-by: Geert Uytterhoeven
Cc: Yinghai Lu
Cc: "H. Peter Anvin"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Cleanup, no functional changes.
- __set_personality() always changes ->exec_domain/personality, the
special case when ->exec_domain remains the same buys nothing but
complicates the code. Unify both cases to simplify the code.- The -EINVAL check in sys_personality() was never right. If we assume
that set_personality() can fail we should check the value it returns
instead of verifying that task->personality was actually changed.Remove it. Before the previous patch it was possible to hit this case
due to overflow problems, but this -EINVAL just indicated the kernel
bug.OTOH, probably it makes sense to change lookup_exec_domain() to return
ERR_PTR() instead of default_exec_domain if the search in exec_domains
list fails, and report this error to the user-space. But this means
another user-space change, and we have in-kernel users which need fixes.
For example, PER_OSF4 falls into PER_MASK for unkown reason and nobody
cares to register this domain.Signed-off-by: Oleg Nesterov
Cc: Wenming Zhang
Cc: "H. Peter Anvin"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This driver adds support for the BMP085 digital pressure sensor from Bosch
Sensortec. It exposes a sysfs api to userspace where pressure and
temperature measurement results can be read from the pressure0_input and
temp0_input file. The chip is able to calculate the average of up to
eight samples to increase the accuracy. This feature can be controlled by
writing to the oversampling file.The BMP085 digital pressure sensor can measure ambient air pressure and
temperature. Both values can be obtained from sysfs files. The pressure
is measured by reading from pressure0_input. Valid values range from
30000 to 110000 pascal with a resolution of 1 pascal (=0.01 millibar).temp0_input holds the current temperature in degree celsius, multiplied by
10. This results in a resolution of a tenth degree celsius. Values range
from -400 to 850.To increase the accuracy, this chip can calculate the average of 1, 2, 4
or 8 samples. This behavior is controlled through the oversampling sysfs
file. Two to the power of the value written to that file specifies how
many samples will be used. Valid values: 0..3.[akpm@linux-foundation.org: fix typo]
[shubhrajyoti@ti.com: optimize the wait time for the pressure sensor, definition of long is arch dependent so make it u32]
[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Christoph Mair
Signed-off-by: Shubhrajyoti D
Acked-by: Jonathan Cameron
Cc: Stefan Schmidt
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Fix i386 PAE compile warning:
drivers/misc/hpilo.c: In function `ilo_ccb_setup':
drivers/misc/hpilo.c:274: warning: cast to pointer from integer of different sizedma_addr_t is 64 on i386 PAE which causes a size mismatch.
Signed-off-by: Prarit Bhargava
Acked-by: David Altobelli
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Add support for ROHM BH1780GLI Ambient light sensor.
BH1780 supports I2C interface. Driver supports read/update of power state
and read of lux value (through SYSFS). Writing value 3 to power_state
enables the sensor and current lux value could be read.Currently this driver follows the same sysfs convention as supported by
drivers/misc/isl29003.c.Signed-off-by: Hemanth V
Reviewed-by: Daniel Mack
Acked-by: Jonathan Cameron
Cc: Jean Delvare
Cc: Wolfram Sang
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
sec2annotation returns malloc'ed buffer directly to printf as an argument.
Free this buffer after printing.Signed-off-by: Alexey Fomenko
Cc: Trevor Keith
Cc: Rusty Russell
Cc: Michal Marek
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
A profile of a network benchmark showed iommu_num_pages rather high up:
0.52% iommu_num_pages
Looking at the profile, an integer divide is taking almost all of the time:
%
: c000000000376ea4 :
1.93 : c000000000376ea4: fb e1 ff f8 std r31,-8(r1)
0.00 : c000000000376ea8: f8 21 ff c1 stdu r1,-64(r1)
0.00 : c000000000376eac: 7c 3f 0b 78 mr r31,r1
3.86 : c000000000376eb0: 38 84 ff ff addi r4,r4,-1
0.00 : c000000000376eb4: 38 05 ff ff addi r0,r5,-1
0.00 : c000000000376eb8: 7c 84 2a 14 add r4,r4,r5
46.95 : c000000000376ebc: 7c 00 18 38 and r0,r0,r3
45.66 : c000000000376ec0: 7c 84 02 14 add r4,r4,r0
0.00 : c000000000376ec4: 7c 64 2b 92 divdu r3,r4,r5
0.00 : c000000000376ec8: 38 3f 00 40 addi r1,r31,64
0.00 : c000000000376ecc: eb e1 ff f8 ld r31,-8(r1)
1.61 : c000000000376ed0: 4e 80 00 20 blrSince every caller of iommu_num_pages passes in a constant power of two
we can inline this such that the divide is replaced by a shift. The
entire function is only a few instructions once optimised, so it is
a good candidate for inlining overall.Signed-off-by: Anton Blanchard
Cc: Akinobu Mita
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Using:
gcc (GCC) 4.5.0 20100610 (prerelease)
The following warnings appear:
fs/readdir.c: In function `filldir64':
fs/readdir.c:240:15: warning: `dirent' is used uninitialized in this function
fs/readdir.c: In function `filldir':
fs/readdir.c:155:15: warning: `dirent' is used uninitialized in this function
fs/compat.c: In function `compat_filldir64':
fs/compat.c:1071:11: warning: `dirent' is used uninitialized in this function
fs/compat.c: In function `compat_filldir':
fs/compat.c:984:15: warning: `dirent' is used uninitialized in this functionThe warnings are related to the use of the NAME_OFFSET() macro. Luckily,
it appears as though the standard offsetof() macro is what is being
implemented by NAME_OFFSET(), thus we can fix the warning and use a more
standard code construct at the same time.Signed-off-by: Kevin Winchester
Cc: Al Viro
Cc: Christoph Hellwig
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Add more information about patch descriptions.
Signed-off-by: Randy Dunlap
Reviewed-by: Christoph Lameter
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
There are no more uses of NIPQUAD or NIPQUAD_FMT. Remove the definitions.
Signed-off-by: Joe Perches
Cc: "David S. Miller"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Removal of these started in 2.3.43pre3, ca. 10 years ago.
Reported-by: Arnd Bergmann
Signed-off-by: Geert Uytterhoeven
Cc: Richard Henderson
Cc: Ivan Kokshaysky
Cc: Yoshinori Sato
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
We should use the __same_type() helper in __must_be_array().
Signed-off-by: Rusty Russell
Reported-by: Andrew Morton
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
The asm-generic/iomap.h provides these functions already, but the
non-generic fallback defines do not.Signed-off-by: Mike Frysinger
Cc: Arnd Bergmann
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
PROC_MM doesn't exist in Kconfig. Looking around it looks like a
left-over from 2.6.0 or even 2.4 times, last mentioned in a fedora patch
for 2.6.10. I believe it's time to get rid of that last tiny parts here
that are still around.Signed-off-by: Christoph Egger
Cc: Jeff Dike
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
When I use OpenSUSE-11.2 on UML (> 2.6.25)
I get lots of such errors:Registering fd 1 twice
Irqs : 3, 3
Ids : 0x09cb41a0, 0x09cb4120
------------[ cut here ]------------
WARNING: at kernel/irq/manage.c:896 __free_irq+0x79/0x11a()
Trying to free already-free IRQ 3
Modules linked in:
09dadc6c: [] dump_stack+0x1c/0x20
09dadc84: [] warn_slowpath_common+0x49/0x77
09dadc9c: [] warn_slowpath_fmt+0x26/0x2a
09dadcb4: [] __free_irq+0x79/0x11a
09dadce4: [] free_irq+0x2d/0x49
09dadcf4: [] close_one_chan+0x70/0x9c
09dadd0c: [] close_chan+0x17/0x22
09dadd1c: [] enable_chan+0x70/0x7c
09dadd3c: [] line_open+0x34/0x9f
09dadd54: [] con_open+0x13/0x35
09dadd6c: [] tty_open+0x285/0x384
09dadda0: [] chrdev_open+0xe0/0xf9
09daddc0: [] __dentry_open+0xf3/0x1e2
09dadde4: [] nameidata_to_filp+0x35/0x49
09daddfc: [] do_last+0x409/0x50e
09dade28: [] do_filp_open+0x175/0x446
09dadecc: [] do_sys_open+0x4a/0x128
09dadf04: [] sys_open+0x19/0x21
09dadf28: [] handle_syscall+0x7a/0x98
09dadf78: [] userspace+0x2c9/0x370
09dadfe0: [] fork_handler+0x53/0x5b
09dadffc: [] 0x766564---[ end trace 9ebc1094aaf4bded ]---
This patch fixes the issue.
Signed-off-by: Richard Weinberger
Cc: Jeff Dike
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
On some SoC chips, HW resources may be in use during any particular idle
period. As a consequence, the cpuidle states that the SoC is safe to
enter can change from idle period to idle period. In addition, the
latency and threshold of each cpuidle state can vary, depending on the
operating condition when the CPU becomes idle, e.g. the current cpu
frequency, the current state of the HW blocks, etc.cpuidle core and the menu governor, in the current form, are geared
towards cpuidle states that are static, i.e. the availabiltiy of the
states, their latencies, their thresholds are non-changing during run
time. cpuidle does not provide any hook that cpuidle drivers can use to
adjust those values on the fly for the current idle period before the menu
governor selects the target cpuidle state.This patch extends cpuidle core and the menu governor to handle states
that are dynamic. There are three additions in the patch and the patch
maintains backwards-compatibility with existing cpuidle drivers.1) add prepare() to struct cpuidle_device. A cpuidle driver can hook
into the callback and cpuidle will call prepare() before calling the
governor's select function. The callback gives the cpuidle driver a
chance to update the dynamic information of the cpuidle states for the
current idle period, e.g. state availability, latencies, thresholds,
power values, etc.2) add CPUIDLE_FLAG_IGNORE as one of the state flags. In the prepare()
function, a cpuidle driver can set/clear the flag to indicate to the
menu governor whether a cpuidle state should be ignored, i.e. not
available, during the current idle period.3) add power_specified bit to struct cpuidle_device. The menu governor
currently assumes that the cpuidle states are arranged in the order of
increasing latency, threshold, and power savings. This is true or can
be made true for static states. Once the state parameters are dynamic,
the latencies, thresholds, and power savings for the cpuidle states can
increase or decrease by different amounts from idle period to idle
period. So the assumption of increasing latency, threshold, and power
savings from Cn to C(n+1) can no longer be guaranteed.It can be straightforward to calculate the power consumption of each
available state and to specify it in power_usage for the idle period.
Using the power_usage fields, the menu governor then selects the state
that has the lowest power consumption and that still satisfies all other
critieria. The power_specified bit defaults to 0. For existing cpuidle
drivers, cpuidle detects that power_specified is 0 and fills in a dummy
set of power_usage values.Signed-off-by: Ai Li
Cc: Len Brown
Acked-by: Arjan van de Ven
Cc: Ingo Molnar
Cc: Venkatesh Pallipadi
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds