10 Aug, 2010

40 commits

  • Signed-off-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Signed-off-by: Joe Perches
    Cc: Felipe Balbi
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Signed-off-by: Joe Perches
    Cc: Vitaly Bordug
    Cc: Marcelo Tosatti
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Signed-off-by: Joe Perches
    Cc: Matthew Garrett
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Signed-off-by: Joe Perches
    Cc: Neil Horman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Signed-off-by: Joe Perches
    Cc: David Airlie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Signed-off-by: Joe Perches
    Cc: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Commit f80a3f62383bf673c310926d55142d51f118926d ("Staging: strip: delete
    the driver") removed it.

    Signed-off-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Signed-off-by: Joe Perches
    Cc: Viresh Kumar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • 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

    Joe Perches
     
  • 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

    Joe Perches
     
  • 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

    Joe Perches
     
  • Signed-off-by: Joe Perches
    Cc: "John W. Linville"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Use correct file location.

    Signed-off-by: Joe Perches
    Acked-by: Marek Vasut
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Signed-off-by: Joe Perches
    Acked-by: Marek Vasut
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Signed-off-by: Joe Perches
    Acked-by: Wan ZongShun
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Signed-off-by: Joe Perches
    Cc: Leo Chen
    Cc: Scott Branden
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • 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

    Andi Kleen
     
  • 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

    Akinobu Mita
     
  • 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

    Akinobu Mita
     
  • 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

    Richard Kennedy
     
  • 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

    Suresh Siddha
     
  • 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

    Kevin Winchester
     
  • 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 function

    This 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

    Kevin Winchester
     
  • 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

    Geert Uytterhoeven
     
  • 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

    Oleg Nesterov
     
  • 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

    Christoph Mair
     
  • 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 size

    dma_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

    Prarit Bhargava
     
  • 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

    Hemanth V
     
  • 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

    Alexey Fomenko
     
  • 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 blr

    Since 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

    Anton Blanchard
     
  • 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 function

    The 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

    Kevin Winchester
     
  • 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

    Randy Dunlap
     
  • 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

    Joe Perches
     
  • 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

    Geert Uytterhoeven
     
  • 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

    Rusty Russell
     
  • 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

    Mike Frysinger
     
  • 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

    Christoph Egger
     
  • 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

    Richard Weinberger
     
  • 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

    Ai Li