11 Sep, 2015

5 commits

  • There are two kexec load syscalls, kexec_load another and kexec_file_load.
    kexec_file_load has been splited as kernel/kexec_file.c. In this patch I
    split kexec_load syscall code to kernel/kexec.c.

    And add a new kconfig option KEXEC_CORE, so we can disable kexec_load and
    use kexec_file_load only, or vice verse.

    The original requirement is from Ted Ts'o, he want kexec kernel signature
    being checked with CONFIG_KEXEC_VERIFY_SIG enabled. But kexec-tools use
    kexec_load syscall can bypass the checking.

    Vivek Goyal proposed to create a common kconfig option so user can compile
    in only one syscall for loading kexec kernel. KEXEC/KEXEC_FILE selects
    KEXEC_CORE so that old config files still work.

    Because there's general code need CONFIG_KEXEC_CORE, so I updated all the
    architecture Kconfig with a new option KEXEC_CORE, and let KEXEC selects
    KEXEC_CORE in arch Kconfig. Also updated general kernel code with to
    kexec_load syscall.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Dave Young
    Cc: Eric W. Biederman
    Cc: Vivek Goyal
    Cc: Petr Tesarik
    Cc: Theodore Ts'o
    Cc: Josh Boyer
    Cc: David Howells
    Cc: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Young
     
  • Instead of custom approach let's use recently introduced seq_hex_dump()
    helper.

    Signed-off-by: Andy Shevchenko
    Cc: Alexander Viro
    Cc: Joe Perches
    Cc: Tadeusz Struk
    Cc: Helge Deller
    Cc: Ingo Tuchscherer
    Cc: Catalin Marinas
    Cc: Vladimir Kondratiev
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Shevchenko
     
  • Instead of custom approach let's use recently introduced seq_hex_dump()
    helper.

    Signed-off-by: Andy Shevchenko
    Acked-by: Ingo Tuchscherer
    Cc: Alexander Viro
    Cc: Joe Perches
    Cc: Tadeusz Struk
    Cc: Helge Deller
    Cc: Catalin Marinas
    Cc: Vladimir Kondratiev
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Shevchenko
     
  • Instead of custom approach let's use recently introduced seq_hex_dump()
    helper.

    In one case it changes the output from
    1111111122222222333333334444444455555555666666667777777788888888
    to
    11111111 22222222 33333333 44444444 55555555 66666666 77777777 88888888

    though it seems it prints same data (by meaning) in both cases. I decide
    to choose to use the space divided one.

    Signed-off-by: Andy Shevchenko
    Acked-by: Helge Deller
    Cc: Alexander Viro
    Cc: Joe Perches
    Cc: Tadeusz Struk
    Cc: Ingo Tuchscherer
    Cc: Catalin Marinas
    Cc: Vladimir Kondratiev
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Shevchenko
     
  • Instead of custom approach let's use recently introduced seq_hex_dump()
    helper.

    Signed-off-by: Andy Shevchenko
    Acked-by: Tadeusz Struk
    Cc: Alexander Viro
    Cc: Joe Perches
    Cc: Helge Deller
    Cc: Ingo Tuchscherer
    Cc: Catalin Marinas
    Cc: Vladimir Kondratiev
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Shevchenko
     

09 Sep, 2015

20 commits

  • Pull inifiniband/rdma updates from Doug Ledford:
    "This is a fairly sizeable set of changes. I've put them through a
    decent amount of testing prior to sending the pull request due to
    that.

    There are still a few fixups that I know are coming, but I wanted to
    go ahead and get the big, sizable chunk into your hands sooner rather
    than waiting for those last few fixups.

    Of note is the fact that this creates what is intended to be a
    temporary area in the drivers/staging tree specifically for some
    cleanups and additions that are coming for the RDMA stack. We
    deprecated two drivers (ipath and amso1100) and are waiting to hear
    back if we can deprecate another one (ehca). We also put Intel's new
    hfi1 driver into this area because it needs to be refactored and a
    transfer library created out of the factored out code, and then it and
    the qib driver and the soft-roce driver should all be modified to use
    that library.

    I expect drivers/staging/rdma to be around for three or four kernel
    releases and then to go away as all of the work is completed and final
    deletions of deprecated drivers are done.

    Summary of changes for 4.3:

    - Create drivers/staging/rdma
    - Move amso1100 driver to staging/rdma and schedule for deletion
    - Move ipath driver to staging/rdma and schedule for deletion
    - Add hfi1 driver to staging/rdma and set TODO for move to regular
    tree
    - Initial support for namespaces to be used on RDMA devices
    - Add RoCE GID table handling to the RDMA core caching code
    - Infrastructure to support handling of devices with differing read
    and write scatter gather capabilities
    - Various iSER updates
    - Kill off unsafe usage of global mr registrations
    - Update SRP driver
    - Misc mlx4 driver updates
    - Support for the mr_alloc verb
    - Support for a netlink interface between kernel and user space cache
    daemon to speed path record queries and route resolution
    - Ininitial support for safe hot removal of verbs devices"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (136 commits)
    IB/ipoib: Suppress warning for send only join failures
    IB/ipoib: Clean up send-only multicast joins
    IB/srp: Fix possible protection fault
    IB/core: Move SM class defines from ib_mad.h to ib_smi.h
    IB/core: Remove unnecessary defines from ib_mad.h
    IB/hfi1: Add PSM2 user space header to header_install
    IB/hfi1: Add CSRs for CONFIG_SDMA_VERBOSITY
    mlx5: Fix incorrect wc pkey_index assignment for GSI messages
    IB/mlx5: avoid destroying a NULL mr in reg_user_mr error flow
    IB/uverbs: reject invalid or unknown opcodes
    IB/cxgb4: Fix if statement in pick_local_ip6adddrs
    IB/sa: Fix rdma netlink message flags
    IB/ucma: HW Device hot-removal support
    IB/mlx4_ib: Disassociate support
    IB/uverbs: Enable device removal when there are active user space applications
    IB/uverbs: Explicitly pass ib_dev to uverbs commands
    IB/uverbs: Fix race between ib_uverbs_open and remove_one
    IB/uverbs: Fix reference counting usage of event files
    IB/core: Make ib_dealloc_pd return void
    IB/srp: Create an insecure all physical rkey only if needed
    ...

    Linus Torvalds
     
  • Pull IPMI updates from Corey Minyard:
    "Most of these have been sitting in linux-next for more than a release,
    particularly commit 0fbcf4af7c83 ("ipmi: Convert the IPMI SI ACPI
    handling to a platform device") which is probably the most complex
    patch.

    That is also the one that changes drivers/acpi/acpi_pnp.c. The change
    in that file is only removing IPMI from a "special platform devices"
    list, since I convert it to the standard PNP interface. I posted this
    one to the ACPI list twice and got no response, and it seems to work
    well in my testing, so I'm hoping it's good.

    Hidehiro Kawai posted a set of changes that improves the panic time
    handling in the IPMI driver.

    The rest of the changes are minor bug fixes or cleanups and some
    documentation"

    * tag 'for-linus-4.3' of git://git.code.sf.net/p/openipmi/linux-ipmi:
    ipmi:ssif: Add a module parm to specify that SMBus alerts don't work
    ipmi: add of_device_id in MODULE_DEVICE_TABLE
    ipmi: Compensate for BMCs that wont set the irq enable bit
    ipmi: Don't call receive handler in the panic context
    ipmi: Avoid touching possible corrupted lists in the panic context
    ipmi: Don't flush messages in sender() in run-to-completion mode
    ipmi: Factor out message flushing procedure
    ipmi: Remove unneeded set_run_to_completion call
    ipmi: Make some data const that was only read
    ipmi: constify SSIF ACPI device ids
    ipmi: Delete an unnecessary check before the function call "cleanup_one_si"
    char:ipmi - Change 1 to true for bool type variables during initialization.
    impi:Remove unneeded setting of module owner to THIS_MODULE in the platform structure, powernv_ipmi_driver
    ipmi: Add a comment in how messages are delivered from the lower layer
    ipmi/powernv: Fix potential invalid pointer dereference
    ipmi: Convert the IPMI SI ACPI handling to a platform device
    ipmi: Add device tree bindings information

    Linus Torvalds
     
  • Merge second patch-bomb from Andrew Morton:
    "Almost all of the rest of MM. There was an unusually large amount of
    MM material this time"

    * emailed patches from Andrew Morton : (141 commits)
    zpool: remove no-op module init/exit
    mm: zbud: constify the zbud_ops
    mm: zpool: constify the zpool_ops
    mm: swap: zswap: maybe_preload & refactoring
    zram: unify error reporting
    zsmalloc: remove null check from destroy_handle_cache()
    zsmalloc: do not take class lock in zs_shrinker_count()
    zsmalloc: use class->pages_per_zspage
    zsmalloc: consider ZS_ALMOST_FULL as migrate source
    zsmalloc: partial page ordering within a fullness_list
    zsmalloc: use shrinker to trigger auto-compaction
    zsmalloc: account the number of compacted pages
    zsmalloc/zram: introduce zs_pool_stats api
    zsmalloc: cosmetic compaction code adjustments
    zsmalloc: introduce zs_can_compact() function
    zsmalloc: always keep per-class stats
    zsmalloc: drop unused variable `nr_to_migrate'
    mm/memblock.c: fix comment in __next_mem_range()
    mm/page_alloc.c: fix type information of memoryless node
    memory-hotplug: fix comments in zone_spanned_pages_in_node() and zone_spanned_pages_in_node()
    ...

    Linus Torvalds
     
  • Pull parisc updates from Helge Deller:
    "The most important changes in this patchset are:

    - re-enable 64bit PCI bus addresses which were temporarily disabled
    for PA-RISC in kernel 4.2

    - fix the 64bit CAS operation in the LWS path which now enables us to
    enable the 64bit gcc atomic builtins even on 32bit userspace with
    64bit kernel

    - fix a long-standing bug which sometimes crashed kernel at bootup
    while serial interrupt wasn't registered yet"

    * 'parisc-4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
    parisc: Use platform_device_register_simple("rtc-generic")
    parisc: Drop CONFIG_SMP around update_cr16_clocksource()
    parisc: Use double word condition in 64bit CAS operation
    parisc: Filter out spurious interrupts in PA-RISC irq handler
    parisc: Additionally check for in_atomic() in page fault handler
    PCI,parisc: Enable 64-bit bus addresses on PA-RISC
    parisc: Define ioremap_uc and ioremap_wc

    Linus Torvalds
     
  • Pull iommu updates for from Joerg Roedel:
    "This time the IOMMU updates are mostly cleanups or fixes. No big new
    features or drivers this time. In particular the changes include:

    - Bigger cleanup of the DomainIOMMU data structures and the code
    that manages them in the Intel VT-d driver. This makes the code
    easier to understand and maintain, and also easier to keep the data
    structures in sync. It is also a preparation step to make use of
    default domains from the IOMMU core in the Intel VT-d driver.

    - Fixes for a couple of DMA-API misuses in ARM IOMMU drivers, namely
    in the ARM and Tegra SMMU drivers.

    - Fix for a potential buffer overflow in the OMAP iommu driver's
    debug code

    - A couple of smaller fixes and cleanups in various drivers

    - One small new feature: Report domain-id usage in the Intel VT-d
    driver to easier detect bugs where these are leaked"

    * tag 'iommu-updates-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (83 commits)
    iommu/vt-d: Really use upper context table when necessary
    x86/vt-d: Fix documentation of DRHD
    iommu/fsl: Really fix init section(s) content
    iommu/io-pgtable-arm: Unmap and free table when overwriting with block
    iommu/io-pgtable-arm: Move init-fn declarations to io-pgtable.h
    iommu/msm: Use BUG_ON instead of if () BUG()
    iommu/vt-d: Access iomem correctly
    iommu/vt-d: Make two functions static
    iommu/vt-d: Use BUG_ON instead of if () BUG()
    iommu/vt-d: Return false instead of 0 in irq_remapping_cap()
    iommu/amd: Use BUG_ON instead of if () BUG()
    iommu/amd: Make a symbol static
    iommu/amd: Simplify allocation in irq_remapping_alloc()
    iommu/tegra-smmu: Parameterize number of TLB lines
    iommu/tegra-smmu: Factor out tegra_smmu_set_pde()
    iommu/tegra-smmu: Extract tegra_smmu_pte_get_use()
    iommu/tegra-smmu: Use __GFP_ZERO to allocate zeroed pages
    iommu/tegra-smmu: Remove PageReserved manipulation
    iommu/tegra-smmu: Convert to use DMA API
    iommu/tegra-smmu: smmu_flush_ptc() wants device addresses
    ...

    Linus Torvalds
     
  • Pull regmap updates from Mark Brown:
    "This has been a busy release for regmap.

    By far the biggest set of changes here are those from Markus Pargmann
    which implement support for block transfers in smbus devices. This
    required quite a bit of refactoring but leaves us better able to
    handle odd restrictions that controllers may have and with better
    performance on smbus.

    Other new features include:

    - Fix interactions with lockdep for nested regmaps (eg, when a device
    using regmap is connected to a bus where the bus controller has a
    separate regmap). Lockdep's default class identification is too
    crude to work without help.

    - Support for must write bitfield operations, useful for operations
    which require writing a bit to trigger them from Kuniori Morimoto.

    - Support for delaying during register patch application from Nariman
    Poushin.

    - Support for overriding cache state via the debugfs implementation
    from Richard Fitzgerald"

    * tag 'regmap-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: (25 commits)
    regmap: fix a NULL pointer dereference in __regmap_init
    regmap: Support bulk reads for devices without raw formatting
    regmap-i2c: Add smbus i2c block support
    regmap: Add raw_write/read checks for max_raw_write/read sizes
    regmap: regmap max_raw_read/write getter functions
    regmap: Introduce max_raw_read/write for regmap_bulk_read/write
    regmap: Add missing comments about struct regmap_bus
    regmap: No multi_write support if bus->write does not exist
    regmap: Split use_single_rw internally into use_single_read/write
    regmap: Fix regmap_bulk_write for bus writes
    regmap: regmap_raw_read return error on !bus->read
    regulator: core: Print at debug level on debugfs creation failure
    regmap: Fix regmap_can_raw_write check
    regmap: fix typos in regmap.c
    regmap: Fix integertypes for register address and value
    regmap: Move documentation to regmap.h
    regmap: Use different lockdep class for each regmap init call
    thermal: sti: Add parentheses around bridge->ops->regmap_init call
    mfd: vexpress: Add parentheses around bridge->ops->regmap_init call
    regmap: debugfs: Fix misuse of IS_ENABLED
    ...

    Linus Torvalds
     
  • Pull fbdev updates from Tomi Valkeinen:
    "Minor fixes and cleanups"

    * tag 'fbdev-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux:
    video: fbdev: atmel_lcdfb: remove useless include
    video: fbdev: pxa168fb: Use devm_clk_get
    fbdev: ssd1307fb: fix error return code
    fbdev: fix snprintf() limit in show_bl_curve()
    video: fbdev: s3c-fb: Constify platform_device_id
    video: fbdev: atmel: fix warning for const return value
    video: fbdev: Drop owner assignment from platform_driver
    video: fbdev: Drop owner assignment from i2c_driver
    fbdev: remove unnecessary memset in vfb
    framebuffer: disable vgacon on microblaze arch
    fbdev: udlfb: remove unneeded initialization in few places
    fbdev: Allow compile test of GPIO consumers if !GPIOLIB
    fbdev: fix cea_modes array size

    Linus Torvalds
     
  • Pull MMC updates from Ulf Hansson:
    "MMC core:
    - Fix a race condition in the request handling
    - Skip trim commands for some buggy kingston eMMCs
    - An optimization and a correction for erase groups
    - Set CMD23 quirk for some Sandisk cards

    MMC host:
    - sdhci: Give GPIO CD higher precedence and don't poll when it's used
    - sdhci: Fix DMA memory leakage
    - sdhci: Some updates for clock management
    - sdhci-of-at91: introduce driver for the Atmel SDMMC
    - sdhci-of-arasan: Add support for sdhci-5.1
    - sdhci-esdhc-imx: Add support for imx7d which also supports HS400
    - sdhci: A collection of fixes and improvements for various sdhci hosts
    - omap_hsmmc: Modernization of the regulator code
    - dw_mmc: A couple of fixes for DMA and PIO mode
    - usdhi6rol0: A few fixes and support probe deferral for regulators
    - pxamci: Convert to use dmaengine
    - sh_mmcif: Fix the suspend process in a short term solution
    - tmio: Adjust timeout for commands
    - sunxi: Fix timeout while gating/ungating clock"

    * tag 'mmc-v4.3' of git://git.linaro.org/people/ulf.hansson/mmc: (67 commits)
    mmc: android-goldfish: remove incorrect __iomem annotation
    mmc: core: fix race condition in mmc_wait_data_done
    mmc: host: omap_hsmmc: remove CONFIG_REGULATOR check
    mmc: host: omap_hsmmc: use ios->vdd for setting vmmc voltage
    mmc: host: omap_hsmmc: use regulator_is_enabled to find pbias status
    mmc: host: omap_hsmmc: enable/disable vmmc_aux regulator based on previous state
    mmc: host: omap_hsmmc: don't use ->set_power to set initial regulator state
    mmc: host: omap_hsmmc: avoid pbias regulator enable on power off
    mmc: host: omap_hsmmc: add separate function to set pbias
    mmc: host: omap_hsmmc: add separate functions for enable/disable supply
    mmc: host: omap_hsmmc: return error if any of the regulator APIs fail
    mmc: host: omap_hsmmc: remove unnecessary pbias set_voltage
    mmc: host: omap_hsmmc: use mmc_host's vmmc and vqmmc
    mmc: host: omap_hsmmc: use the ocrmask provided by the vmmc regulator
    mmc: host: omap_hsmmc: cleanup omap_hsmmc_reg_get()
    mmc: host: omap_hsmmc: return on fatal errors from omap_hsmmc_reg_get
    mmc: host: omap_hsmmc: use devm_regulator_get_optional() for vmmc
    mmc: sdhci-of-at91: fix platform_no_drv_owner.cocci warnings
    mmc: sh_mmcif: Fix suspend process
    mmc: usdhi6rol0: fix error return code
    ...

    Linus Torvalds
     
  • …linux-platform-drivers-x86

    Pull x86 platform driver updates from Darren Hart:
    "Significant work on toshiba_acpi, including new hardware support,
    refactoring, and cleanups. Extend device support for asus, ideapad,
    and acer systems. New surface pro 3 buttons driver. Misc minor
    cleanups for thinkpad and hp-wireless.

    acer-wmi:
    - No rfkill on HP Omen 15 wifi

    thinkpad_acpi:
    - Remove side effects from vdbg_printk -> no_printk macro

    surface pro 3:
    - Add support driver for Surface Pro 3 buttons

    hp-wireless:
    - remove unneeded goto/label in hpwl_init

    ideapad-laptop:
    - add alternative representation for Yoga 2 to DMI table
    - Add Lenovo Yoga 3 14 to no_hw_rfkill dmi list

    asus-laptop:
    - Add key found on Asus F3M

    MAINTAINERS:
    - Remove Toshiba Linux mailing list address

    toshiba_acpi:
    - Bump driver version to 0.23
    - Remove unnecessary checks and returns in HCI/SCI functions
    - Refactor *{get, set} functions return value
    - Remove "*not supported" feature prints
    - Change *available functions return type
    - Add set_fan_status function
    - Change some variables to avoid warnings from ninja-check
    - Reorder toshiba_acpi_alt_keymap entries
    - Remove unused wireless defines
    - Transflective backlight updates
    - Avoid registering input device on WMI event laptops
    - Add /dev/toshiba_acpi device
    - Adapt /proc/acpi/toshiba/keys to TOS1900 devices"

    * tag 'platform-drivers-x86-v4.3-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: (21 commits)
    acer-wmi: No rfkill on HP Omen 15 wifi
    thinkpad_acpi: Remove side effects from vdbg_printk -> no_printk macro
    surface pro 3: Add support driver for Surface Pro 3 buttons
    hp-wireless: remove unneeded goto/label in hpwl_init
    ideapad-laptop: add alternative representation for Yoga 2 to DMI table
    asus-laptop: Add key found on Asus F3M
    MAINTAINERS: Remove Toshiba Linux mailing list address
    ideapad-laptop: Add Lenovo Yoga 3 14 to no_hw_rfkill dmi list
    toshiba_acpi: Bump driver version to 0.23
    toshiba_acpi: Remove unnecessary checks and returns in HCI/SCI functions
    toshiba_acpi: Refactor *{get, set} functions return value
    toshiba_acpi: Remove "*not supported" feature prints
    toshiba_acpi: Change *available functions return type
    toshiba_acpi: Add set_fan_status function
    toshiba_acpi: Change some variables to avoid warnings from ninja-check
    toshiba_acpi: Reorder toshiba_acpi_alt_keymap entries
    toshiba_acpi: Remove unused wireless defines
    toshiba_acpi: Transflective backlight updates
    toshiba_acpi: Avoid registering input device on WMI event laptops
    toshiba_acpi: Add /dev/toshiba_acpi device
    ...

    Linus Torvalds
     
  • Pull i2c updates from Wolfram Sang:
    "Features:

    - new drivers: Renesas EMEV2, register based MUX, NXP LPC2xxx
    - core: scans DT and assigns wakeup interrupts. no driver changes needed.
    - core: some refcouting issues fixed and better API for that
    - core: new helper function for best effort block read emulation
    - slave framework: proper DT bindings and userspace instantiation
    - some bigger work for xiic, pxa, omap drivers

    .. and quite a number of smaller driver fixes, cleanups, improvements"

    * 'i2c/for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (65 commits)
    i2c: mux: reg Change ioread endianness for readback
    i2c: mux: reg: fix compilation warnings
    i2c: mux: reg: simplify register size checking
    i2c: muxes: fix leaked i2c adapter device node references
    i2c: allow specifying separate wakeup interrupt in device tree
    of/irq: export of_get_irq_byname()
    i2c: xgene-slimpro: dma_mapping_error() doesn't return an error code
    i2c: Replace I2C_CROS_EC_TUNNEL dependency
    eeprom: at24: use i2c_smbus_read_i2c_block_data_or_emulated
    i2c: core: Add support for best effort block read emulation
    i2c: lpc2k: add driver
    i2c: mux: Add register-based mux i2c-mux-reg
    i2c: dt: describe generic bindings
    i2c: slave: print warning if slave flag not set
    i2c: support 10 bit and slave addresses in sysfs 'new_device'
    i2c: take address space into account when checking for used addresses
    i2c: apply DT flags when probing
    i2c: make address check indpendent from client struct
    i2c: rename address check functions
    i2c: apply address offset for slaves, too
    ...

    Linus Torvalds
     
  • Pull RTC updates from Alexandre Belloni:
    "Core:
    - use is_visible() to control sysfs attributes
    - switch wakealarm attribute to DEVICE_ATTR_RW
    - make rtc_does_wakealarm() return boolean
    - properly manage lifetime of dev and cdev in rtc device
    - remove unnecessary device_get() in rtc_device_unregister
    - fix double free in rtc_register_device() error path

    New drivers:
    - NXP LPC24xx
    - Xilinx Zynq MP
    - Dialog DA9062

    Subsystem wide cleanups:
    - fix drivers that consider 0 as a valid IRQ in client->irq
    - Drop (un)likely before IS_ERR(_OR_NULL)
    - drop the remaining owner assignment for i2c_driver and
    platform_driver
    - module autoload fixes

    Drivers:
    - 88pm80x: add device tree support
    - abx80x: fix RTC write bit
    - ab8500: Add a sentinel to ab85xx_rtc_ids[]
    - armada38x: Align RTC set time procedure with the official errata
    - as3722: correct month value
    - at91sam9: cleanups
    - at91rm9200: get and use slow clock and cleanups
    - bq32k: remove redundant check
    - cmos: century support, proper fix for the spurious wakeup
    - ds1307: cleanups and wakeup irq support
    - ds1374: Remove unused variable
    - ds1685: Use module_platform_driver
    - ds3232: fix WARNING trace in resume function
    - gemini: fix ptr_ret.cocci warnings
    - mt6397: implement suspend/resume
    - omap: support internal and external clock enabling
    - opal: Enable alarms only when opal supports tpo
    - pcf2127: use OFS flag to detect unreliable date and warn the user
    - pl031: fix typo for author email
    - rx8025: huge cleanup and fixes
    - sa1100/pxa: share common code
    - s5m: fix to update ctrl register
    - s3c: fix clocks and wakeup, cleanup
    - sirfsoc: use regmap
    - nvram_read()/nvram_write() functions for cmos, ds1305, ds1307,
    ds1343, ds1511, ds1553, ds1742, m48t59, rp5c01, stk17ta8, tx4939
    - use rtc_valid_tm() error code when reading date/time instead of 0
    for isl12022, pcf2123, pcf2127"

    * tag 'rtc-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (90 commits)
    rtc: abx80x: fix RTC write bit
    rtc: ab8500: Add a sentinel to ab85xx_rtc_ids[]
    rtc: ds1374: Remove unused variable
    rtc: Fix module autoload for OF platform drivers
    rtc: Fix module autoload for rtc-{ab8500,max8997,s5m} drivers
    rtc: omap: Add external clock enabling support
    rtc: omap: Add internal clock enabling support
    ARM: dts: AM437x: Add the internal and external clock nodes for rtc
    rtc: s5m: fix to update ctrl register
    rtc: add xilinx zynqmp rtc driver
    devicetree: bindings: rtc: add bindings for xilinx zynqmp rtc
    rtc: as3722: correct month value
    ARM: config: Switch PXA27x platforms to use PXA RTC driver
    ARM: mmp: remove unused RTC register definitions
    ARM: sa1100: remove unused RTC register definitions
    rtc: sa1100/pxa: convert to run-time register mapping
    ARM: pxa: add memory resource to SA1100 RTC device
    rtc: pxa: convert to use shared sa1100 functions
    rtc: sa1100: prepare to share sa1100_rtc_ops
    rtc: ds3232: fix WARNING trace in resume function
    ...

    Linus Torvalds
     
  • Make zram syslog error reporting more consistent. We have random
    error levels in some places. For example, critical errors like
    "Error allocating memory for compressed page"
    and
    "Unable to allocate temp memory"
    are reported as KERN_INFO messages.

    a) Reassign error levels

    Error messages that directly affect zram
    functionality -- pr_err():

    Error allocating zram address table
    Error creating memory pool
    Decompression failed! err=%d, page=%u
    Unable to allocate temp memory
    Compression failed! err=%d
    Error allocating memory for compressed page: %u, size=%zu
    Cannot initialise %s compressing backend
    Error allocating disk queue for device %d
    Error allocating disk structure for device %d
    Error creating sysfs group for device %d
    Unable to register zram-control class
    Unable to get major number

    Messages that do not affect functionality, but user
    must be warned (because sysfs attrs will be removed in
    this particular case) -- pr_warn():

    %d (%s) Attribute %s (and others) will be removed. %s

    Messages that do not affect functionality and mostly are
    informative -- pr_info():

    Cannot change max compression streams
    Can't change algorithm for initialized device
    Cannot change disksize for initialized device
    Added device: %s
    Removed device: %s

    b) Update sysfs_create_group() error message

    First, it lacks a trailing new line; add it. Second, every error message
    in zram_add() has a "for device %d" part, which makes errors more
    informative. Add missing part to "Error creating sysfs group" message.

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

    Sergey Senozhatsky
     
  • Compaction returns back to zram the number of migrated objects, which is
    quite uninformative -- we have objects of different sizes so user space
    cannot obtain any valuable data from that number. Change compaction to
    operate in terms of pages and return back to compaction issuer the
    number of pages that were freed during compaction. So from now on we
    will export more meaningful value in zram/mm_stat -- the number of
    freed (compacted) pages.

    This requires:
    (a) a rename of `num_migrated' to 'pages_compacted'
    (b) a internal API change -- return first_page's fullness_group from
    putback_zspage(), so we know when putback_zspage() did
    free_zspage(). It helps us to account compaction stats correctly.

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

    Sergey Senozhatsky
     
  • `zs_compact_control' accounts the number of migrated objects but it has
    a limited lifespan -- we lose it as soon as zs_compaction() returns back
    to zram. It worked fine, because (a) zram had it's own counter of
    migrated objects and (b) only zram could trigger compaction. However,
    this does not work for automatic pool compaction (not issued by zram).
    To account objects migrated during auto-compaction (issued by the
    shrinker) we need to store this number in zs_pool.

    Define a new `struct zs_pool_stats' structure to keep zs_pool's stats
    there. It provides only `num_migrated', as of this writing, but it
    surely can be extended.

    A new zsmalloc zs_pool_stats() symbol exports zs_pool's stats back to
    caller.

    Use zs_pool_stats() in zram and remove `num_migrated' from zram_stats.

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

    Sergey Senozhatsky
     
  • alloc_pages_exact_node() was introduced in commit 6484eb3e2a81 ("page
    allocator: do not check NUMA node ID when the caller knows the node is
    valid") as an optimized variant of alloc_pages_node(), that doesn't
    fallback to current node for nid == NUMA_NO_NODE. Unfortunately the
    name of the function can easily suggest that the allocation is
    restricted to the given node and fails otherwise. In truth, the node is
    only preferred, unless __GFP_THISNODE is passed among the gfp flags.

    The misleading name has lead to mistakes in the past, see for example
    commits 5265047ac301 ("mm, thp: really limit transparent hugepage
    allocation to local node") and b360edb43f8e ("mm, mempolicy:
    migrate_to_node should only migrate to node").

    Another issue with the name is that there's a family of
    alloc_pages_exact*() functions where 'exact' means exact size (instead
    of page order), which leads to more confusion.

    To prevent further mistakes, this patch effectively renames
    alloc_pages_exact_node() to __alloc_pages_node() to better convey that
    it's an optimized variant of alloc_pages_node() not intended for general
    usage. Both functions get described in comments.

    It has been also considered to really provide a convenience function for
    allocations restricted to a node, but the major opinion seems to be that
    __GFP_THISNODE already provides that functionality and we shouldn't
    duplicate the API needlessly. The number of users would be small
    anyway.

    Existing callers of alloc_pages_exact_node() are simply converted to
    call __alloc_pages_node(), with the exception of sba_alloc_coherent()
    which open-codes the check for NUMA_NO_NODE, so it is converted to use
    alloc_pages_node() instead. This means it no longer performs some
    VM_BUG_ON checks, and since the current check for nid in
    alloc_pages_node() uses a 'nid < 0' comparison (which includes
    NUMA_NO_NODE), it may hide wrong values which would be previously
    exposed.

    Both differences will be rectified by the next patch.

    To sum up, this patch makes no functional changes, except temporarily
    hiding potentially buggy callers. Restricting the checks in
    alloc_pages_node() is left for the next patch which can in turn expose
    more existing buggy callers.

    Signed-off-by: Vlastimil Babka
    Acked-by: Johannes Weiner
    Acked-by: Robin Holt
    Acked-by: Michal Hocko
    Acked-by: Christoph Lameter
    Acked-by: Michael Ellerman
    Cc: Mel Gorman
    Cc: David Rientjes
    Cc: Greg Thelen
    Cc: Aneesh Kumar K.V
    Cc: Pekka Enberg
    Cc: Joonsoo Kim
    Cc: Naoya Horiguchi
    Cc: Tony Luck
    Cc: Fenghua Yu
    Cc: Arnd Bergmann
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Gleb Natapov
    Cc: Paolo Bonzini
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: Cliff Whickman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vlastimil Babka
     
  • The force_kill member of struct oom_control isn't needed if an order of -1
    is used instead. This is the same as order == -1 in struct
    compact_control which requires full memory compaction.

    This patch introduces no functional change.

    Signed-off-by: David Rientjes
    Cc: Sergey Senozhatsky
    Cc: Michal Hocko
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Rientjes
     
  • There are essential elements to an oom context that are passed around to
    multiple functions.

    Organize these elements into a new struct, struct oom_control, that
    specifies the context for an oom condition.

    This patch introduces no functional change.

    Signed-off-by: David Rientjes
    Acked-by: Michal Hocko
    Cc: Sergey Senozhatsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Rientjes
     
  • Pull libnvdimm updates from Dan Williams:
    "This update has successfully completed a 0day-kbuild run and has
    appeared in a linux-next release. The changes outside of the typical
    drivers/nvdimm/ and drivers/acpi/nfit.[ch] paths are related to the
    removal of IORESOURCE_CACHEABLE, the introduction of memremap(), and
    the introduction of ZONE_DEVICE + devm_memremap_pages().

    Summary:

    - Introduce ZONE_DEVICE and devm_memremap_pages() as a generic
    mechanism for adding device-driver-discovered memory regions to the
    kernel's direct map.

    This facility is used by the pmem driver to enable pfn_to_page()
    operations on the page frames returned by DAX ('direct_access' in
    'struct block_device_operations').

    For now, the 'memmap' allocation for these "device" pages comes
    from "System RAM". Support for allocating the memmap from device
    memory will arrive in a later kernel.

    - Introduce memremap() to replace usages of ioremap_cache() and
    ioremap_wt(). memremap() drops the __iomem annotation for these
    mappings to memory that do not have i/o side effects. The
    replacement of ioremap_cache() with memremap() is limited to the
    pmem driver to ease merging the api change in v4.3.

    Completion of the conversion is targeted for v4.4.

    - Similar to the usage of memcpy_to_pmem() + wmb_pmem() in the pmem
    driver, update the VFS DAX implementation and PMEM api to provide
    persistence guarantees for kernel operations on a DAX mapping.

    - Convert the ACPI NFIT 'BLK' driver to map the block apertures as
    cacheable to improve performance.

    - Miscellaneous updates and fixes to libnvdimm including support for
    issuing "address range scrub" commands, clarifying the optimal
    'sector size' of pmem devices, a clarification of the usage of the
    ACPI '_STA' (status) property for DIMM devices, and other minor
    fixes"

    * tag 'libnvdimm-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (34 commits)
    libnvdimm, pmem: direct map legacy pmem by default
    libnvdimm, pmem: 'struct page' for pmem
    libnvdimm, pfn: 'struct page' provider infrastructure
    x86, pmem: clarify that ARCH_HAS_PMEM_API implies PMEM mapped WB
    add devm_memremap_pages
    mm: ZONE_DEVICE for "device memory"
    mm: move __phys_to_pfn and __pfn_to_phys to asm/generic/memory_model.h
    dax: drop size parameter to ->direct_access()
    nd_blk: change aperture mapping from WC to WB
    nvdimm: change to use generic kvfree()
    pmem, dax: have direct_access use __pmem annotation
    dax: update I/O path to do proper PMEM flushing
    pmem: add copy_from_iter_pmem() and clear_pmem()
    pmem, x86: clean up conditional pmem includes
    pmem: remove layer when calling arch_has_wmb_pmem()
    pmem, x86: move x86 PMEM API to new pmem.h header
    libnvdimm, e820: make CONFIG_X86_PMEM_LEGACY a tristate option
    pmem: switch to devm_ allocations
    devres: add devm_memremap
    libnvdimm, btt: write and validate parent_uuid
    ...

    Linus Torvalds
     
  • Pull xen updates from David Vrabel:
    "Xen features and fixes for 4.3:

    - Convert xen-blkfront to the multiqueue API
    - [arm] Support binding event channels to different VCPUs.
    - [x86] Support > 512 GiB in a PV guests (off by default as such a
    guest cannot be migrated with the current toolstack).
    - [x86] PMU support for PV dom0 (limited support for using perf with
    Xen and other guests)"

    * tag 'for-linus-4.3-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: (33 commits)
    xen: switch extra memory accounting to use pfns
    xen: limit memory to architectural maximum
    xen: avoid another early crash of memory limited dom0
    xen: avoid early crash of memory limited dom0
    arm/xen: Remove helpers which are PV specific
    xen/x86: Don't try to set PCE bit in CR4
    xen/PMU: PMU emulation code
    xen/PMU: Intercept PMU-related MSR and APIC accesses
    xen/PMU: Describe vendor-specific PMU registers
    xen/PMU: Initialization code for Xen PMU
    xen/PMU: Sysfs interface for setting Xen PMU mode
    xen: xensyms support
    xen: remove no longer needed p2m.h
    xen: allow more than 512 GB of RAM for 64 bit pv-domains
    xen: move p2m list if conflicting with e820 map
    xen: add explicit memblock_reserve() calls for special pages
    mm: provide early_memremap_ro to establish read-only mapping
    xen: check for initrd conflicting with e820 map
    xen: check pre-allocated page tables for conflict with memory map
    xen: check for kernel memory conflicting with memory layout
    ...

    Linus Torvalds
     
  • Pull more irq updates from Thomas Gleixner:
    "The second part of irq related updates:

    - Provide EOImode for GIC[V3] irq chips, which is a prerequisite for
    direct interrupt handling in [KVM] guests"

    * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    irqchip/GIC: Fix EOImode setting for non-DT/ACPI systems
    irqchip/GIC: Don't deactivate interrupts forwarded to a guest
    irqchip/GIC: Convert to EOImode == 1
    irqchip/GICv3: Don't deactivate interrupts forwarded to a guest
    irqchip/GICv3: Convert to EOImode == 1

    Linus Torvalds
     

08 Sep, 2015

3 commits

  • Instead of using physical addresses for accounting of extra memory
    areas available for ballooning switch to pfns as this is much less
    error prone regarding partial pages.

    Reported-by: Roger Pau Monné
    Tested-by: Roger Pau Monné
    Signed-off-by: Juergen Gross
    Signed-off-by: David Vrabel

    Juergen Gross
     
  • Commit 3a9ad0b ("PCI: Add pci_bus_addr_t") unconditionally introduced usage of
    64-bit PCI bus addresses on all 64-bit platforms which broke PA-RISC.

    It turned out that due to enabling the 64-bit addresses, the PCI logic decided
    to use the GMMIO instead of the LMMIO region. This commit simply disables
    registering the GMMIO and thus we fall back to use the LMMIO region as before.

    Reverts commit 45ea2a5fed6dacb9bb0558d8b21eacc1c45d5bb4
    ("PCI: Don't use 64-bit bus addresses on PA-RISC")

    To: linux-parisc@vger.kernel.org
    Cc: linux-pci@vger.kernel.org
    Cc: Bjorn Helgaas
    Cc: Meelis Roos
    Cc: stable@vger.kernel.org # v3.19+
    Signed-off-by: Helge Deller

    Helge Deller
     
  • Pull NFS client updates from Trond Myklebust:
    "Highlights include:

    Stable patches:
    - Fix atomicity of pNFS commit list updates
    - Fix NFSv4 handling of open(O_CREAT|O_EXCL|O_RDONLY)
    - nfs_set_pgio_error sometimes misses errors
    - Fix a thinko in xs_connect()
    - Fix borkage in _same_data_server_addrs_locked()
    - Fix a NULL pointer dereference of migration recovery ops for v4.2
    client
    - Don't let the ctime override attribute barriers.
    - Revert "NFSv4: Remove incorrect check in can_open_delegated()"
    - Ensure flexfiles pNFS driver updates the inode after write finishes
    - flexfiles must not pollute the attribute cache with attrbutes from
    the DS
    - Fix a protocol error in layoutreturn
    - Fix a protocol issue with NFSv4.1 CLOSE stateids

    Bugfixes + cleanups
    - pNFS blocks bugfixes from Christoph
    - Various cleanups from Anna
    - More fixes for delegation corner cases
    - Don't fsync twice for O_SYNC/IS_SYNC files
    - Fix pNFS and flexfiles layoutstats bugs
    - pnfs/flexfiles: avoid duplicate tracking of mirror data
    - pnfs: Fix layoutget/layoutreturn/return-on-close serialisation
    issues
    - pnfs/flexfiles: error handling retries a layoutget before fallback
    to MDS

    Features:
    - Full support for the OPEN NFS4_CREATE_EXCLUSIVE4_1 mode from
    Kinglong
    - More RDMA client transport improvements from Chuck
    - Removal of the deprecated ib_reg_phys_mr() and ib_rereg_phys_mr()
    verbs from the SUNRPC, Lustre and core infiniband tree.
    - Optimise away the close-to-open getattr if there is no cached data"

    * tag 'nfs-for-4.3-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (108 commits)
    NFSv4: Respect the server imposed limit on how many changes we may cache
    NFSv4: Express delegation limit in units of pages
    Revert "NFS: Make close(2) asynchronous when closing NFS O_DIRECT files"
    NFS: Optimise away the close-to-open getattr if there is no cached data
    NFSv4.1/flexfiles: Clean up ff_layout_write_done_cb/ff_layout_commit_done_cb
    NFSv4.1/flexfiles: Mark the layout for return in ff_layout_io_track_ds_error()
    nfs: Remove unneeded checking of the return value from scnprintf
    nfs: Fix truncated client owner id without proto type
    NFSv4.1/flexfiles: Mark layout for return if the mirrors are invalid
    NFSv4.1/flexfiles: RW layouts are valid only if all mirrors are valid
    NFSv4.1/flexfiles: Fix incorrect usage of pnfs_generic_mark_devid_invalid()
    NFSv4.1/flexfiles: Fix freeing of mirrors
    NFSv4.1/pNFS: Don't request a minimal read layout beyond the end of file
    NFSv4.1/pnfs: Handle LAYOUTGET return values correctly
    NFSv4.1/pnfs: Don't ask for a read layout for an empty file.
    NFSv4.1: Fix a protocol issue with CLOSE stateids
    NFSv4.1/flexfiles: Don't mark the entire deviceid as bad for file errors
    SUNRPC: Prevent SYN+SYNACK+RST storms
    SUNRPC: xs_reset_transport must mark the connection as disconnected
    NFSv4.1/pnfs: Ensure layoutreturn reserves space for the opaque payload
    ...

    Linus Torvalds
     

06 Sep, 2015

12 commits

  • Pull media updates from Mauro Carvalho Chehab:
    - new DVB frontend drivers: ascot2e, cxd2841er, horus3a, lnbh25
    - new HDMI capture driver: tc358743
    - new driver for NetUP DVB new boards (netup_unidvb)
    - IR support for DVBSky cards (smipcie-ir)
    - Coda driver has gain macroblock tiling support
    - Renesas R-Car gains JPEG codec driver
    - new DVB platform driver for STi boards: c8sectpfe
    - added documentation for the media core kABI to device-drivers DocBook
    - lots of driver fixups, cleanups and improvements

    * tag 'media/v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (297 commits)
    [media] c8sectpfe: Remove select on undefined LIBELF_32
    [media] i2c: fix platform_no_drv_owner.cocci warnings
    [media] cx231xx: Use wake_up_interruptible() instead of wake_up_interruptible_nr()
    [media] tc358743: only queue subdev notifications if devnode is set
    [media] tc358743: add missing Kconfig dependency/select
    [media] c8sectpfe: Use %pad to print 'dma_addr_t'
    [media] DocBook media: Fix typo "the the" in xml files
    [media] tc358743: make reset gpio optional
    [media] tc358743: set direction of reset gpio using devm_gpiod_get
    [media] dvbdev: document most of the functions/data structs
    [media] dvb_frontend.h: document the struct dvb_frontend
    [media] dvb-frontend.h: document struct dtv_frontend_properties
    [media] dvb-frontend.h: document struct dvb_frontend_ops
    [media] dvb: Use DVBFE_ALGO_HW where applicable
    [media] dvb_frontend.h: document struct analog_demod_ops
    [media] dvb_frontend.h: Document struct dvb_tuner_ops
    [media] Docbook: Document struct analog_parameters
    [media] dvb_frontend.h: get rid of dvbfe_modcod
    [media] add documentation for struct dvb_tuner_info
    [media] dvb_frontend: document dvb_frontend_tune_settings
    ...

    Linus Torvalds
     
  • Pull mailbox updates from Jassi Brar:
    "Mainly we move from jiffy based timer to HRTIMER for finer control
    over polling. Then a controller reduces its polling period from 10 to
    1ms"

    * 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration:
    mailbox: arm_mhu: reduce txpoll_period from 10ms to 1 ms
    mailbox: switch to hrtimer for tx_complete polling
    mailbox: Drop owner assignment from platform_driver

    Linus Torvalds
     
  • Pull md updates from Neil Brown:

    - an assortment of little fixes, several for minor races only likely to
    be hit during testing

    - further cluster-md-raid1 development, not ready for real use yet.

    - new RAID6 syndrome code for ARM NEON

    - fix a race where a write can return before failure of one device is
    properly recorded in metadata, so an immediate crash might result in
    that write being lost.

    * tag 'md/4.3' of git://neil.brown.name/md: (33 commits)
    md/raid5: ensure device failure recorded before write request returns.
    md/raid5: use bio_list for the list of bios to return.
    md/raid10: ensure device failure recorded before write request returns.
    md/raid1: ensure device failure recorded before write request returns.
    md-cluster: remove inappropriate try_module_get from join()
    md: extend spinlock protection in register_md_cluster_operations
    md-cluster: Read the disk bitmap sb and check if it needs recovery
    md-cluster: only call complete(&cinfo->completion) when node join cluster
    md-cluster: add missed lockres_free
    md-cluster: remove the unused sb_lock
    md-cluster: init suspend_list and suspend_lock early in join
    md-cluster: add the error check if failed to get dlm lock
    md-cluster: init completion within lockres_init
    md-cluster: fix deadlock issue on message lock
    md-cluster: transfer the resync ownership to another node
    md-cluster: split recover_slot for future code reuse
    md-cluster: use %pU to print UUIDs
    md: setup safemode_timer before it's being used
    md/raid5: handle possible race as reshape completes.
    md: sync sync_completed has correct value as recovery finishes.
    ...

    Linus Torvalds
     
  • Merge patch-bomb from Andrew Morton:

    - a few misc things

    - Andy's "ambient capabilities"

    - fs/nofity updates

    - the ocfs2 queue

    - kernel/watchdog.c updates and feature work.

    - some of MM. Includes Andrea's userfaultfd feature.

    [ Hadn't noticed that userfaultfd was 'default y' when applying the
    patches, so that got fixed in this merge instead. We do _not_ mark
    new features that nobody uses yet 'default y' - Linus ]

    * emailed patches from Andrew Morton : (118 commits)
    mm/hugetlb.c: make vma_has_reserves() return bool
    mm/madvise.c: make madvise_behaviour_valid() return bool
    mm/memory.c: make tlb_next_batch() return bool
    mm/dmapool.c: change is_page_busy() return from int to bool
    mm: remove struct node_active_region
    mremap: simplify the "overlap" check in mremap_to()
    mremap: don't do uneccesary checks if new_len == old_len
    mremap: don't do mm_populate(new_addr) on failure
    mm: move ->mremap() from file_operations to vm_operations_struct
    mremap: don't leak new_vma if f_op->mremap() fails
    mm/hugetlb.c: make vma_shareable() return bool
    mm: make GUP handle pfn mapping unless FOLL_GET is requested
    mm: fix status code which move_pages() returns for zero page
    mm: memcontrol: bring back the VM_BUG_ON() in mem_cgroup_swapout()
    genalloc: add support of multiple gen_pools per device
    genalloc: add name arg to gen_pool_get() and devm_gen_pool_create()
    mm/memblock: WARN_ON when nid differs from overlap region
    Documentation/features/vm: add feature description and arch support status for batched TLB flush after unmap
    mm: defer flush of writable TLB entries
    mm: send one IPI per CPU to TLB flush all entries after unmapping pages
    ...

    Linus Torvalds
     
  • Fix RTC write bit as per application manual

    Cc: stable@vger.kernel.org # 4.1+
    Signed-off-by: Mitja Spes
    Signed-off-by: Alexandre Belloni

    Mitja Spes
     
  • Add a sentinel to ab85xx_rtc_ids[] in order to fix the following error:

    drivers/rtc/rtc-ab8500: struct platform_device_id is 24 bytes. The last of 2 is:
    0x61 0x62 0x38 0x35 0x34 0x30 0x2d 0x72 0x74 0x63 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x8c
    FATAL: drivers/rtc/rtc-ab8500: struct platform_device_id is not terminated with a NULL entry!

    Reported-by: Andrey Ryabinin
    Reported-by: Olof's autobuilder
    Signed-off-by: Fabio Estevam
    Reviewed-by: Krzysztof Kozlowski
    Signed-off-by: Alexandre Belloni

    Fabio Estevam
     
  • Remove unused variable 'res' and fix the following build warning:

    drivers/rtc/rtc-ds1374.c:667:6: warning: unused variable 'res' [-Wunused-variable]

    Reported-by: Olof's autobuilder
    Signed-off-by: Fabio Estevam
    Signed-off-by: Alexandre Belloni

    Fabio Estevam
     
  • These platform drivers have a OF device ID table but the OF module
    alias information is not created so module autoloading won't work.

    Signed-off-by: Javier Martinez Canillas
    Acked-by: Andrew Lunn
    Signed-off-by: Alexandre Belloni

    Javier Martinez Canillas
     
  • These platform drivers have a platform device ID table but the module
    alias information is not created so module autoloading will not work.

    Signed-off-by: Javier Martinez Canillas
    Reviewed-by: Krzysztof Kozlowski
    Signed-off-by: Alexandre Belloni

    Javier Martinez Canillas
     
  • Configure the clock source to external clock if available.
    External clock is preferred as it can be ticking during suspend.

    Signed-off-by: Keerthy
    Acked-by: Tony Lindgren
    Signed-off-by: Alexandre Belloni

    Keerthy
     
  • The rtc can be clocked by an internal 32K clock. Adding the support
    to enable the same.

    Signed-off-by: Keerthy
    Acked-by: Tony Lindgren
    Signed-off-by: Alexandre Belloni

    Keerthy
     
  • According to datasheet, the S2MPS13X and S2MPS14X should update write
    buffer via setting WUDR bit to high after ctrl register is written.

    If not, ALARM interrupt of rtc-s5m doesn't happen first time when i use
    tools/testing/selftests/timers/rtctest.c test program and hour format is
    used to 12 hour mode in Odroid-XU3 board.

    One more issue is the RTC doesn't keep time on Odroid-XU3 board when i
    turn on board after power off even if RTC battery is connected. It can
    be solved as setting WUDR & RUDR bits to high at the same time after
    RTC_CTRL register is written. It's same with condition of only writing
    ALARM registers, so this is for only S2MPS14 and we should set WUDR &
    A_UDR bits to high on S2MPS13.

    I can't find any reasonable description about this like fix from
    datasheet, but can find similar codes from rtc driver source of
    hardkernel kernel and vendor kernel.

    Signed-off-by: Joonyoung Shim
    Cc: # v3.16
    Reviewed-by: Krzysztof Kozlowski
    Tested-by: Krzysztof Kozlowski
    Signed-off-by: Alexandre Belloni

    Joonyoung Shim