14 Jun, 2009

1 commit

  • With this patch, mmc_rescan can detect the removal of an mmc card and
    the insertion of (possibly another) card in the same run. This means
    that a card change can be detected without having to call
    mmc_detect_change multiple times.

    This change generalises the core such that it can be easily used by
    hosts which provide a mechanism to detect only the presence of a card
    reader cover, which has to be taken off in order to insert a card. Other
    hosts ("card detect" or "MMC_CAP_NEEDS_POLL") each receive an event when
    a card is removed and when a card is inserted, so it is sufficient for
    them if mmc_rescan handles only one event at a time. "Cover detect"
    hosts, however, only receive events about the cover status. This means
    that between 2 subsequent events, both a card removal and a card
    insertion can occur. In this case, the pre-patch version of mmc_rescan
    would only detect the removal of the previous card but not the insertion
    of the new card.

    Signed-off-by: Jorg Schummer
    Signed-off-by: Pierre Ossman

    Jorg Schummer
     

13 Jun, 2009

39 commits

  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/configfs:
    configfs: Rework configfs_depend_item() locking and make lockdep happy
    configfs: Silence lockdep on mkdir() and rmdir()

    Linus Torvalds
     
  • * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: (30 commits)
    [S390] wire up sys_perf_counter_open
    [S390] wire up sys_rt_tgsigqueueinfo
    [S390] ftrace: add system call tracer support
    [S390] ftrace: add function graph tracer support
    [S390] ftrace: add function trace mcount test support
    [S390] ftrace: add dynamic ftrace support
    [S390] kprobes: use probe_kernel_write
    [S390] maccess: arch specific probe_kernel_write() implementation
    [S390] maccess: add weak attribute to probe_kernel_write
    [S390] profile_tick called twice
    [S390] dasd: forward internal errors to dasd_sleep_on caller
    [S390] dasd: sync after async probe
    [S390] dasd: check_characteristics cleanup
    [S390] dasd: no High Performance FICON in 31-bit mode
    [S390] dcssblk: revert devt conversion
    [S390] qdio: fix access beyond ARRAY_SIZE of irq_ptr->{in,out}put_qs
    [S390] vmalloc: add vmalloc kernel parameter support
    [S390] uaccess: use might_fault() instead of might_sleep()
    [S390] 3270: lock dependency fixes
    [S390] 3270: do not register with tty_register_device
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
    add generic lib/checksum.c
    asm-generic: add a generic uaccess.h
    asm-generic: add generic NOMMU versions of some headers
    asm-generic: add generic atomic.h and io.h
    asm-generic: add legacy I/O header files
    asm-generic: add generic versions of common headers
    asm-generic: make bitops.h usable
    asm-generic: make pci.h usable directly
    asm-generic: make get_rtc_time overridable
    asm-generic: rename page.h and uaccess.h
    asm-generic: rename atomic.h to atomic-long.h
    asm-generic: add a generic unistd.h
    asm-generic: add generic ABI headers
    asm-generic: add generic sysv ipc headers
    asm-generic: introduce asm/bitsperlong.h
    asm-generic: rename termios.h, signal.h and mman.h

    Linus Torvalds
     
  • * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (50 commits)
    drm: include kernel list header file in hashtab header
    drm: Export hash table functionality.
    drm: Split out the mm declarations in a separate header. Add atomic operations.
    drm/radeon: add support for RV790.
    drm/radeon: add rv740 drm support.
    drm_calloc_large: check right size, check integer overflow, use GFP_ZERO
    drm: Eliminate magic I2C frobbing when reading EDID
    drm/i915: duplicate desired mode for use by fbcon.
    drm/via: vfree() no need checking before calling it
    drm: Replace DRM_DEBUG with DRM_DEBUG_DRIVER in i915 driver
    drm: Replace DRM_DEBUG with DRM_DEBUG_MODE in drm_mode
    drm/i915: Replace DRM_DEBUG with DRM_DEBUG_KMS in intel_sdvo
    drm/i915: replace DRM_DEBUG with DRM_DEBUG_KMS in intel_lvds
    drm: add separate drm debugging levels
    radeon: remove _DRM_DRIVER from the preadded sarea map
    drm: don't associate _DRM_DRIVER maps with a master
    drm: simplify kcalloc() call to kzalloc().
    intelfb: fix spelling of "CLOCK"
    drm: fix LOCK_TEST_WITH_RETURN macro
    drm/i915: Hook connector to encoder during load detection (fixes tv/vga detect)
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
    PM: Add empty suspend/resume device irq functions
    PM/Hibernate: Move NVS routines into a seperate file (v2).
    PM/Hibernate: Rename disk.c to hibernate.c
    PM: Separate suspend to RAM functionality from core
    Driver Core: Rework platform suspend/resume, print warning
    PM: Remove device_type suspend()/resume()
    PM/Hibernate: Move memory shrinking to snapshot.c (rev. 2)
    PM/Suspend: Do not shrink memory before suspend
    PM: Remove bus_type suspend_late()/resume_early() V2
    PM core: rename suspend and resume functions
    PM: Rename device_power_down/up()
    PM: Remove unused asm/suspend.h
    x86: unify power/cpu_(32|64).c
    x86: unify power/cpu_(32|64) copyright notes
    x86: unify power/cpu_(32|64) regarding restoring processor state
    x86: unify power/cpu_(32|64) regarding saving processor state
    x86: unify power/cpu_(32|64) global variables
    x86: unify power/cpu_(32|64) headers
    PM: Warn if interrupts are enabled during suspend-resume of sysdevs
    PM/ACPI/x86: Fix sparse warning in arch/x86/kernel/acpi/sleep.c

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:
    dlm: use more NOFS allocation
    dlm: connect to nodes earlier
    dlm: fix use count with multiple joins
    dlm: Make name input parameter of {,dlm_}new_lockspace() const

    Linus Torvalds
     
  • …x/kernel/git/tip/linux-2.6-tip

    * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    perf_counter: Start documenting HAVE_PERF_COUNTERS requirements
    perf_counter: Add forward/backward attribute ABI compatibility
    perf record: Explicity program a default counter
    perf_counter: Remove PERF_TYPE_RAW special casing
    perf_counter: PERF_TYPE_HW_CACHE is a hardware counter too
    powerpc, perf_counter: Fix performance counter event types
    perf_counter/x86: Add a quirk for Atom processors
    perf_counter tools: Remove one L1-data alias

    Linus Torvalds
     
  • * 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze: (55 commits)
    microblaze: Don't use access_ok for unaligned
    microblaze: remove unused flat_stack_align() definition
    microblaze: Fix problem with early_printk in startup
    microblaze_mmu_v2: Makefiles
    microblaze_mmu_v2: Kconfig update
    microblaze_mmu_v2: stat.h MMU update
    microblaze_mmu_v2: Elf update
    microblaze_mmu_v2: Update dma.h for MMU
    microblaze_mmu_v2: Update cacheflush.h
    microblaze_mmu_v2: Update signal returning address
    microblaze_mmu_v2: Traps MMU update
    microblaze_mmu_v2: Enable fork syscall for MMU and add fork as vfork for noMMU
    microblaze_mmu_v2: Update linker script for MMU
    microblaze_mmu_v2: Add MMU related exceptions handling
    microblaze_mmu_v2: uaccess MMU update
    microblaze_mmu_v2: Update exception handling - MMU exception
    microblaze_mmu_v2: entry.S, entry.h
    microblaze_mmu_v2: Add CURRENT_TASK for entry.S
    microblaze_mmu_v2: MMU asm offset update
    microblaze_mmu_v2: Update tlb.h and tlbflush.h
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (62 commits)
    Blackfin: fix sparseirq/kstat_irqs fallout
    Blackfin: fix unused warnings after nommu update
    Blackfin: export the last exception cause via debugfs
    Blackfin: fix length checking in kgdb_ebin2mem
    Blackfin: kgdb: fix up error return values
    Blackfin: push access_ok() L1 attribute down
    Blackfin: punt duplicated search_exception_table() prototype
    Blackfin: add missing access_ok() checks to user functions
    Blackfin: convert early_printk EVT init to a loop
    Blackfin: document the lsl variants of the L1 allocator
    Blackfin: rename Blackfin relocs according to the toolchain
    Blackfin: check SIC defines rather than variant names
    Blackfin: add SSYNC to set_dma_sg() for descriptor fetching
    Blackfin: convert SMP to only use generic time framework
    Blackfin: bf548-ezkit/bf537-stamp: add resources for ADXL345/346
    Blackfin: override default uClinux MTD addr/size
    Blackfin: fix command line corruption with DEBUG_DOUBLEFAULT
    Blackfin: fix handling of initial L1 reservation
    Blackfin: merge sram init functions
    Blackfin: drop unused reserve_pda() function
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://linux-arm.org/linux-2.6:
    kmemleak: Add more info to the MAINTAINERS entry
    kmemleak: Remove the kmemleak.h include in drivers/char/vt.c

    Linus Torvalds
     
  • git commit 0a0c5168 "PM: Introduce functions for suspending and resuming
    device interrupts" introduced some helper functions. However these
    functions are only available for architectures which support
    GENERIC_HARDIRQS.

    Other architectures will see this build error:

    drivers/built-in.o: In function `sysdev_suspend':
    (.text+0x15138): undefined reference to `check_wakeup_irqs'
    drivers/built-in.o: In function `device_power_up':
    (.text+0x1cb66): undefined reference to `resume_device_irqs'
    drivers/built-in.o: In function `device_power_down':
    (.text+0x1cb92): undefined reference to `suspend_device_irqs'

    To fix this add some empty inline functions for !GENERIC_HARDIRQS.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Rafael J. Wysocki

    Heiko Carstens
     
  • The *_nvs_* routines in swsusp.c make use of the io*map()
    functions, which are only provided for HAS_IOMEM, thus
    breaking compilation if HAS_IOMEM is not set. Fix this
    by moving the *_nvs_* routines into hibernate_nvs.c, which
    is only compiled if HAS_IOMEM is set.

    [rjw: Change the name of the new file to hibernate_nvs.c, add the
    license line to the header comment.]

    Signed-off-by: Cornelia Huck
    Acked-by: Pavel Machek
    Signed-off-by: Rafael J. Wysocki

    Cornelia Huck
     
  • Change the name of kernel/power/disk.c to kernel/power/hibernate.c
    in analogy with the file names introduced by the changes that
    separated the suspend to RAM and standby funtionality from the
    common PM functions.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Pavel Machek

    Rafael J. Wysocki
     
  • Move the suspend to RAM and standby code from kernel/power/main.c
    to two separate files, kernel/power/suspend.c containing the basic
    functions and kernel/power/suspend_test.c containing the automatic
    suspend test facility based on the RTC clock alarm.

    There are no changes in functionality related to these modifications.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Pavel Machek

    Rafael J. Wysocki
     
  • This patch reworks the platform driver code for legacy
    suspend and resume to avoid installing callbacks in
    struct device_driver. A warning is also added telling
    users to update the platform driver to use dev_pm_ops.

    The functions platform_legacy_suspend()/resume() directly
    call suspend and resume callbacks in struct platform_driver
    instead of wrapping things in platform_drv_suspend()/resume().

    Signed-off-by: Magnus Damm
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Rafael J. Wysocki

    Magnus Damm
     
  • This patch removes the legacy callbacks ->suspend() and
    ->resume() from struct device_type. These callbacks seem
    unused, and new code should instead make use of struct
    dev_pm_ops.

    Signed-off-by: Magnus Damm
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Rafael J. Wysocki

    Magnus Damm
     
  • A future patch is going to modify the memory shrinking code so that
    it will make memory allocations to free memory instead of using an
    artificial memory shrinking mechanism for that. For this purpose it
    is convenient to move swsusp_shrink_memory() from
    kernel/power/swsusp.c to kernel/power/snapshot.c, because the new
    memory-shrinking code is going to use things that are local to
    kernel/power/snapshot.c .

    [rev. 2: Make some functions static and remove their headers from
    kernel/power/power.h]

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Pavel Machek
    Acked-by: Wu Fengguang

    Rafael J. Wysocki
     
  • Remove the shrinking of memory from the suspend-to-RAM code, where
    it is not really necessary.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Nigel Cunningham
    Acked-by: Wu Fengguang

    Rafael J. Wysocki
     
  • Remove the ->suspend_late() and ->resume_early() callbacks
    from struct bus_type V2. These callbacks are legacy stuff
    at this point and since there seem to be no in-tree users
    we may as well remove them. New users should use dev_pm_ops.

    Signed-off-by: Magnus Damm
    Acked-by: Pavel Machek
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Rafael J. Wysocki

    Magnus Damm
     
  • This patch (as1241) renames a bunch of functions in the PM core.
    Rather than go through a boring list of name changes, suffice it to
    say that in the end we have a bunch of pairs of functions:

    device_resume_noirq dpm_resume_noirq
    device_resume dpm_resume
    device_complete dpm_complete
    device_suspend_noirq dpm_suspend_noirq
    device_suspend dpm_suspend
    device_prepare dpm_prepare

    in which device_X does the X operation on a single device and dpm_X
    invokes device_X for all devices in the dpm_list.

    In addition, the old dpm_power_up and device_resume_noirq have been
    combined into a single function (dpm_resume_noirq).

    Lastly, dpm_suspend_start and dpm_resume_end are the renamed versions
    of the former top-level device_suspend and device_resume routines.

    Signed-off-by: Alan Stern
    Acked-by: Magnus Damm
    Signed-off-by: Rafael J. Wysocki

    Alan Stern
     
  • Rename the functions performing "_noirq" dev_pm_ops
    operations from device_power_down() and device_power_up()
    to device_suspend_noirq() and device_resume_noirq().

    The new function names are chosen to show that the functions
    are responsible for calling the _noirq() versions to finalize
    the suspend/resume operation. The current function names do
    not perform power down/up anymore so the names may be misleading.

    Global function renames:
    - device_power_down() -> device_suspend_noirq()
    - device_power_up() -> device_resume_noirq()

    Static function renames:
    - suspend_device_noirq() -> __device_suspend_noirq()
    - resume_device_noirq() -> __device_resume_noirq()

    Signed-off-by: Magnus Damm
    Acked-by: Greg Kroah-Hartman
    Acked-by: Len Brown
    Signed-off-by: Rafael J. Wysocki

    Magnus Damm
     
  • This patch removes unused asm/suspend.h files for
    the following architectures:

    alpha, arm, ia64, m68k, mips, s390, um

    Signed-off-by: Magnus Damm
    Acked-by: Pavel Machek
    Signed-off-by: Rafael J. Wysocki

    Magnus Damm
     
  • This is the last unification step. Here we do remove one of the files
    and rename the left one as cpu.c, as both are now the same.
    Also update power/Makefile, telling it to build cpu.o, instead of
    cpu_(32|64).o

    Signed-off-by: Sergio Luis
    Signed-off-by: Lauro Salmito
    Signed-off-by: Rafael J. Wysocki

    Sergio Luis
     
  • In this step, we do unify the copyright notes for both files
    cpu_32.c and cpu_64.c, making such files exactly the same.
    It's the last step before the actual unification, that will
    rename one of them to cpu.c and remove the other one.

    Signed-off-by: Sergio Luis
    Signed-off-by: Lauro Salmito
    Signed-off-by: Rafael J. Wysocki

    Sergio Luis
     
  • In this step we do unify cpu_32.c and cpu_64.c functions that
    work on restoring the saved processor state. Also, we do
    eliminate the forward declaration of fix_processor_context()
    for X86_64, as it's not needed anymore.

    Signed-off-by: Sergio Luis
    Signed-off-by: Lauro Salmito
    Signed-off-by: Rafael J. Wysocki

    Sergio Luis
     
  • In this step we do unify cpu_32.c and cpu_64.c functions that
    work on saving the processor state.

    Signed-off-by: Sergio Luis
    Signed-off-by: Lauro Salmito
    Signed-off-by: Rafael J. Wysocki

    Sergio Luis
     
  • Aiming total unification of cpu_32.c and cpu_64.c, in this step
    we do unify the global variables and existing forward declarations
    for such files.

    Signed-off-by: Sergio Luis
    Signed-off-by: Lauro Salmito
    Signed-off-by: Rafael J. Wysocki

    Sergio Luis
     
  • First step towards the unification of cpu_32.c and cpu_64.c.
    This commit unifies the headers of such files, making both
    of them use the same header files. It also remove the uneeded
    .

    Signed-off-by: Sergio Luis
    Signed-off-by: Lauro Salmito
    Signed-off-by: Rafael J. Wysocki

    Sergio Luis
     
  • Sysdevs have to be suspended and resumed with interrupts disabled and
    things usually break in a way that's difficult to debug if one of
    sysdev drivers enables interrupts by mistake during suspend or
    resume. Add extra checks that will generate warnings in such cases.

    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • One of the numbers in arch/x86/kernel/acpi/sleep.c is long, but it is
    not annotated appropriately, so sparese warns about it. Fix that.

    [rjw: added the changelog.]

    Signed-off-by: Rafael J. Wysocki

    Jaswinder Singh Rajput
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (290 commits)
    ALSA: pcm - Update document about xrun_debug proc file
    ALSA: lx6464es - support standard alsa module parameters
    ALSA: snd_usb_caiaq: set mixername
    ALSA: hda - add quirk for STAC92xx (SigmaTel STAC9205)
    ALSA: use card device as parent for jack input-devices
    ALSA: sound/ps3: Correct existing and add missing annotations
    ALSA: sound/ps3: Restructure driver source
    ALSA: sound/ps3: Fix checkpatch issues
    ASoC: Fix lm4857 control
    ALSA: ctxfi - Clear PCM resources at hw_params and hw_free
    ALSA: ctxfi - Check the presence of SRC instance in PCM pointer callbacks
    ALSA: ctxfi - Add missing start check in atc_pcm_playback_start()
    ALSA: ctxfi - Add use_system_timer module option
    ALSA: usb - Add boot quirk for C-Media 6206 USB Audio
    ALSA: ctxfi - Fix wrong model id for UAA
    ALSA: ctxfi - Clean up probe routines
    ALSA: hda - Fix the previous tagra-8ch patch
    ALSA: hda - Add 7.1 support for MSI GX620
    ALSA: pcm - A helper function to compose PCM stream name for debug prints
    ALSA: emu10k1 - Fix minimum periods for efx playback
    ...

    Linus Torvalds
     
  • * topic/ps3:
    ALSA: sound/ps3: Correct existing and add missing annotations
    ALSA: sound/ps3: Restructure driver source
    ALSA: sound/ps3: Fix checkpatch issues

    Takashi Iwai
     
  • * topic/pcm-jiffies-check:
    ALSA: pcm - Update document about xrun_debug proc file

    Takashi Iwai
     
  • * topic/misc:
    ALSA: use card device as parent for jack input-devices

    Takashi Iwai
     
  • * topic/lx6464es:
    ALSA: lx6464es - support standard alsa module parameters

    Takashi Iwai
     
  • * topic/hda:
    ALSA: hda - add quirk for STAC92xx (SigmaTel STAC9205)

    Takashi Iwai
     
  • * topic/caiaq:
    ALSA: snd_usb_caiaq: set mixername

    Takashi Iwai
     
  • * topic/asoc:
    ASoC: Fix lm4857 control

    Takashi Iwai
     
  • Help out arch porters who want to support perf counters by listing some
    basic requirements.

    Signed-off-by: Mike Frysinger
    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Mike Frysinger