13 Aug, 2010

5 commits

  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (40 commits)
    mfd: Fix incorrect kfree(i2c) in wm8994-core i2c_driver probe
    mfd: Fix incorrect kfree(i2c) in wm831x-core i2c_driver probe
    mfd: Fix incorrect kfree(i2c) in tps6507x i2c_driver probe
    mfd: Add TPS6586x driver
    mfd: Use macros instead of some constant magic numbers for menelaus
    mfd: Fix menelaus mmc slot 2 misconfiguration
    mfd: Missing slab.h includes
    mfd: Fix wrong wm8350-core kfree in error path
    mfd: Fix wm8994_device_init() return value
    mfd: Avoid calling platform_device_put() twice in ucb1400 probe error path
    mfd: Annotate tc6387xb probe/remove routines with __devinit/__devexit
    mfd: Fix tc6387xb resource reclaim
    mfd: Fix wrong goto labels for tc6393xb error handling
    mfd: Get rid of now unused mc13783 private header
    hwmon: Don't access struct mc13783 directly from mc13783-adc
    mfd: New mc13783 function exposing flags
    mfd: Check jz4740-adc kmalloc() result
    mfd: Fix jz4740-adc resource reclaim in probe error path
    mfd: Add WM8321 support
    mfd: Add stmpe auto sleep feature
    ...

    Linus Torvalds
     
  • * git://git.infradead.org/battery-2.6:
    intel_mid_battery: Fix battery scaling
    intel_mid_battery: Fix the argument order to intel_scu_ipc_command
    olpc_battery: Fix build failure caused by sysfs changes
    Add s3c-adc-battery driver
    Intel MID platform battery driver

    Fix up trivial conflicts (battery drivers added from different branches)
    in drivers/power/{Kconfig,Makefile}

    Linus Torvalds
     
  • * 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (55 commits)
    io-mapping: move asm include inside the config option
    vgaarb: drop vga.h include
    drm/radeon: Add probing of clocks from device-tree
    drm/radeon: drop old and broken mesa warning
    drm/radeon: Fix pci_map_page() error checking
    drm: Remove count_lock for calling lastclose() after 58474713 (v2)
    drm/radeon/kms: allow FG_ALPHA_VALUE on r5xx
    drm/radeon/kms: another r6xx/r7xx CS checker fix
    DRM: Replace kmalloc/memset combos with kzalloc
    drm: expand gamma_set
    drm/edid: Split mode lists out to their own header for readability
    drm/edid: Rewrite mode parse to use the generic detailed block walk
    drm/edid: Add detailed block walk for VTB extensions
    drm/edid: Add detailed block walk for CEA extensions
    drm: Remove unused fields from drm_display_info
    drm: Use ENOENT consistently for the error return for an unmatched handle.
    drm/radeon/kms: mark 3D power states as performance
    drm: Only set DPMS once on the CRTC not after every encoder.
    drm/radeon/kms: add additional quirk for Acer rv620 laptop
    drm: Propagate error code from fb_create()
    ...

    Fix up trivial conflicts in drivers/gpu/drm/drm_edid.c

    Linus Torvalds
     
  • * 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6:
    mmc_spi: Fix unterminated of_match_table
    of/sparc: fix build regression from of_device changes
    of/device: Replace struct of_device with struct platform_device

    Linus Torvalds
     
  • * 'stable/xen-swiotlb-0.8.6' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    x86: Detect whether we should use Xen SWIOTLB.
    pci-swiotlb-xen: Add glue code to setup dma_ops utilizing xen_swiotlb_* functions.
    swiotlb-xen: SWIOTLB library for Xen PV guest with PCI passthrough.
    xen/mmu: inhibit vmap aliases rather than trying to clear them out
    vmap: add flag to allow lazy unmap to be disabled at runtime
    xen: Add xen_create_contiguous_region
    xen: Rename the balloon lock
    xen: Allow unprivileged Xen domains to create iomap pages
    xen: use _PAGE_IOMAP in ioremap to do machine mappings

    Fix up trivial conflicts (adding both xen swiotlb and xen pci platform
    driver setup close to each other) in drivers/xen/{Kconfig,Makefile} and
    include/xen/xen-ops.h

    Linus Torvalds
     

12 Aug, 2010

35 commits

  • mspro_block_remove() is called from detect thread that first calls the
    mspro_block_stop(), which stops the request queue. If we call
    del_gendisk() with the queue stopped we get a deadlock.

    Signed-off-by: Maxim Levitsky
    Cc: Alex Dubov
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Maxim Levitsky
     
  • Otherwise lockdep complains.

    Signed-off-by: Maxim Levitsky
    Cc: Alex Dubov
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Maxim Levitsky
     
  • - Fix mmc_test_alloc_mem.

    - Use nr_free_buffer_pages() instead of sysinfo.totalram to determine
    total lowmem pages.

    - Change variables containing memory sizes to unsigned long.

    - Limit maximum test area size to 128MiB because that is the maximum MMC
    high capacity erase size (the maxmium SD allocation unit size is just
    4MiB)

    Signed-off-by: Adrian Hunter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Hunter
     
  • mmc_test provides tests aimed at testing SD/MMC hosts. This patch adds
    performance tests.

    It is advantageous to have performance tests in a kernel
    module like mmc_test for the following reasons:
    - transfer times can be measured very accurately
    - arbitrarily large transfers are possible
    - the effect of contiguous vs scattered pages
    can be determined

    The new tests are:

    23. Best-case read performance
    24. Best-case write performance
    25. Best-case read performance into scattered pages
    26. Best-case write performance from scattered pages
    27. Single read performance by transfer size
    28. Single write performance by transfer size
    29. Single trim performance by transfer size
    30. Consecutive read performance by transfer size
    31. Consecutive write performance by transfer size
    32. Consecutive trim performance by transfer size

    Signed-off-by: Adrian Hunter
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Hunter
     
  • Secure discard is implemented by Secure Trim if the discard is unaligned
    or Secure Erase otherwise.

    Signed-off-by: Adrian Hunter
    Acked-by: Jens Axboe
    Cc: Kyungmin Park
    Cc: Madhusudhan Chikkature
    Cc: Christoph Hellwig
    Cc: Ben Gardiner
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Hunter
     
  • Disable the data (busy) timeout for erases and set the MMC_CAP_ERASE
    capability.

    Signed-off-by: Adrian Hunter
    Acked-by: Jens Axboe
    Cc: Kyungmin Park
    Cc: Madhusudhan Chikkature
    Cc: Christoph Hellwig
    Cc: Ben Gardiner
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Hunter
     
  • Enable MMC to service discard requests. In the case of SD and MMC cards
    that do not support trim, discards become erases. In the case of cards
    (MMC) that only allow erases in multiples of erase group size, round to
    the nearest completely discarded erase group.

    Signed-off-by: Adrian Hunter
    Acked-by: Jens Axboe
    Cc: Kyungmin Park
    Cc: Madhusudhan Chikkature
    Cc: Christoph Hellwig
    Cc: Ben Gardiner
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Hunter
     
  • SD/MMC cards tend to support an erase operation. In addition, eMMC v4.4
    cards can support secure erase, trim and secure trim operations that are
    all variants of the basic erase command.

    SD/MMC device attributes "erase_size" and "preferred_erase_size" have been
    added.

    "erase_size" is the minimum size, in bytes, of an erase operation. For
    MMC, "erase_size" is the erase group size reported by the card. Note that
    "erase_size" does not apply to trim or secure trim operations where the
    minimum size is always one 512 byte sector. For SD, "erase_size" is 512
    if the card is block-addressed, 0 otherwise.

    SD/MMC cards can erase an arbitrarily large area up to and
    including the whole card. When erasing a large area it may
    be desirable to do it in smaller chunks for three reasons:

    1. A single erase command will make all other I/O on the card
    wait. This is not a problem if the whole card is being erased, but
    erasing one partition will make I/O for another partition on the
    same card wait for the duration of the erase - which could be a
    several minutes.

    2. To be able to inform the user of erase progress.

    3. The erase timeout becomes too large to be very useful.
    Because the erase timeout contains a margin which is multiplied by
    the size of the erase area, the value can end up being several
    minutes for large areas.

    "erase_size" is not the most efficient unit to erase (especially for SD
    where it is just one sector), hence "preferred_erase_size" provides a good
    chunk size for erasing large areas.

    For MMC, "preferred_erase_size" is the high-capacity erase size if a card
    specifies one, otherwise it is based on the capacity of the card.

    For SD, "preferred_erase_size" is the allocation unit size specified by
    the card.

    "preferred_erase_size" is in bytes.

    Signed-off-by: Adrian Hunter
    Acked-by: Jens Axboe
    Cc: Kyungmin Park
    Cc: Madhusudhan Chikkature
    Cc: Christoph Hellwig
    Cc: Ben Gardiner
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Hunter
     
  • Fix kconfig dependency warning for PC8736x_GPIO by restricting it to
    X86_32.

    warning: (SCx200_GPIO && SCx200 || PC8736x_GPIO && X86) selects NSC_GPIO which has unmet direct dependencies (X86_32)

    NSC_GPIO is X86_32 only. The other driver (SCx200_GPIO) that selects
    NSC_GPIO is X86_32 only (indirectly, since SCx200 depends on X86_32), so
    limit this driver also.

    Signed-off-by: Randy Dunlap
    Cc: Jordan Crouse
    Cc: Jim Cromie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • The ACPI_PREEMPTION_POINT() logic was introduced in commit 8bd108d
    (ACPICA: add preemption point after each opcode parse). The follow up
    commits abe1dfab6, 138d15692, c084ca70 tried to fix the preemption logic
    back and forth, but nobody noticed that the usage of
    in_atomic_preempt_off() in that context is wrong.

    The check which guards the call of cond_resched() is:

    if (!in_atomic_preempt_off() && !irqs_disabled())

    in_atomic_preempt_off() is not intended for general use as the comment
    above the macro definition clearly says:

    * Check whether we were atomic before we did preempt_disable():
    * (used by the scheduler, *after* releasing the kernel lock)

    On a CONFIG_PREEMPT=n kernel the usage of in_atomic_preempt_off() works by
    accident, but with CONFIG_PREEMPT=y it's just broken.

    The whole purpose of the ACPI_PREEMPTION_POINT() is to reduce the latency
    on a CONFIG_PREEMPT=n kernel, so make ACPI_PREEMPTION_POINT() depend on
    CONFIG_PREEMPT=n and remove the in_atomic_preempt_off() check.

    Addresses https://bugzilla.kernel.org/show_bug.cgi?id=16210

    [akpm@linux-foundation.org: fix build]
    Signed-off-by: Thomas Gleixner
    Cc: Len Brown
    Cc: Francois Valenduc
    Cc: Lin Ming
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     
  • The i2c_client received in probe() should not be kfree()'d.

    Signed-off-by: Axel Lin
    Acked-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Axel Lin
     
  • The i2c_client received in probe() should not be kfree()'d.

    Signed-off-by: Axel Lin
    Acked-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Axel Lin
     
  • The i2c_client received in probe() should not be kfree()'d.

    Signed-off-by: Axel Lin
    Signed-off-by: Samuel Ortiz

    Axel Lin
     
  • Add mfd core driver for TPS6586x PMICs family.
    The driver provides I/O access for the sub-device drivers and performs
    regstration of the sub-devices based on the platform requirements.
    In addition it implements GPIOlib interface for the chip GPIOs.

    TODO:
    - add interrupt support
    - add platform data for PWM, backlight leds and charger

    Signed-off-by: Mike Rapoport
    Signed-off-by: Mike Rapoport
    Signed-off-by: Samuel Ortiz

    Mike Rapoport
     
  • This patch is originally done by Carlos Eduardo Aguiar. Original fix is
    commit 3305829b2816072b9c8ed01374b205ae4de74027 in
    git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git

    Author modified the fix for mainline version of menelaus.

    Signed-off-by: Jarkko Nikula
    Cc: Carlos Eduardo Aguiar
    Signed-off-by: Samuel Ortiz

    Jarkko Nikula
     
  • We are modifying register value instead of return value.

    This fix is originally done by Carlos Eduardo Aguiar. Original fix is
    commit bb4e91722e29efe31587d2cc664b6def645aecd9 in
    git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git

    Author modified the fix for mainline version of menelaus.

    Signed-off-by: Jarkko Nikula
    Cc: Carlos Eduardo Aguiar
    Signed-off-by: Samuel Ortiz

    Jarkko Nikula
     
  • Signed-off-by: David S. Miller
    Signed-off-by: Samuel Ortiz

    David Miller
     
  • This patch includes below fixes:
    1. fix wm8350_create_cache error path
    make sure wm8350->reg_cache is freed in error path.
    2. fix wm8350_device_init error path
    no need to kfree(wm8350->reg_cache) in the case of goto out.

    Signed-off-by: Axel Lin
    Acked-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Axel Lin
     
  • wm8994_device_init() will return 0 in the case of kzalloc fail
    in current implementation.
    This patch fixes the return value.

    Signed-off-by: Axel Lin
    Acked-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Axel Lin
     
  • In the case of goto err2, what we want is to call
    platform_device_del() instead of platform_device_unregister().
    Otherwise, we call platform_device_put() twice.

    Signed-off-by: Axel Lin
    Signed-off-by: Samuel Ortiz

    Axel Lin
     
  • Signed-off-by: Axel Lin
    Signed-off-by: Samuel Ortiz

    Axel Lin
     
  • This patch includes below fixes:
    1. add a missing iounmap in tc6387xb_probe() error path
    2. fix resource reclaim in tc6387xb_remove()

    Signed-off-by: Axel Lin
    Signed-off-by: Samuel Ortiz

    Axel Lin
     
  • This patch corrects the error handling path.

    Signed-off-by: Axel Lin
    Signed-off-by: Samuel Ortiz

    Axel Lin
     
  • This adds all remaining definitions that are used by the core driver
    to the .c file.

    Signed-off-by: Uwe Kleine-König
    Signed-off-by: Samuel Ortiz

    Uwe Kleine-König
     
  • There is a shiny new mc13783 API function that can be used instead.

    While at it refactor the code a bit to reduce code duplication a bit.

    This removes the last user of and so this
    include file can go away.

    Signed-off-by: Uwe Kleine-König
    Signed-off-by: Samuel Ortiz

    Uwe Kleine-König
     
  • This is needed for the mc13783-adc driver to decide if a touch screen is
    connected. If so some channels are not available as generic hwmon inputs.

    Signed-off-by: Uwe Kleine-König
    Signed-off-by: Samuel Ortiz

    Uwe Kleine-König
     
  • If kmalloc() fails exit with -ENOMEM.

    Signed-off-by: Axel Lin
    Signed-off-by: Samuel Ortiz

    Axel Lin
     
  • If mfd_add_devices() fail, we need to relese allocated resources.

    Signed-off-by: Axel Lin
    Signed-off-by: Samuel Ortiz

    Axel Lin
     
  • The WM8321 is a PMIC for low power, high performance applications. From a
    software point of view the device is identical to the WM8320, all the
    differences between the two devices are visible only in hardware.

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • Some STMPE devices support entering sleep mode automatically on a
    specified timeout of inactivity on the I2C bus with the host system.

    Acked-by: Linus Walleij
    Acked-by: Rabin Vincent
    Signed-off-by: Sundar R Iyer
    Signed-off-by: Samuel Ortiz

    Sundar R Iyer
     
  • platform_get_irq_byname() can return negative results, it is not seen to
    unsigned ts_irq. Make it signed.

    Signed-off-by: Kulikov Vasiliy
    Acked-By: Luotao Fu
    Signed-off-by: Samuel Ortiz

    Kulikov Vasiliy
     
  • TWL6030 supports PWM (Pulse Width Modulator) which is used
    to control charging LED. PWM allows for controlling brightness.
    This patch implements the APIs required by leds-pwm driver.

    Signed-off-by: Hemanth V
    Signed-off-by: Samuel Ortiz

    Hemanth V
     
  • This patch adds a MFD driver for the JZ4740 ADC unit. The driver is used to
    demultiplex IRQs and synchronize access to shared registers between the
    battery, hwmon and (future) touchscreen driver.

    Signed-off-by: Lars-Peter Clausen
    Signed-off-by: Samuel Ortiz

    Lars-Peter Clausen
     
  • The debounce times are approximate, they can be selected using the two
    input functions.

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • This one adds a driver for STMPE touchscreen controllers.
    This driver depends on the stmpexxx mfd core driver.

    Signed-off-by: Luotao Fu
    Acked-by: Dmitry Torokhov
    Signed-off-by: Samuel Ortiz

    Luotao Fu