07 Nov, 2015

10 commits

  • Make is_partial_io()/valid_io_request()/page_zero_filled() return boolean,
    since each function only uses either one or zero as its return value.

    Signed-off-by: Geliang Tang
    Reviewed-by: Sergey Senozhatsky
    Cc: Minchan Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geliang Tang
     
  • `mem_used_max' is designed to store the max amount of memory zram consumed
    to store the data. However, it does not represent the actual
    'overcommited' (max) value. The existing code goes to -ENOMEM
    overcommited case before it updates `->stats.max_used_pages', which hides
    the reason we went to -ENOMEM in the first place -- we actually used more
    memory than `->limit_pages':

    alloced_pages = zs_get_total_pages(meta->mem_pool);
    if (zram->limit_pages && alloced_pages > zram->limit_pages) {
    zs_free(meta->mem_pool, handle);
    ret = -ENOMEM;
    goto out;
    }

    update_used_max(zram, alloced_pages);

    Which is misleading. User will see -ENOMEM, check `->limit_pages', check
    `->stats.max_used_pages', which will keep the value BEFORE zram passed
    `->limit_pages', and see:
    `->stats.max_used_pages' < `->limit_pages'

    Move update_used_max() before we do `->limit_pages' check, so that
    user will see:
    `->stats.max_used_pages' > `->limit_pages'
    should the overcommit and -ENOMEM happen.

    Signed-off-by: Sergey Senozhatsky
    Acked-by: Minchan Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sergey SENOZHATSKY
     
  • When the user supplies an unsupported compression algorithm, keep the
    previously selected one (knowingly supported) or the default one (if the
    compression algorithm hasn't been changed yet).

    Note that previously this operation (i.e. setting an invalid algorithm)
    would result in no algorithm being selected, which means that this
    represents a small change in the default behaviour.

    Minchan said:

    For initializing zram, we need to set up 3 optional parameters in advance.

    1. the number of compression streams
    2. memory limitation
    3. compression algorithm

    Although user pass completely wrong value to set up for 1 and 2
    parameters, it's okay because they have default value so zram will be
    initialized with the default value (of course, when user passes a wrong
    value via *echo*, sysfs returns -EINVAL so the user can notice it).

    But 3 is not consistent with other optional parameters. IOW, if the
    user passes a wrong value to set up 3 parameter, zram's initialization
    would fail unlike other optional parameters.

    So this patch makes them consistent.

    Signed-off-by: Luis Henriques
    Acked-by: Minchan Kim
    Acked-by: Sergey Senozhatsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Luis Henriques
     
  • There are many places which use mapping_gfp_mask to restrict a more
    generic gfp mask which would be used for allocations which are not
    directly related to the page cache but they are performed in the same
    context.

    Let's introduce a helper function which makes the restriction explicit and
    easier to track. This patch doesn't introduce any functional changes.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Michal Hocko
    Suggested-by: Andrew Morton
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Hocko
     
  • __GFP_WAIT was used to signal that the caller was in atomic context and
    could not sleep. Now it is possible to distinguish between true atomic
    context and callers that are not willing to sleep. The latter should
    clear __GFP_DIRECT_RECLAIM so kswapd will still wake. As clearing
    __GFP_WAIT behaves differently, there is a risk that people will clear the
    wrong flags. This patch renames __GFP_WAIT to __GFP_RECLAIM to clearly
    indicate what it does -- setting it allows all reclaim activity, clearing
    them prevents it.

    [akpm@linux-foundation.org: fix build]
    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Mel Gorman
    Acked-by: Michal Hocko
    Acked-by: Vlastimil Babka
    Acked-by: Johannes Weiner
    Cc: Christoph Lameter
    Acked-by: David Rientjes
    Cc: Vitaly Wool
    Cc: Rik van Riel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mel Gorman
     
  • GFP_IOFS was intended to be shorthand for clearing two flags, not a set of
    allocation flags. There is only one user of this flag combination now and
    there appears to be no reason why Lustre had to be protected from reclaim
    stalls. As none of the sites appear to be atomic, this patch simply
    deletes GFP_IOFS and converts Lustre to using GFP_KERNEL, GFP_NOFS or
    GFP_NOIO as appropriate.

    Signed-off-by: Mel Gorman
    Cc: Oleg Drokin
    Cc: Andreas Dilger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mel Gorman
     
  • …d avoiding waking kswapd

    __GFP_WAIT has been used to identify atomic context in callers that hold
    spinlocks or are in interrupts. They are expected to be high priority and
    have access one of two watermarks lower than "min" which can be referred
    to as the "atomic reserve". __GFP_HIGH users get access to the first
    lower watermark and can be called the "high priority reserve".

    Over time, callers had a requirement to not block when fallback options
    were available. Some have abused __GFP_WAIT leading to a situation where
    an optimisitic allocation with a fallback option can access atomic
    reserves.

    This patch uses __GFP_ATOMIC to identify callers that are truely atomic,
    cannot sleep and have no alternative. High priority users continue to use
    __GFP_HIGH. __GFP_DIRECT_RECLAIM identifies callers that can sleep and
    are willing to enter direct reclaim. __GFP_KSWAPD_RECLAIM to identify
    callers that want to wake kswapd for background reclaim. __GFP_WAIT is
    redefined as a caller that is willing to enter direct reclaim and wake
    kswapd for background reclaim.

    This patch then converts a number of sites

    o __GFP_ATOMIC is used by callers that are high priority and have memory
    pools for those requests. GFP_ATOMIC uses this flag.

    o Callers that have a limited mempool to guarantee forward progress clear
    __GFP_DIRECT_RECLAIM but keep __GFP_KSWAPD_RECLAIM. bio allocations fall
    into this category where kswapd will still be woken but atomic reserves
    are not used as there is a one-entry mempool to guarantee progress.

    o Callers that are checking if they are non-blocking should use the
    helper gfpflags_allow_blocking() where possible. This is because
    checking for __GFP_WAIT as was done historically now can trigger false
    positives. Some exceptions like dm-crypt.c exist where the code intent
    is clearer if __GFP_DIRECT_RECLAIM is used instead of the helper due to
    flag manipulations.

    o Callers that built their own GFP flags instead of starting with GFP_KERNEL
    and friends now also need to specify __GFP_KSWAPD_RECLAIM.

    The first key hazard to watch out for is callers that removed __GFP_WAIT
    and was depending on access to atomic reserves for inconspicuous reasons.
    In some cases it may be appropriate for them to use __GFP_HIGH.

    The second key hazard is callers that assembled their own combination of
    GFP flags instead of starting with something like GFP_KERNEL. They may
    now wish to specify __GFP_KSWAPD_RECLAIM. It's almost certainly harmless
    if it's missed in most cases as other activity will wake kswapd.

    Signed-off-by: Mel Gorman <mgorman@techsingularity.net>
    Acked-by: Vlastimil Babka <vbabka@suse.cz>
    Acked-by: Michal Hocko <mhocko@suse.com>
    Acked-by: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Christoph Lameter <cl@linux.com>
    Cc: David Rientjes <rientjes@google.com>
    Cc: Vitaly Wool <vitalywool@gmail.com>
    Cc: Rik van Riel <riel@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

    Mel Gorman
     
  • Pull backlight updates from Lee Jones:
    "New Device Support
    - None

    New Functionality:
    - None

    Core Frameworks:
    - Reject legacy PWM request for device defined in DT

    Fix-ups:
    - Remove unnecessary MODULE_ALIAS(); adp8860_bl, adp8870_bl
    - Simplify code: pm8941-wled
    - Supply default-brightness logic; pm8941-wled

    Bug Fixes:
    - Clean up OF node; 88pm860x_bl
    - Ensure struct is zeroed; lp855x_bl"

    * tag 'backlight-for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
    backlight: pm8941-wled: Add default-brightness property
    backlight: pm8941-wled: Fix ptr_ret.cocci warnings
    backlight: pwm: Reject legacy PWM request for device defined in DT
    backlight: 88pm860x_bl: Add missing of_node_put
    backlight: adp8870: Remove unnecessary MODULE_ALIAS()
    backlight: adp8860: Remove unnecessary MODULE_ALIAS()
    backlight: lp855x: Make sure props struct is zeroed

    Linus Torvalds
     
  • Commit b158b69a3765 ("mfd: rtsx: Simplify function return logic")
    removed the use of the 'err' variable, but left the variable itself
    around, resulting in gcc quite reasonably warning:

    drivers/mfd/rtsx_pcr.c: In function ‘rtsx_pci_set_pull_ctl’:
    drivers/mfd/rtsx_pcr.c:565:6: warning: unused variable ‘err’ [-Wunused-variable]
    int err;
    ^

    Get rid of the unused variable, and avoid the new warning.

    Cc: Javier Martinez Canillas
    Cc: Lee Jones
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Pull MFD updates from Lee Jones:
    "New Device Support:
    - Add support for 88pm860; 88pm80x
    - Add support for 24c08 EEPROM; at24
    - Add support for Broxton Whiskey Cove; intel*
    - Add support for RTS522A; rts5227
    - Add support for I2C devices; intel_quark_i2c_gpio

    New Functionality:
    - Add microphone support; arizona
    - Add general purpose switch support; arizona
    - Add fuel-gauge support; da9150-core
    - Add shutdown support; sec-core
    - Add charger support; tps65217
    - Add flexible serial communication unit support; atmel-flexcom
    - Add power button support; axp20x
    - Add led-flash support; rt5033

    Core Frameworks:
    - Supply a generic macro for defining Regmap IRQs
    - Rework ACPI child device matching

    Fix-ups:
    - Use Regmap to access registers; tps6105x
    - Use DEFINE_RES_IRQ_NAMED() macro; da9150
    - Re-arrange device registration order; intel_quark_i2c_gpio
    - Allow OF matching; cros_ec_i2c, atmel-hlcdc, hi6421-pmic, max8997, sm501
    - Handle deferred probe; twl6040
    - Improve accuracy of headphone detect; arizona
    - Unnecessary MODULE_ALIAS() removal; bcm590xx, rt5033
    - Remove unused code; htc-i2cpld, arizona, pcf50633-irq, sec-core
    - Simplify code; kempld, rts5209, da903x, lm3533, da9052, arizona
    - Remove #iffery; arizona
    - DT binding adaptions; many

    Bug Fixes:
    - Fix possible NULL pointer dereference; wm831x, tps6105x
    - Fix 64bit bug; intel_soc_pmic_bxtwc
    - Fix signedness issue; arizona"

    * tag 'mfd-for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (73 commits)
    bindings: mfd: s2mps11: Add documentation for s2mps15 PMIC
    mfd: sec-core: Remove unused s2mpu02-rtc and s2mpu02-clk children
    extcon: arizona: Add extcon specific device tree binding document
    MAINTAINERS: Add binding docs for Cirrus Logic/Wolfson Arizona devices
    mfd: arizona: Remove bindings covered in new subsystem specific docs
    mfd: rt5033: Add RT5033 Flash led sub device
    mfd: lpss: Add Intel Broxton PCI IDs
    mfd: lpss: Add Broxton ACPI IDs
    mfd: arizona: Signedness bug in arizona_runtime_suspend()
    mfd: axp20x: Add a cell for the power button part of the, axp288 PMICs
    mfd: dt-bindings: Document pulled down WRSTBI pin on S2MPS1X
    mfd: sec-core: Disable buck voltage reset on watchdog falling edge
    mfd: sec-core: Dump PMIC revision to find out the HW
    mfd: arizona: Use correct type ID for device tree config
    mfd: arizona: Remove use of codec build config #ifdefs
    mfd: arizona: Simplify adding subdevices
    mfd: arizona: Downgrade type mismatch messages to dev_warn
    mfd: arizona: Factor out checking of jack detection state
    mfd: arizona: Factor out DCVDD isolation control
    mfd: Make TPS6105X select REGMAP_I2C
    ...

    Linus Torvalds
     

06 Nov, 2015

17 commits

  • …linux-platform-drivers-x86

    Pull x86 platform driver update from Darren Hart:
    "Various toshiba hotkey and keyboard related fixes and a new WMI
    driver. Several intel_scu_ipc cleanups and a locking fix. A
    spattering of small single fixes across various platforms.

    I was asked to pick up an OLPC cleanup as the driver appeared
    unmaintained and it seemed similar to what is maintained in
    platform/drivers/x86. I have included the patch and an update to the
    MAINTAINERS file.

    toshiba_acpi:
    - Initialize hotkey_event_type variable
    - Remove unneeded u32 variables from *setup_keyboard
    - Add 0x prefix to available_kbd_modes_show function
    - Change default Hotkey enabling value
    - Unify hotkey enabling functions

    toshiba-wmi:
    - Toshiba WMI Hotkey Driver

    intel_scu_ipc:
    - Protect dev member assignment on ->remove()
    - Switch to use module_pci_driver() macro
    - Convert to use struct device *
    - Propagate pointer to struct intel_scu_ipc_dev
    - Fix error path by turning to devm_* / pcim_*

    acer-wmi:
    - remove threeg and interface sysfs interfaces

    OLPC:
    - Use %*ph specifier instead of passing direct values

    MAINTAINERS:
    - Add drivers/platform/olpc to drivers/platform/x86

    sony-laptop:
    - Fix handling sony_nc_hotkeys_decode result

    intel_mid_powerbtn:
    - Remove misuse of IRQF_NO_SUSPEND flag

    compal-laptop:
    - Add charge control limit

    asus-wmi:
    - restore kbd led level after resume"

    * tag 'platform-drivers-x86-v4.4-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86:
    toshiba_acpi: Initialize hotkey_event_type variable
    intel_scu_ipc: Protect dev member assignment on ->remove()
    intel_scu_ipc: Switch to use module_pci_driver() macro
    intel_scu_ipc: Convert to use struct device *
    intel_scu_ipc: Propagate pointer to struct intel_scu_ipc_dev
    intel_scu_ipc: Fix error path by turning to devm_* / pcim_*
    acer-wmi: remove threeg and interface sysfs interfaces
    OLPC: Use %*ph specifier instead of passing direct values
    MAINTAINERS: Add drivers/platform/olpc to drivers/platform/x86
    platform/x86: Toshiba WMI Hotkey Driver
    sony-laptop: Fix handling sony_nc_hotkeys_decode result
    intel_mid_powerbtn: Remove misuse of IRQF_NO_SUSPEND flag
    compal-laptop: Add charge control limit
    asus-wmi: restore kbd led level after resume
    toshiba_acpi: Remove unneeded u32 variables from *setup_keyboard
    toshiba_acpi: Add 0x prefix to available_kbd_modes_show function
    toshiba_acpi: Change default Hotkey enabling value
    toshiba_acpi: Unify hotkey enabling functions

    Linus Torvalds
     
  • Pull powerpc updates from Michael Ellerman:

    - Kconfig: remove BE-only platforms from LE kernel build from Boqun
    Feng
    - Refresh ps3_defconfig from Geoff Levand
    - Emit GNU & SysV hashes for the vdso from Michael Ellerman
    - Define an enum for the bolted SLB indexes from Anshuman Khandual
    - Use a local to avoid multiple calls to get_slb_shadow() from Michael
    Ellerman
    - Add gettimeofday() benchmark from Michael Neuling
    - Avoid link stack corruption in __get_datapage() from Michael Neuling
    - Add virt_to_pfn and use this instead of opencoding from Aneesh Kumar
    K.V
    - Add ppc64le_defconfig from Michael Ellerman
    - pseries: extract of_helpers module from Andy Shevchenko
    - Correct string length in pseries_of_derive_parent() from Nathan
    Fontenot
    - Free the MSI bitmap if it was slab allocated from Denis Kirjanov
    - Shorten irq_chip name for the SIU from Christophe Leroy
    - Wait 1s for secondaries to enter OPAL during kexec from Samuel
    Mendoza-Jonas
    - Fix _ALIGN_* errors due to type difference, from Aneesh Kumar K.V
    - powerpc/pseries/hvcserver: don't memset pi_buff if it is null from
    Colin Ian King
    - Disable hugepd for 64K page size, from Aneesh Kumar K.V
    - Differentiate between hugetlb and THP during page walk from Aneesh
    Kumar K.V
    - Make PCI non-optional for pseries from Michael Ellerman
    - Individual System V IPC system calls from Sam bobroff
    - Add selftest of unmuxed IPC calls from Michael Ellerman
    - discard .exit.data at runtime from Stephen Rothwell
    - Delete old orphaned PrPMC 280/2800 DTS and boot file, from Paul
    Gortmaker
    - Use of_get_next_parent to simplify code from Christophe Jaillet
    - Paginate some xmon output from Sam bobroff
    - Add some more elements to the xmon PACA dump from Michael Ellerman
    - Allow the tm-syscall selftest to build with old headers from Michael
    Ellerman
    - Run EBB selftests only on POWER8 from Denis Kirjanov
    - Drop CONFIG_TUNE_CELL in favour of CONFIG_CELL_CPU from Michael
    Ellerman
    - Avoid reference to potentially freed memory in prom.c from Christophe
    Jaillet
    - Quieten boot wrapper output with run_cmd from Geoff Levand
    - EEH fixes and cleanups from Gavin Shan
    - Fix recursive fenced PHB on Broadcom shiner adapter from Gavin Shan
    - Use of_get_next_parent() in of_get_ibm_chip_id() from Michael
    Ellerman
    - Fix section mismatch warning in msi_bitmap_alloc() from Denis
    Kirjanov
    - Fix ps3-lpm white space from Rudhresh Kumar J
    - Fix ps3-vuart null dereference from Colin King
    - nvram: Add missing kfree in error path from Christophe Jaillet
    - nvram: Fix function name in some errors messages, from Christophe
    Jaillet
    - drivers/macintosh: adb: fix misleading Kconfig help text from Aaro
    Koskinen
    - agp/uninorth: fix a memleak in create_gatt_table from Denis Kirjanov
    - cxl: Free virtual PHB when removing from Andrew Donnellan
    - scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be a target from
    Michael Ellerman
    - scripts/kconfig/Makefile: Fix KBUILD_DEFCONFIG check when building
    with O= from Michael Ellerman
    - Freescale updates from Scott: Highlights include 64-bit book3e
    kexec/kdump support, a rework of the qoriq clock driver, device tree
    changes including qoriq fman nodes, support for a new 85xx board, and
    some fixes.
    - MPC5xxx updates from Anatolij: Highlights include a driver for
    MPC512x LocalPlus Bus FIFO with its device tree binding
    documentation, mpc512x device tree updates and some minor fixes.

    * tag 'powerpc-4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (106 commits)
    powerpc/msi: Fix section mismatch warning in msi_bitmap_alloc()
    powerpc/prom: Use of_get_next_parent() in of_get_ibm_chip_id()
    powerpc/pseries: Correct string length in pseries_of_derive_parent()
    powerpc/e6500: hw tablewalk: make sure we invalidate and write to the same tlb entry
    powerpc/mpc85xx: Add FSL QorIQ DPAA FMan support to the SoC device tree(s)
    powerpc/mpc85xx: Create dts components for the FSL QorIQ DPAA FMan
    powerpc/fsl: Add #clock-cells and clockgen label to clockgen nodes
    powerpc: handle error case in cpm_muram_alloc()
    powerpc: mpic: use IRQCHIP_SKIP_SET_WAKE instead of redundant mpic_irq_set_wake
    powerpc/book3e-64: Enable kexec
    powerpc/book3e-64/kexec: Set "r4 = 0" when entering spinloop
    powerpc/booke: Only use VIRT_PHYS_OFFSET on booke32
    powerpc/book3e-64/kexec: Enable SMP release
    powerpc/book3e-64/kexec: create an identity TLB mapping
    powerpc/book3e-64: Don't limit paca to 256 MiB
    powerpc/book3e/kdump: Enable crash_kexec_wait_realmode
    powerpc/book3e: support CONFIG_RELOCATABLE
    powerpc/booke64: Fix args to copy_and_flush
    powerpc/book3e-64: rename interrupt_end_book3e with __end_interrupts
    powerpc/e6500: kexec: Handle hardware threads
    ...

    Linus Torvalds
     
  • Pull KVM updates from Paolo Bonzini:
    "First batch of KVM changes for 4.4.

    s390:
    A bunch of fixes and optimizations for interrupt and time handling.

    PPC:
    Mostly bug fixes.

    ARM:
    No big features, but many small fixes and prerequisites including:

    - a number of fixes for the arch-timer

    - introducing proper level-triggered semantics for the arch-timers

    - a series of patches to synchronously halt a guest (prerequisite
    for IRQ forwarding)

    - some tracepoint improvements

    - a tweak for the EL2 panic handlers

    - some more VGIC cleanups getting rid of redundant state

    x86:
    Quite a few changes:

    - support for VT-d posted interrupts (i.e. PCI devices can inject
    interrupts directly into vCPUs). This introduces a new
    component (in virt/lib/) that connects VFIO and KVM together.
    The same infrastructure will be used for ARM interrupt
    forwarding as well.

    - more Hyper-V features, though the main one Hyper-V synthetic
    interrupt controller will have to wait for 4.5. These will let
    KVM expose Hyper-V devices.

    - nested virtualization now supports VPID (same as PCID but for
    vCPUs) which makes it quite a bit faster

    - for future hardware that supports NVDIMM, there is support for
    clflushopt, clwb, pcommit

    - support for "split irqchip", i.e. LAPIC in kernel +
    IOAPIC/PIC/PIT in userspace, which reduces the attack surface of
    the hypervisor

    - obligatory smattering of SMM fixes

    - on the guest side, stable scheduler clock support was rewritten
    to not require help from the hypervisor"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (123 commits)
    KVM: VMX: Fix commit which broke PML
    KVM: x86: obey KVM_X86_QUIRK_CD_NW_CLEARED in kvm_set_cr0()
    KVM: x86: allow RSM from 64-bit mode
    KVM: VMX: fix SMEP and SMAP without EPT
    KVM: x86: move kvm_set_irq_inatomic to legacy device assignment
    KVM: device assignment: remove pointless #ifdefs
    KVM: x86: merge kvm_arch_set_irq with kvm_set_msi_inatomic
    KVM: x86: zero apic_arb_prio on reset
    drivers/hv: share Hyper-V SynIC constants with userspace
    KVM: x86: handle SMBASE as physical address in RSM
    KVM: x86: add read_phys to x86_emulate_ops
    KVM: x86: removing unused variable
    KVM: don't pointlessly leave KVM_COMPAT=y in non-KVM configs
    KVM: arm/arm64: Merge vgic_set_lr() and vgic_sync_lr_elrsr()
    KVM: arm/arm64: Clean up vgic_retire_lr() and surroundings
    KVM: arm/arm64: Optimize away redundant LR tracking
    KVM: s390: use simple switch statement as multiplexer
    KVM: s390: drop useless newline in debugging data
    KVM: s390: SCA must not cross page boundaries
    KVM: arm: Do not indent the arguments of DECLARE_BITMAP
    ...

    Linus Torvalds
     
  • Pull SCSI updates from James Bottomley:
    "First round of SCSI updates for the 4.4 merge window.

    This batch includes a couple of minor fixes, some core changes to help
    issues we're still seeing with the suspend/resume code and updates to
    lpfc and cxlflash.

    We're (actually Martin Petersen is) trying to wrangle a mpt2/mpt3sas
    merger for the merge window which will help enormously with the
    maintenance burden, so there will be another round before it closes"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (56 commits)
    cxlflash: Fix to avoid bypassing context cleanup
    cxlflash: Fix to avoid lock instrumentation rejection
    cxlflash: Fix to avoid corrupting port selection mask
    cxlflash: Fix to escalate to LINK_RESET on login timeout
    cxlflash: Fix to avoid leaving dangling interrupt resources
    cxlflash: Fix to avoid potential deadlock on EEH
    cxlflash: Correct trace string
    cxlflash: Fix to avoid corrupting adapter fops
    cxlflash: Fix to double the delay each time
    MAINTAINERS: Add cxlflash driver
    cxlflash: Fix to prevent stale AFU RRQ
    cxlflash: Correct spelling, grammar, and alignment mistakes
    cxlflash: Fix to prevent EEH recovery failure
    cxlflash: Fix MMIO and endianness errors
    cxlflash: Fix function prolog parameters and return codes
    cxlflash: Remove unnecessary scsi_block_requests
    cxlflash: Correct behavior in device reset handler following EEH
    cxlflash: Fix to prevent workq from accessing freed memory
    cxlflash: Correct usage of scsi_host_put()
    cxlflash: Fix AFU version access/storage and add check
    ...

    Linus Torvalds
     
  • Pull iommu updates from Joerg Roedel:
    "This time including:

    - A new IOMMU driver for s390 pci devices

    - Common dma-ops support based on iommu-api for ARM64. The plan is
    to use this as a basis for ARM32 and hopefully other architectures
    as well in the future.

    - MSI support for ARM-SMMUv3

    - Cleanups and dead code removal in the AMD IOMMU driver

    - Better RMRR handling for the Intel VT-d driver

    - Various other cleanups and small fixes"

    * tag 'iommu-updates-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (41 commits)
    iommu/vt-d: Fix return value check of parse_ioapics_under_ir()
    iommu/vt-d: Propagate error-value from ir_parse_ioapic_hpet_scope()
    iommu/vt-d: Adjust the return value of the parse_ioapics_under_ir
    iommu: Move default domain allocation to iommu_group_get_for_dev()
    iommu: Remove is_pci_dev() fall-back from iommu_group_get_for_dev
    iommu/arm-smmu: Switch to device_group call-back
    iommu/fsl: Convert to device_group call-back
    iommu: Add device_group call-back to x86 iommu drivers
    iommu: Add generic_device_group() function
    iommu: Export and rename iommu_group_get_for_pci_dev()
    iommu: Revive device_group iommu-ops call-back
    iommu/amd: Remove find_last_devid_on_pci()
    iommu/amd: Remove first/last_device handling
    iommu/amd: Initialize amd_iommu_last_bdf for DEV_ALL
    iommu/amd: Cleanup buffer allocation
    iommu/amd: Remove cmd_buf_size and evt_buf_size from struct amd_iommu
    iommu/amd: Align DTE flag definitions
    iommu/amd: Remove old alias handling code
    iommu/amd: Set alias DTE in do_attach/do_detach
    iommu/amd: WARN when __[attach|detach]_device are called with irqs enabled
    ...

    Linus Torvalds
     
  • Commit 53147b6cabee5e8d1997b5682fcc0c3b72ddf9c2 ("toshiba_acpi: Fix
    hotkeys registration on some toshiba models") fixed an issue on some
    laptops regarding hotkeys registration, however, if failed to address
    the initialization of the hotkey_event_type variable, and thus, it can
    lead to potential unwanted effects as the variable is being checked.

    This patch initializes such variable to avoid such unwanted effects.

    Cc: # 4.1+
    Signed-off-by: Azael Avalos
    Signed-off-by: Darren Hart

    Azael Avalos
     
  • Pull intel iommu updates from David Woodhouse:
    "This adds "Shared Virtual Memory" (aka PASID support) for the Intel
    IOMMU. This allows devices to do DMA using process address space,
    translated through the normal CPU page tables for the relevant mm.

    With corresponding support added to the i915 driver, this has been
    tested with the graphics device on Skylake. We don't have the
    required TLP support in our PCIe root ports for supporting discrete
    devices yet, so it's only integrated devices that can do it so far"

    * git://git.infradead.org/intel-iommu: (23 commits)
    iommu/vt-d: Fix rwxp flags in SVM device fault callback
    iommu/vt-d: Expose struct svm_dev_ops without CONFIG_INTEL_IOMMU_SVM
    iommu/vt-d: Clean up pasid_enabled() and ecs_enabled() dependencies
    iommu/vt-d: Handle Caching Mode implementations of SVM
    iommu/vt-d: Fix SVM IOTLB flush handling
    iommu/vt-d: Use dev_err(..) in intel_svm_device_to_iommu(..)
    iommu/vt-d: fix a loop in prq_event_thread()
    iommu/vt-d: Fix IOTLB flushing for global pages
    iommu/vt-d: Fix address shifting in page request handler
    iommu/vt-d: shift wrapping bug in prq_event_thread()
    iommu/vt-d: Fix NULL pointer dereference in page request error case
    iommu/vt-d: Implement SVM_FLAG_SUPERVISOR_MODE for kernel access
    iommu/vt-d: Implement SVM_FLAG_PRIVATE_PASID to allocate unique PASIDs
    iommu/vt-d: Add callback to device driver on page faults
    iommu/vt-d: Implement page request handling
    iommu/vt-d: Generalise DMAR MSI setup to allow for page request events
    iommu/vt-d: Implement deferred invalidate for SVM
    iommu/vt-d: Add basic SVM PASID support
    iommu/vt-d: Always enable PASID/PRI PCI capabilities before ATS
    iommu/vt-d: Add initial support for PASID tables
    ...

    Linus Torvalds
     
  • Pull security subsystem update from James Morris:
    "This is mostly maintenance updates across the subsystem, with a
    notable update for TPM 2.0, and addition of Jarkko Sakkinen as a
    maintainer of that"

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (40 commits)
    apparmor: clarify CRYPTO dependency
    selinux: Use a kmem_cache for allocation struct file_security_struct
    selinux: ioctl_has_perm should be static
    selinux: use sprintf return value
    selinux: use kstrdup() in security_get_bools()
    selinux: use kmemdup in security_sid_to_context_core()
    selinux: remove pointless cast in selinux_inode_setsecurity()
    selinux: introduce security_context_str_to_sid
    selinux: do not check open perm on ftruncate call
    selinux: change CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE default
    KEYS: Merge the type-specific data with the payload data
    KEYS: Provide a script to extract a module signature
    KEYS: Provide a script to extract the sys cert list from a vmlinux file
    keys: Be more consistent in selection of union members used
    certs: add .gitignore to stop git nagging about x509_certificate_list
    KEYS: use kvfree() in add_key
    Smack: limited capability for changing process label
    TPM: remove unnecessary little endian conversion
    vTPM: support little endian guests
    char: Drop owner assignment from i2c_driver
    ...

    Linus Torvalds
     
  • Pull libata updates from Tejun Heo:
    "Most are ahci and other device specific additions. Dan cleaned up
    ahci IRQ handling to prepare for future MSIX changes. On the libata
    core side, Vinayak updated SG handling so that NCQ commands can be
    issued through SG_IO and Christoph cleaned up code a bit. There's one
    merge from for-4.3-fixes to include a pata_macio commit that didn't
    get pushed out"

    * 'for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
    ahci: add new Intel device IDs
    ahci: Add Marvell 88se91a2 device id
    ahci: cleanup ahci_host_activate_multi_irqs
    ahci: ahci_host_activate: kill IRQF_SHARED
    devicetree: bindings: Fixed a few typos
    ahci: qoriq: Disable NCQ on ls2080a SoC
    ahci: qoriq: Rename LS2085A SoC support code to LS2080A
    libata: enable LBA flag in taskfile for ata_scsi_pass_thru()
    libata: add support for NCQ commands for SG interface
    ahci: qoriq: Fix a compiling warning
    pata_it821x: use "const char *" for string literals
    libata: only call ->done once all per-tag ressources are released
    libata: cleanup ata_scsi_qc_complete
    ata: ahci: find eSATA ports and flag them as removable
    libata: samsung_cf: fix handling platform_get_irq result
    ata: pata_macio: Fix module autoload for OF platform driver
    ata: pata_pxa: dmaengine conversion
    ahci: added a new driver for supporting Freescale AHCI sata
    devicetree:bindings: add devicetree bindings for Freescale AHCI
    Revert "ahci: added support for Freescale AHCI sata"

    Linus Torvalds
     
  • Pull spi updates from Mark Brown:
    "Quite a lot of activity in SPI this cycle, almost all of it in drivers
    with a few minor improvements and tweaks in the core.

    - Updates to pxa2xx to support Intel Broxton and multiple chip selects.
    - Support for big endian in the bcm63xx driver.
    - Multiple slave support for the mt8173
    - New driver for the auxiliary SPI controller in bcm2835 SoCs.
    - Support for Layerscale SoCs in the Freescale DSPI driver"

    * tag 'spi-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (87 commits)
    spi: pxa2xx: Rework self-initiated platform data creation for non-ACPI
    spi: pxa2xx: Add support for Intel Broxton
    spi: pxa2xx: Detect number of enabled Intel LPSS SPI chip select signals
    spi: pxa2xx: Add output control for multiple Intel LPSS chip selects
    spi: pxa2xx: Use LPSS prefix for defines that are Intel LPSS specific
    spi: Add DSPI support for layerscape family
    spi: ti-qspi: improve ->remove() callback
    spi/spi-xilinx: Fix race condition on last word read
    spi: Drop owner assignment from spi_drivers
    spi: Add THIS_MODULE to spi_driver in SPI core
    spi: Setup the master controller driver before setting the chipselect
    spi: dw: replace magic constant by DW_SPI_DR
    spi: mediatek: mt8173 spi multiple devices support
    spi: mediatek: handle controller_data in mtk_spi_setup
    spi: mediatek: remove mtk_spi_config
    spi: mediatek: Update document devicetree bindings to support multiple devices
    spi: fix kernel-doc warnings about missing return desc in spi.c
    spi: fix kernel-doc warnings about missing return desc in spi.h
    spi: pxa2xx: Align a few defines
    spi: pxa2xx: Save other reg_cs_ctrl bits when configuring chip select
    ...

    Linus Torvalds
     
  • Pull regulator updates from Mark Brown:
    "This is quite a quiet release in terms of volume of patches but it
    includes a couple of really nice core changes - the work Sascha has
    done in particular is something I've wanted to get done for a long
    time but just never got round to myself.

    Highlights include:

    - Support from Sascha Hauer for setting the voltage of parent
    supplies based on requests from their children. This is used both
    to allow set_voltage() to work through a dumb switch and to improve
    the efficiency of systems where DCDCs are used to supply LDOs by
    minimising the voltage drop over the LDOs.

    - Removal of regulator_list by Tomeu Vizoso, meaning we're not
    duplicating the device list maintained by the driver core.

    - Support for Wolfson/Cirrus WM8998 and WM1818"

    * tag 'regulator-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (29 commits)
    regulator: Use regulator_lock_supply() for get_voltage() too
    regulator: arizona: Add regulator specific device tree binding document
    regulator: stw481x: compile on COMPILE_TEST
    regulator: qcom-smd: Correct set_load() unit
    regulator: core: Propagate voltage changes to supply regulators
    regulator: core: Factor out regulator_map_voltage
    regulator: i.MX anatop: Allow supply regulator
    regulator: introduce min_dropout_uV
    regulator: core: create unlocked version of regulator_set_voltage
    regulator: arizona-ldo1: Fix handling of GPIO 0
    regulator: da9053: Update regulator for DA9053 BC silicon support
    regulator: max77802: Separate sections for nodes and properties
    regulator: max77802: Add input supply properties to DT binding doc
    regulator: axp20x: set supply names for AXP22X DC1SW/DC5LDO internally
    regulator: axp20x: Drop AXP221 DC1SW and DC5LDO regulator supplies from bindings
    mfd: tps6105x: Use i2c regmap to access registers
    regulator: act8865: add DT binding for property "active-semi,vsel-high"
    regulator: act8865: support output voltage by VSET2[] bits
    regulator: arizona: add support for WM8998 and WM1814
    regulator: core: create unlocked version of regulator_list_voltage
    ...

    Linus Torvalds
     
  • Pull clk updates from Stephen Boyd:
    "The majority of the changes are driver updates and new device support.
    The core framework is mostly unchanged this time around, with only a
    couple patches to expose a clk provider API and make getting clk
    parent names from DT more robust.

    Driver updates:

    - Support for clock controllers found on Broadcom Northstar SoCs and
    bcm2835 SoC

    - Support for Allwinner audio clocks

    - A few cleanup patches for Tegra drivers and support for the highest
    DFLL frequencies on Tegra124

    - Samsung exynos7 fixes and improvements

    - i.Mx SoC updates to add a few missing clocks and keep debug uart
    clocks on during kernel intialization

    - Some mediatek cleanups and support for more subsystem clocks

    - Support for msm8916 gpu/audio clocks and qcom's GDSC power domain
    controllers

    - A new driver for the Silabs si514 clock chip"

    * tag 'clk-for-linus-20151104' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (143 commits)
    clk: qcom: msm8960: Fix dsi1/2 halt bits
    clk: lpc18xx-cgu: fix potential system hang when disabling unused clocks
    clk: lpc18xx-ccu: fix potential system hang when disabling unused clocks
    clk: Add clk_hw_is_enabled() for use by clk providers
    clk: Add stubs for of_clk_*() APIs when CONFIG_OF=n
    clk: versatile-icst: fix memory leak
    clk: Remove clk_{register,unregister}_multiplier()
    clk: iproc: define Broadcom NS2 iProc clock binding
    clk: iproc: define Broadcom NSP iProc clock binding
    clk: ns2: add clock support for Broadcom Northstar 2 SoC
    clk: iproc: Separate status and control variables
    clk: iproc: Split off dig_filter
    clk: iproc: Add PLL base write function
    clk: nsp: add clock support for Broadcom Northstar Plus SoC
    clk: iproc: Add PWRCTRL support
    clk: cygnus: Convert all macros to all caps
    ARM: cygnus: fix link failures when CONFIG_COMMON_CLK_IPROC is disabled
    clk: imx31: add missing of_node_put
    clk: imx27: add missing of_node_put
    clk: si5351: add missing of_node_put
    ...

    Linus Torvalds
     
  • Pull power supply and reset updates from Sebastian Reichel:
    - new AXP20X USB Power driver
    - new Qualcomm SMBB driver
    - new TPS65217 Charger driver
    - BQ24257: add BQ24250/BQ24251 support
    - overhaul bq27x00 battery driver, rename to bq27xxx
    - misc fixes and cleanups

    * tag 'for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (54 commits)
    power: bq27xxx_battery: Remove unneeded dependency in Kconfig
    power: bq27xxx_battery: move irq handler to i2c section
    power: bq27xxx_battery: fix platform probe
    twl4030_charger: add missing iio dependency
    power_supply: charger-manager: add missing of_node_put
    Documentation: power: bq24257: Document exported sysfs entries
    power: bq24257: Add various device-specific sysfs properties
    power: bq24257: Allow input current limit sysfs access
    power: bq24257: Add input DPM voltage threshold setting support
    power: bq24257: Add over voltage protection setting support
    power: bq24257: Add SW-based approach for Power Good determination
    power: bq24257: Allow manual setting of input current limit
    power: bq24257: Add bit definition for temp sense enable
    power: bq24257: Add basic support for bq24250/bq24251
    dt: power: bq24257-charger: Cover additional devices
    power: bq24257: Simplify bq24257_power_supply_init()
    power: bq24257: Use managed power supply register
    power: bq24257: Streamline input current limit setup
    power: bq24257: Remove IRQ config through stat-gpios
    power: bq27xxx_battery: fix signedness bug in bq27xxx_battery_read_health()
    ...

    Linus Torvalds
     
  • Pull HSI updates from Sebastian Reichel:
    "Misc fixes"

    * tag 'hsi-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
    hsi: controllers:remove redundant code
    hsi: correctly handle return value of kzalloc
    hsi: omap_ssi_port: Prevent warning if cawake_gpio is not defined.
    hsi: fix double kfree
    HSI: Fix a typo

    Linus Torvalds
     
  • Pull media updates from Mauro Carvalho Chehab:
    "Media updates, including:

    - Lots of improvements at the kABI documentation
    - Split of Videobuf2 into a common part and a V4L2 specific one
    - Split of the VB2 tracing events into a separate header file
    - s5p-mfc got support for Exynos 5433
    - v4l2 fixes for 64-bits alignment when running 32 bits userspace
    on ARM
    - Added support for SDR radio transmitter at core, vivid and hackrf
    drivers
    - Some y2038 fixups
    - Some improvements at V4L2 colorspace support
    - saa7164 converted to use the V4L2 core control framework
    - several new boards additions, cleanups and fixups

    PS: There are two patches for scripts/kernel-doc that are needed by
    the documentation patches on Media. Jon is OK on merging those via
    my tree"

    * tag 'media/v4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (146 commits)
    [media] c8sectpfe: Remove select on CONFIG_FW_LOADER_USER_HELPER_FALLBACK
    [media] DocBook media: update copyright/version numbers
    [media] ivtv: Convert to get_user_pages_unlocked()
    [media] media/v4l2-ctrls: fix setting autocluster to manual with VIDIOC_S_CTRL
    [media] DocBook media: Fix a typo in encoder cmd
    [media] DocBook: add SDR specific info to G_MODULATOR / S_MODULATOR
    [media] DocBook: add SDR specific info to G_TUNER / S_TUNER
    [media] hackrf: do not set human readable name for formats
    [media] hackrf: add support for transmitter
    [media] hackrf: switch to single function which configures everything
    [media] hackrf: add control for RF amplifier
    [media] DocBook: add modulator type field
    [media] v4l: add type field to v4l2_modulator struct
    [media] DocBook: document SDR transmitter
    [media] v4l2: add support for SDR transmitter
    [media] DocBook: document tuner RF gain control
    [media] v4l2: add RF gain control
    [media] v4l2: rename V4L2_TUNER_ADC to V4L2_TUNER_SDR
    [media] media/vivid-osd: fix info leak in ioctl
    [media] media: videobuf2: Move v4l2-specific stuff to videobuf2-v4l2
    ...

    Linus Torvalds
     
  • Pull pstore updates from Tony Luck:
    "Half dozen small cleanups plus change to allow pstore backend drivers
    to be unloaded"

    * tag 'please-pull-pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
    pstore: fix code comment to match code
    efi-pstore: fix kernel-doc argument name
    pstore: Fix return type of pstore_is_mounted()
    pstore: add pstore unregister
    pstore: add a helper function pstore_register_kmsg
    pstore: add vmalloc error check

    Linus Torvalds
     
  • Pull file locking updates from Jeff Layton:
    "The largest series of changes is from Ben who offered up a set to add
    a new helper function for setting locks based on the type set in
    fl_flags. Dmitry also send in a fix for a potential race that he
    found with KTSAN"

    * tag 'locks-v4.4-1' of git://git.samba.org/jlayton/linux:
    locks: cleanup posix_lock_inode_wait and flock_lock_inode_wait
    Move locks API users to locks_lock_inode_wait()
    locks: introduce locks_lock_inode_wait()
    locks: Use more file_inode and fix a comment
    fs: fix data races on inode->i_flctx
    locks: change tracepoint for generic_add_lease

    Linus Torvalds
     

05 Nov, 2015

13 commits

  • Pull char/misc driver updates from Greg KH:
    "Here is the big char/misc driver update for 4.4-rc1. Lots of
    different driver and subsystem updates, hwtracing being the largest
    with the addition of some new platforms that are now supported. Full
    details in the shortlog.

    All of these have been in linux-next for a long time with no reported
    issues"

    * tag 'char-misc-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (181 commits)
    fpga: socfpga: Fix check of return value of devm_request_irq
    lkdtm: fix ACCESS_USERSPACE test
    mcb: Destroy IDA on module unload
    mcb: Do not return zero on error path in mcb_pci_probe()
    mei: bus: set the device name before running fixup
    mei: bus: use correct lock ordering
    mei: Fix debugfs filename in error output
    char: ipmi: ipmi_ssif: Replace timeval with timespec64
    fpga: zynq-fpga: Fix issue with drvdata being overwritten.
    fpga manager: remove unnecessary null pointer checks
    fpga manager: ensure lifetime with of_fpga_mgr_get
    fpga: zynq-fpga: Change fw format to handle bin instead of bit.
    fpga: zynq-fpga: Fix unbalanced clock handling
    misc: sram: partition base address belongs to __iomem space
    coresight: etm3x: adding documentation for sysFS's cpu interface
    vme: 8-bit status/id takes 256 values, not 255
    fpga manager: Adding FPGA Manager support for Xilinx Zynq 7000
    ARM: zynq: dt: Updated devicetree for Zynq 7000 platform.
    ARM: dt: fpga: Added binding docs for Xilinx Zynq FPGA manager.
    ver_linux: proc/modules, limit text processing to 'sed'
    ...

    Linus Torvalds
     
  • Pull driver core updates from Greg KH:
    "Here's the "big" driver core updates for 4.4-rc1. Primarily a bunch
    of debugfs updates, with a smattering of minor driver core fixes and
    updates as well.

    All have been in linux-next for a long time"

    * tag 'driver-core-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
    debugfs: Add debugfs_create_ulong()
    of: to support binding numa node to specified device in devicetree
    debugfs: Add read-only/write-only bool file ops
    debugfs: Add read-only/write-only size_t file ops
    debugfs: Add read-only/write-only x64 file ops
    debugfs: Consolidate file mode checks in debugfs_create_*()
    Revert "mm: Check if section present during memory block (un)registering"
    driver-core: platform: Provide helpers for multi-driver modules
    mm: Check if section present during memory block (un)registering
    devres: fix a for loop bounds check
    CMA: fix CONFIG_CMA_SIZE_MBYTES overflow in 64bit
    base/platform: assert that dev_pm_domain callbacks are called unconditionally
    sysfs: correctly handle short reads on PREALLOC attrs.
    base: soc: siplify ida usage
    kobject: move EXPORT_SYMBOL() macros next to corresponding definitions
    kobject: explain what kobject's sd field is
    debugfs: document that debugfs_remove*() accepts NULL and error values
    debugfs: Pass bool pointer to debugfs_create_bool()
    ACPI / EC: Fix broken 64bit big-endian users of 'global_lock'

    Linus Torvalds
     
  • Pull staging driver updates from Greg KH:
    "Here's the big staging driver update for 4.4-rc1. If you were
    disappointed for 4.3-rc1 that we didn't contribute enough changesets,
    you should be happy with this pull request of over 2400 patches.

    But overall we removed more lines of code than we added, which is nice
    to see. Full details in the shortlog.

    All of these have been in linux-next for a while"

    Greg, I've never been disappointed in how few commits Staging
    contributes to the kernel.. Never.

    * tag 'staging-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (2431 commits)
    Staging: rtl8192u: ieee80211: added missing blank lines
    Staging: rtl8192u: ieee80211: removed unnecessary braces
    Staging: rtl8192u: ieee80211: corrected block comments
    Staging: rtl8192u: ieee80211: corrected indent
    Staging: rtl8192u: ieee80211: added missing spaces after if
    Staging: rtl8192u: ieee80211: added missing space around '='
    Staging: rtl8192u: ieee80211: fixed position of else statements
    Staging: rtl8192u: ieee80211: fixed open brace positions
    staging: rdma: ipath: Remove unneeded vairable.
    staging: rtl8188eu: pwrGrpCnt variable removed in store_pwrindex_offset function
    staging: rtl8188eu: new variable for hal_data->MCSTxPowerLevelOriginalOffset[pwrGrpCnt] in store_pwrindex_offset function
    staging: rtl8188eu: checkpatch fixes: 'Avoid CamelCase' in hal/bb_cfg.c
    staging: rtl8188eu: checkpatch fixes: line over 80 characters splited into two parts
    staging: rtl8188eu: checkpatch fixes: alignment should match open parenthesis
    staging: rtl8188eu: checkpatch fixes: unnecessary parentheses removed in hal/bb_cfg.c
    staging: rtl8188eu: checkpatch fixes: spaces preferred around that '|' in hal/bb_cfg.c
    staging: rtl8188eu: operator = replaced by += in loop increment
    staging: rtl8188eu: occurrence of the 5 GHz code marked
    staging: rtl8188eu: increment placed into for loop header
    staging: rtl8188eu: while loop replaced by for loop in rtw_restruct_wmm_ie
    ...

    Linus Torvalds
     
  • Pull tty/serial driver updates from Greg KH:
    "Here is the big tty and serial driver update for 4.4-rc1.

    Lots of serial driver updates and a few small tty core changes. Full
    details in the shortlog.

    All of these have been in linux-next for a while"

    * tag 'tty-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (148 commits)
    tty: Use unbound workqueue for all input workers
    tty: Abstract tty buffer work
    tty: Prevent tty teardown during tty_write_message()
    tty: core: Use correct spinlock flavor in tiocspgrp()
    tty: Combine SIGTTOU/SIGTTIN handling
    serial: amba-pl011: fix incorrect integer size in pl011_fifo_to_tty()
    ttyFDC: Fix build problems due to use of module_{init,exit}
    tty: remove unneeded return statement
    serial: 8250_mid: add support for DMA engine handling from UART MMIO
    dmaengine: hsu: remove platform data
    dmaengine: hsu: introduce stubs for the exported functions
    dmaengine: hsu: make the UART driver in control of selecting this driver
    serial: fix mctrl helper functions
    serial: 8250_pci: Intel MID UART support to its own driver
    serial: fsl_lpuart: add earlycon support
    tty: disable unbind for old 74xx based serial/mpsc console port
    serial: pl011: Spelling s/clocks-names/clock-names/
    n_tty: Remove reader wakeups for TTY_BREAK/TTY_PARITY chars
    tty: synclink, fix indentation
    serial: at91, fix rs485 properties
    ...

    Linus Torvalds
     
  • Pull USB updates from Greg KH:
    "Here is the big USB patchset for 4.4-rc1.

    As usual, most of the changes are in the gadget subsystem, and we
    removed a host controller for a device that is no longer in existance,
    and probably never was even made public. There is also other minor
    driver updates and new device ids, full details in the changelog.

    All of these have been in linux-next for a while"

    * tag 'usb-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (233 commits)
    USB: core: Codestyle fix in urb.c
    usb: misc: usb3503: Use i2c_add_driver helper macro
    usb: host: lpc32xx: don't unregister phy device
    usb: host: lpc32xx: balance clk enable/disable on removal
    usb: host: lpc32xx: fix warnings caused by enabling unprepared clock
    uwb: drp: Use setup_timer
    uwb: neh: Use setup_timer
    uwb: rsv: Use setup_timer
    USB: qcserial: add Sierra Wireless MC74xx/EM74xx
    usb: chipidea: otg: don't wait vbus drops below BSV when starts host
    chipidea: ci_hdrc_pci: use PCI_VDEVICE() instead of PCI_DEVICE()
    doc: dt-binding: ci-hdrc-usb2: split vendor specific properties
    usb: chipidea: imx: add imx6ul usb support
    doc: dt-binding: ci-hdrc-usb2: improve property description
    usb: chipidea: imx: add usb support for imx7d
    Doc: usb: ci-hdrc-usb2: Add phy-clkgate-delay-us entry
    usb: chipidea: Add support for 'phy-clkgate-delay-us' property
    usb: chipidea: Use extcon framework for VBUS and ID detect
    usb: gadget: net2280: restore ep_cfg after defect7374 workaround
    usb: dwc2: host: Fix use after free w/ simultaneous irqs
    ...

    Linus Torvalds
     
  • Pull device mapper updates from Mike Snitzer:
    "Smaller set of DM changes for this merge. I've based these changes on
    Jens' for-4.4/reservations branch because the associated DM changes
    required it.

    - Revert a dm-multipath change that caused a regression for
    unprivledged users (e.g. kvm guests) that issued ioctls when a
    multipath device had no available paths.

    - Include Christoph's refactoring of DM's ioctl handling and add
    support for passing through persistent reservations with DM
    multipath.

    - All other changes are very simple cleanups"

    * tag 'dm-4.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
    dm switch: simplify conditional in alloc_region_table()
    dm delay: document that offsets are specified in sectors
    dm delay: capitalize the start of an delay_ctr() error message
    dm delay: Use DM_MAPIO macros instead of open-coded equivalents
    dm linear: remove redundant target name from error messages
    dm persistent data: eliminate unnecessary return values
    dm: eliminate unused "bioset" process for each bio-based DM device
    dm: convert ffs to __ffs
    dm: drop NULL test before kmem_cache_destroy() and mempool_destroy()
    dm: add support for passing through persistent reservations
    dm: refactor ioctl handling
    Revert "dm mpath: fix stalls when handling invalid ioctls"
    dm: initialize non-blk-mq queue data before queue is used

    Linus Torvalds
     
  • Pull md updates from Neil Brown:
    "Two major components to this update.

    1) The clustered-raid1 support from SUSE is nearly complete. There
    are a few outstanding issues being worked on. Maybe half a dozen
    patches will bring this to a usable state.

    2) The first stage of journalled-raid5 support from Facebook makes an
    appearance. With a journal device configured (typically NVRAM or
    SSD), the "RAID5 write hole" should be closed - a crash during
    degraded operations cannot result in data corruption.

    The next stage will be to use the journal as a write-behind cache
    so that latency can be reduced and in some cases throughput
    increased by performing more full-stripe writes.

    * tag 'md/4.4' of git://neil.brown.name/md: (66 commits)
    MD: when RAID journal is missing/faulty, block RESTART_ARRAY_RW
    MD: set journal disk ->raid_disk
    MD: kick out journal disk if it's not fresh
    raid5-cache: start raid5 readonly if journal is missing
    MD: add new bit to indicate raid array with journal
    raid5-cache: IO error handling
    raid5: journal disk can't be removed
    raid5-cache: add trim support for log
    MD: fix info output for journal disk
    raid5-cache: use bio chaining
    raid5-cache: small log->seq cleanup
    raid5-cache: new helper: r5_reserve_log_entry
    raid5-cache: inline r5l_alloc_io_unit into r5l_new_meta
    raid5-cache: take rdev->data_offset into account early on
    raid5-cache: refactor bio allocation
    raid5-cache: clean up r5l_get_meta
    raid5-cache: simplify state machine when caches flushes are not needed
    raid5-cache: factor out a helper to run all stripes for an I/O unit
    raid5-cache: rename flushed_ios to finished_ios
    raid5-cache: free I/O units earlier
    ...

    Linus Torvalds
     
  • Pull block reservation support from Jens Axboe:
    "This adds support for persistent reservations, both at the core level,
    as well as for sd and NVMe"

    [ Background from the docs: "Persistent Reservations allow restricting
    access to block devices to specific initiators in a shared storage
    setup. All implementations are expected to ensure the reservations
    survive a power loss and cover all connections in a multi path
    environment" ]

    * 'for-4.4/reservations' of git://git.kernel.dk/linux-block:
    NVMe: Precedence error in nvme_pr_clear()
    nvme: add missing endianess annotations in nvme_pr_command
    NVMe: Add persistent reservation ops
    sd: implement the Persistent Reservation API
    block: add an API for Persistent Reservations
    block: cleanup blkdev_ioctl

    Linus Torvalds
     
  • Pull block integrity updates from Jens Axboe:
    ""This is the joint work of Dan and Martin, cleaning up and improving
    the support for block data integrity"

    * 'for-4.4/integrity' of git://git.kernel.dk/linux-block:
    block, libnvdimm, nvme: provide a built-in blk_integrity nop profile
    block: blk_flush_integrity() for bio-based drivers
    block: move blk_integrity to request_queue
    block: generic request_queue reference counting
    nvme: suspend i/o during runtime blk_integrity_unregister
    md: suspend i/o during runtime blk_integrity_unregister
    md, dm, scsi, nvme, libnvdimm: drop blk_integrity_unregister() at shutdown
    block: Inline blk_integrity in struct gendisk
    block: Export integrity data interval size in sysfs
    block: Reduce the size of struct blk_integrity
    block: Consolidate static integrity profile properties
    block: Move integrity kobject to struct gendisk

    Linus Torvalds
     
  • Pull lightnvm support from Jens Axboe:
    "This adds support for lightnvm, and adds support to NVMe as well.
    This is pretty exciting, in that it enables new and interesting use
    cases for compatible flash devices. There's a LWN writeup about an
    earlier posting here:

    https://lwn.net/Articles/641247/

    This has been underway for a while, and should be ready for merging at
    this point"

    * 'for-4.4/lightnvm' of git://git.kernel.dk/linux-block:
    nvme: lightnvm: clean up a data type
    lightnvm: refactor phys addrs type to u64
    nvme: LightNVM support
    rrpc: Round-robin sector target with cost-based gc
    gennvm: Generic NVM manager
    lightnvm: Support for Open-Channel SSDs

    Linus Torvalds
     
  • Pull block driver updates from Jens Axboe:
    "Here are the block driver changes for 4.4. This pull request
    contains:

    - NVMe:
    - Refactor and moving of code to prepare for proper target
    support. From Christoph and Jay.

    - 32-bit nvme warning fix from Arnd.

    - Error initialization fix from me.

    - Proper namespace removal and reference counting support from
    Keith.

    - Device resume fix on IO failure, also from Keith.

    - Dependency fix from Keith, now that nvme isn't under the
    umbrella of the block anymore.

    - Target location and maintainers update from Jay.

    - From Ming Lei, the long awaited DIO/AIO support for loop.

    - Enable BD-RE writeable opens, from Georgios"

    * 'for-4.4/drivers' of git://git.kernel.dk/linux-block: (24 commits)
    Update target repo for nvme patch contributions
    NVMe: initialize error to '0'
    nvme: use an integer value to Linux errno values
    nvme: fix 32-bit build warning
    NVMe: Add explicit block config dependency
    nvme: include in
    nvme: move to a new drivers/nvme/host directory
    nvme.h: add missing nvme_id_ctrl endianess annotations
    nvme: move hardware structures out of the uapi version of nvme.h
    nvme: add a local nvme.h header
    nvme: properly handle partially initialized queues in nvme_create_io_queues
    nvme: merge nvme_dev_start, nvme_dev_resume and nvme_async_probe
    nvme: factor reset code into a common helper
    nvme: merge nvme_dev_reset into nvme_reset_failed_dev
    nvme: delete dev from dev_list in nvme_reset
    NVMe: Simplify device resume on io queue failure
    NVMe: Namespace removal simplifications
    NVMe: Reference count open namespaces
    cdrom: Random writing support for BD-RE media
    block: loop: support DIO & AIO
    ...

    Linus Torvalds
     
  • Pull power management and ACPI updates from Rafael Wysocki:
    "Quite a new features are included this time.

    First off, the Collaborative Processor Performance Control interface
    (version 2) defined by ACPI will now be supported on ARM64 along with
    a cpufreq frontend for CPU performance scaling.

    Second, ACPI gets a new infrastructure for the early probing of IRQ
    chips and clock sources (along the lines of the existing similar
    mechanism for DT).

    Next, the ACPI core and the generic device properties API will now
    support a recently introduced hierarchical properties extension of the
    _DSD (Device Specific Data) ACPI device configuration object. If the
    ACPI platform firmware uses that extension to organize device
    properties in a hierarchical way, the kernel will automatically handle
    it and make those properties available to device drivers via the
    generic device properties API.

    It also will be possible to build the ACPICA's AML interpreter
    debugger into the kernel now and use that to diagnose AML-related
    problems more efficiently. In the future, this should make it
    possible to single-step AML execution and do similar things.
    Interesting stuff, although somewhat experimental at this point.

    Finally, the PM core gets a new mechanism that can be used by device
    drivers to distinguish between suspend-to-RAM (based on platform
    firmware support) and suspend-to-idle (or other variants of system
    suspend the platform firmware is not involved in) and possibly
    optimize their device suspend/resume handling accordingly.

    In addition to that, some existing features are re-organized quite
    substantially.

    First, the ACPI-based handling of PCI host bridges on x86 and ia64 is
    unified and the common code goes into the ACPI core (so as to reduce
    code duplication and eliminate non-essential differences between the
    two architectures in that area).

    Second, the Operating Performance Points (OPP) framework is
    reorganized to make the code easier to find and follow.

    Next, the cpufreq core's sysfs interface is reorganized to get rid of
    the "primary CPU" concept for configurations in which the same
    performance scaling settings are shared between multiple CPUs.

    Finally, some interfaces that aren't necessary any more are dropped
    from the generic power domains framework.

    On top of the above we have some minor extensions, cleanups and bug
    fixes in multiple places, as usual.

    Specifics:

    - ACPICA update to upstream revision 20150930 (Bob Moore, Lv Zheng).

    The most significant change is to allow the AML debugger to be
    built into the kernel. On top of that there is an update related
    to the NFIT table (the ACPI persistent memory interface) and a few
    fixes and cleanups.

    - ACPI CPPC2 (Collaborative Processor Performance Control v2) support
    along with a cpufreq frontend (Ashwin Chaugule).

    This can only be enabled on ARM64 at this point.

    - New ACPI infrastructure for the early probing of IRQ chips and
    clock sources (Marc Zyngier).

    - Support for a new hierarchical properties extension of the ACPI
    _DSD (Device Specific Data) device configuration object allowing
    the kernel to handle hierarchical properties (provided by the
    platform firmware this way) automatically and make them available
    to device drivers via the generic device properties interface
    (Rafael Wysocki).

    - Generic device properties API extension to obtain an index of
    certain string value in an array of strings, along the lines of
    of_property_match_string(), but working for all of the supported
    firmware node types, and support for the "dma-names" device
    property based on it (Mika Westerberg).

    - ACPI core fix to parse the MADT (Multiple APIC Description Table)
    entries in the order expected by platform firmware (and mandated by
    the specification) to avoid confusion on systems with more than 255
    logical CPUs (Lukasz Anaczkowski).

    - Consolidation of the ACPI-based handling of PCI host bridges on x86
    and ia64 (Jiang Liu).

    - ACPI core fixes to ensure that the correct IRQ number is used to
    represent the SCI (System Control Interrupt) in the cases when it
    has been re-mapped (Chen Yu).

    - New ACPI backlight quirk for Lenovo IdeaPad S405 (Hans de Goede).

    - ACPI EC driver fixes (Lv Zheng).

    - Assorted ACPI fixes and cleanups (Dan Carpenter, Insu Yun, Jiri
    Kosina, Rami Rosen, Rasmus Villemoes).

    - New mechanism in the PM core allowing drivers to check if the
    platform firmware is going to be involved in the upcoming system
    suspend or if it has been involved in the suspend the system is
    resuming from at the moment (Rafael Wysocki).

    This should allow drivers to optimize their suspend/resume handling
    in some cases and the changes include a couple of users of it (the
    i8042 input driver, PCI PM).

    - PCI PM fix to prevent runtime-suspended devices with PME enabled
    from being resumed during system suspend even if they aren't
    configured to wake up the system from sleep (Rafael Wysocki).

    - New mechanism to report the number of a wakeup IRQ that woke up the
    system from sleep last time (Alexandra Yates).

    - Removal of unused interfaces from the generic power domains
    framework and fixes related to latency measurements in that code
    (Ulf Hansson, Daniel Lezcano).

    - cpufreq core sysfs interface rework to make it handle CPUs that
    share performance scaling settings (represented by a common cpufreq
    policy object) more symmetrically (Viresh Kumar).

    This should help to simplify the CPU offline/online handling among
    other things.

    - cpufreq core fixes and cleanups (Viresh Kumar).

    - intel_pstate fixes related to the Turbo Activation Ratio (TAR)
    mechanism on client platforms which causes the turbo P-states range
    to vary depending on platform firmware settings (Srinivas
    Pandruvada).

    - intel_pstate sysfs interface fix (Prarit Bhargava).

    - Assorted cpufreq driver (imx, tegra20, powernv, integrator) fixes
    and cleanups (Bai Ping, Bartlomiej Zolnierkiewicz, Shilpasri G
    Bhat, Luis de Bethencourt).

    - cpuidle mvebu driver cleanups (Russell King).

    - OPP (Operating Performance Points) framework code reorganization to
    make it more maintainable (Viresh Kumar).

    - Intel Broxton support for the RAPL (Running Average Power Limits)
    power capping driver (Amy Wiles).

    - Assorted power management code fixes and cleanups (Dan Carpenter,
    Geert Uytterhoeven, Geliang Tang, Luis de Bethencourt, Rasmus
    Villemoes)"

    * tag 'pm+acpi-4.4-rc1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (108 commits)
    cpufreq: postfix policy directory with the first CPU in related_cpus
    cpufreq: create cpu/cpufreq/policyX directories
    cpufreq: remove cpufreq_sysfs_{create|remove}_file()
    cpufreq: create cpu/cpufreq at boot time
    cpufreq: Use cpumask_copy instead of cpumask_or to copy a mask
    cpufreq: ondemand: Drop unnecessary locks from update_sampling_rate()
    PM / Domains: Merge measurements for PM QoS device latencies
    PM / Domains: Don't measure ->start|stop() latency in system PM callbacks
    PM / clk: Fix broken build due to non-matching code and header #ifdefs
    ACPI / Documentation: add copy_dsdt to ACPI format options
    ACPI / sysfs: correctly check failing memory allocation
    ACPI / video: Add a quirk to force native backlight on Lenovo IdeaPad S405
    ACPI / CPPC: Fix potential memory leak
    ACPI / CPPC: signedness bug in register_pcc_channel()
    ACPI / PAD: power_saving_thread() is not freezable
    ACPI / PM: Fix incorrect wakeup IRQ setting during suspend-to-idle
    ACPI: Using correct irq when waiting for events
    ACPI: Use correct IRQ when uninstalling ACPI interrupt handler
    cpuidle: mvebu: disable the bind/unbind attributes and use builtin_platform_driver
    cpuidle: mvebu: clean up multiple platform drivers
    ...

    Linus Torvalds
     
  • Pull xen updates from David Vrabel:

    - Improve balloon driver memory hotplug placement.

    - Use unpopulated hotplugged memory for foreign pages (if
    supported/enabled).

    - Support 64 KiB guest pages on arm64.

    - CPU hotplug support on arm/arm64.

    * tag 'for-linus-4.4-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: (44 commits)
    xen: fix the check of e_pfn in xen_find_pfn_range
    x86/xen: add reschedule point when mapping foreign GFNs
    xen/arm: don't try to re-register vcpu_info on cpu_hotplug.
    xen, cpu_hotplug: call device_offline instead of cpu_down
    xen/arm: Enable cpu_hotplug.c
    xenbus: Support multiple grants ring with 64KB
    xen/grant-table: Add an helper to iterate over a specific number of grants
    xen/xenbus: Rename *RING_PAGE* to *RING_GRANT*
    xen/arm: correct comment in enlighten.c
    xen/gntdev: use types from linux/types.h in userspace headers
    xen/gntalloc: use types from linux/types.h in userspace headers
    xen/balloon: Use the correct sizeof when declaring frame_list
    xen/swiotlb: Add support for 64KB page granularity
    xen/swiotlb: Pass addresses rather than frame numbers to xen_arch_need_swiotlb
    arm/xen: Add support for 64KB page granularity
    xen/privcmd: Add support for Linux 64KB page granularity
    net/xen-netback: Make it running on 64KB page granularity
    net/xen-netfront: Make it running on 64KB page granularity
    block/xen-blkback: Make it running on 64KB page granularity
    block/xen-blkfront: Make it running on 64KB page granularity
    ...

    Linus Torvalds