1. 22 Jul, 2012 40 commits
    • Linus Torvalds's avatar
      Merge tag 'mmc-merge-for-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc · a6be1fcb
      Linus Torvalds authored
      Pull MMC updates from Chris Ball:
       "MMC highlights for 3.6:
      
        Core:
         - Rename cd-gpio to slot-gpio and extend it to support more slot GPIO
           functions, such as write-protect.
         - Add a function to get regulators (Vdd and Vccq) for a host.
      
        Drivers:
         - sdhci-pxav2, sdhci-pxav3: Add device tree support.
         - sdhi: Add device tree support.
         - sh_mmcif: Add support for regulators, device tree, slot-gpio.
         - tmio: Add regulator support, use slot-gpio."
      
      * tag 'mmc-merge-for-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (62 commits)
        mmc: sdhci-dove: Prepare for common clock framework
        mmc: sdhci-dove: Add SDHCI_QUIRK_NO_HISPD_BIT
        mmc: omap_hsmmc: ensure probe returns error upon resource failure
        mmc: mxs-mmc: Add wp-inverted property
        mmc: esdhc: Fix DMA_MASK to not break mx25 DMA access
        mmc: core: reset signal voltage on power up
        mmc: sd: Fix sd current limit setting
        mmc: omap_hsmmc: add clk_prepare and clk_unprepare
        mmc: sdhci: When a UHS switch fails, cycle power if regulator is used
        mmc: atmel-mci: modify CLKDIV displaying in debugfs
        mmc: atmel-mci: fix incorrect setting of host->data to NULL
        mmc: sdhci: poll for card even when card is logically unremovable
        mmc: sdhci: Introduce new flag SDHCI_USING_RETUNING_TIMER
        mmc: sdio: Change pr_warning to pr_warn_ratelimited
        mmc: core: Simplify and fix for SD switch processing
        mmc: sdhci: restore host settings when card is removed
        mmc: sdhci: fix incorrect command used in tuning
        mmc: sdhci-pci: CaFe has broken card detection
        mmc: sdhci: Report failure reasons for all cases in sdhci_add_host()
        mmc: s3cmci: Convert s3cmci driver to gpiolib API
        ...
      a6be1fcb
    • Linus Torvalds's avatar
      Merge branch 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5b160bd4
      Linus Torvalds authored
      Pull x86/mce changes from Ingo Molnar:
       "This tree improves the AMD thresholding bank code and includes a
        memory fault signal handling fixlet."
      
      * 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mce: Fix siginfo_t->si_addr value for non-recoverable memory faults
        x86, MCE, AMD: Update copyrights and boilerplate
        x86, MCE, AMD: Give proper names to the thresholding banks
        x86, MCE, AMD: Make error_count read only
        x86, MCE, AMD: Cleanup reading of error_count
        x86, MCE, AMD: Print decimal thresholding values
        x86, MCE, AMD: Move shared bank to node descriptor
        x86, MCE, AMD: Remove local_allocate_... wrapper
        x86, MCE, AMD: Remove shared banks sysfs linking
        x86, amd_nb: Export model 0x10 and later PCI id
      5b160bd4
    • Sebastian Hesselbarth's avatar
      mmc: sdhci-dove: Prepare for common clock framework · 30b87c60
      Sebastian Hesselbarth authored
      As mach-dove is moving towards common clock framework prepare
      the sdhci driver to grab its clock.
      Signed-off-by: default avatarSebastian Hesselbarth <sebastian.hesselbarth@googlemail.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      30b87c60
    • Sebastian Hesselbarth's avatar
      mmc: sdhci-dove: Add SDHCI_QUIRK_NO_HISPD_BIT · a9ca1d54
      Sebastian Hesselbarth authored
      The sdio controller on dove doesn't have a bit to indicate
      high-speed. With the quirk set it fixes accessing high-speed
      sdcards.
      Signed-off-by: default avatarSebastian Hesselbarth <sebastian.hesselbarth@googlemail.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      a9ca1d54
    • Kevin Hilman's avatar
      mmc: omap_hsmmc: ensure probe returns error upon resource failure · 9c17d08c
      Kevin Hilman authored
      If platform_get_resource_by_name() fails, driver probe is aborted an
      should return an error so the driver is not bound to the device.
      
      However, in the current error path of platform_get_resource_by_name(),
      probe returns zero since the return value (ret) is not properly set.
      With a zero return value, the driver core assumes probe was successful
      and will bind the driver to the device.
      
      Fix this by ensuring that probe returns an error code in this failure
      path.
      Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
      Acked-by: default avatarVenkatraman S <svenkatr@ti.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      9c17d08c
    • Marek Vasut's avatar
      mmc: mxs-mmc: Add wp-inverted property · b6e76f10
      Marek Vasut authored
      The write-protect GPIO is inverted on some boards. Handle such case.
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      b6e76f10
    • Wilson Callan's avatar
      mmc: esdhc: Fix DMA_MASK to not break mx25 DMA access · 9a0985b7
      Wilson Callan authored
      Patch to not set reserved bits in i.MX25 PROCTL register.  DMA stops
      working if those bits get set.
      Signed-off-by: default avatarWilson Callan <wilson.callan@savantsystems.com>
      Acked-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      9a0985b7
    • Linus Torvalds's avatar
      Merge tag 'pm-for-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 7100e505
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
      
       - ACPI conversion to PM handling based on struct dev_pm_ops.
       - Conversion of a number of platform drivers to PM handling based on
         struct dev_pm_ops and removal of empty legacy PM callbacks from a
         couple of PCI drivers.
       - Suspend-to-both for in-kernel hibernation from Bojan Smojver.
       - cpuidle fixes and cleanups from ShuoX Liu, Daniel Lezcano and Preeti
         Murthy.
       - cpufreq bug fixes from Jonghwa Lee and Stephen Boyd.
       - Suspend and hibernate fixes from Srivatsa Bhat and Colin Cross.
       - Generic PM domains framework updates.
       - RTC CMOS wakeup signaling update from Paul Fox.
       - sparse warnings fixes from Sachin Kamat.
       - Build warnings fixes for the generic PM domains framework and PM
         sysfs code.
       - sysfs switch for printing device suspend times from Sameer Nanda.
       - Documentation fix from Oskar Schirmer.
      
      * tag 'pm-for-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (70 commits)
        cpufreq: Fix sysfs deadlock with concurrent hotplug/frequency switch
        EXYNOS: bugfix on retrieving old_index from freqs.old
        PM / Sleep: call early resume handlers when suspend_noirq fails
        PM / QoS: Use NULL pointer instead of plain integer in qos.c
        PM / QoS: Use NULL pointer instead of plain integer in pm_qos.h
        PM / Sleep: Require CAP_BLOCK_SUSPEND to use wake_lock/wake_unlock
        PM / Sleep: Add missing static storage class specifiers in main.c
        cpuilde / ACPI: remove time from acpi_processor_cx structure
        cpuidle / ACPI: remove usage from acpi_processor_cx structure
        cpuidle / ACPI : remove latency_ticks from acpi_processor_cx structure
        rtc-cmos: report wakeups from interrupt handler
        PM / Sleep: Fix build warning in sysfs.c for CONFIG_PM_SLEEP unset
        PM / Domains: Fix build warning for CONFIG_PM_RUNTIME unset
        olpc-xo15-sci: Use struct dev_pm_ops for power management
        PM / Domains: Replace plain integer with NULL pointer in domain.c file
        PM / Domains: Add missing static storage class specifier in domain.c file
        PM / crypto / ux500: Use struct dev_pm_ops for power management
        PM / IPMI: Remove empty legacy PCI PM callbacks
        tpm_nsc: Use struct dev_pm_ops for power management
        tpm_tis: Use struct dev_pm_ops for power management
        ...
      7100e505
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · cb47c183
      Linus Torvalds authored
      Pull target updates from Nicholas Bellinger:
       "There have been lots of work in a number of areas this past round.
        The highlights include:
      
         - Break out target_core_cdb.c emulation into SPC/SBC ops (hch)
         - Add a parse_cdb method to target backend drivers (hch)
         - Move sync_cache + write_same + unmap into spc_ops (hch)
         - Use target_execute_cmd for WRITEs in iscsi_target + srpt (hch)
         - Offload WRITE I/O backend submission in tcm_qla2xxx + tcm_fc (hch +
           nab)
         - Refactor core_update_device_list_for_node() into enable/disable
           funcs (agrover)
         - Replace the TCM processing thread with a TMR work queue (hch)
         - Fix regression in transport_add_device_to_core_hba from TMR
           conversion (DanC)
         - Remove racy, now-redundant check of sess_tearing_down with qla2xxx
           (roland)
         - Add range checking, fix reading of data len + possible underflow in
           UNMAP (roland)
         - Allow for target_submit_cmd() returning errors + convert fabrics
           (roland + nab)
         - Drop bogus struct file usage for iSCSI/SCTP (viro)"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (54 commits)
        iscsi-target: Drop bogus struct file usage for iSCSI/SCTP
        target: NULL dereference on error path
        target: Allow for target_submit_cmd() returning errors
        target: Check number of unmap descriptors against our limit
        target: Fix possible integer underflow in UNMAP emulation
        target: Fix reading of data length fields for UNMAP commands
        target: Add range checking to UNMAP emulation
        target: Add generation of LOGICAL BLOCK ADDRESS OUT OF RANGE
        target: Make unnecessarily global se_dev_align_max_sectors() static
        target: Remove se_session.sess_wait_list
        qla2xxx: Remove racy, now-redundant check of sess_tearing_down
        target: Check sess_tearing_down in target_get_sess_cmd()
        sbp-target: Consolidate duplicated error path code in sbp_handle_command()
        target: Un-export target_get_sess_cmd()
        qla2xxx: Get rid of redundant qla_tgt_sess.tearing_down
        target: Make core_disable_device_list_for_node use pre-refactoring lock ordering
        target: refactor core_update_device_list_for_node()
        target: Eliminate else using boolean logic
        target: Misc retval cleanups
        target: Remove hba param from core_dev_add_lun
        ...
      cb47c183
    • Linus Torvalds's avatar
      Merge tag 'regulator-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 4d460fd3
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "Lots and lots of fixes from Axel and some others here, plus some
        framework enhancements which continue the theme of factoring code out
        of the drivers and into the core.
      
         - Initial framework support for GPIO controlled enable signals,
           saving a bunch of code in drivers.
         - Move fixed regulator enable time and voltage mapping table
           specifications to data.
         - Used some of the recent framework enhancements to make voltage
           change notifications more useful, passing the voltage in as an
           argument to the notification.
         - Fixed the pattern used for finding individual regulators on a
           device to not rely on the node name, supporting the use of multiple
           PMICs of the same type in the system.
         - New drivers for Maxim MAX77686, TI LP872x and LP8788, Samsung
           S2MPS11, and Wolfson Arizona microphone supplies and LDOs."
      
      * tag 'regulator-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (176 commits)
        regulator: add new lp8788 regulator driver
        regulator: mc13xxx: Remove extern function declaration for mc13xxx_sw_regulator
        regulator: tps65910: set input_supply on desc unconditionally
        regulator: palmas: Fix calcuating selector in palmas_map_voltage_smps
        regulator: lp872x: Simplify implementation of lp872x_find_regulator_init_data()
        regulator: twl: Fix list_voltate for twl6030ldo_ops
        regulator: twl: Convert twl6030ldo_ops to [get|set]_voltage_sel
        regulator: twl: Fix the formula to calculate vsel and voltage for twl6030ldo
        regulator: s5m8767: Properly handle gpio_request failure
        regulator: max8997: Properly handle gpio_request failure
        regulator: tps62360: use devm_* for gpio request
        regulator: tps6586x: add support for input supply
        regulator: tps65217: Add device tree support
        regulator: aat2870: Remove unused min_uV and max_uV from struct aat2870_regulator
        regulator: aat2870: Convert to regulator_list_voltage_table
        regulator: da9052: initialize of_node param for regulator register
        regulator: Add REGULATOR_STATUS_UNDEFINED.
        regulator: Fix a typo in regulator_mode_to_status() core function.
        regulator: s2mps11: Use sec_reg_write rather than sec_reg_update when mask is 0xff
        regulator: s2mps11: Fix wrong setting for config.dev
        ...
      4d460fd3
    • Linus Torvalds's avatar
      Merge tag 'regmap-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 7cd58b0a
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "A few fixes plus a few features, the most generally useful thing being
        the register paging support which can be used by quite a few devices:
      
         - Support for wake IRQs in regmap-irq
         - Support for register paging
         - Support for explicitly specified endianness, mostly for MMIO."
      
      * tag 'regmap-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: Fix incorrect arguments to kzalloc() call
        regmap: Add hook for printk logging for debugging during early init
        regmap: Fix work_buf switching for page update during virtual range access.
        regmap: Add support for register indirect addressing.
        regmap: Move lock out from internal function _regmap_update_bits().
        regmap: mmio: Staticize regmap_mmio_gen_context()
        regmap: Remove warning on stubbed dev_get_regmap()
        regmap: Implement support for wake IRQs
        regmap: Don't try to map non-existant IRQs
        regmap: Constify regmap_irq_chip
        regmap: mmio: request native endian formatting
        regmap: allow busses to request formatting with specific endianness
      7cd58b0a
    • Linus Torvalds's avatar
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e2b34e31
      Linus Torvalds authored
      Pull a x86/build change from Ingo Molnar.
      
      This makes the default stack alignment on x86-64 be just 8, allowing for
      improved code generation (it can avoid some unnecessary extra alignment
      logic and use just pure push/pop sequences) and smaller stack frames.
      
      We can't generally do SSE with 16-byte alignment issues in the kernel anyway.
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86-64, gcc: Use -mpreferred-stack-boundary=3 if supported
      e2b34e31
    • Linus Torvalds's avatar
      Merge branch 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2bd3488f
      Linus Torvalds authored
      Pull x86/uv changes from Ingo Molnar:
       "UV2 BAU productization fixes.
      
        The BAU (Broadcast Assist Unit) is SGI's fancy out of line way on UV
        hardware to do TLB flushes, instead of the normal APIC IPI methods.
        The commits here fix / work around hangs in their latest hardware
        iteration (UV2).
      
        My understanding is that the main purpose of the out of line
        signalling channel is to improve scalability: the UV APIC hardware
        glue does not handle broadcasting to many CPUs very well, and this
        matters most for TLB shootdowns.
      
        [ I don't agree with all aspects of the current approach: in hindsight
          it would have been better to link the BAU at the IPI/APIC driver
          level instead of the TLB shootdown level, where TLB flushes are
          really just one of the uses of broadcast SMP messages.  Doing that
          would improve scalability in some other ways and it would also
          remove a few uglies from the TLB path.  It would also be nice to
          push more is_uv_system() tests into proper x86_init or x86_platform
          callbacks.  Cliff? ]"
      
      * 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/uv: Work around UV2 BAU hangs
        x86/uv: Implement UV BAU runtime enable and disable control via /proc/sgi_uv/
        x86/uv: Fix the UV BAU destination timeout period
      2bd3488f
    • Aaron Lu's avatar
      mmc: core: reset signal voltage on power up · 108ecc4c
      Aaron Lu authored
      Add a call to mmc_set_signal_voltage() to set signal voltage to 3.3v in
      mmc_power_up so that we do not need to touch signal voltage setting in
      mmc/sd/sdio init functions and rescan function.
      
      For mmc/sd cards, when doing a suspend/resume cycle, consider the unsafe
      resume case, the card will lose its power and when powered on again, we
      will set signal voltage to 3.3v in mmc_power_up before its resume function
      gets called, which will re-init the card.
      
      And for sdio cards, when doing a suspend/resume cycle, consider the unsafe
      resume case, the card will either lose its power or not depending on if it
      wants to wakeup the host. If power is not maintained, it is the same case as
      mmc/sd cards. If power is maintained, mmc_power_up will not be called and
      the card's signal voltage will remain at the last setting.
      Signed-off-by: default avatarAaron Lu <aaron.lu@amd.com>
      Tested-by: default avatarVenkatraman S <svenkatr@ti.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      108ecc4c
    • Aaron Lu's avatar
      mmc: sd: Fix sd current limit setting · 55c4665e
      Aaron Lu authored
      Host has different current capabilities at different voltages, we need
      to record these settings seperately. The defined voltages are 1.8/3.0/3.3.
      For other voltages, we do not touch current limit setting.
      
      Before we set the current limit for the sd card, find out the host's
      operating voltage first and then find out the current capabilities of
      the host at that voltage to set the current limit.
      Signed-off-by: default avatarAaron Lu <aaron.lu@amd.com>
      Reviewed-by: default avatarPhilip Rakity <prakity@marvell.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      55c4665e
    • Rajendra Nayak's avatar
      mmc: omap_hsmmc: add clk_prepare and clk_unprepare · 94c18149
      Rajendra Nayak authored
      In preparation for OMAP moving to the Common Clock Framework (CCF)
      add clk_prepare() and clk_unprepare() for the hsmmc clocks.
      Signed-off-by: default avatarRajendra Nayak <rnayak@ti.com>
      Acked-by: default avatarVenkatraman S <svenkatr@ti.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      94c18149
    • Philip Rakity's avatar
      mmc: sdhci: When a UHS switch fails, cycle power if regulator is used · 38cfc2f7
      Philip Rakity authored
      Power needs to be removed from the card when switching to 1.8v fails.
      
      If a regulator is used to control vmmc we need to turn the
      regulator off and then back on otherwise power will not be
      removed from the card.
      Signed-off-by: default avatarPhilip Rakity <prakity@marvell.com>
      Reviewed-by: default avatarAaron Lu <aaron.lu@amd.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      38cfc2f7
    • Nicolas Ferre's avatar
      mmc: atmel-mci: modify CLKDIV displaying in debugfs · 8a4de07e
      Nicolas Ferre authored
      Modify clock division displaying in debugfs for matching
      the new CLKDIV,CLKODD user interface arrangement.
      Is using the has_odd_clk_div property to choose the proper format.
      Signed-off-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
      Acked-by: default avatarLudovic Desroches <ludovic.desroches@atmel.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      8a4de07e
    • Nicolas Ferre's avatar
      mmc: atmel-mci: fix incorrect setting of host->data to NULL · 41b4e9a1
      Nicolas Ferre authored
      Setting host->data to NULL is incorrect sequence in STATE_SENDING_STOP
      state of FSM: This early setting leads to the skip of dma_unmap_sg()
      in atmci_dma_cleanup() which is a bug.
      
      Idea taken from dw_mmc by Seungwon Jeon.
      Signed-off-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
      Cc: Seungwon Jeon <tgih.jun@samsung.com>
      Acked-by: default avatarLudovic Desroches <ludovic.desroches@atmel.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      41b4e9a1
    • Daniel Drake's avatar
      mmc: sdhci: poll for card even when card is logically unremovable · eb6d5ae1
      Daniel Drake authored
      The Marvell CaFe is now marked as having bad card detection to fix
      a problem during system resume.
      
      Now on the OLPC XO-1 we are facing the issue that the card is marked
      as logically unremovable (via MMC_UNSAFE_RESUME), which means that
      mmc_card_is_removable considers the card non-removable. The existing
      code logic decides not to poll for card presence in this case, and
      card detection is also disabled because of the quirk being set.
      This means that no SD cards are detected when inserted after boot.
      
      Refine the logic to enable card presence polling in the case when
      a card is logically unremovable, only avoiding the poll in the case
      when the card is physically non-removable (denoted with
      MMC_CAP_NONREMOVABLE).
      Signed-off-by: default avatarDaniel Drake <dsd@laptop.org>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      eb6d5ae1
    • Aaron Lu's avatar
      mmc: sdhci: Introduce new flag SDHCI_USING_RETUNING_TIMER · 973905fe
      Aaron Lu authored
      Add a new flag of SDHCI_USING_RETUNING_TIMER to represent if the host
      is using a retuning timer for the card inserted.
      
      This flag is set when the host does tuning the first time for the card
      and the host's retuning mode is 1. This flag is used afterwards whenever
      needs to decide if the host is currently using a retuning timer.
      
      This flag is cleared when the card is removed in sdhci_reinit.
      
      The set/clear of the flag and the start/stop of the retuning timer is
      associated with the card's init/remove time, so there is no need to
      touch it when the host is to be removed as at that time the card should
      have already been removed.
      Signed-off-by: default avatarAaron Lu <aaron.lu@amd.com>
      Reviewed-by: default avatarGirish K S <girish.shivananjappa@linaro.org>
      Reviewed-by: default avatarPhilip Rakity <prakity@marvell.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      973905fe
    • Liu Chuansheng's avatar
      mmc: sdio: Change pr_warning to pr_warn_ratelimited · aa6439da
      Liu Chuansheng authored
      When debugging one bad issue, got lots of pr_warning messages
      "queuing unknown CIS tuple" which caused a printk storm and
      flooded the console.
      
      This patch changes the pr_warning to use pr_warn_ratelimited.
      Signed-off-by: default avatarLiu Chuansheng <chuansheng.liu@intel.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      aa6439da
    • Linus Torvalds's avatar
      Merge branch 'x86-reboot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d5d96ed2
      Linus Torvalds authored
      Pull x86/reboot changes from Ingo Molnar:
       "Now that the revampted x86 real-mode trampoline code is upstream and
        seems to be working well, we can extend the 64-bit reboot code to be
        as capable as the 32-bit one."
      
      * 'x86-reboot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86-64, reboot: Be more paranoid in 64-bit reboot=bios
        x86, reboot: Drop redundant write of reboot_mode
        x86-64, reboot: Allow reboot=bios and reboot-cpu override on x86-64
      d5d96ed2
    • Aaron Lu's avatar
      mmc: core: Simplify and fix for SD switch processing · a39ca6ae
      Aaron Lu authored
      In mmc_read_switch, just do a one time mode 0 switch command to get the
      support bits information, no need to do multiple times as the support
      bits do not change with different arguments.
      
      And no need to check current limit support bits, as these bits are
      fixed according to the signal voltage. If the signal voltage is 1.8V,
      the support bits would be 0xf and if the signal voltage is 3.3V, the
      support bits would be 0x01. We will check host's ability to set the
      current limit.
      Signed-off-by: default avatarAaron Lu <aaron.lu@amd.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      a39ca6ae
    • Aaron Lu's avatar
      mmc: sdhci: restore host settings when card is removed · b67c6b41
      Aaron Lu authored
      Some of the host settings are affected by different cards inserted, e.g.
      when an UHS-I card is inserted, the SDHCI_NEEDS_RETUING flag might be
      set when the tuning timer expired and host's max_blk_count will be
      reduced to make sure the data transfer for a command does not exceed 4MiB
      to meet the retuning mode 1's requirement.
      
      When the card is removed, we should restore the original setting of the
      host since we can't be sure the next card being inserted will still be
      an UHS-I card that needs tuning. The original setting include its
      max_blk_count and no set of the flag of SDHCI_NEEDS_RETUNING.
      Signed-off-by: default avatarAaron Lu <aaron.lu@amd.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      b67c6b41
    • Aaron Lu's avatar
      mmc: sdhci: fix incorrect command used in tuning · 473b095a
      Aaron Lu authored
      For SD hosts using retuning mode 1, when retuning timer expired, it will
      need to do retuning in sdhci_request before processing the actual
      request. But the retuning command is fixed: cmd19 for SD card and cmd21
      for eMMC card, so we can't use the original request's command to do the
      tuning.
      
      And since the tuning command depends on the card type attached to the
      host, we will need to know the card type to use the correct tuning
      command.
      Signed-off-by: default avatarAaron Lu <aaron.lu@amd.com>
      Reviewed-by: default avatarPhilip Rakity <prakity@marvell.com>
      Cc: stable <stable@vger.kernel.org> [3.3+]
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      473b095a
    • Daniel Drake's avatar
      mmc: sdhci-pci: CaFe has broken card detection · 55fc05b7
      Daniel Drake authored
      At http://dev.laptop.org/ticket/11980 we have determined that the
      Marvell CaFe SDHCI controller reports bad card presence during
      resume. It reports that no card is present even when it is.
      This is a regression -- resume worked back around 2.6.37.
      
      Around 400ms after resuming, a "card inserted" interrupt is
      generated, at which point it starts reporting presence.
      
      Work around this hardware oddity by setting the
      SDHCI_QUIRK_BROKEN_CARD_DETECTION flag.
      Thanks to Chris Ball for helping with diagnosis.
      Signed-off-by: default avatarDaniel Drake <dsd@laptop.org>
      [stable@: please apply to 3.0+]
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      55fc05b7
    • Mark Brown's avatar
      mmc: sdhci: Report failure reasons for all cases in sdhci_add_host() · 0fc81ee3
      Mark Brown authored
      For most error conditions sdhci_add_host() will print a diagnostic
      message indicating why it failed but there are a few cases where this
      does not happen. Add error messages in these cases to aid diagnosis.
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      0fc81ee3
    • Sylwester Nawrocki's avatar
      mmc: s3cmci: Convert s3cmci driver to gpiolib API · b9929f0e
      Sylwester Nawrocki authored
      The s3c2410_gpio* calls are obsolete and have been scheduled for
      removal since several kernel releases. Remove them and use common
      gpiolib API.
      
      This patch is a prerequisite for removal of the S3C24XX SoC specific
      arch/arm/plat-samsung/include/gpio-fns.h header.
      
      Tested on Micro2440-SDK.
      Signed-off-by: default avatarSylwester Nawrocki <sylvester.nawrocki@gmail.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      b9929f0e
    • Philip Rakity's avatar
      mmc: sdhci: Allow caps[1] to be set via SDHCI_QUIRK_MISSING_CAPS · bd6a8c30
      Philip Rakity authored
      Currently only the capability_0 register can be set if
      SDHCI_QUIRK_MISSING_CAPS is defined.  This is a problem when
      the capability_1 register also needs changing.  Use the quirk
      SDHCI_QUIRK_MISSING_CAPS to allow both registers to be set.
      
      Redefining caps[1] is useful when the board design does not
      support 1.8v vccq so UHS modes are not available.  The code that
      calls sdhci_add_host can then detect this condition and adjust
      the caps so the UHS mode will not be attempted on UHS cards.
      Signed-off-by: default avatarPhilip Rakity <prakity@marvell.com>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      bd6a8c30
    • Shawn Guo's avatar
      mmc: mxs-mmc: enable regulator for mmc slot · 4dc5a79f
      Shawn Guo authored
      If bootloader or platform initialization code does not enable the
      power supply to mmc slot, we need to do it in mmc driver.
      Signed-off-by: default avatarShawn Guo <shawn.guo@linaro.org>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      4dc5a79f
    • Linus Torvalds's avatar
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · bd3e57f9
      Linus Torvalds authored
      Pull x86 platform changes from Ingo Molnar:
       "This tree mostly involves various APIC driver cleanups/robustization,
        and vSMP motivated platform callback improvements/cleanups"
      
      Fix up trivial conflict due to printk cleanup right next to return value
      change.
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (29 commits)
        Revert "x86/early_printk: Replace obsolete simple_strtoul() usage with kstrtoint()"
        x86/apic/x2apic: Use multiple cluster members for the irq destination only with the explicit affinity
        x86/apic/x2apic: Limit the vector reservation to the user specified mask
        x86/apic: Optimize cpu traversal in __assign_irq_vector() using domain membership
        x86/vsmp: Fix vector_allocation_domain's return value
        irq/apic: Use config_enabled(CONFIG_SMP) checks to clean up irq_set_affinity() for UP
        x86/vsmp: Fix linker error when CONFIG_PROC_FS is not set
        x86/apic/es7000: Make apicid of a cluster (not CPU) from a cpumask
        x86/apic/es7000+summit: Always make valid apicid from a cpumask
        x86/apic/es7000+summit: Fix compile warning in cpu_mask_to_apicid()
        x86/apic: Fix ugly casting and branching in cpu_mask_to_apicid_and()
        x86/apic: Eliminate cpu_mask_to_apicid() operation
        x86/x2apic/cluster: Vector_allocation_domain() should return a value
        x86/apic/irq_remap: Silence a bogus pr_err()
        x86/vsmp: Ignore IOAPIC IRQ affinity if possible
        x86/apic: Make cpu_mask_to_apicid() operations check cpu_online_mask
        x86/apic: Make cpu_mask_to_apicid() operations return error code
        x86/apic: Avoid useless scanning thru a cpumask in assign_irq_vector()
        x86/apic: Try to spread IRQ vectors to different priority levels
        x86/apic: Factor out default vector_allocation_domain() operation
        ...
      bd3e57f9
    • Linus Torvalds's avatar
      Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3fad0953
      Linus Torvalds authored
      Pull debug-for-linus git tree from Ingo Molnar.
      
      Fix up trivial conflict in arch/x86/kernel/cpu/perf_event_intel.c due to
      a printk() having changed to a pr_info() differently in the two branches.
      
      * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: Move call to print_modules() out of show_regs()
        x86/mm: Mark free_initrd_mem() as __init
        x86/microcode: Mark microcode_id[] as __initconst
        x86/nmi: Clean up register_nmi_handler() usage
        x86: Save cr2 in NMI in case NMIs take a page fault (for i386)
        x86: Remove cmpxchg from i386 NMI nesting code
        x86: Save cr2 in NMI in case NMIs take a page fault
        x86/debug: Add KERN_<LEVEL> to bare printks, convert printks to pr_<level>
      3fad0953
    • Linus Torvalds's avatar
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a065de0d
      Linus Torvalds authored
      Pull x86/asm changes from Ingo Molnar:
       "Assorted single-commit improvements, as usual"
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm/mtrr: Slightly simplify print_mtrr_state()
        x86/mm/mtrr: Fix alignment determination in range_to_mtrr()
        x86/copy_user_generic: Optimize copy_user_generic with CPU erms feature
        x86/alternatives: Use atomic_xchg() instead atomic_dec_and_test() for stop_machine_text_poke()
      a065de0d
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3992c032
      Linus Torvalds authored
      Pull timer core changes from Ingo Molnar:
       "Continued cleanups of the core time and NTP code, plus more nohz work
        preparing for tick-less userspace execution."
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        time: Rework timekeeping functions to take timekeeper ptr as argument
        time: Move xtime_nsec adjustment underflow handling timekeeping_adjust
        time: Move arch_gettimeoffset() usage into timekeeping_get_ns()
        time: Refactor accumulation of nsecs to secs
        time: Condense timekeeper.xtime into xtime_sec
        time: Explicitly use u32 instead of int for shift values
        time: Whitespace cleanups per Ingo%27s requests
        nohz: Move next idle expiry time record into idle logic area
        nohz: Move ts->idle_calls incrementation into strict idle logic
        nohz: Rename ts->idle_tick to ts->last_tick
        nohz: Make nohz API agnostic against idle ticks cputime accounting
        nohz: Separate idle sleeping time accounting from nohz logic
        timers: Improve get_next_timer_interrupt()
        timers: Add accounting of non deferrable timers
        timers: Consolidate base->next_timer update
        timers: Create detach_if_pending() and use it
      3992c032
    • Mark Brown's avatar
      3384fb98
    • Mark Brown's avatar
    • Mark Brown's avatar
      Merge branches 'regmap-core', 'regmap-irq' and 'regmap-page' into regmap-next · 38e23194
      Mark Brown authored
      Conflicts (trivial context stuff):
      	drivers/base/regmap/regmap.c
      	include/linux/regmap.h
      38e23194
    • Linus Torvalds's avatar
      Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 55acdddb
      Linus Torvalds authored
      Pull smp/hotplug changes from Ingo Molnar:
       "Various cleanups to the SMP hotplug code - a continuing effort of
        Thomas et al"
      
      * 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        smpboot: Remove leftover declaration
        smp: Remove num_booting_cpus()
        smp: Remove ipi_call_lock[_irq]()/ipi_call_unlock[_irq]()
        POWERPC: Smp: remove call to ipi_call_lock()/ipi_call_unlock()
        SPARC: SMP: Remove call to ipi_call_lock_irq()/ipi_call_unlock_irq()
        ia64: SMP: Remove call to ipi_call_lock_irq()/ipi_call_unlock_irq()
        x86-smp-remove-call-to-ipi_call_lock-ipi_call_unlock
        tile: SMP: Remove call to ipi_call_lock()/ipi_call_unlock()
        S390: Smp: remove call to ipi_call_lock()/ipi_call_unlock()
        parisc: Smp: remove call to ipi_call_lock()/ipi_call_unlock()
        mn10300: SMP: Remove call to ipi_call_lock()/ipi_call_unlock()
        hexagon: SMP: Remove call to ipi_call_lock()/ipi_call_unlock()
      55acdddb
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2eafeb6a
      Linus Torvalds authored
      Pull perf events changes from Ingo Molnar:
      
       "- kernel side:
      
         - Intel uncore PMU support for Nehalem and Sandy Bridge CPUs, we
           support both the events available via the MSR and via the PCI
           access space.
      
         - various uprobes cleanups and restructurings
      
         - PMU driver quirks by microcode version and required x86 microcode
           loader cleanups/robustization
      
         - various tracing robustness updates
      
         - static keys: remove obsolete static_branch()
      
        - tooling side:
      
         - GTK browser improvements
      
         - perf report browser: support screenshots to file
      
         - more automated tests
      
         - perf kvm improvements
      
         - perf bench refinements
      
         - build environment improvements
      
         - pipe mode improvements
      
         - libtraceevent updates, we have now hopefully merged most bits with
           the out of tree forked code base
      
        ... and many other goodies."
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (138 commits)
        tracing: Check for allocation failure in __tracing_open()
        perf/x86: Fix intel_perfmon_event_mapformatting
        jump label: Remove static_branch()
        tracepoint: Use static_key_false(), since static_branch() is deprecated
        perf/x86: Uncore filter support for SandyBridge-EP
        perf/x86: Detect number of instances of uncore CBox
        perf/x86: Fix event constraint for SandyBridge-EP C-Box
        perf/x86: Use 0xff as pseudo code for fixed uncore event
        perf/x86: Save a few bytes in 'struct x86_pmu'
        perf/x86: Add a microcode revision check for SNB-PEBS
        perf/x86: Improve debug output in check_hw_exists()
        perf/x86/amd: Unify AMD's generic and family 15h pmus
        perf/x86: Move Intel specific code to intel_pmu_init()
        perf/x86: Rename Intel specific macros
        perf/x86: Fix USER/KERNEL tagging of samples
        perf tools: Split event symbols arrays to hw and sw parts
        perf tools: Split out PE_VALUE_SYM parsing token to SW and HW tokens
        perf tools: Add empty rule for new line in event syntax parsing
        perf test: Use ARRAY_SIZE in parse events tests
        tools lib traceevent: Cleanup realloc use
        ...
      2eafeb6a