29 Oct, 2009

3 commits

  • Now that the return from alloc_percpu is compatible with the address
    of per-cpu vars, it makes sense to hand around the address of per-cpu
    variables. To make this sane, we remove the per_cpu__ prefix we used
    created to stop people accidentally using these vars directly.

    Now we have sparse, we can use that (next patch).

    tj: * Updated to convert stuff which were missed by or added after the
    original patch.

    * Kill per_cpu_var() macro.

    Signed-off-by: Rusty Russell
    Signed-off-by: Tejun Heo
    Reviewed-by: Christoph Lameter

    Rusty Russell
     
  • Make the following changes to remove some sparse warnings.

    * Make DEFINE_PER_CPU_SECTION() declare __pcpu_unique_* before
    defining it.

    * Annotate pcpu_extend_area_map() that it is entered with pcpu_lock
    held, releases it and then reacquires it.

    * Make percpu related macros use unique nested variable names.

    * While at it, add pcpu prefix to __size_call[_return]() macros as
    to-be-implemented sparse annotations will add percpu specific stuff
    to these macros.

    Signed-off-by: Tejun Heo
    Reviewed-by: Christoph Lameter
    Cc: Rusty Russell

    Tejun Heo
     
  • alloc_percpu() couldn't handle array types like "int [100]" due to the
    way return type was casted. Fix it by using typeof() instead.

    Signed-off-by: Tejun Heo
    Reviewed-by: Frederic Weisbecker
    Reviewed-by: Christoph Lameter

    Tejun Heo
     

03 Oct, 2009

4 commits

  • Using per cpu atomics for the vm statistics reduces their overhead.
    And in the case of x86 we are guaranteed that they will never race even
    in the lax form used for vm statistics.

    Acked-by: Tejun Heo
    Signed-off-by: Christoph Lameter
    Signed-off-by: Tejun Heo

    Christoph Lameter
     
  • Acked-by: Tejun Heo
    Acked-by: David Miller
    Signed-off-by: Christoph Lameter
    Signed-off-by: Tejun Heo

    Christoph Lameter
     
  • SNMP statistic macros can be signficantly simplified.
    This will also reduce code size if the arch supports these operations
    in hardware.

    Acked-by: Tejun Heo
    Signed-off-by: Christoph Lameter
    Signed-off-by: Tejun Heo

    Christoph Lameter
     
  • This patch introduces two things: First this_cpu_ptr and then per cpu
    atomic operations.

    this_cpu_ptr
    ------------

    A common operation when dealing with cpu data is to get the instance of the
    cpu data associated with the currently executing processor. This can be
    optimized by

    this_cpu_ptr(xx) = per_cpu_ptr(xx, smp_processor_id).

    The problem with per_cpu_ptr(x, smp_processor_id) is that it requires
    an array lookup to find the offset for the cpu. Processors typically
    have the offset for the current cpu area in some kind of (arch dependent)
    efficiently accessible register or memory location.

    We can use that instead of doing the array lookup to speed up the
    determination of the address of the percpu variable. This is particularly
    significant because these lookups occur in performance critical paths
    of the core kernel. this_cpu_ptr() can avoid memory accesses and

    this_cpu_ptr comes in two flavors. The preemption context matters since we
    are referring the the currently executing processor. In many cases we must
    insure that the processor does not change while a code segment is executed.

    __this_cpu_ptr -> Do not check for preemption context
    this_cpu_ptr -> Check preemption context

    The parameter to these operations is a per cpu pointer. This can be the
    address of a statically defined per cpu variable (&per_cpu_var(xxx)) or
    the address of a per cpu variable allocated with the per cpu allocator.

    per cpu atomic operations: this_cpu_*(var, val)
    -----------------------------------------------
    this_cpu_* operations (like this_cpu_add(struct->y, value) operate on
    abitrary scalars that are members of structures allocated with the new
    per cpu allocator. They can also operate on static per_cpu variables
    if they are passed to per_cpu_var() (See patch to use this_cpu_*
    operations for vm statistics).

    These operations are guaranteed to be atomic vs preemption when modifying
    the scalar. The calculation of the per cpu offset is also guaranteed to
    be atomic at the same time. This means that a this_cpu_* operation can be
    safely used to modify a per cpu variable in a context where interrupts are
    enabled and preemption is allowed. Many architectures can perform such
    a per cpu atomic operation with a single instruction.

    Note that the atomicity here is different from regular atomic operations.
    Atomicity is only guaranteed for data accessed from the currently executing
    processor. Modifications from other processors are still possible. There
    must be other guarantees that the per cpu data is not modified from another
    processor when using these instruction. The per cpu atomicity is created
    by the fact that the processor either executes and instruction or not.
    Embedded in the instruction is the relocation of the per cpu address to
    the are reserved for the current processor and the RMW action. Therefore
    interrupts or preemption cannot occur in the mids of this processing.

    Generic fallback functions are used if an arch does not define optimized
    this_cpu operations. The functions come also come in the two flavors used
    for this_cpu_ptr().

    The firstparameter is a scalar that is a member of a structure allocated
    through allocpercpu or a per cpu variable (use per_cpu_var(xxx)). The
    operations are similar to what percpu_add() and friends do.

    this_cpu_read(scalar)
    this_cpu_write(scalar, value)
    this_cpu_add(scale, value)
    this_cpu_sub(scalar, value)
    this_cpu_inc(scalar)
    this_cpu_dec(scalar)
    this_cpu_and(scalar, value)
    this_cpu_or(scalar, value)
    this_cpu_xor(scalar, value)

    Arch code can override the generic functions and provide optimized atomic
    per cpu operations. These atomic operations must provide both the relocation
    (x86 does it through a segment override) and the operation on the data in a
    single instruction. Otherwise preempt needs to be disabled and there is no
    gain from providing arch implementations.

    A third variant is provided prefixed by irqsafe_. These variants are safe
    against hardware interrupts on the *same* processor (all per cpu atomic
    primitives are *always* *only* providing safety for code running on the
    *same* processor!). The increment needs to be implemented by the hardware
    in such a way that it is a single RMW instruction that is either processed
    before or after an interrupt.

    cc: David Howells
    cc: Ingo Molnar
    cc: Rusty Russell
    cc: Eric Dumazet
    Signed-off-by: Christoph Lameter
    Signed-off-by: Tejun Heo

    Christoph Lameter
     

02 Oct, 2009

4 commits

  • With ia64 converted, there's no arch left which still uses legacy
    percpu allocator. Kill it.

    Signed-off-by: Tejun Heo
    Delightedly-acked-by: Rusty Russell
    Cc: Ingo Molnar
    Cc: Christoph Lameter

    Tejun Heo
     
  • This patch clean up/fixes for memcg's uncharge soft limit path.

    Problems:
    Now, res_counter_charge()/uncharge() handles softlimit information at
    charge/uncharge and softlimit-check is done when event counter per memcg
    goes over limit. Now, event counter per memcg is updated only when
    memory usage is over soft limit. Here, considering hierarchical memcg
    management, ancesotors should be taken care of.

    Now, ancerstors(hierarchy) are handled in charge() but not in uncharge().
    This is not good.

    Prolems:
    1. memcg's event counter incremented only when softlimit hits. That's bad.
    It makes event counter hard to be reused for other purpose.

    2. At uncharge, only the lowest level rescounter is handled. This is bug.
    Because ancesotor's event counter is not incremented, children should
    take care of them.

    3. res_counter_uncharge()'s 3rd argument is NULL in most case.
    ops under res_counter->lock should be small. No "if" sentense is better.

    Fixes:
    * Removed soft_limit_xx poitner and checks in charge and uncharge.
    Do-check-only-when-necessary scheme works enough well without them.

    * make event-counter of memcg incremented at every charge/uncharge.
    (per-cpu area will be accessed soon anyway)

    * All ancestors are checked at soft-limit-check. This is necessary because
    ancesotor's event counter may never be modified. Then, they should be
    checked at the same time.

    Reviewed-by: Daisuke Nishimura
    Signed-off-by: KAMEZAWA Hiroyuki
    Cc: Paul Menage
    Cc: Li Zefan
    Cc: Balbir Singh
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • The asm-generic/gpio.h header uses the might_sleep() macro but doesn't
    include the header for it, so any source code that might include
    linux/gpio.h before linux/kernel.h can easily lead to a build failure.

    Signed-off-by: Mike Frysinger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     
  • [akpm@linux-foundation.org: fix KVM]
    Signed-off-by: Alexey Dobriyan
    Acked-by: Mike Frysinger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

01 Oct, 2009

5 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
    ax25: Fix possible oops in ax25_make_new
    net: restore tx timestamping for accelerated vlans
    Phonet: fix mutex imbalance
    sit: fix off-by-one in ipip6_tunnel_get_prl
    net: Fix sock_wfree() race
    net: Make setsockopt() optlen be unsigned.

    Linus Torvalds
     
  • This provides safety against negative optlen at the type
    level instead of depending upon (sometimes non-trivial)
    checks against this sprinkled all over the the place, in
    each and every implementation.

    Based upon work done by Arjan van de Ven and feedback
    from Linus Torvalds.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
    MIPS: Avoid spurious make includecheck message
    MIPS: VPE: Get rid of BKL.
    MIPS: VPE: Fix build after the credential changes a while ago.
    MIPS: Excite: Get rid of BKL.
    MIPS: Sibyte: Get rid of BKL.
    MIPS: BCM63xx: Add PCMCIA & Cardbus support.
    MIPS: MSP71xx: request_irq() failure ignored in msp_pcibios_config_access()
    MIPS: Decrease size of au1xxx_dbdma_pm_regs[][]
    MIPS: SMP: Inline arch_send_call_function_{single_ipi,ipi_mask}
    MIPS: SMP: Fix build.
    MIPS: MIPSxx SC: Avoid destructive invalidation on partial L2 cachelines.
    MIPS: Sibyte: Fix compilation error.
    MIPS: BCM1480: Re-apply patch lost due to bad resolution of merge conflict.
    MIPS: BCM63xx: Add serial driver for bcm63xx integrated UART.
    MIPS: Loongson2: Fix typo "enalbe" -> "enable"
    MIPS: SMTC: Remove duplicate structure field initialization
    MIPS: Remove duplicated #include
    MIPS: BCM63xx: Remove duplicated #include

    Linus Torvalds
     
  • Signed-off-by: Maxime Bizon
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Ralf Baechle

    Maxime Bizon
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
    ext4: Fix time encoding with extra epoch bits
    ext4: Add a stub for mpage_da_data in the trace header
    jbd2: Use tracepoints for history file
    ext4: Use tracepoints for mb_history trace file
    ext4, jbd2: Drop unneeded printks at mount and unmount time
    ext4: Handle nested ext4_journal_start/stop calls without a journal
    ext4: Make sure ext4_dirty_inode() updates the inode in no journal mode
    ext4: Avoid updating the inode table bh twice in no journal mode
    ext4: EXT4_IOC_MOVE_EXT: Check for different original and donor inodes first
    ext4: async direct IO for holes and fallocate support
    ext4: Use end_io callback to avoid direct I/O fallback to buffered I/O
    ext4: Split uninitialized extents for direct I/O
    ext4: release reserved quota when block reservation for delalloc retry
    ext4: Adjust ext4_da_writepages() to write out larger contiguous chunks
    ext4: Fix hueristic which avoids group preallocation for closed files
    ext4: Use ext4_msg() for ext4_da_writepage() errors
    ext4: Update documentation about quota mount options

    Linus Torvalds
     

30 Sep, 2009

7 commits

  • * 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
    PM / yenta: Fix cardbus suspend/resume regression
    PM / PCMCIA: Drop second argument of pcmcia_socket_dev_suspend()

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (33 commits)
    sony-laptop: re-read the rfkill state when resuming from suspend
    sony-laptop: check for rfkill hard block at load time
    wext: add back wireless/ dir in sysfs for cfg80211 interfaces
    wext: Add bound checks for copy_from_user
    mac80211: improve/fix mlme messages
    cfg80211: always get BSS
    iwlwifi: fix 3945 ucode info retrieval after failure
    iwlwifi: fix memory leak in command queue handling
    iwlwifi: fix debugfs buffer handling
    cfg80211: don't set privacy w/o key
    cfg80211: wext: don't display BSSID unless associated
    net: Add explicit bound checks in net/socket.c
    bridge: Fix double-free in br_add_if.
    isdn: fix netjet/isdnhdlc build errors
    atm: dereference of he_dev->rbps_virt in he_init_group()
    ax25: Add missing dev_put in ax25_setsockopt
    Revert "sit: stateless autoconf for isatap"
    net: fix double skb free in dcbnl
    net: fix nlmsg len size for skb when error bit is set.
    net: fix vlan_get_size to include vlan_flags size
    ...

    Linus Torvalds
     
  • * 'drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (25 commits)
    drm/radeon/kms: Convert R520 to new init path and associated cleanup
    drm/radeon/kms: Convert RV515 to new init path and associated cleanup
    drm: fix radeon DRM warnings when !CONFIG_DEBUG_FS
    drm: fix drm_fb_helper warning when !CONFIG_MAGIC_SYSRQ
    drm/r600: fix memory leak introduced with 64k malloc avoidance fix.
    drm/kms: make fb helper work for all drivers.
    drm/radeon/r600: fix offset handling in CS parser
    drm/radeon/kms/r600: fix forcing pci mode on agp cards
    drm/radeon/kms: fix for the extra pages copying.
    drm/radeon/kms/r600: add support for vline relocs
    drm/radeon/kms: fix some bugs in vline reloc
    drm/radeon/kms/r600: clamp vram to aperture size
    drm/kms: protect against fb helper not being created.
    drm/r600: get values from the passed in IB not the copy.
    drm: create gitignore file for radeon
    drm/radeon/kms: remove unneeded master create/destroy functions.
    drm/kms: start adding command line interface using fb.
    fb: change rules for global rules match.
    drm/radeon/kms: don't require up to 64k allocations. (v2)
    drm/radeon/kms: enable dac load detection by default.
    ...

    Trivial conflicts in drivers/gpu/drm/radeon/radeon_asic.h due to adding
    '->vga_set_state' function pointers.

    Linus Torvalds
     
  • The tracepoint ext4_da_write_pages has a struct mpage_da_data*
    parameter, but that struct is only defined in fs/ext4/ext4.h. This
    patch adds a forward declaration for that struct, so this tracepoint
    header can still be used by tools like SystemTap.

    This is a continuation of the fix in commit 3661d286.

    http://sourceware.org/bugzilla/show_bug.cgi?id=10703

    Signed-off-by: Josh Stone
    Signed-off-by: "Theodore Ts'o"

    Josh Stone
     
  • The /proc/fs/jbd2//history was maintained manually; by using
    tracepoints, we can get all of the existing functionality of the /proc
    file plus extra capabilities thanks to the ftrace infrastructure. We
    save memory as a bonus.

    Signed-off-by: "Theodore Ts'o"

    Theodore Ts'o
     
  • The /proc/fs/ext4//mb_history was maintained manually, and had a
    number of problems: it required a largish amount of memory to be
    allocated for each ext4 filesystem, and the s_mb_history_lock
    introduced a CPU contention problem.

    By ripping out the mb_history code and replacing it with ftrace
    tracepoints, and we get more functionality: timestamps, event
    filtering, the ability to correlate mballoc history with other ext4
    tracepoints, etc.

    Signed-off-by: "Theodore Ts'o"

    Theodore Ts'o
     
  • Work around problems in the writeback code to force out writebacks in
    larger chunks than just 4mb, which is just too small. This also works
    around limitations in the ext4 block allocator, which can't allocate
    more than 2048 blocks at a time. So we need to defeat the round-robin
    characteristics of the writeback code and try to write out as many
    blocks in one inode before allowing the writeback code to move on to
    another inode. We add a a new per-filesystem tunable,
    max_writeback_mb_bump, which caps this to a default of 128mb per
    inode.

    Signed-off-by: "Theodore Ts'o"

    Theodore Ts'o
     

29 Sep, 2009

2 commits

  • pcmcia_socket_dev_suspend() doesn't use its second argument, so it
    may be dropped safely.

    This change is necessary for the subsequent yenta suspend/resume fix.

    Signed-off-by: Rafael J. Wysocki
    Cc: stable@kernel.org

    Rafael J. Wysocki
     
  • The move away from having drivers assign wireless handlers,
    in favour of making cfg80211 assign them, broke the sysfs
    registration (the wireless/ dir went missing) because the
    handlers are now assigned only after registration, which is
    too late.

    Fix this by special-casing cfg80211-based devices, all
    of which are required to have an ieee80211_ptr, in the
    sysfs code, and also using get_wireless_stats() to have
    the same values reported as in procfs.

    Signed-off-by: Johannes Berg
    Reported-by: Hugh Dickins
    Tested-by: Hugh Dickins
    Signed-off-by: John W. Linville

    Johannes Berg
     

28 Sep, 2009

3 commits

  • This initialises the fb helper with the connector helper,
    so that the fb cmdline code works for intel as well.

    Signed-off-by: Dave Airlie

    Dave Airlie
     
  • The following commit made console open fails while booting:

    commit b50989dc444599c8b21edc23536fc305f4e9b7d5
    Author: Alan Cox
    Date: Sat Sep 19 13:13:22 2009 -0700

    tty: make the kref destructor occur asynchronously

    Due to tty release routines run in a workqueue now, error like the
    following will be reported while booting:

    INIT open /dev/console Input/output error

    It also causes hibernation regression to appear as reported at
    http://bugzilla.kernel.org/show_bug.cgi?id=14229

    The reason is that now there's latency issue with closing, but when
    we open a "closing not finished" tty, -EIO will be returned.

    Fix it as per the following Alan's suggestion:

    Fun but it's actually not a bug and the fix is wrong in itself as
    the port may be closing but not yet being destructed, in which case
    it seems to do the wrong thing. Opening a tty that is closing (and
    could be closing for long periods) is supposed to return -EIO.

    I suspect a better way to deal with this and keep the old console
    timing is to split tty->shutdown into two functions.

    tty->shutdown() - called synchronously just before we dump the tty
    onto the waitqueue for destruction

    tty->cleanup() - called when the destructor runs.

    We would then do the shutdown part which can occur in IRQ context
    fine, before queueing the rest of the release (from tty->magic = 0
    ... the end) to occur asynchronously

    The USB update in -next would then need a call like

    if (tty->cleanup)
    tty->cleanup(tty);

    at the top of the async function and the USB shutdown to be split
    between shutdown and cleanup as the USB resource cleanup and final
    tidy cannot occur synchronously as it needs to sleep.

    In other words the logic becomes

    final kref put
    make object unfindable

    async
    clean it up

    Signed-off-by: Dave Young
    [ rjw: Rebased on top of 2.6.31-git, reworked the changelog. ]
    Signed-off-by: "Rafael J. Wysocki"
    [ Changed serial naming to match new rules, dropped tty_shutdown as per
    comments from Alan Stern - Linus ]
    Signed-off-by: Linus Torvalds

    Dave Young
     
  • * mark struct vm_area_struct::vm_ops as const
    * mark vm_ops in AGP code

    But leave TTM code alone, something is fishy there with global vm_ops
    being used.

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

27 Sep, 2009

7 commits

  • This reverts commit 645069299a1c7358cf7330afe293f07552f11a5d.

    While the code does not actually break anything, it does not completely follow
    RFC5214 yet. After talking back with Fred L. Templin, I agree that completing the
    ISATAP specific RS/RA code, would pollute the kernel a lot with code that is better
    implemented in userspace.

    The kernel should not send RS packages for ISATAP at all.

    Signed-off-by: Sascha Hlusiak
    Acked-by: Fred L. Templin
    Signed-off-by: David S. Miller

    Sascha Hlusiak
     
  • * '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

    Linus Torvalds
     
  • * 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight:
    backlight: new driver for ADP5520/ADP5501 MFD PMICs
    backlight: extend event support to also support poll()
    backlight/eeepc-laptop: Update the backlight state when we change brightness
    backlight/acpi: Update the backlight state when we change brightness
    backlight: Allow drivers to update the core, and generate events on changes
    backlight: switch to da903x driver to dev_pm_ops
    backlight: Add support for the Avionic Design Xanthos backlight device.
    backlight: spi driver for LMS283GF05 LCD
    backlight: move hp680-bl's probe function to .devinit.text
    backlight: Add support for new Apple machines.
    backlight: mbp_nvidia_bl: add support for MacBookAir 1,1
    backlight: Add WM831x backlight driver

    Trivial conflicts due to '#ifdef CONFIG_PM' differences in
    drivers/video/backlight/da903x_bl.c

    Linus Torvalds
     
  • * remove asm/atomic.h inclusion from kref.h -- not needed, linux/types.h
    is enough for atomic_t
    * remove linux/kref.h inclusion from files which do not need it.

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • …/git/tip/linux-2.6-tip

    * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    perf tools: Dont use openat()
    perf tools: Fix buffer allocation
    perf tools: .gitignore += perf*.html
    perf tools: Handle relative paths while loading module symbols
    perf tools: Fix module symbol loading bug
    perf_event, x86: Fix 'perf sched record' crashing the machine
    perf_event: Update PERF_EVENT_FORK header definition
    perf stat: Fix zero total printouts

    Linus Torvalds
     
  • …nel/git/tip/linux-2.6-tip

    * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    modules, tracing: Remove stale struct marker signature from module_layout()
    tracing/workqueue: Use %pf in workqueue trace events
    tracing: Fix a comment and a trivial format issue in tracepoint.h
    tracing: Fix failure path in ftrace_regex_open()
    tracing: Fix failure path in ftrace_graph_write()
    tracing: Check the return value of trace_get_user()
    tracing: Fix off-by-one in trace_get_user()

    Linus Torvalds
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (32 commits)
    ACPI: i2c-scmi: don't use acpi_device_uid()
    ACPI: simplify building device HID/CID list
    ACPI: remove acpi_device_uid() and related stuff
    ACPI: remove acpi_device.flags.hardware_id
    ACPI: remove acpi_device.flags.compatible_ids
    ACPI: maintain a single list of _HID and _CID IDs
    ACPI: make sure every acpi_device has an ID
    ACPI: use acpi_device_hid() when possible
    ACPI: fix synthetic HID for \_SB_
    ACPI: handle re-enumeration, when acpi_devices might already exist
    ACPI: factor out device type and status checking
    ACPI: add acpi_bus_get_status_handle()
    ACPI: use acpi_walk_namespace() to enumerate devices
    ACPI: identify device tree root by null parent pointer, not ACPI_BUS_TYPE
    ACPI: enumerate namespace before adding functional fixed hardware devices
    ACPI: convert acpi_bus_scan() to operate on an acpi_handle
    ACPI: add acpi_bus_get_parent() and remove "parent" arguments
    ACPI: remove unnecessary argument checking
    ACPI: remove redundant "type" arguments
    ACPI: remove acpi_device_set_context() "type" argument
    ...

    Linus Torvalds
     

26 Sep, 2009

5 commits