14 Jan, 2016

12 commits

  • Pull f2fs updates from Jaegeuk Kim:
    "This series adds two ioctls to control cached data and fragmented
    files. Most of the rest fixes missing error cases and bugs that we
    have not covered so far. Summary:

    Enhancements:
    - support an ioctl to execute online file defragmentation
    - support an ioctl to flush cached data
    - speed up shrinking of extent_cache entries
    - handle broken superblock
    - refector dirty inode management infra
    - revisit f2fs_map_blocks to handle more cases
    - reduce global lock coverage
    - add detecting user's idle time

    Major bug fixes:
    - fix data race condition on cached nat entries
    - fix error cases of volatile and atomic writes"

    * tag 'for-f2fs-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (87 commits)
    f2fs: should unset atomic flag after successful commit
    f2fs: fix wrong memory condition check
    f2fs: monitor the number of background checkpoint
    f2fs: detect idle time depending on user behavior
    f2fs: introduce time and interval facility
    f2fs: skip releasing nodes in chindless extent tree
    f2fs: use atomic type for node count in extent tree
    f2fs: recognize encrypted data in f2fs_fiemap
    f2fs: clean up f2fs_balance_fs
    f2fs: remove redundant calls
    f2fs: avoid unnecessary f2fs_balance_fs calls
    f2fs: check the page status filled from disk
    f2fs: introduce __get_node_page to reuse common code
    f2fs: check node id earily when readaheading node page
    f2fs: read isize while holding i_mutex in fiemap
    Revert "f2fs: check the node block address of newly allocated nid"
    f2fs: cover more area with nat_tree_lock
    f2fs: introduce max_file_blocks in sbi
    f2fs crypto: check CONFIG_F2FS_FS_XATTR for encrypted symlink
    f2fs: introduce zombie list for fast shrinking extent trees
    ...

    Linus Torvalds
     
  • Pull first round of SCSI updates from James Bottomley:
    "This includes driver updates from the usual suspects (bfa, arcmsr,
    scsi_dh_alua, lpfc, storvsc, cxlflash).

    The major change is the addition of the hisi_sas driver, which is an
    ARM platform device for SAS. The other change of note is an enormous
    style transformation to the atp870u driver (which is our worst written
    SCSI driver)"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (169 commits)
    cxlflash: Enable device id for future IBM CXL adapter
    cxlflash: Resolve oops in wait_port_offline
    cxlflash: Fix to resolve cmd leak after host reset
    cxlflash: Removed driver date print
    cxlflash: Fix to avoid virtual LUN failover failure
    cxlflash: Fix to escalate LINK_RESET also on port 1
    storvsc: Tighten up the interrupt path
    storvsc: Refactor the code in storvsc_channel_init()
    storvsc: Properly support Fibre Channel devices
    storvsc: Fix a bug in the layout of the hv_fc_wwn_packet
    mvsas: Add SGPIO support to Marvell 94xx
    mpt3sas: A correction in unmap_resources
    hpsa: Add box and bay information for enclosure devices
    hpsa: Change SAS transport devices to bus 0.
    hpsa: fix path_info_show
    cciss: print max outstanding commands as a hex value
    scsi_debug: Increase the reported optimal transfer length
    lpfc: Update version to 11.0.0.10 for upstream patch set
    lpfc: Use kzalloc instead of kmalloc
    lpfc: Delete unnecessary checks before the function call "mempool_destroy"
    ...

    Linus Torvalds
     
  • Pull s390 updates from Martin Schwidefsky:
    "Among the traditional bug fixes and cleanups are some improvements:

    - A tool to generated the facility lists, generating the bit fields
    by hand has been a source of bugs in the past

    - The spinlock loop is reordered to avoid bursts of hypervisor calls

    - Add support for the open-for-business interface to the service
    element

    - The get_cpu call is added to the vdso

    - A set of tracepoints is defined for the common I/O layer

    - The deprecated sclp_cpi module is removed

    - Update default configuration"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (56 commits)
    s390/sclp: fix possible control register corruption
    s390: fix normalization bug in exception table sorting
    s390/configs: update default configurations
    s390/vdso: optimize getcpu system call
    s390: drop smp_mb in vdso_init
    s390: rename struct _lowcore to struct lowcore
    s390/mem_detect: use unsigned longs
    s390/ptrace: get rid of long longs in psw_bits
    s390/sysinfo: add missing SYSIB 1.2.2 multithreading fields
    s390: get rid of CONFIG_SCHED_MC and CONFIG_SCHED_BOOK
    s390/Kconfig: remove pointless 64 bit dependencies
    s390/dasd: fix failfast for disconnected devices
    s390/con3270: testing return kzalloc retval
    s390/hmcdrv: constify hmcdrv_ftp_ops structs
    s390/cio: add NULL test
    s390/cio: Change I/O instructions from inline to normal functions
    s390/cio: Introduce common I/O layer tracepoints
    s390/cio: Consolidate inline assemblies and related data definitions
    s390/cio: Fix incorrect xsch opcode specification
    s390/cio: Remove unused inline assemblies
    ...

    Linus Torvalds
     
  • Pull second batch of media updates from Mauro Carvalho Chehab:
    "This is the second part of the media patches. It contains the media
    controller next generation patches, with is the result of one year of
    discussions and development. It also contains patches to enable media
    controller support at the DVB subsystem.

    The goal is to improve the media controller to allow proper support
    for other types of Video4Linux devices (radio and TV ones) and to
    extend the media controller functionality to allow it to be used by
    other subsystems like DVB, ALSA and IIO.

    In order to use the new functionality, a new ioctl is needed
    (MEDIA_IOC_G_TOPOLOGY). As we're still discussing how to pack the
    struct fields of this ioctl in order to avoid compat32 issues, I
    decided to add a patch at the end of this series commenting out the
    new ioctl, in order to postpone the addition of the new ioctl to the
    next Kernel version (4.6).

    With that, no userspace visible changes should happen at the media
    controller API, as the existing ioctls are untouched. Yet, it helps
    DVB, ALSA and IIO developers to develop and test the patches adding
    media controller support there, as the core will contain all required
    internal changes to allow adding support for devices that belong to
    those subsystems"

    * tag 'media/v4.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (177 commits)
    [media] Postpone the addition of MEDIA_IOC_G_TOPOLOGY
    [media] mxl111sf: Add a tuner entity
    [media] dvbdev: create links on devices with multiple frontends
    [media] media-entitiy: add a function to create multiple links
    [media] dvb-usb-v2: postpone removal of media_device
    [media] dvbdev: Add RF connector if needed
    [media] dvbdev: remove two dead functions if !CONFIG_MEDIA_CONTROLLER_DVB
    [media] call media_device_init() before registering the V4L2 device
    [media] uapi/media.h: Use u32 for the number of graph objects
    [media] media-entity: don't sleep at media_device_register_entity()
    [media] media-entity: increase max number of PADs
    [media] media-entity.h: document the remaining functions
    [media] media-device.h: use just one u32 counter for object ID
    [media] media-entity.h fix documentation for several parameters
    [media] DocBook: document media_entity_graph_walk_cleanup()
    [media] move documentation to the header files
    [media] media: Move MEDIA_ENTITY_MAX_PADS from media-entity.h to media-entity.c
    [media] media: Remove pre-allocated entity enumeration bitmap
    [media] staging: v4l: davinci_vpbe: Use the new media graph walk interface
    [media] staging: v4l: omap4iss: Use the new media graph walk interface
    ...

    Linus Torvalds
     
  • Pull spi updates from Mark Brown:
    "A quiet release for SPI, not even many driver updates:

    - Add a dummy loopback driver for use in exercising framework
    features during development.

    - Move the test utilities to tools/ and add support for transferring
    data to and from a file instead of stdin and stdout to spidev_test.

    - Support for Mediatek MT2701 and Renesas AG5 deices"

    * tag 'spi-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (69 commits)
    spi: loopback: fix typo in MODULE_PARM_DESC
    spi: sun4i: Prevent chip-select from being activated twice before a transfer
    spi: loopback-test: spi_check_rx_ranges can get always done
    spi: loopback-test: rename method spi_test_fill_tx to spi_test_fill_pattern
    spi: loopback-test: write rx pattern also when running without tx_buf
    spi: fsl-espi: expose maximum transfer size limit
    spi: expose master transfer size limitation.
    spi: zynq: use to_platform_device()
    spi: cadence: use to_platform_device()
    spi: mediatek: Add spi support for mt2701 IC
    spi: mediatek: merge all identical compat to mtk_common_compat
    spi: mtk: Add bindings for mediatek MT2701 soc platform
    spi: mediatek: Prevent overflows in FIFO transfers
    spi: s3c64xx: Remove unused platform_device_id entries
    spi: use to_spi_device
    spi: dw: Use SPI_TMOD_TR rather than magic const 0 to set tmode
    spi: imx: defer spi initialization, if DMA engine is
    spi: imx: return error from dma channel request
    spi: imx: enable loopback only for ECSPI controller family
    spi: imx: fix loopback mode setup after controller reset
    ...

    Linus Torvalds
     
  • Pull MTD updates from Brian Norris:
    "Generic MTD:

    - populate the MTD device 'of_node' field (and get a proper 'of_node'
    symlink in sysfs)

    This yielded some new helper functions, and changes across a
    variety of drivers

    - partitioning cleanups, to prepare for better device-tree based
    partitioning in the future

    Eliminate a lot of boilerplate for drivers that want to use
    OF-based partition parsing

    The DT bindings for this didn't settle yet, so most non-cleanup
    portions are deferred for a future release

    NAND:

    - embed a struct mtd_info inside struct nand_chip

    This is really long overdue; too many drivers have to do the same
    silly boilerplate to allocate and link up two "independent"
    structs, when in fact, everyone is assuming there is an exact 1:1
    relationship between a NAND chips struct and its underlying MTD.
    This aids improved helpers and should make certain abstractions
    easier in the future.

    Also causes a lot of churn, helped along by some automated code
    transformations

    - add more core support for detecting (and "correcting") bitflips in
    erased pages; requires opt-in by drivers, but at least we kill a
    few bad implementations and hopefully stave off future ones

    - pxa3xx_nand: cleanups, a few fixes, and PM improvements

    - new JZ4780 NAND driver

    SPI NOR:

    - provide default erase function, for controllers that just want to
    send the SECTOR_ERASE command directly

    - fix some module auto-loading issues with device tree
    ("jedec,spi-nor")

    - error handling fixes

    - new Mediatek QSPI flash driver

    Other:

    - cfi: force valid geometry Kconfig (finally!)

    This one used to trip up randconfigs occasionally, since bots
    aren't deterred by big scary "advanced configuration" menus

    More? Probably. See the commit logs"

    * tag 'for-linus-20160112' of git://git.infradead.org/linux-mtd: (168 commits)
    mtd: jz4780_nand: replace if/else blocks with switch/case
    mtd: nand: jz4780: Update ecc correction error codes
    mtd: nandsim: use nand_get_controller_data()
    mtd: jz4780_nand: remove useless mtd->priv = chip assignment
    staging: mt29f_spinand: make use of nand_set/get_controller_data() helpers
    mtd: nand: make use of nand_set/get_controller_data() helpers
    ARM: make use of nand_set/get_controller_data() helpers
    mtd: nand: add helpers to access ->priv
    mtd: nand: jz4780: driver for NAND devices on JZ4780 SoCs
    mtd: nand: jz4740: remove custom 'erased check' implementation
    mtd: nand: diskonchip: remove custom 'erased check' implementation
    mtd: nand: davinci: remove custom 'erased check' implementation
    mtd: nand: use nand_check_erased_ecc_chunk in default ECC read functions
    mtd: nand: return consistent error codes in ecc.correct() implementations
    doc: dt: mtd: new binding for jz4780-{nand,bch}
    mtd: cfi_cmdset_0001: fixing memory leak and handling failed kmalloc
    mtd: spi-nor: wait until lock/unlock operations are ready
    mtd: tests: consolidate kmalloc/memset 0 call to kzalloc
    jffs2: use to_delayed_work
    mtd: nand: assign reasonable default name for NAND drivers
    ...

    Linus Torvalds
     
  • Pull input updates from Dmitry Torokhov:
    - new driver for eGalaxTouch serial touchscreen
    - new driver for TS-4800 touchscreen
    - an update for Goodix touchscreen driver
    - PS/2 mouse module was reworked to limit number of protocols we try on
    pass-through ports to speed up their detection time
    - wacom_w8001 touchscreen driver now reports pen and touch via separate
    instances of input devices
    - other driver changes

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (42 commits)
    Input: elantech - mark protocols v2 and v3 as semi-mt
    Input: wacom_w8001 - drop use of ABS_MT_TOOL_TYPE
    Input: gpio-keys - fix check for disabling unsupported keys
    Input: omap-keypad - remove dead check
    Input: ti_am335x_tsc - fix HWPEN interrupt handling
    Input: omap-keypad - set tasklet data earlier
    Input: rohm_bu21023 - fix handling of retrying firmware update
    Input: ALPS - report v3 pinnacle trackstick device only if is present
    Input: ALPS - detect trackstick presence for v7 protocol
    Input: pcap_ts - use to_delayed_work
    Input: bma150 - constify bma150_cfg structure
    Input: i8042 - add Fujitsu Lifebook U745 to the nomux list
    Input: egalax_ts_serial - fix potential NULL dereference on error
    Input: uinput - sanity check on ff_effects_max and EV_FF
    Input: uinput - rework ABS validation
    Input: uinput - add new UINPUT_DEV_SETUP and UI_ABS_SETUP ioctl
    Input: goodix - use "inverted_[xy]" flags instead of "rotated_screen"
    Input: goodix - add axis swapping and axis inversion support
    Input: goodix - use goodix_i2c_write_u8 instead of i2c_master_send
    Input: goodix - add power management support
    ...

    Linus Torvalds
     
  • Pull dmaengine updates from Vinod Koul:
    "This round we have few new features, new driver and updates to few
    drivers.

    The new features to dmaengine core are:
    - Synchronized transfer termination API to terminate the dmaengine
    transfers in synchronized and async fashion as required by users.
    We have its user now in ALSA dmaengine lib, img, at_xdma, axi_dmac
    drivers.
    - Universal API for channel request and start consolidation of
    request flows. It's user is ompa-dma driver.
    - Introduce reuse of descriptors and use in pxa_dma driver

    Add/Remove:
    - New STM32 DMA driver
    - Removal of unused R-Car HPB-DMAC driver

    Updates:
    - ti-dma-crossbar updates for supporting eDMA
    - tegra-apb pm updates
    - idma64
    - mv_xor updates
    - ste_dma updates"

    * tag 'dmaengine-4.5-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (54 commits)
    dmaengine: mv_xor: add suspend/resume support
    dmaengine: mv_xor: de-duplicate mv_chan_set_mode*()
    dmaengine: mv_xor: remove mv_xor_chan->current_type field
    dmaengine: omap-dma: Add support for DMA filter mapping to slave devices
    dmaengine: edma: Add support for DMA filter mapping to slave devices
    dmaengine: core: Introduce new, universal API to request a channel
    dmaengine: core: Move and merge the code paths using private_candidate
    dmaengine: core: Skip mask matching when it is not provided to private_candidate
    dmaengine: mdc: Correct terminate_all handling
    dmaengine: edma: Add probe callback to edma_tptc_driver
    dmaengine: dw: fix potential memory leak in dw_dma_parse_dt()
    dmaengine: stm32-dma: Fix unchecked deference of chan->desc
    dmaengine: sh: Remove unused R-Car HPB-DMAC driver
    dmaengine: usb-dmac: Document SoC specific compatibility strings
    ste_dma40: Delete an unnecessary variable initialisation in d40_probe()
    ste_dma40: Delete another unnecessary check in d40_probe()
    ste_dma40: Delete an unnecessary check before the function call "kmem_cache_destroy"
    dmaengine: tegra-apb: Free interrupts before killing tasklets
    dmaengine: tegra-apb: Update driver to use GFP_NOWAIT
    dmaengine: tegra-apb: Only save channel state for those in use
    ...

    Linus Torvalds
     
  • Pull char/misc updates from Greg KH:
    "Here's the big set of char/misc patches for 4.5-rc1.

    Nothing major, lots of different driver subsystem updates, full
    details in the shortlog. All of these have been in linux-next for a
    while"

    * tag 'char-misc-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (71 commits)
    mei: fix fasync return value on error
    parport: avoid assignment in if
    parport: remove unneeded space
    parport: change style of NULL comparison
    parport: remove unnecessary out of memory message
    parport: remove braces
    parport: quoted strings should not be split
    parport: code indent should use tabs
    parport: fix coding style
    parport: EXPORT_SYMBOL should follow function
    parport: remove trailing white space
    parport: fix a trivial typo
    coresight: Fix a typo in Kconfig
    coresight: checking for NULL string in coresight_name_match()
    Drivers: hv: vmbus: Treat Fibre Channel devices as performance critical
    Drivers: hv: utils: fix hvt_op_poll() return value on transport destroy
    Drivers: hv: vmbus: fix the building warning with hyperv-keyboard
    extcon: add Maxim MAX3355 driver
    Drivers: hv: ring_buffer: eliminate hv_ringbuffer_peek()
    Drivers: hv: remove code duplication between vmbus_recvpacket()/vmbus_recvpacket_raw()
    ...

    Linus Torvalds
     
  • Pull staging driver updates from Greg KH:
    "Here is the big staging driver pull request for 4.5-rc1.

    Lots of cleanups and fixes here, not as many as some releases, but
    800+ isn't that bad. Full details in the shortlog. All of these have
    been in linux-next for a while"

    * tag 'staging-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (843 commits)
    Revert "arm64: dts: Add dts files to enable ION on Hi6220 SoC."
    staging: gdm724x: constify tty_port_operations structs
    staging: gdm72xx: add userspace data struct
    staging: gdm72xx: Replace timeval with ktime_t
    iio: adc: ina2xx: Fix incorrect report of data endianness to userspace.
    iio: light: us5182d: Refactor read_raw function
    iio: light: us5182d: Add interrupt support and events
    iio: light: us5182d: Fix enable status inconcistency
    iio: Make IIO value formating function globally available.
    staging: emxx_udc: use list_first_entry_or_null()
    staging/emxx_udc: fix 64-bit warnings
    STAGING: COMEDI: Using kernel types in plx9080.h
    STAGING: COMEDI: Added spaces around binary operators in plx9080.h
    STAGING: COMEDI: Fixed format of comments in plx9080.h
    staging: comedi: comedilib.h: Coding style warning fix for block comments
    staging: comedi: s526: add macros for counter control reg values
    staging: comedi: s526: replace counter mode bitfield struct
    staging: comedi: check for more errors for zero-length write
    staging: comedi: simplify returned errors for comedi_write()
    staging: comedi: return error on "write" if no command set up
    ...

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

    Lots of driver updates and some tty core changes. All of these have
    been in linux-next and the details are in the shortlog"

    * tag 'tty-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (127 commits)
    drivers/tty/serial: delete unused MODULE_DEVICE_TABLE from atmel_serial.c
    serial: sh-sci: Remove cpufreq notifier to fix crash/deadlock
    serial: 8250: of: Fix the driver and actually compile the 8250_of
    tty: amba-pl011: use iotype instead of access_32b to track 32-bit I/O
    tty: amba-pl011: fix earlycon register offsets
    serial: sh-sci: Drop the sci_fck clock fallback
    sh: sh7734: Correct SCIF type for BRG
    sh: Remove sci_ick clock alias
    sh: Rename sci_ick and sci_fck clock to fck
    serial: sh-sci: Add support for optional BRG on (H)SCIF
    serial: sh-sci: Add support for optional external (H)SCK input
    serial: sh-sci: Prepare for multiple sampling clock sources
    serial: sh-sci: Correct SCIF type on R-Car for BRG
    serial: sh-sci: Correct SCIF type on RZ/A1H
    serial: sh-sci: Replace struct sci_port_info by type/regtype encoding
    serial: sh-sci: Add BRG register definitions
    serial: sh-sci: Take into account sampling rate for max baud rate
    serial: sh-sci: Merge sci_scbrr_calc() and sci_baud_calc_hscif()
    serial: sh-sci: Avoid calculating the receive margin for HSCIF
    serial: sh-sci: Improve bit rate error calculation for HSCIF
    ...

    Linus Torvalds
     
  • Pull USB updates from Greg KH:
    "Here is the big USB drivers update for 4.5-rc1.

    Lots of gadget driver updates and fixes, like usual, and a mix of
    other USB driver updates as well. Full details in the shortlog. All
    of these have been in linux-next for a while"

    * tag 'usb-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (191 commits)
    MAINTAINERS: change my email address
    USB: usbmon: remove assignment from IS_ERR argument
    USB: mxu11x0: drop redundant function name from error messages
    USB: mxu11x0: fix debug-message typos
    USB: mxu11x0: rename usb-serial driver
    USB: mxu11x0: fix modem-control handling on B0-transitions
    USB: mxu11x0: fix memory leak on firmware download
    USB: mxu11x0: fix memory leak in port-probe error path
    USB: serial: add Moxa UPORT 11x0 driver
    USB: cp210x: add ID for ELV Marble Sound Board 1
    usb: chipidea: otg: use usb autosuspend to suspend bus for HNP
    usb: chipidea: host: set host to be null after hcd is freed
    usb: chipidea: removing of_find_property
    usb: chipidea: implement platform shutdown callback
    usb: chipidea: clean up CONFIG_USB_CHIPIDEA_DEBUG reference
    usb: chipidea: delete static debug support
    usb: chipidea: support debugfs without CONFIG_USB_CHIPIDEA_DEBUG
    usb: chipidea: udc: improve error handling on _hardware_enqueue
    usb: chipidea: udc: _ep_queue and _hw_queue cleanup
    usb: dwc3: of-simple: fix build warning on !PM
    ...

    Linus Torvalds
     

13 Jan, 2016

11 commits

  • Pull oower management and ACPI updates from Rafael Wysocki:
    "As far as the number of commits goes, ACPICA takes the lead this time,
    followed by cpufreq and the device properties framework changes.

    The most significant new feature is the debugfs-based interface to the
    ACPICA's AML debugger added in the previous cycle and a new user space
    tool for accessing it.

    On the cpufreq front, the core is updated to handle governors more
    efficiently, particularly on systems where a single cpufreq policy
    object is shared between multiple CPUs, and there are quite a few
    changes in drivers (intel_pstate, cpufreq-dt etc).

    The device properties framework is updated to handle built-in (ie
    included in the kernel itself) device properties better, among other
    things by adding a fallback mechanism that will allow drivers to
    provide default properties to be used in case the plaform firmware
    doesn't provide the properties expected by them.

    The Operating Performance Points (OPP) framework gets new DT bindings
    and debugfs support.

    A new cpufreq driver for ST platforms is added and the ACPI driver for
    AMD SoCs will now support the APM X-Gene ACPI I2C device.

    The rest is mostly fixes and cleanups all over.

    Specifics:

    - Add a debugfs-based interface for interacting with the ACPICA's AML
    debugger introduced in the previous cycle and a new user space tool
    for that, fix some bugs related to the AML debugger and clean up
    the code in question (Lv Zheng, Dan Carpenter, Colin Ian King,
    Markus Elfring).

    - Update ACPICA to upstream revision 20151218 including a number of
    fixes and cleanups in the ACPICA core (Bob Moore, Lv Zheng, Labbe
    Corentin, Prarit Bhargava, Colin Ian King, David E Box, Rafael
    Wysocki).

    In particular, the previously added erroneous support for the _SUB
    object is dropped, the concatenate operator will support all ACPI
    objects now, the Debug Object handling is improved, the SuperName
    handling of parameters being control methods is fixed, the
    ObjectType operator handling is updated to follow ACPI 5.0A and the
    handling of CondRefOf and RefOf is updated accordingly, module-
    level code will be executed after loading each ACPI table now
    (instead of being run once after all tables containing AML have
    been loaded), the Operation Region handlers management is updated
    to fix some reported problems and a the ACPICA code in the kernel
    is more in line with the upstream now.

    - Update the ACPI backlight driver to provide information on whether
    or not it will generate key-presses for brightness change hotkeys
    and update some platform drivers (dell-wmi, thinkpad_acpi) to use
    that information to avoid sending double key-events to users pace
    for these, add new ACPI backlight quirks (Hans de Goede, Aaron Lu,
    Adrien Schildknecht).

    - Improve the ACPI handling of interrupt GPIOs (Christophe Ricard).

    - Fix the handling of the list of device IDs of device objects found
    in the ACPI namespace and add a helper for checking if there is a
    device object for a given device ID (Lukas Wunner).

    - Change the logic in the ACPI namespace scanning code to create
    struct acpi_device objects for all ACPI device objects found in the
    namespace even if _STA fails for them which helps to avoid device
    enumeration problems on Microsoft Surface 3 (Aaron Lu).

    - Add support for the APM X-Gene ACPI I2C device to the ACPI driver
    for AMD SoCs (Loc Ho).

    - Fix the long-standing issue with the DMA controller on Intel SoCs
    where ACPI tables have no power management support for the DMA
    controller itself, but it can be powered off automatically when the
    last (other) device on the SoC is powered off via ACPI and clean up
    the ACPI driver for Intel SoCs (acpi-lpss) after previous attempts
    to fix that problem (Andy Shevchenko).

    - Assorted ACPI fixes and cleanups (Andy Lutomirski, Colin Ian King,
    Javier Martinez Canillas, Ken Xue, Mathias Krause, Rafael Wysocki,
    Sinan Kaya).

    - Update the device properties framework for better handling of
    built-in properties, add support for built-in properties to the
    platform bus type, update the MFD subsystem's handling of device
    properties and add support for passing default configuration data
    as device properties to the intel-lpss MFD drivers, convert the
    designware I2C driver to use the unified device properties API and
    add a fallback mechanism for using default built-in properties if
    the platform firmware fails to provide the properties as expected
    by drivers (Andy Shevchenko, Mika Westerberg, Heikki Krogerus,
    Andrew Morton).

    - Add new Device Tree bindings to the Operating Performance Points
    (OPP) framework and update the exynos4412 DT binding accordingly,
    introduce debugfs support for the OPP framework (Viresh Kumar,
    Bartlomiej Zolnierkiewicz).

    - Migrate the mt8173 cpufreq driver to the new OPP bindings (Pi-Cheng
    Chen).

    - Update the cpufreq core to make the handling of governors more
    efficient, especially on systems where policy objects are shared
    between multiple CPUs (Viresh Kumar, Rafael Wysocki).

    - Fix cpufreq governor handling on configurations with
    CONFIG_HZ_PERIODIC set (Chen Yu).

    - Clean up the cpufreq core code related to the boost sysfs knob
    support and update the ACPI cpufreq driver accordingly (Rafael
    Wysocki).

    - Add a new cpufreq driver for ST platforms and corresponding Device
    Tree bindings (Lee Jones).

    - Update the intel_pstate driver to allow the P-state selection
    algorithm used by it to depend on the CPU ID of the processor it is
    running on, make it use a special P-state selection algorithm (with
    an IO wait time compensation tweak) on Atom CPUs based on the
    Airmont and Silvermont cores so as to reduce their energy
    consumption and improve intel_pstate documentation (Philippe
    Longepe, Srinivas Pandruvada).

    - Update the cpufreq-dt driver to support registering cooling devices
    that use the (P * V^2 * f) dynamic power draw formula where V is
    the voltage, f is the frequency and P is a constant coefficient
    provided by Device Tree and update the arm_big_little cpufreq
    driver to use that support (Punit Agrawal).

    - Assorted cpufreq driver (cpufreq-dt, qoriq, pcc-cpufreq,
    blackfin-cpufreq) updates (Andrzej Hajda, Hongtao Jia, Jacob
    Tanenbaum, Markus Elfring).

    - cpuidle core tweaks related to polling and measured_us calculation
    (Rik van Riel).

    - Removal of modularity from a few cpuidle drivers (clps711x, ux500,
    exynos) that cannot be built as modules in practice (Paul
    Gortmaker).

    - PM core update to prevent devices from being probed during system
    suspend/resume which is generally problematic and may lead to
    inconsistent behavior (Grygorii Strashko).

    - Assorted updates of the PM core and related code (Julia Lawall,
    Manuel Pégourié-Gonnard, Maruthi Bayyavarapu, Rafael Wysocki, Ulf
    Hansson).

    - PNP bus type updates (Christophe Le Roy, Heiner Kallweit).

    - PCI PM code cleanups (Jarkko Nikula, Julia Lawall).

    - cpupower tool updates (Jacob Tanenbaum, Thomas Renninger)"

    * tag 'pm+acpi-4.5-rc1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (177 commits)
    PM / clk: don't leave clocks enabled when driver not bound
    i2c: dw: Add APM X-Gene ACPI I2C device support
    ACPI / APD: Add APM X-Gene ACPI I2C device support
    ACPI / LPSS: change 'does not have' to 'has' in comment
    Revert "dmaengine: dw: platform: provide platform data for Intel"
    dmaengine: dw: return immediately from IRQ when DMA isn't in use
    dmaengine: dw: platform: power on device on shutdown
    ACPI / LPSS: override power state for LPSS DMA device
    PM / OPP: Use snprintf() instead of sprintf()
    Documentation: cpufreq: intel_pstate: enhance documentation
    ACPI, PCI, irq: remove redundant check for null string pointer
    ACPI / video: driver must be registered before checking for keypresses
    cpufreq-dt: fix handling regulator_get_voltage() result
    cpufreq: governor: Fix negative idle_time when configured with CONFIG_HZ_PERIODIC
    PM / sleep: Add support for read-only sysfs attributes
    ACPI: Fix white space in a structure definition
    ACPI / SBS: fix inconsistent indenting inside if statement
    PNP: respect PNP_DRIVER_RES_DO_NOT_CHANGE when detaching
    ACPI / PNP: constify device IDs
    ACPI / PCI: Simplify acpi_penalize_isa_irq()
    ...

    Linus Torvalds
     
  • Pull cgroup updates from Tejun Heo:

    - cgroup v2 interface is now official. It's no longer hidden behind a
    devel flag and can be mounted using the new cgroup2 fs type.

    Unfortunately, cpu v2 interface hasn't made it yet due to the
    discussion around in-process hierarchical resource distribution and
    only memory and io controllers can be used on the v2 interface at the
    moment.

    - The existing documentation which has always been a bit of mess is
    relocated under Documentation/cgroup-v1/. Documentation/cgroup-v2.txt
    is added as the authoritative documentation for the v2 interface.

    - Some features are added through for-4.5-ancestor-test branch to
    enable netfilter xt_cgroup match to use cgroup v2 paths. The actual
    netfilter changes will be merged through the net tree which pulled in
    the said branch.

    - Various cleanups

    * 'for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
    cgroup: rename cgroup documentations
    cgroup: fix a typo.
    cgroup: Remove resource_counter.txt in Documentation/cgroup-legacy/00-INDEX.
    cgroup: demote subsystem init messages to KERN_DEBUG
    cgroup: Fix uninitialized variable warning
    cgroup: put controller Kconfig options in meaningful order
    cgroup: clean up the kernel configuration menu nomenclature
    cgroup_pids: fix a typo.
    Subject: cgroup: Fix incomplete dd command in blkio documentation
    cgroup: kill cgrp_ss_priv[CGROUP_CANFORK_COUNT] and friends
    cpuset: Replace all instances of time_t with time64_t
    cgroup: replace unified-hierarchy.txt with a proper cgroup v2 documentation
    cgroup: rename Documentation/cgroups/ to Documentation/cgroup-legacy/
    cgroup: replace __DEVEL__sane_behavior with cgroup2 fs type

    Linus Torvalds
     
  • Pull networking updates from Davic Miller:

    1) Support busy polling generically, for all NAPI drivers. From Eric
    Dumazet.

    2) Add byte/packet counter support to nft_ct, from Floriani Westphal.

    3) Add RSS/XPS support to mvneta driver, from Gregory Clement.

    4) Implement IPV6_HDRINCL socket option for raw sockets, from Hannes
    Frederic Sowa.

    5) Add support for T6 adapter to cxgb4 driver, from Hariprasad Shenai.

    6) Add support for VLAN device bridging to mlxsw switch driver, from
    Ido Schimmel.

    7) Add driver for Netronome NFP4000/NFP6000, from Jakub Kicinski.

    8) Provide hwmon interface to mlxsw switch driver, from Jiri Pirko.

    9) Reorganize wireless drivers into per-vendor directories just like we
    do for ethernet drivers. From Kalle Valo.

    10) Provide a way for administrators "destroy" connected sockets via the
    SOCK_DESTROY socket netlink diag operation. From Lorenzo Colitti.

    11) Add support to add/remove multicast routes via netlink, from Nikolay
    Aleksandrov.

    12) Make TCP keepalive settings per-namespace, from Nikolay Borisov.

    13) Add forwarding and packet duplication facilities to nf_tables, from
    Pablo Neira Ayuso.

    14) Dead route support in MPLS, from Roopa Prabhu.

    15) TSO support for thunderx chips, from Sunil Goutham.

    16) Add driver for IBM's System i/p VNIC protocol, from Thomas Falcon.

    17) Rationalize, consolidate, and more completely document the checksum
    offloading facilities in the networking stack. From Tom Herbert.

    18) Support aborting an ongoing scan in mac80211/cfg80211, from
    Vidyullatha Kanchanapally.

    19) Use per-bucket spinlock for bpf hash facility, from Tom Leiming.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1375 commits)
    net: bnxt: always return values from _bnxt_get_max_rings
    net: bpf: reject invalid shifts
    phonet: properly unshare skbs in phonet_rcv()
    dwc_eth_qos: Fix dma address for multi-fragment skbs
    phy: remove an unneeded condition
    mdio: remove an unneed condition
    mdio_bus: NULL dereference on allocation error
    net: Fix typo in netdev_intersect_features
    net: freescale: mac-fec: Fix build error from phy_device API change
    net: freescale: ucc_geth: Fix build error from phy_device API change
    bonding: Prevent IPv6 link local address on enslaved devices
    IB/mlx5: Add flow steering support
    net/mlx5_core: Export flow steering API
    net/mlx5_core: Make ipv4/ipv6 location more clear
    net/mlx5_core: Enable flow steering support for the IB driver
    net/mlx5_core: Initialize namespaces only when supported by device
    net/mlx5_core: Set priority attributes
    net/mlx5_core: Connect flow tables
    net/mlx5_core: Introduce modify flow table command
    net/mlx5_core: Managing root flow table
    ...

    Linus Torvalds
     
  • Pull crypto update from Herbert Xu:
    "Algorithms:
    - Add RSA padding algorithm

    Drivers:
    - Add GCM mode support to atmel
    - Add atmel support for SAMA5D2 devices
    - Add cipher modes to talitos
    - Add rockchip driver for rk3288
    - Add qat support for C3XXX and C62X"

    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (103 commits)
    crypto: hifn_795x, picoxcell - use ablkcipher_request_cast
    crypto: qat - fix SKU definiftion for c3xxx dev
    crypto: qat - Fix random config build issue
    crypto: ccp - use to_pci_dev and to_platform_device
    crypto: qat - Rename dh895xcc mmp firmware
    crypto: 842 - remove WARN inside printk
    crypto: atmel-aes - add debug facilities to monitor register accesses.
    crypto: atmel-aes - add support to GCM mode
    crypto: atmel-aes - change the DMA threshold
    crypto: atmel-aes - fix the counter overflow in CTR mode
    crypto: atmel-aes - fix atmel-ctr-aes driver for RFC 3686
    crypto: atmel-aes - create sections to regroup functions by usage
    crypto: atmel-aes - fix typo and indentation
    crypto: atmel-aes - use SIZE_IN_WORDS() helper macro
    crypto: atmel-aes - improve performances of data transfer
    crypto: atmel-aes - fix atmel_aes_remove()
    crypto: atmel-aes - remove useless AES_FLAGS_DMA flag
    crypto: atmel-aes - reduce latency of DMA completion
    crypto: atmel-aes - remove unused 'err' member of struct atmel_aes_dev
    crypto: atmel-aes - rework crypto request completion
    ...

    Linus Torvalds
     
  • Pull configfs updates from Christoph Hellwig:
    "I'm assisting Joel as co-maintainer and patch monkey now, and you will
    see pull reuquests from me for a while.

    Besides the MAINTAINERS update there is just a single change, which
    adds support for binary attributes to configfs, which are very similar
    to the sysfs binary attributes. Thanks to Pantelis Antoniou!

    You will see another actually bigger set of configfs changes in the
    SCSI target pull from Nic - those were merged before this new tree
    even existed"

    * tag 'configfs-for-linus' of git://git.infradead.org/users/hch/configfs:
    configfs: add myself as co-maintainer, updated git tree
    configfs: implement binary attributes

    Linus Torvalds
     
  • Pull misc vfs updates from Al Viro:
    "All kinds of stuff. That probably should've been 5 or 6 separate
    branches, but by the time I'd realized how large and mixed that bag
    had become it had been too close to -final to play with rebasing.

    Some fs/namei.c cleanups there, memdup_user_nul() introduction and
    switching open-coded instances, burying long-dead code, whack-a-mole
    of various kinds, several new helpers for ->llseek(), assorted
    cleanups and fixes from various people, etc.

    One piece probably deserves special mention - Neil's
    lookup_one_len_unlocked(). Similar to lookup_one_len(), but gets
    called without ->i_mutex and tries to avoid ever taking it. That, of
    course, means that it's not useful for any directory modifications,
    but things like getting inode attributes in nfds readdirplus are fine
    with that. I really should've asked for moratorium on lookup-related
    changes this cycle, but since I hadn't done that early enough... I
    *am* asking for that for the coming cycle, though - I'm going to try
    and get conversion of i_mutex to rwsem with ->lookup() done under lock
    taken shared.

    There will be a patch closer to the end of the window, along the lines
    of the one Linus had posted last May - mechanical conversion of
    ->i_mutex accesses to inode_lock()/inode_unlock()/inode_trylock()/
    inode_is_locked()/inode_lock_nested(). To quote Linus back then:

    -----
    | This is an automated patch using
    |
    | sed 's/mutex_lock(&\(.*\)->i_mutex)/inode_lock(\1)/'
    | sed 's/mutex_unlock(&\(.*\)->i_mutex)/inode_unlock(\1)/'
    | sed 's/mutex_lock_nested(&\(.*\)->i_mutex,[ ]*I_MUTEX_\([A-Z0-9_]*\))/inode_lock_nested(\1, I_MUTEX_\2)/'
    | sed 's/mutex_is_locked(&\(.*\)->i_mutex)/inode_is_locked(\1)/'
    | sed 's/mutex_trylock(&\(.*\)->i_mutex)/inode_trylock(\1)/'
    |
    | with a very few manual fixups
    -----

    I'm going to send that once the ->i_mutex-affecting stuff in -next
    gets mostly merged (or when Linus says he's about to stop taking
    merges)"

    * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (63 commits)
    nfsd: don't hold i_mutex over userspace upcalls
    fs:affs:Replace time_t with time64_t
    fs/9p: use fscache mutex rather than spinlock
    proc: add a reschedule point in proc_readfd_common()
    logfs: constify logfs_block_ops structures
    fcntl: allow to set O_DIRECT flag on pipe
    fs: __generic_file_splice_read retry lookup on AOP_TRUNCATED_PAGE
    fs: xattr: Use kvfree()
    [s390] page_to_phys() always returns a multiple of PAGE_SIZE
    nbd: use ->compat_ioctl()
    fs: use block_device name vsprintf helper
    lib/vsprintf: add %*pg format specifier
    fs: use gendisk->disk_name where possible
    poll: plug an unused argument to do_poll
    amdkfd: don't open-code memdup_user()
    cdrom: don't open-code memdup_user()
    rsxx: don't open-code memdup_user()
    mtip32xx: don't open-code memdup_user()
    [um] mconsole: don't open-code memdup_user_nul()
    [um] hostaudio: don't open-code memdup_user()
    ...

    Linus Torvalds
     
  • Pull UML updates from Richard Weinberger:
    "This contains beside of random fixes/cleanups two bigger changes:

    - seccomp support by Mickaël Salaün

    - IRQ rework by Anton Ivanov"

    * 'for-linus-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
    um: Use race-free temporary file creation
    um: Do not set unsecure permission for temporary file
    um: Fix build error and kconfig for i386
    um: Add seccomp support
    um: Add full asm/syscall.h support
    selftests/seccomp: Remove the need for HAVE_ARCH_TRACEHOOK
    um: Fix ptrace GETREGS/SETREGS bugs
    um: link with -lpthread
    um: Update UBD to use pread/pwrite family of functions
    um: Do not change hard IRQ flags in soft IRQ processing
    um: Prevent IRQ handler reentrancy
    uml: flush stdout before forking
    uml: fix hostfs mknod()

    Linus Torvalds
     
  • Pull KVM updates from Paolo Bonzini:
    "PPC changes will come next week.

    - s390: Support for runtime instrumentation within guests, support of
    248 VCPUs.

    - ARM: rewrite of the arm64 world switch in C, support for 16-bit VM
    identifiers. Performance counter virtualization missed the boat.

    - x86: Support for more Hyper-V features (synthetic interrupt
    controller), MMU cleanups"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (115 commits)
    kvm: x86: Fix vmwrite to SECONDARY_VM_EXEC_CONTROL
    kvm/x86: Hyper-V SynIC timers tracepoints
    kvm/x86: Hyper-V SynIC tracepoints
    kvm/x86: Update SynIC timers on guest entry only
    kvm/x86: Skip SynIC vector check for QEMU side
    kvm/x86: Hyper-V fix SynIC timer disabling condition
    kvm/x86: Reorg stimer_expiration() to better control timer restart
    kvm/x86: Hyper-V unify stimer_start() and stimer_restart()
    kvm/x86: Drop stimer_stop() function
    kvm/x86: Hyper-V timers fix incorrect logical operation
    KVM: move architecture-dependent requests to arch/
    KVM: renumber vcpu->request bits
    KVM: document which architecture uses each request bit
    KVM: Remove unused KVM_REQ_KICK to save a bit in vcpu->requests
    kvm: x86: Check kvm_write_guest return value in kvm_write_wall_clock
    KVM: s390: implement the RI support of guest
    kvm/s390: drop unpaired smp_mb
    kvm: x86: fix comment about {mmu,nested_mmu}.gva_to_gpa
    KVM: x86: MMU: Use clear_page() instead of init_shadow_page_table()
    arm/arm64: KVM: Detect vGIC presence at runtime
    ...

    Linus Torvalds
     
  • Pull ARM updates from Russell King:

    - UEFI boot and runtime services support for ARM from Ard Biesheuvel
    and Roy Franz.

    - DT compatibility with old atags booting protocol for Nokia N900
    devices from Ivaylo Dimitrov.

    - PSCI firmware interface using new arm-smc calling convention from
    Jens Wiklander.

    - Runtime patching for udiv/sdiv instructions for ARMv7 CPUs that
    support these instructions from Nicolas Pitre.

    - L2x0 cache updates from Dirk B and Linus Walleij.

    - Randconfig fixes from Arnd Bergmann.

    - ARMv7M (nommu) updates from Ezequiel Garcia

    * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (34 commits)
    ARM: 8481/2: drivers: psci: replace psci firmware calls
    ARM: 8480/2: arm64: add implementation for arm-smccc
    ARM: 8479/2: add implementation for arm-smccc
    ARM: 8478/2: arm/arm64: add arm-smccc
    ARM: 8494/1: mm: Enable PXN when running non-LPAE kernel on LPAE processor
    ARM: 8496/1: OMAP: RX51: save ATAGS data in the early boot stage
    ARM: 8495/1: ATAGS: move save_atags() to arch/arm/include/asm/setup.h
    ARM: 8452/3: PJ4: make coprocessor access sequences buildable in Thumb2 mode
    ARM: 8482/1: l2x0: make it possible to disable outer sync from DT
    ARM: 8488/1: Make IPI_CPU_BACKTRACE a "non-secure" SGI
    ARM: 8487/1: Remove IPI_CALL_FUNC_SINGLE
    ARM: 8485/1: cpuidle: remove cpu parameter from the cpuidle_ops suspend hook
    ARM: 8484/1: Documentation: l2c2x0: Mention separate controllers explicitly
    ARM: 8483/1: Documentation: l2c: Rename l2cc to l2c2x0
    ARM: 8477/1: runtime patch udiv/sdiv instructions into __aeabi_{u}idiv()
    ARM: 8476/1: VDSO: use PTR_ERR_OR_ZERO for vma check
    ARM: 8453/2: proc-v7.S: don't locate temporary stack space in .text section
    ARM: add UEFI stub support
    ARM: wire up UEFI init and runtime support
    ARM: only consider memblocks with NOMAP cleared for linear mapping
    ...

    Linus Torvalds
     
  • Pull arm[64] perf updates from Will Deacon:
    "In the past, I have funnelled perf updates through the respective
    architecture trees, but now that the arm/arm64 perf driver has been
    largely consolidated under drivers/perf/, it makes more sense to send
    a separate pull, particularly as I'm listed as maintainer for all the
    files involved. I offered the branch to arm-soc, but Arnd suggested
    that I just send it to you directly.

    So, here is the arm/arm64 perf queue for 4.5. The main features are
    described below, but the most useful change is from Drew, which
    advertises our architected event mapping in sysfs so that the perf
    tool is a lot more user friendly and no longer requires the use of
    magic hex constants for profiling common events.

    - Support for the CPU PMU in Cortex-A72

    - Add sysfs entries to describe the architected events and their
    mappings for PMUv{1-3}"

    * tag 'arm64-perf' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: perf: add support for Cortex-A72
    arm64: perf: add format entry to describe event -> config mapping
    ARM: perf: add format entry to describe event -> config mapping
    arm64: kernel: enforce pmuserenr_el0 initialization and restore
    arm64: perf: Correct Cortex-A53/A57 compatible values
    arm64: perf: Add event descriptions
    arm64: perf: Convert event enums to #defines
    arm: perf: Add event descriptions
    arm: perf: Convert event enums to #defines
    drivers/perf: kill armpmu_register

    Linus Torvalds
     
  • Pull arm64 updates from Will Deacon:
    "Here is the core arm64 queue for 4.5. As you might expect, the
    Christmas break resulted in a number of patches not making the final
    cut, so 4.6 is likely to be larger than usual. There's still some
    useful stuff here, however, and it's detailed below.

    The EFI changes have been Reviewed-by Matt and the memblock change got
    an "OK" from akpm.

    Summary:

    - Support for a separate IRQ stack, although we haven't reduced the
    size of our thread stack just yet since we don't have enough data
    to determine a safe value

    - Refactoring of our EFI initialisation and runtime code into
    drivers/firmware/efi/ so that it can be reused by arch/arm/.

    - Ftrace improvements when unwinding in the function graph tracer

    - Document our silicon errata handling process

    - Cache flushing optimisation when mapping executable pages

    - Support for hugetlb mappings using the contiguous hint in the pte"

    * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (45 commits)
    arm64: head.S: use memset to clear BSS
    efi: stub: define DISABLE_BRANCH_PROFILING for all architectures
    arm64: entry: remove pointless SPSR mode check
    arm64: mm: move pgd_cache initialisation to pgtable_cache_init
    arm64: module: avoid undefined shift behavior in reloc_data()
    arm64: module: fix relocation of movz instruction with negative immediate
    arm64: traps: address fallout from printk -> pr_* conversion
    arm64: ftrace: fix a stack tracer's output under function graph tracer
    arm64: pass a task parameter to unwind_frame()
    arm64: ftrace: modify a stack frame in a safe way
    arm64: remove irq_count and do_softirq_own_stack()
    arm64: hugetlb: add support for PTE contiguous bit
    arm64: Use PoU cache instr for I/D coherency
    arm64: Defer dcache flush in __cpu_copy_user_page
    arm64: reduce stack use in irq_handler
    arm64: mm: ensure that the zero page is visible to the page table walker
    arm64: Documentation: add list of software workarounds for errata
    arm64: mm: place __cpu_setup in .text
    arm64: cmpxchg: Don't incldue linux/mmdebug.h
    arm64: mm: fold alternatives into .init
    ...

    Linus Torvalds
     

12 Jan, 2016

17 commits

  • Pull device mapper updates from Mike Snitzer:

    - The most significant set of changes this cycle is the Forward Error
    Correction (FEC) support that has been added to the DM verity target.

    Google uses DM verity on all Android devices and it is believed that
    this FEC support will enable DM verity to recover from storage
    failures seen since DM verity was first deployed as part of Android.

    - A stable fix for a race in the destruction of DM thin pool's
    workqueue

    - A stable fix for hung IO if a DM snapshot copy hit an error

    - A few small cleanups in DM core and DM persistent data.

    - A couple DM thinp range discard improvements (address atomicity of
    finding a range and the efficiency of discarding a partially mapped
    thin device)

    - Add ability to debug DM bufio leaks by recording stack trace when a
    buffer is allocated. Upon detected leak the recorded stack is
    dumped.

    * tag 'dm-4.5-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
    dm snapshot: fix hung bios when copy error occurs
    dm thin: bump thin and thin-pool target versions
    dm thin: fix race condition when destroying thin pool workqueue
    dm space map metadata: remove unused variable in brb_pop()
    dm verity: add ignore_zero_blocks feature
    dm verity: add support for forward error correction
    dm verity: factor out verity_for_bv_block()
    dm verity: factor out structures and functions useful to separate object
    dm verity: move dm-verity.c to dm-verity-target.c
    dm verity: separate function for parsing opt args
    dm verity: clean up duplicate hashing code
    dm btree: factor out need_insert() helper
    dm bufio: use BUG_ON instead of conditional call to BUG
    dm bufio: store stacktrace in buffers to help find buffer leaks
    dm bufio: return NULL to improve code clarity
    dm block manager: cleanup code that prints stacktrace
    dm: don't save and restore bi_private
    dm thin metadata: make dm_thin_find_mapped_range() atomic
    dm thin metadata: speed up discard of partially mapped volumes

    Linus Torvalds
     
  • Pull media updates from Mauro Carvalho Chehab:
    "The part of patches for Kernel 4.5. There's nothing really big here:

    - driver-specific headers for media devices were moved to separate
    directories, in order to make clear what headers belong to the core
    kABI and require documentation

    - Platform data for media drivers were moved from include/media to
    include/linux/platform_data/media

    - add a driver for cs3308 8-channel volume control, used on some
    high-end capture boards

    - lirc.h kAPI header were added at include/uapi/linux

    - Driver cleanups, new board additions and improvements"

    * tag 'media/v4.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (204 commits)
    [media] rc: sunxi-cir: Initialize the spinlock properly
    [media] rtl2832: do not filter out slave TS null packets
    [media] rtl2832: print reg number on error case
    [media] rtl28xxu: return demod reg page from driver cache
    [media] coda: enable MPEG-2 ES decoding
    [media] coda: don't start streaming without queued buffers
    [media] coda: hook up vidioc_prepare_buf
    [media] coda: relax coda_jpeg_check_buffer for trailing bytes
    [media] coda: make to_coda_video_device static
    [media] s5p-mfc: remove volatile attribute from MFC register addresses
    [media] s5p-mfc: merge together s5p_mfc_hw_call and s5p_mfc_hw_call_void
    [media] s5p-mfc: use spinlock to protect MFC context
    [media] s5p-mfc: remove unnecessary callbacks
    [media] s5p-mfc: make queue cleanup code common
    [media] s5p-mfc: use one implementation of s5p_mfc_get_new_ctx
    [media] s5p-mfc: constify s5p_mfc_codec_ops structures
    [media] au8522: Avoid memory leak for device config data
    [media] ir-lirc-codec.c: don't leak lirc->drv-rbuf
    [media] uvcvideo: small cleanup in uvc_video_clock_update()
    [media] uvcvideo: Fix reading the current exposure value of UVC
    ...

    Linus Torvalds
     
  • Pull LED subsystem updates from Jacek Anaszewski:
    "Besides regular driver updates, we introduce a portion of LED core
    improvements, that allow to avoid the need for using work queues in
    the LED class drivers, that set brightness in a blocking way.

    Affected LED class drivers are being optimized accordingly.

    - LED core improvements:
    - use EXPORT_SYMBOL_GPL consistently,
    - add two new LED_BLINK_ flags,
    - rename brightness_set_sync op to brightness_set_blocking,
    - add led_set_brightness_nosleep{nopm} functions,
    - use set_brightness_work for the blocking op,
    - drivers shouldn't enforce SYNC/ASYNC brightness setting,
    - turn off the LED and wait for completion on unregistering LED
    class device,
    - add managed version of led_trigger_register,
    - add description of brightness setting API to the LED class doc.

    - Remove work queues from drivers: leds-tlc591xx, leds-88pm860x, leds-adp5520,
    leds-bd2802, leds-blinkm, leds-lm3533, leds-lm3642, leds-pca9532,
    leds-lp3944, leds-lp55xx, leds-lp8788, leds-lp8860, leds-pca955x,
    leds-pca963x, leds-wm831x, leds-da903x, leds-da9052, leds-dac124d085,
    leds-lt3593, leds-max8997, leds-mc13783, leds-regulator, leds-wm8350,
    leds-max77693, leds-aat1290, leds-ktd2692, leds-gpio, leds-pwm,
    leds-lm355x, leds-ns2.

    - Replace brightness_set op with a new brightness_set_blocking op to
    make the drivers compatible with led triggers: leds-ipaq-micro,
    leds-powernv.

    - Add missing of_node_put: leds-ktd2692, leds-aat1290, leds-max77693.

    - Make the driver explicitly non-modular: ledtrig-cpu,
    ledtrig-ide-disk, leds-syscon.

    - Improvements to leds-bcm6328:
    - reuse bcm6328_led_set() instead of copying its functionality,
    - swap LED ON and OFF definitions,
    - improve blink support,
    - simplify duplicated unlock in bcm6328_blink_set,
    - add little endian support,
    - remove unneded lock when checking initial LED status,
    - add HAS_IOMEM dependency,
    - code cleaning.

    - Improvements to leds-bcm6358:
    - use bcm6358_led_set() in order to get rid of the lock,
    - merge bcm6358_led_mode and bcm6358_led_set,
    - add little endian support,
    - remove unneded lock when checking initial LED status,
    - add HAS_IOMEM dependency,
    - remove unneeded busy status check.

    - Call led_pwm_set() in leds-pwm to enforce default LED_OFF.

    - Fix duration to be msec instead of jiffies: ledtrig-transient.

    - Removing NULL check: leds-powernv.

    - Use platform_register/unregister_drivers(): leds-sunfire.

    - Fix module license specification: ledtrig-oneshot.

    - Fix driver description and make license match the header: leds-pwm.

    - Remove checking for state < 1 in flash_strobe_store():
    led-class-flash.

    - Use led_set_brightness_sync for torch brightness:
    v4l2-flash-led-class"

    * tag 'leds-for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds: (68 commits)
    leds: add HAS_IOMEM dependency to LEDS_BCM6328/LEDS_BCM6358
    leds: core: add managed version of led_trigger_register
    leds: bcm6358: remove unneeded busy status check
    leds: bcm6328: improve blink support
    leds: bcm6358: merge bcm6358_led_mode and bcm6358_led_set
    leds: bcm6328: simplify duplicated unlock in bcm6328_blink_set
    leds: bcm6358: add little endian support
    leds: bcm6328: add little endian support
    leds: bcm6358: remove unneded lock when checking initial LED status
    leds: bcm6358: Use bcm6358_led_set() in order to get rid of the lock
    leds: bcm6328: remove unneded lock when checking initial LED
    leds: bcm6328: code cleaning
    leds: syscon: Make the driver explicitly non-modular
    leds: ledtrig-ide-disk: Make the driver explicitly non-modular
    leds: ledtrig-cpu: Make the driver explicitly non-modular
    leds: sunfire: Use platform_register/unregister_drivers()
    leds: max77693: Add missing of_node_put
    leds: aat1290: Add missing of_node_put
    leds: powernv: Implement brightness_set_blocking op
    leds: ipaq-micro: Implement brightness_set_blocking op
    ...

    Linus Torvalds
     
  • Pull EDAC updates from Borislav Petkov:

    - hide EDAC workqueue from users (Borislav Petkov)

    - edac_subsys init/teardown cleanup (Borislav Petkov)

    - make mpc85xx-pci-edac a platform device (Scott Wood)

    - sb_edac KNL gen2 support (Jim Snow)

    - other small cleanups all over the place

    * tag 'edac_for_4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
    EDAC, i5100: Use to_delayed_work()
    MAINTAINERS: Fix EDAC repo URLs format
    EDAC, sb_edac: Set fixed DIMM width on Xeon Knights Landing
    EDAC: Rework workqueue handling
    EDAC: Make edac_device workqueue setup/teardown functions static
    EDAC: Remove edac_get_sysfs_subsys() error handling
    EDAC: Unexport and make edac_subsys static
    EDAC: Rip out the edac_subsys reference counting
    EDAC: Robustify workqueues destruction
    EDAC, mc_sysfs: Fix freeing bus' name
    EDAC, mpc85xx: Make mpc85xx-pci-edac a platform device
    EDAC, sb_edac: Add Knights Landing (Xeon Phi gen 2) support
    EDAC, sb_edac: Add support for duplicate device IDs
    EDAC, sb_edac: Virtualize several hard-coded functions
    EDAC, mv64x60: Use platform_register/unregister_drivers()
    EDAC, mpc85xx: Use platform_register/unregister_drivers()
    EDAC: Add DDR4 flag
    EDAC: Remove references to bluesmoke.sourceforge.net
    EDAC, pci: Remove old disabled code

    Linus Torvalds
     
  • …t/groeck/linux-staging

    Pull hwmon updates from Guenter Roeck:
    "Notable hwmon changes:

    - Add basic support for NCT6683 on Mitac boards
    - Add support for AMD new 15h processors to fam15h_power driver
    - Add pmbus client driver for LTC3815
    - Remove htu21 driver (now supported by iio subsystem)"

    * tag 'hwmon-for-linus-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
    hwmon: (nct6683) Add basic support for NCT6683 on Mitac boards
    hwmon: (ibmaem) constify aem_rw_sensor_template and aem_ro_sensor_template structures
    hwmon: (nct6683,nct6775) constify sensor_template_group structures
    MAINTAINERS: change the maintainer of fam15h_power driver
    hwmon: (fam15h_power) Add support for AMD new 15h processors
    hwmon: (pmbus) Add client driver for LTC3815
    hwmon: (htu21) Remove driver

    Linus Torvalds
     
  • cgroup-legacy may be too loaded. Rename the docs so that they're
    postfixed with v1 and v2.

    * s/cgroup-legacy/cgroup-v1/
    * s/cgroup.txt/cgroup-v2.txt/

    Signed-off-by: Tejun Heo

    Tejun Heo
     
  • Pull pin control updates from Linus Walleij:
    "This is the bulk of pin control patches for the v4.5 series.

    Notably I have a patch to driver core from Stephen Boyd in the pull
    request, this has been ACKed by Greg so it should be OK. The internal
    API needed some tweaking to allow modular Qualcomm pin controllers.

    There is a bit of development history in here but it should all add up
    nicely and has boiled in linux-next. For example I merged in v4.4-rc5
    to get rid of some nasty merge conflicts.

    Summary:

    - New drivers:
    - PXA2xx pin controller support
    - Broadcom NSP pin controller support

    - New subdrivers:
    - Samsung EXYNOS5410 support
    - Qualcomm MSM8996 support
    - Qualcomm PM8994 support
    - Qualcomm PM8994 MPP support
    - Allwinner sunxi H3 support
    - Allwinner sunxi A80 support
    - Rockchip RK3228 support

    - Rename the Cygnus pinctrl driver to "iproc" as it is more generic
    than was originally thought.

    - A bunch of Lantiq/Xway updates especially from the OpenWRT people.

    - Several refactorings for the Super-H SH PFC pin controllers.
    Adding SCIF_CLK support.

    - Several fixes to the Atlas 7 driver.

    - Various fixes all over the place"

    * tag 'pinctrl-v4.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (91 commits)
    pinctrl: mediatek: Modify pinctrl bindings for mt2701
    Revert "pinctrl: qcom: make PMIC drivers bool"
    pinctrl: qcom: Use platform_irq_count() instead of of_irq_count()
    driver-core: platform: Add platform_irq_count()
    pinctrl: lantiq: 2 pins have the wrong mux list
    pinctrl: qcom: make PMIC drivers bool
    pinctrl: nsp-gpio: forever loop in nsp_gpio_get_strength()
    pinctrl: mediatek: convert to arch_initcall
    pinctrl: bcm2835: Fix memory leak in error path
    pinctrl: mediatek: add missing of_node_put
    pinctrl: rockchip: add missing of_node_put
    pinctrl: sh-pfc: add missing of_node_put
    pinctrl: sirf: add missing of_node_put
    pinctrl-tegra: add missing of_node_put
    pinctrl: sunxi: Add A80 special pin controller
    pinctrl: bcm/cygnys/iproc: fixup rebase issue
    pinctrl: fixup problematic flag
    MAINTAINERS: Add co-maintainer for Renesas Pin Controllers
    pinctrl: sh-pfc: r8a7791: add EtherAVB pin groups
    pinctrl: sh-pfc: r8a7795: Add SATA support
    ...

    Linus Torvalds
     
  • Pull MMC updates from Ulf Hansson:
    "MMC core:
    - Optimize boot time by detecting cards simultaneously
    - Make runtime resume default behavior for MMC/SD
    - Enable MMC/SD/SDIO devices to suspend/resume asynchronously
    - Allow more than 8 partitions per card
    - Introduce MMC_CAP2_NO_SDIO to prevent unsupported SDIO commands
    - Support the standard DT wakeup-source property
    - Fix driver strength switching for HS200 and HS400
    - Fix switch command timeout
    - Fix invalid vdd in voltage switch power cycle for SDIO

    MMC host:
    - sdhci: Restore behavior when setting VDD via external regulator
    - sdhci: A couple of changes/fixes related to the dma support
    - sdhci-tegra: Add Tegra210 support
    - sdhci-tegra: Support for UHS-I cards including tuning support
    - sdhci-of-at91: Add PM support
    - sh_mmcif: Rework dma channel handling
    - mvsdio: Delete platform data code path"

    * tag 'mmc-v4.5' of git://git.linaro.org/people/ulf.hansson/mmc: (52 commits)
    mmc: dw_mmc: remove the unused quirks
    mmc: sdhci-pci: use to_pci_dev()
    mmc: cb710: use to_platform_device()
    mmc: tegra: use correct accessor for misc ctrl register
    mmc: tegra: enable UHS-I modes
    mmc: tegra: implement UHS tuning
    mmc: tegra: disable SPI_MODE_CLKEN
    mmc: tegra: implement module external clock change
    mmc: sdhci: restore behavior when setting VDD via external regulator
    mmc: It is not an error for the card to be removed while suspended
    mmc: block: Allow more than 8 partitions per card
    mmc: core: Optimize boot time by detecting cards simultaneously
    mmc: dw_mmc: use resource_size_t to store physical address
    mmc: core: fix __mmc_switch timeout caused by preempt
    mmc: usdhi6rol0: handle NULL data in timeout
    mmc: of_mmc_spi: Add IRQF_ONESHOT to interrupt flags
    mmc: mediatek: change some dev_err to dev_dbg
    mmc: enable MMC/SD/SDIO device to suspend/resume asynchronously
    mmc: sdhci: Fix sdhci_runtime_pm_bus_on/off()
    mmc: sdhci: 64-bit DMA actually has 4-byte alignment
    ...

    Linus Torvalds
     
  • Pull libata updates from Tejun Heo:
    "Mostly low level driver specific changes.

    Two changes are somewhat noteworthy. First, Dan's patchset to support
    per-port msix interrupt handling for ahci, which was tried last cycle
    but had to be backed out due to a couple issues, is back and seems to
    be working fine. Second, libata exception handling now uses
    usleep_range() instead of msleep() for sleeps < 20ms which can make
    things snappier in some corner cases"

    * 'for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
    libata: skip debounce delay on link resume
    ata: ahci_brcmstb: disable DIPM support
    ata: ahci_brcmstb: enable support for ALPM
    drivers: libata-core: Use usleep_range() instead of msleep() for short sleeps ( interrupt handling
    ahci: per-port msix support

    Linus Torvalds
     
  • Pull workqueue update from Tejun Heo:
    "Workqueue changes for v4.5. One cleanup patch and three to improve
    the debuggability.

    Workqueue now has a stall detector which dumps workqueue state if any
    worker pool hasn't made forward progress over a certain amount of time
    (30s by default) and also triggers a warning if a workqueue which can
    be used in memory reclaim path tries to wait on something which can't
    be.

    These should make workqueue hangs a lot easier to debug."

    * 'for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
    workqueue: simplify the apply_workqueue_attrs_locked()
    workqueue: implement lockup detector
    watchdog: introduce touch_softlockup_watchdog_sched()
    workqueue: warn if memory reclaim tries to flush !WQ_MEM_RECLAIM workqueue

    Linus Torvalds
     
  • Pull irq updates from Thomas Gleixner:
    "The irq department provides:

    - Support for MSI to wire bridges and a first user of it

    - More ACPI support for ARM/GIC

    - A new TS-4800 interrupt controller driver

    - RCU based free of interrupt descriptors to support the upcoming
    Intel VMD technology without introducing a locking nightmare

    - The usual pile of fixes and updates to drivers and core code"

    * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (41 commits)
    irqchip/omap-intc: Add support for spurious irq handling
    irqchip/zevio: Use irq_data_get_chip_type() helper
    irqchip/omap-intc: Remove duplicate setup for IRQ chip type handler
    irqchip/ts4800: Add TS-4800 interrupt controller
    irqchip/ts4800: Add documentation for TS-4800 interrupt controller
    irq/platform-MSI: Increase the maximum MSIs the MSI framework can support
    irqchip/gicv2m: Miscellaneous fixes for v2m resources and SPI ranges
    irqchip/bcm2836: Make code more readable
    irqchip/bcm2836: Tolerate IRQs while no flag is set in ISR
    irqchip/bcm2836: Add SMP support for the 2836
    irqchip/bcm2836: Fix initialization of the LOCAL_IRQ_CNT timers
    irqchip/gic-v2m: acpi: Introducing GICv2m ACPI support
    irqchip/gic-v2m: Refactor to prepare for ACPI support
    irqdomain: Introduce is_fwnode_irqchip helper
    acpi: pci: Setup MSI domain for ACPI based pci devices
    genirq/msi: Export functions to allow MSI domains in modules
    irqchip/mbigen: Implement the mbigen irq chip operation functions
    irqchip/mbigen: Create irq domain for each mbigen device
    irqchip/mgigen: Add platform device driver for mbigen device
    dt-bindings: Documents the mbigen bindings
    ...

    Linus Torvalds
     
  • Prepare first round of input updates for 4.5 merge window.

    Dmitry Torokhov
     
  • * pm-cpufreq: (30 commits)
    Documentation: cpufreq: intel_pstate: enhance documentation
    cpufreq-dt: fix handling regulator_get_voltage() result
    cpufreq: governor: Fix negative idle_time when configured with CONFIG_HZ_PERIODIC
    cpufreq: mt8173: migrate to use operating-points-v2 bindings
    cpufreq: Simplify core code related to boost support
    cpufreq: acpi-cpufreq: Simplify boost-related code
    cpufreq: Make cpufreq_boost_supported() static
    blackfin-cpufreq: Mark cpu_set_cclk() as static
    blackfin-cpufreq: Change return type of cpu_set_cclk() to that of clk_set_rate()
    dt: cpufreq: st: Provide bindings for ST's CPUFreq implementation
    cpufreq: st: Provide runtime initialised driver for ST's platforms
    cpufreq: mt8173: Move resources allocation into ->probe()
    cpufreq: intel_pstate: Account for IO wait time
    cpufreq: intel_pstate: Account for non C0 time
    cpufreq: intel_pstate: Configurable algorithm to get target pstate
    cpufreq: mt8173: check return value of regulator_get_voltage() call
    cpufreq: mt8173: remove redundant regulator_get_voltage() call
    cpufreq: mt8173: add CPUFREQ_HAVE_GOVERNOR_PER_POLICY flag
    cpufreq: qoriq: Register cooling device based on device tree
    cpufreq: pcc-cpufreq: update default value of cpuinfo_transition_latency
    ...

    Rafael J. Wysocki
     
  • * pm-opp:
    PM / OPP: Use snprintf() instead of sprintf()
    PM / OPP: Set cpu_dev->id in cpumask first
    PM / OPP: Fix parsing of opp-microvolt and opp-microamp properties
    PM / OPP: Parse 'opp--' bindings
    PM / OPP: Parse 'opp-supported-hw' binding
    PM / OPP: Add missing doc comments
    ARM: dts: exynos4412: Rename OPP nodes as opp@
    PM / OPP: Rename OPP nodes as opp@
    PM / OPP: Remove 'operating-points-names' binding
    PM / OPP: Add {opp-microvolt|opp-microamp}- binding
    PM / OPP: Add "opp-supported-hw" binding
    PM / OPP: Add debugfs support

    Rafael J. Wysocki
     
  • * pm-pci:
    PCI / PM: Fix small typo in documentation
    PCI / PM: constify pci_platform_pm_ops structure

    * pm-core:
    PM / core: fix typo in documentation
    PM / runtime: Add new helper for conditional usage count incrementation
    MAINTAINERS: Add an entry for the PM core
    PM / runtime: Re-init runtime PM states at probe error and driver unbind
    PM / sleep: prohibit devices probing during suspend/hibernation

    Rafael J. Wysocki
     
  • This patch adds last time that user requested filesystem operations.
    This information is used to detect whether system is idle or not later.

    Signed-off-by: Jaegeuk Kim

    Jaegeuk Kim
     
  • Pull x86 apic updates from Ingo Molnar:
    "The main changes in this cycle were:

    - introduce optimized single IPI sending methods on modern APICs
    (Linus Torvalds, Thomas Gleixner)

    - kexec/crash APIC handling fixes and enhancements (Hidehiro Kawai)

    - extend lapic vector saving/restoring to the CMCI (MCE) vector as
    well (Juergen Gross)

    - various fixes and enhancements (Jake Oshins, Len Brown)"

    * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
    x86/irq: Export functions to allow MSI domains in modules
    Documentation: Document kernel.panic_on_io_nmi sysctl
    x86/nmi: Save regs in crash dump on external NMI
    x86/apic: Introduce apic_extnmi command line parameter
    kexec: Fix race between panic() and crash_kexec()
    panic, x86: Allow CPUs to save registers even if looping in NMI context
    panic, x86: Fix re-entrance problem due to panic on NMI
    x86/apic: Fix the saving and restoring of lapic vectors during suspend/resume
    x86/smpboot: Re-enable init_udelay=0 by default on modern CPUs
    x86/smp: Remove single IPI wrapper
    x86/apic: Use default send single IPI wrapper
    x86/apic: Provide default send single IPI wrapper
    x86/apic: Implement single IPI for apic_noop
    x86/apic: Wire up single IPI for apic_numachip
    x86/apic: Wire up single IPI for x2apic_uv
    x86/apic: Implement single IPI for x2apic_phys
    x86/apic: Wire up single IPI for bigsmp_apic
    x86/apic: Remove pointless indirections from bigsmp_apic
    x86/apic: Wire up single IPI for apic_physflat
    x86/apic: Remove pointless indirections from apic_physflat
    ...

    Linus Torvalds