1. 13 Dec, 2016 40 commits
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · 9346116d
      Linus Torvalds authored
      Pull thermal management updates from Zhang Rui:
      
       - Thermal core code reorganization and cleanup. Two new files are
         created for thermal sysfs I/F code and thermal helper functions
         (Eduardo Valentin).
      
       - Sanitize hotplug and locking for x86_pkg_temp driver (Thomas
         Gleixner)
      
       - Update MAINTAINER file for pwm-fan driver and Samsung thermal driver
         (Lukasz Majewski)
      
       - Fix module auto-load for max77620, tango and db8500 thermal driver
         (Javier Martinez Canillas)
      
       - Fix a bug that thermal hwmon sysfs I/F returns wrong critical trip
         point temperature value (Krzysztof Kozlowski)
      
       - Add Skylake PCH 100 series support for intel_pch_thermal driver
         (OGAWA Hirofumi)
      
       - Small fixes and cleanups for platform thermal drivers (Julia Lawall,
         Luis Henriques, Leo Yan, Stephen Boyd, Shawn Lin, Javi Merino and
         Lukasz Luba)
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (76 commits)
        MAINTAINERS: Samsung: Update maintainer for PWM FAN and SAMSUNG THERMAL
        thermal/x86 pkg temp: Convert to hotplug state machine
        thermal/x86_pkg_temp: Sanitize package management
        thermal/x86_pkg_temp: Move work into package struct
        thermal/x86_pkg_temp: Move work scheduled flag into package struct
        thermal/x86_pkg_temp: Sanitize locking
        thermal/x86_pkg_temp: Cleanup code some more
        thermal/x86_pkg_temp: Cleanup namespace
        thermal/x86_pkg_temp: Get rid of ref counting
        thermal/x86_pkg_temp: Sanitize callback (de)initialization
        thermal/x86_pkg_temp: Replace open coded cpu search
        thermal/x86_pkg_temp: Remove redundant package search
        thermal/x86_pkg_temp: Cleanup thermal interrupt handling
        thermal: hwmon: Properly report critical temperature in sysfs
        devfreq_cooling: pass a pointer to devfreq in the power model callbacks
        devfreq_cooling: make the structs devfreq_cooling_xxx visible for all
        dt-bindings: rockchip-thermal: fix the misleading description
        thermal: rockchip: improve the warning log
        thermal: db8500: Fix module autoload
        thermal: tango: Fix module autoload
        ...
      9346116d
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · b8d2798f
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "This is a fairly quiet release. We don't have any patches to the core
        framework. The only patch that can even be considered "core" adds
        another clk_get() variant. The rest of the changes are in drivers for
        various SoCs, and we have a few bits for ARM shmobile architecture
        code (dts and mach) due to the dependency we're breaking between
        shmobile architecture code and its clk driver. Those shmobile bits
        have also been pulled into arm-soc tree. Here's the summary:
      
        Core:
      
         - Support for devm_get_clk_from_child() used with DT bindings that
           have subnodes with the 'clocks' property
      
        New Drivers:
      
         - Allwinner A64 (sun50i)
         - i.MX imx6ull
         - Socionext's UniPhier SoC CPUs
         - Mediatek MT2701 SoCs
         - Rockchip rk1108 SoCs
         - Qualcomm MSM8994/MSM8992 SoCS
         - Qualcomm RPM Clocks
         - Hisilicon Hi3516CV300 and Hi3798CV200 CRG
         - Oxford Semiconductor OX820 and OX810SE SoCs
         - Renesas RZ/G1M and RZ/GIE SoCs
         - Renesas R-Car RST driver for mode pin states
      
        Updates:
      
         - Four Allwinner SoCs are migrated to the new style clk driver
         - Rockchip rk3399,rk3066 PLL optimizations
         - i.MX LVDS display glitch fixes and AV PLL precision improvements
         - Qualcomm MSM8996 GPU GDSCs, hw controlled GDSCs, and Alpha PLL
           support
         - Explicit demodularization of always builtin drivers
         - Freescale Qoriq ls1012a and ls1046a support
         - Exynos 5433 parent typo fix and critical clock tagging
         - Renesas r8a7743/r8a7745 CPG
         - Renesas R-Car M3-W CSI2/VIN/SYS-DMAC/(H)SCIF/I2C/DRIF/gfx support
         - stm32f4* LSI, LSE, RTC, and QSPI clocks
         - pxa27x and pxa25x cpufreq as clks
         - TI omap36xx sprz319 advisory 2.1 workaround
         - Broadcom bcm2835 rate change propogation to PLLH_AUX from VEC"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (150 commits)
        clk: bcm: Fix 'maybe-uninitialized' warning in bcm2835_clock_choose_div_and_prate()
        clk: add devm_get_clk_from_child() API
        clk: st: clk-flexgen: Unmap region obtained by of_iomap
        clk: keystone: pll: Unmap region obtained by of_iomap
        clk:mmp:clk-of-mmp2: Free memory and Unmap region obtained by kzalloc and of_iomap
        clk:mmp:clk-of-pxa910: Free memory and Unmap region obtained by kzmalloc and of_iomap
        clk: mmp: clk-of-pxa1928: Free memory obtained by kzalloc
        clk: cdce925: Fix limit check
        clk: bcm: Make COMMON_CLK_IPROC into a library
        clk: qoriq: added ls1012a clock configuration
        clk: ti: dra7: fix "failed to lookup clock node gmac_gmii_ref_clk_div" boot message
        clk: bcm: Allow rate change propagation to PLLH_AUX on VEC clock
        clk: bcm: Support rate change propagation on bcm2835 clocks
        clk: bcm2835: Avoid overwriting the div info when disabling a pll_div clk
        clk: ti: omap36xx: Work around sprz319 advisory 2.1
        clk: clk-wm831x: fix a logic error
        clk: uniphier: add cpufreq data for LD11, LD20 SoCs
        clk: uniphier: add CPU-gear change (cpufreq) support
        clk: qcom: Put venus core0/1 gdscs to hw control mode
        clk: qcom: gdsc: Add support for gdscs with HW control
        ...
      b8d2798f
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v4.10' of git://github.com/andersson/remoteproc · 96128810
      Linus Torvalds authored
      Pull rpmsg updates from Bjorn Andersson:
       "Argument validation in public functions, function stubs for
        COMPILE_TEST-ing clients, preparation for exposing rpmsg endponts
        to user space and minor Qualcomm SMD fixes"
      
      * tag 'rpmsg-v4.10' of git://github.com/andersson/remoteproc:
        dt-binding: soc: qcom: smd: Add label property
        rpmsg: qcom_smd: Correct return value for O_NONBLOCK
        rpmsg: Provide function stubs for API
        rpmsg: Handle invalid parameters in public API
        rpmsg: Support drivers without primary endpoint
        rpmsg: Introduce a driver override mechanism
        rpmsg: smd: Reduce restrictions when finding channel
      96128810
    • Linus Torvalds's avatar
      Merge tag 'rproc-v4.10' of git://github.com/andersson/remoteproc · edc57ea9
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
      
       - introduce remoteproc "subdevice" support, which allows remoteproc
         driver to associate devices to the "running" state of the remoteproc,
         allowing devices to be probed and removed as the remote processor is
         booted, shut down or recovering from a crash.
      
       - handling of virtio device resources was improved, vring memory is now
         allocated as part of other memory allocation. This ensures that all
         vrings for all virtio devices are allocated before we boot the remote
         processor.
      
       - the debugfs mechanism for starting and stopping remoteproc instances
         was replaced with a sysfs interface, also providing a mechanism for
         specifying firmware to use by the instance. This allows user space to
         load and boot use case specific firmware on remote processors.
      
       - new drivers for the ST Slimcore and Qualcomm Hexagon DSP as well as
         removal of the unused StE modem loader.
      
       - finally support for crash recovery in the Qualcomm Wirelss subsystem
         (used for WiFi/BT/FM on a number of platforms) and a number of bug
         fixes and cleanups
      
      * tag 'rproc-v4.10' of git://github.com/andersson/remoteproc: (49 commits)
        remoteproc: qcom_adsp_pil: select qcom_scm
        remoteproc: Drop wait in __rproc_boot()
        remoteproc/ste: Delete unused driver
        remoteproc: Remove "experimental" warning
        remoteproc: qcom_adsp_pil: select qcom_scm
        dt-binding: soc: qcom: smd: Add label property
        remoteproc: qcom: mdt_loader: add include for sizes
        remoteproc: Update last rproc_put users to rproc_free
        remoteproc: qcom: adsp: Add missing MODULE_DEVICE_TABLE
        remoteproc: wcnss-pil: add QCOM_SMD dependency
        dmaengine: st_fdma: Revert: "Revert: Update st_fdma to 'depends on REMOTEPROC'"
        remoteproc: Add support for xo clock
        remoteproc: adsp-pil: fix recursive dependency
        remoteproc: Introduce Qualcomm ADSP PIL
        dt-binding: remoteproc: Introduce ADSP loader binding
        remoteproc: qcom_wcnss: Fix circular module dependency
        remoteproc: Merge table_ptr and cached_table pointers
        remoteproc: Remove custom vdev handler list
        remoteproc: Update max_notifyid as we allocate vrings
        remoteproc: Decouple vdev resources and devices
        ...
      edc57ea9
    • Linus Torvalds's avatar
      Merge tag 'mmc-v4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 5233c331
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
       "It's been an busy period for mmc. Quite some changes in the mmc core,
        two new mmc host drivers, some existing drivers being extended to
        support new IP versions and lots of other updates.
      
        MMC core:
         - Delete eMMC packed command support
         - Introduce mmc_abort_tuning() to enable eMMC tuning to fail
           gracefully
         - Introduce mmc_can_retune() to see if a host can be retuned
         - Re-work and improve the sequence when sending a CMD6 for mmc
         - Enable CDM13 polling when switching to HS and HS DDR mode for mmc
         - Relax checking for CMD6 errors after switch to HS200
         - Re-factoring the code dealing with the mmc block queue
         - Recognize whether the eMMC card supports CMDQ
         - Fix 4K native sector check
         - Don't power off the card when starting the host
         - Increase MMC_IOC_MAX_BYTES to support bigger firmware binaries
         - Improve error handling and drop meaningless BUG_ONs()
         - Lots of clean-ups and changes to improve the quality of the code
      
        MMC host:
         - sdhci: Fix tuning sequence and clean-up the related code
         - sdhci: Add support to via DT override broken SDHCI cap register
           bits
         - sdhci-cadence: Add new driver for Cadence SD4HC SDHCI variant
         - sdhci-msm: Update clock management
         - sdhci-msm: Add support for eMMC HS400 mode
         - sdhci-msm: Deploy runtime/system PM support
         - sdhci-iproc: Extend driver support to newer IP versions
         - sdhci-pci: Add support for Intel GLK
         - sdhci-pci: Add support for Intel NI byt sdio
         - sdhci-acpi: Add support for 80860F14 UID 2 SDIO bus
         - sdhci: Lots of various small improvements and clean-ups
         - tmio: Add support for tuning
         - sh_mobile_sdhi: Add support for tuning
         - sh_mobile_sdhi: Extend driver to support SDHI IP on R7S72100 SoC
         - sh_mobile_sdhi: remove support for sh7372
         - davinci: Use mmc_of_parse() to enable generic mmc DT bindings
         - meson: Add new driver to support GX platforms
         - dw_mmc: Deploy generic runtime/system PM support
         - dw_mmc: Lots of various small improvements
      
        As a part of the mmc changes this time, I have also pulled in an
        immutable branch/tag (soc-device-match-tag1) hosted by Geert
        Uytterhoeven, to share the implementation of the new
        soc_device_match() interface. This is needed by these mmc related
        changes:
      
         - mmc: sdhci-of-esdhc: Get correct IP version for T4240-R1.0-R2.0
         - soc: fsl: add GUTS driver for QorIQ platforms"
      
      * tag 'mmc-v4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (136 commits)
        mmc: sdhci-cadence: add Cadence SD4HC support
        mmc: sdhci: export sdhci_execute_tuning()
        mmc: sdhci: Tidy tuning loop
        mmc: sdhci: Simplify tuning block size logic
        mmc: sdhci: Factor out tuning helper functions
        mmc: sdhci: Use mmc_abort_tuning()
        mmc: mmc: Introduce mmc_abort_tuning()
        mmc: sdhci: Always allow tuning to fall back to fixed sampling
        mmc: sdhci: Fix tuning reset after exhausting the maximum number of loops
        mmc: sdhci: Fix recovery from tuning timeout
        Revert "mmc: sdhci: Reset cmd and data circuits after tuning failure"
        mmc: mmc: Relax checking for switch errors after HS200 switch
        mmc: sdhci-acpi: support 80860F14 UID 2 SDIO bus
        mmc: sdhci-of-at91: remove bogus MMC_SDHCI_IO_ACCESSORS select
        mmc: sdhci-pci: Use ACPI to get max frequency for Intel NI byt sdio
        mmc: sdhci-pci: Add PCI ID for Intel NI byt sdio
        mmc: sdhci-s3c: add spin_unlock_irq() before calling clk_round_rate
        mmc: dw_mmc: display the clock message only one time when card is polling
        mmc: dw_mmc: add the debug message for polling and non-removable
        mmc: dw_mmc: check the "present" variable before checking flags
        ...
      5233c331
    • Linus Torvalds's avatar
      Merge tag 'regulator-v4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 58f253d2
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "A quiet release for the regulator API, conference season must've been
        slowing everyone down:
      
         - a new interface allowing drivers to provide an interface for
           reading a more detailed description of error conditions which
           allows devices using these regulators to build
      
         - ACPI support for the fixed voltage regulator.
      
         - cleanups for the TI TWL drivers to reduce code duplication"
      
      * tag 'regulator-v4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (24 commits)
        regulator: tps65086: Fix 25mV ranges for BUCK regulators 1, 2, and 6
        regulator: Fix regulator_get_error_flags() signature mismatch
        regulator: core: add newline in debug message
        regulator: tps65086: Fix 25mV ranges for BUCK regulators
        regulator: core: Correct type of mode in regulator_mode_constrain
        regulator: max77620: add documentation for MPOK property
        regulator: max77620: add support to configure MPOK
        regulator: twl6030: Remove unused fields from struct twlreg_info
        regulator: twl: Remove unused fields from struct twlreg_info
        regulator: twl: split twl6030 logic into its own file
        regulator: twl: kill unused functions
        regulator: twl: make driver DT only
        regulator: twl-regulator: rework fixed regulator definition
        regulator: max77620: remove unused variable
        regulator: pwm: Add missing quotes to DT example
        regulator: stw481x-vmmc: fix ages old enable error
        regulator: gpio: properly check return value of of_get_named_gpio
        regulator: lp873x: Add support for populating input supply
        regulator: axp20x: Fix axp809 ldo_io registration error on cold boot
        regulators: helpers: Fix handling of bypass_val_on in get_bypass_regmap
        ...
      58f253d2
    • Linus Torvalds's avatar
      Merge tag 'regmap-v4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 96955c96
      Linus Torvalds authored
      Pull regmap fixlet from Mark Brown:
       "The only change for regmap this merge window is a single fix for an
        unused variable"
      
      * tag 'regmap-v4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: cache: Remove unused 'blksize' variable
      96955c96
    • Linus Torvalds's avatar
      Merge tag 'leds_for_4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds · 1f0a53f6
      Linus Torvalds authored
      Pull LED updates from Jacek Anaszewski:
      
       - userspace LED class driver - it can be useful for testing triggers
         and can also be used to implement virtual LEDs
      
       - LED class driver for NIC78bx device
      
       - LED core fixes for preventing potential races while setting
         brightness when software blinking is enabled
      
       - improvements in LED documentation to mention semantics on changing
         brightness while trigger is active
      
      * tag 'leds_for_4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds:
        leds: pca955x: Add ACPI support
        leds: netxbig: fix module autoload for OF registration
        leds: pca963x: Add ACPI support
        leds: leds-cobalt-raq: use builtin_platform_driver
        led: core: Fix blink_brightness setting race
        led: core: Use atomic bit-field for the blink-flags
        leds: Add user LED driver for NIC78bx device
        leds: verify vendor and change license in mlxcpld driver
        leds: pca963x: enable low-power state
        leds: pca9532: Use default trigger value from platform data
        leds: pca963x: workaround group blink scaling issue
        cleanup LED documentation and make it match reality
        leds: lp3952: Export I2C module alias information for module autoload
        leds: mc13783: Fix MC13892 keypad led access
        ledtrig-cpu.c: fix english
        leds/leds-lp5523.txt: make documentation match reality
        tools/leds: Add uledmon program for monitoring userspace LEDs
        leds: Use macro for max device node name size
        leds: Introduce userspace LED class driver
        mfd: qcom-pm8xxx: Clean up PM8XXX namespace
      1f0a53f6
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v4.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 20d5ba49
      Linus Torvalds authored
      Pull pinctrl updates from Linus Walleij:
       "Bulk pin control changes for the v4.10 kernel cycle:
      
        No core changes this time. Mainly gradual improvement and
        feature growth in the drivers.
      
        New drivers:
      
         - New driver for TI DA850/OMAP-L138/AM18XX pinconf
      
         - The SX150x was moved over from the GPIO subsystem and reimagined as
           a pin control driver with GPIO support in a joint effort by three
           independent users of this hardware. The result was amazingly good!
      
         - New subdriver for the Oxnas OX820
      
        Improvements:
      
         - The sunxi driver now supports the generic pin control bindings
           rather than the sunxi-specific. Add debouncing support to the
           driver.
      
         - Simplifications in pinctrl-single adding a generic parser.
      
         - Two downstream fixes and move the Raspberry Pi BCM2835 over to use
           the generic GPIOLIB_IRQCHIP"
      
      * tag 'pinctrl-v4.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (92 commits)
        pinctrl: sx150x: use new nested IRQ infrastructure
        pinctrl: sx150x: handle missing 'advanced' reg in sx1504 and sx1505
        pinctrl: sx150x: rename 'reg_advance' to 'reg_advanced'
        pinctrl: sx150x: access the correct bits in the 4-bit regs of sx150[147]
        pinctrl: mt8173: set GPIO16 to usb iddig mode
        pinctrl: bcm2835: switch to GPIOLIB_IRQCHIP
        pinctrl: New driver for TI DA850/OMAP-L138/AM18XX pinconf
        devicetree: bindings: pinctrl: Add binding for ti,da850-pupd
        Documentation: pinctrl: palmas: Add ti,palmas-powerhold-override property definition
        pinctrl: intel: set default handler to be handle_bad_irq()
        pinctrl: sx150x: add support for sx1501, sx1504, sx1505 and sx1507
        pinctrl: sx150x: sort chips by part number
        pinctrl: sx150x: use correct registers for reg_sense (sx1502 and sx1508)
        pinctrl: imx: fix imx_pinctrl_desc initialization
        pinctrl: sx150x: support setting multiple pins at once
        pinctrl: sx150x: various spelling fixes and some white-space cleanup
        pinctrl: mediatek: use builtin_platform_driver
        pinctrl: stm32: use builtin_platform_driver
        pinctrl: sunxi: Testing the wrong variable
        pinctrl: nomadik: split up and comments MC0 pins
        ...
      20d5ba49
    • Linus Torvalds's avatar
      Merge tag 'gpio-v4.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 061ad503
      Linus Torvalds authored
      Pull GPIO updates from Luinus Walleij:
       "Bulk GPIO changes for the v4.10 kernel cycle:
      
        Core changes:
      
         - Simplify threaded interrupt handling: instead of passing numbed
           parameters to gpiochip_irqchip_add_chained() we create a new call:
           gpiochip_irqchip_add_nested() so the two types are clearly
           semantically different. Also make sure that all nested chips call
           gpiochip_set_nested_irqchip() which is necessary for IRQ resend to
           work properly if it happens.
      
         - Return error on seek operations for the chardev.
      
         - Clamp values set as part of gpio[d]_direction_output() so that
           anything != 0 will be send down to the driver as "1" not the value
           passed in.
      
         - ACPI can now support naming of GPIO lines, hogs and holes in the
           GPIO lists.
      
        New drivers:
      
         - The SX150x driver was deemed unfit for the GPIO subsystem and was
           moved over to a combined GPIO+pinctrl driver in the pinctrl
           subsystem.
      
        New features:
      
         - Various cleanups to various drivers"
      
      * tag 'gpio-v4.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (49 commits)
        gpio: merrifield: Implement gpio_get_direction callback
        gpio: merrifield: Add support for hardware debouncer
        gpio: chardev: Return error for seek operations
        gpio: arizona: Tidy up probe error path
        gpio: arizona: Remove pointless set of platform drvdata
        gpio: pl061: delete platform data handling
        gpio: pl061: move platform data into driver
        gpio: pl061: rename variable from chip to pl061
        gpio: pl061: rename state container struct
        gpio: pl061: use local state for parent IRQ storage
        gpio: set explicit nesting on drivers
        gpio: simplify adding threaded interrupts
        gpio: vf610: use builtin_platform_driver
        gpio: axp209: use correct register for GPIO input status
        gpio: stmpe: fix interrupt handling bug
        gpio: em: depnd on ARCH_SHMOBILE
        gpio: zx: depend on ARCH_ZX
        gpio: x86: update config dependencies for x86 specific hardware
        gpio: mb86s7x: use builtin_platform_driver
        gpio: etraxfs: use builtin_platform_driver
        ...
      061ad503
    • Linus Torvalds's avatar
      Merge tag 'docs-4.10' of git://git.lwn.net/linux · e7aa8c2e
      Linus Torvalds authored
      Pull documentation update from Jonathan Corbet:
       "These are the documentation changes for 4.10.
      
        It's another busy cycle for the docs tree, as the sphinx conversion
        continues. Highlights include:
      
         - Further work on PDF output, which remains a bit of a pain but
           should be more solid now.
      
         - Five more DocBook template files converted to Sphinx. Only 27 to
           go... Lots of plain-text files have also been converted and
           integrated.
      
         - Images in binary formats have been replaced with more
           source-friendly versions.
      
         - Various bits of organizational work, including the renaming of
           various files discussed at the kernel summit.
      
         - New documentation for the device_link mechanism.
      
        ... and, of course, lots of typo fixes and small updates"
      
      * tag 'docs-4.10' of git://git.lwn.net/linux: (193 commits)
        dma-buf: Extract dma-buf.rst
        Update Documentation/00-INDEX
        docs: 00-INDEX: document directories/files with no docs
        docs: 00-INDEX: remove non-existing entries
        docs: 00-INDEX: add missing entries for documentation files/dirs
        docs: 00-INDEX: consolidate process/ and admin-guide/ description
        scripts: add a script to check if Documentation/00-INDEX is sane
        Docs: change sh -> awk in REPORTING-BUGS
        Documentation/core-api/device_link: Add initial documentation
        core-api: remove an unexpected unident
        ppc/idle: Add documentation for powersave=off
        Doc: Correct typo, "Introdution" => "Introduction"
        Documentation/atomic_ops.txt: convert to ReST markup
        Documentation/local_ops.txt: convert to ReST markup
        Documentation/assoc_array.txt: convert to ReST markup
        docs-rst: parse-headers.pl: cleanup the documentation
        docs-rst: fix media cleandocs target
        docs-rst: media/Makefile: reorganize the rules
        docs-rst: media: build SVG from graphviz files
        docs-rst: replace bayer.png by a SVG image
        ...
      e7aa8c2e
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · e34bac72
      Linus Torvalds authored
      Merge updates from Andrew Morton:
      
       - various misc bits
      
       - most of MM (quite a lot of MM material is awaiting the merge of
         linux-next dependencies)
      
       - kasan
      
       - printk updates
      
       - procfs updates
      
       - MAINTAINERS
      
       - /lib updates
      
       - checkpatch updates
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (123 commits)
        init: reduce rootwait polling interval time to 5ms
        binfmt_elf: use vmalloc() for allocation of vma_filesz
        checkpatch: don't emit unified-diff error for rename-only patches
        checkpatch: don't check c99 types like uint8_t under tools
        checkpatch: avoid multiple line dereferences
        checkpatch: don't check .pl files, improve absolute path commit log test
        scripts/checkpatch.pl: fix spelling
        checkpatch: don't try to get maintained status when --no-tree is given
        lib/ida: document locking requirements a bit better
        lib/rbtree.c: fix typo in comment of ____rb_erase_color
        lib/Kconfig.debug: make CONFIG_STRICT_DEVMEM depend on CONFIG_DEVMEM
        MAINTAINERS: add drm and drm/i915 irc channels
        MAINTAINERS: add "C:" for URI for chat where developers hang out
        MAINTAINERS: add drm and drm/i915 bug filing info
        MAINTAINERS: add "B:" for URI where to file bugs
        get_maintainer: look for arbitrary letter prefixes in sections
        printk: add Kconfig option to set default console loglevel
        printk/sound: handle more message headers
        printk/btrfs: handle more message headers
        printk/kdb: handle more message headers
        ...
      e34bac72
    • Joe Perches's avatar
      treewide: Make remaining source files non-executable · fe6bce8d
      Joe Perches authored
      .c and .h source files should not be executable, change
      the permissions to 0644.
      
      [ This would normally go through Andrew Morton, but his ancient
        patch-based toolchain doesn't do permission changes ]
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Acked-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fe6bce8d
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f082f02c
      Linus Torvalds authored
      Pull irq updates from Thomas Gleixner:
       "The irq department provides:
      
         - a major update to the auto affinity management code, which is used
           by multi-queue devices
      
         - move of the microblaze irq chip driver into the common driver code
           so it can be shared between microblaze, powerpc and MIPS
      
         - a series of updates to the ARM GICV3 interrupt controller
      
         - the usual pile of fixes and small improvements all over the place"
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (25 commits)
        powerpc/virtex: Use generic xilinx irqchip driver
        irqchip/xilinx: Try to fall back if xlnx,kind-of-intr not provided
        irqchip/xilinx: Add support for parent intc
        irqchip/xilinx: Rename get_irq to xintc_get_irq
        irqchip/xilinx: Restructure and use jump label api
        irqchip/xilinx: Clean up print messages
        microblaze/irqchip: Move intc driver to irqchip
        ARM: virt: Select ARM_GIC_V3_ITS
        ARM: gic-v3-its: Add 32bit support to GICv3 ITS
        irqchip/gic-v3-its: Specialise readq and writeq accesses
        irqchip/gic-v3-its: Specialise flush_dcache operation
        irqchip/gic-v3-its: Narrow down Entry Size when used as a divider
        irqchip/gic-v3-its: Change unsigned types for AArch32 compatibility
        irqchip/gic-v3: Use nops macro for Cavium ThunderX erratum 23154
        irqchip/gic-v3: Convert arm64 GIC accessors to {read,write}_sysreg_s
        genirq/msi: Drop artificial PCI dependency
        irqchip/bcm7038-l1: Implement irq_cpu_offline() callback
        genirq/affinity: Use default affinity mask for reserved vectors
        genirq/affinity: Take reserved vectors into account when spreading irqs
        PCI: Remove the irq_affinity mask from struct pci_dev
        ...
      f082f02c
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9465d9cc
      Linus Torvalds authored
      Pull timer updates from Thomas Gleixner:
       "The time/timekeeping/timer folks deliver with this update:
      
         - Fix a reintroduced signed/unsigned issue and cleanup the whole
           signed/unsigned mess in the timekeeping core so this wont happen
           accidentaly again.
      
         - Add a new trace clock based on boot time
      
         - Prevent injection of random sleep times when PM tracing abuses the
           RTC for storage
      
         - Make posix timers configurable for real tiny systems
      
         - Add tracepoints for the alarm timer subsystem so timer based
           suspend wakeups can be instrumented
      
         - The usual pile of fixes and updates to core and drivers"
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
        timekeeping: Use mul_u64_u32_shr() instead of open coding it
        timekeeping: Get rid of pointless typecasts
        timekeeping: Make the conversion call chain consistently unsigned
        timekeeping_Force_unsigned_clocksource_to_nanoseconds_conversion
        alarmtimer: Add tracepoints for alarm timers
        trace: Update documentation for mono, mono_raw and boot clock
        trace: Add an option for boot clock as trace clock
        timekeeping: Add a fast and NMI safe boot clock
        timekeeping/clocksource_cyc2ns: Document intended range limitation
        timekeeping: Ignore the bogus sleep time if pm_trace is enabled
        selftests/timers: Fix spelling mistake "Asyncrhonous" -> "Asynchronous"
        clocksource/drivers/bcm2835_timer: Unmap region obtained by of_iomap
        clocksource/drivers/arm_arch_timer: Map frame with of_io_request_and_map()
        arm64: dts: rockchip: Arch counter doesn't tick in system suspend
        clocksource/drivers/arm_arch_timer: Don't assume clock runs in suspend
        posix-timers: Make them configurable
        posix_cpu_timers: Move the add_device_randomness() call to a proper place
        timer: Move sys_alarm from timer.c to itimer.c
        ptp_clock: Allow for it to be optional
        Kconfig: Regenerate *.c_shipped files after previous changes
        ...
      9465d9cc
    • Linus Torvalds's avatar
      Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e71c3978
      Linus Torvalds authored
      Pull smp hotplug updates from Thomas Gleixner:
       "This is the final round of converting the notifier mess to the state
        machine. The removal of the notifiers and the related infrastructure
        will happen around rc1, as there are conversions outstanding in other
        trees.
      
        The whole exercise removed about 2000 lines of code in total and in
        course of the conversion several dozen bugs got fixed. The new
        mechanism allows to test almost every hotplug step standalone, so
        usage sites can exercise all transitions extensively.
      
        There is more room for improvement, like integrating all the
        pointlessly different architecture mechanisms of synchronizing,
        setting cpus online etc into the core code"
      
      * 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (60 commits)
        tracing/rb: Init the CPU mask on allocation
        soc/fsl/qbman: Convert to hotplug state machine
        soc/fsl/qbman: Convert to hotplug state machine
        zram: Convert to hotplug state machine
        KVM/PPC/Book3S HV: Convert to hotplug state machine
        arm64/cpuinfo: Convert to hotplug state machine
        arm64/cpuinfo: Make hotplug notifier symmetric
        mm/compaction: Convert to hotplug state machine
        iommu/vt-d: Convert to hotplug state machine
        mm/zswap: Convert pool to hotplug state machine
        mm/zswap: Convert dst-mem to hotplug state machine
        mm/zsmalloc: Convert to hotplug state machine
        mm/vmstat: Convert to hotplug state machine
        mm/vmstat: Avoid on each online CPU loops
        mm/vmstat: Drop get_online_cpus() from init_cpu_node_state/vmstat_cpu_dead()
        tracing/rb: Convert to hotplug state machine
        oprofile/nmi timer: Convert to hotplug state machine
        net/iucv: Use explicit clean up labels in iucv_init()
        x86/pci/amd-bus: Convert to hotplug state machine
        x86/oprofile/nmi: Convert to hotplug state machine
        ...
      e71c3978
    • Lukasz Majewski's avatar
      MAINTAINERS: Samsung: Update maintainer for PWM FAN and SAMSUNG THERMAL · 0faf7dd5
      Lukasz Majewski authored
      Since I leave Samsung, I would like to step down from maintenance duties.
      Bartek Zolnierkiewicz will replace.
      Signed-off-by: default avatarLukasz Majewski <l.majewski@samsung.com>
      Acked-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
      0faf7dd5
    • Jungseung Lee's avatar
      init: reduce rootwait polling interval time to 5ms · 39a0e975
      Jungseung Lee authored
      For several devices, the rootwait time is sensitive because it directly
      affects booting time.  The polling interval of rootwait is currently
      100ms.  To save unnessesary waiting time, reduce the polling interval to
      5 ms.
      
      [akpm@linux-foundation.org: remove used-once #define]
      Link: http://lkml.kernel.org/r/20161207060743.1728-1-js07.lee@samsung.comSigned-off-by: default avatarJungseung Lee <js07.lee@samsung.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Christoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      39a0e975
    • Jason Baron's avatar
      binfmt_elf: use vmalloc() for allocation of vma_filesz · 30f74aa0
      Jason Baron authored
      We have observed page allocations failures of order 4 during core dump
      while trying to allocate vma_filesz.  This results in a useless core
      file of size 0.  To improve reliability use vmalloc().
      
      Note that the vmalloc() allocation is bounded by sysctl_max_map_count,
      which is 65,530 by default.  So with a 4k page size, and 8 bytes per
      seg, this is a max of 128 pages or an order 7 allocation.  Other parts
      of the core dump path, such as fill_files_note() are already using
      vmalloc() for presumably similar reasons.
      
      Link: http://lkml.kernel.org/r/1479745791-17611-1-git-send-email-jbaron@akamai.comSigned-off-by: default avatarJason Baron <jbaron@akamai.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      30f74aa0
    • Andrew Jeffery's avatar
      checkpatch: don't emit unified-diff error for rename-only patches · a82603a8
      Andrew Jeffery authored
      I generated a patch with `git format-patch` which checkpatch thinks is
      invalid:
      
          $ ./scripts/checkpatch.pl lpc-dt/0006-mfd-dt-Move-syscon-bindings-to-syscon-subdirectory.patch
          WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
           Documentation/devicetree/bindings/mfd/{ => syscon}/aspeed-scu.txt         | 0
      
          ERROR: Does not appear to be a unified-diff format patch
      
          total: 1 errors, 1 warnings, 0 lines checked
      
          NOTE: For some of the reported defects, checkpatch may be able to
                mechanically convert to the typical style using --fix or --fix-inplace.
      
          lpc-dt/0006-mfd-dt-Move-syscon-bindings-to-syscon-subdirectory.patch has style problems, please review.
      
          NOTE: If any of the errors are false positives, please report
                them to the maintainer, see CHECKPATCH in MAINTAINERS.
      
      The patch in question was all renames with no edits, giving 100%
      similarity and thus no diff markers.
      
      Set '$is_patch = 1;' in the add/remove/rename detection to avoid
      generating spurious warnings.
      
      Link: http://lkml.kernel.org/r/20161205232224.22685-1-andrew@aj.id.auSigned-off-by: default avatarAndrew Jeffery <andrew@aj.id.au>
      Acked-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a82603a8
    • Tomas Winkler's avatar
      checkpatch: don't check c99 types like uint8_t under tools · fd39f904
      Tomas Winkler authored
      Tools contains user space code so uintX_t types are just fine.
      
      Link: http://lkml.kernel.org/r/1479286379-853-1-git-send-email-tomas.winkler@intel.comSigned-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
      Acked-by: default avatarJoe Perches <joe@perches.com>
      Cc: Andy Whitcroft <apw@canonical.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fd39f904
    • Joe Perches's avatar
      checkpatch: avoid multiple line dereferences · 11ca40a0
      Joe Perches authored
      Code that puts a single dereferencing identifier on multiple lines like:
      
           struct_identifier->member[index].
      	member = <foo>;
      
      is generally hard to follow.
      
      Prefer that dereferencing identifiers be single line.
      
      Link: http://lkml.kernel.org/r/e9c191ae3f41bedc8ffd5c0fbcc5a1cec1d1d2df.1478120869.git.joe@perches.comSigned-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      11ca40a0
    • Joe Perches's avatar
      checkpatch: don't check .pl files, improve absolute path commit log test · d6430f71
      Joe Perches authored
      perl files (*.pl) are mostly inappropriate to check coding styles so
      exempt them from long line checks and various .[ch] file type tests.
      
      And as well, only scan absolute paths in the commit log, not in the
      patch.
      
      Link: http://lkml.kernel.org/r/85b101d50acafe6c0261d9f7df283c827da52c4a.1477340110.git.joe@perches.comSigned-off-by: default avatarJoe Perches <joe@perches.com>
      Cc: Andy Whitcroft <apw@canonical.com>
      Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d6430f71
    • Andrew Morton's avatar
      scripts/checkpatch.pl: fix spelling · 224236d9
      Andrew Morton authored
      s/preceeded/preceded/
      
      Cc: Joe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      224236d9
    • Jerome Forissier's avatar
      checkpatch: don't try to get maintained status when --no-tree is given · f2c19c2f
      Jerome Forissier authored
      Fixes the following warning:
      
        Use of uninitialized value $root in concatenation (.) or string at /path/to/checkpatch.pl line 764.
      
      Link: http://lkml.kernel.org/r/1476719709-16668-1-git-send-email-jerome.forissier@linaro.orgSigned-off-by: default avatarJerome Forissier <jerome.forissier@linaro.org>
      Reviewed-by: default avatarBrian Norris <computersforpeace@gmail.com>
      Acked-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f2c19c2f
    • Daniel Vetter's avatar
      lib/ida: document locking requirements a bit better · a2ef9471
      Daniel Vetter authored
      I wanted to wrap a bunch of ida_simple_get calls into their own locking,
      until I dug around and read the original commit message.  Stuff like
      this should imo be added to the kernel doc, let's do that.
      
      Link: http://lkml.kernel.org/r/20161027072216.20411-1-daniel.vetter@ffwll.chSigned-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Acked-by: default avatarTejun Heo <tj@kernel.org>
      Cc: Mel Gorman <mgorman@techsingularity.net>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a2ef9471
    • Jie Chen's avatar
      lib/rbtree.c: fix typo in comment of ____rb_erase_color · ce093a04
      Jie Chen authored
      In Case 3 of `sibling == parent->rb_right':
      
      Right rotation will not change color of sl and S in the diagram
      (i.e. should not change "sl" to "Sl", "S" to "s")
      
      In Case 3 of `sibling == parent->rb_left':
      
           (p)           (p)
           / \           / \
          S   N    -->  sr  N
         / \           /
        Sl  sr        S
                     /
                    Sl
      
        This is actually left rotation at "S", not right rotation.
      
      In Case 4 of `sibling == parent->rb_left':
      
           (p)             (s)
           / \             / \
          S   N     -->   Sl  P
         / \                 / \
        sl (sr)            (sr) N
      
        This is actually right rotation at "(p)" + color flips, not left
        rotation + color flips.
      
      Link: http://lkml.kernel.org/r/1472391115-3702-1-git-send-email-fykcee1@gmail.comSigned-off-by: default avatarJie Chen <fykcee1@gmail.com>
      Cc: Wei Yang <weiyang@linux.vnet.ibm.com>
      Cc: Xiao Guangrong <guangrong.xiao@linux.intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ce093a04
    • Dave Young's avatar
      lib/Kconfig.debug: make CONFIG_STRICT_DEVMEM depend on CONFIG_DEVMEM · 6b2a65c7
      Dave Young authored
      With CONFIG_DEVMEM not set, CONFIG_STRICT_DEVMEM will be useless even if
      it is set =y, thus let's update the dependency in Kconfig.
      
      Link: http://lkml.kernel.org/r/20161006051217.GA31027@dhcp-128-65.nay.redhat.comSigned-off-by: default avatarDave Young <dyoung@redhat.com>
      Acked-by: default avatarKees Cook <keescook@chromium.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Dan Williams <dan.j.williams@intel.com>
      Cc: Josh Poimboeuf <jpoimboe@redhat.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
      Cc: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6b2a65c7
    • Jani Nikula's avatar
      MAINTAINERS: add drm and drm/i915 irc channels · 5fc41a70
      Jani Nikula authored
      Link: http://lkml.kernel.org/r/1476966135-26943-4-git-send-email-jani.nikula@intel.comSigned-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      Reviewed-by: default avatarAndrew Donnellan <andrew.donnellan@au1.ibm.com>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: Dave Airlie <airlied@gmail.com>
      Cc: Joe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5fc41a70
    • Jani Nikula's avatar
      MAINTAINERS: add "C:" for URI for chat where developers hang out · 57599f9b
      Jani Nikula authored
      Make it easier to find the developer chat for the subsystem or driver.
      
      Link: http://lkml.kernel.org/r/1476966135-26943-3-git-send-email-jani.nikula@intel.comSigned-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      Reviewed-by: default avatarAndrew Donnellan <andrew.donnellan@au1.ibm.com>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: Dave Airlie <airlied@gmail.com>
      Cc: Joe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      57599f9b
    • Jani Nikula's avatar
      MAINTAINERS: add drm and drm/i915 bug filing info · 51b06f9f
      Jani Nikula authored
      Link: http://lkml.kernel.org/r/1476966135-26943-2-git-send-email-jani.nikula@intel.comSigned-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      Reviewed-by: default avatarAndrew Donnellan <andrew.donnellan@au1.ibm.com>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: Dave Airlie <airlied@gmail.com>
      Cc: Joe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      51b06f9f
    • Jani Nikula's avatar
      MAINTAINERS: add "B:" for URI where to file bugs · 2de2bd95
      Jani Nikula authored
      Different subsystems and drivers have different preferences for where to
      file bugs and what information to include.  Add "B:" entry for
      specifying the URI for the bug tracker directly, a web page for detailed
      info on filing bugs, or a mailto: URI.
      
      Link: http://lkml.kernel.org/r/1476966135-26943-1-git-send-email-jani.nikula@intel.comSigned-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      Reviewed-by: default avatarAndrew Donnellan <andrew.donnellan@au1.ibm.com>
      Acked-by: default avatarDaniel Vetter <daniel@ffwll.ch>
      Cc: Joe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2de2bd95
    • Joe Perches's avatar
      get_maintainer: look for arbitrary letter prefixes in sections · 03aed214
      Joe Perches authored
      Jani Nikula proposes patches to add a few new letter prefixes for "B:"
      bug reporting and "C:" maintainer chatting to the various sections of
      MAINTAINERS.
      
      Add a generic mechanism to get_maintainer.pl to find sections that have
      any combination of "[A-Z]" letter prefix types in a section.
      
      Link: http://lkml.kernel.org/r/1477332323.1984.8.camel@perches.comSigned-off-by: default avatarJoe Perches <joe@perches.com>
      Cc: Jani Nikula <jani.nikula@intel.com>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: Dave Airlie <airlied@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      03aed214
    • Olof Johansson's avatar
      printk: add Kconfig option to set default console loglevel · a8cfdc68
      Olof Johansson authored
      Add a configuration option to set the default console loglevel.  This
      is, as before, still possible to override at runtime through bootargs
      (loglevel=<x>), sysrq and /proc/printk.
      
      There are cases where adding additional arguments on the commandline is
      impractical, and changing the default for the kernel when being built
      makes more sense.  Provide such a method here, for those who choose to
      do so.
      
      Also, while touching this code, clarify the difference between
      MESSAGE_LOGLEVEL_DEFAULT and CONSOLE_LOGLEVEL_DEFAULT.
      
      Link: http://lkml.kernel.org/r/1479676829-30031-1-git-send-email-olof@lixom.netSigned-off-by: default avatarOlof Johansson <olof@lixom.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a8cfdc68
    • Petr Mladek's avatar
      printk/sound: handle more message headers · 0a4824bf
      Petr Mladek authored
      Commit 4bcc595c ("printk: reinstate KERN_CONT for printing
      continuation lines") allows to define more message headers for a single
      message.  The motivation is that continuous lines might get mixed.
      Therefore it make sense to define the right log level for every piece of
      a cont line.
      
      This patch allows to copy only the real message level.  We should ignore
      KERN_CONT because <filename:line> is added for each message.  By other
      words, we want to know where each piece of the line comes from.
      
      [pmladek@suse.com: fix a check of the valid message level]
        Link: http://lkml.kernel.org/r/20161111183444.GE2145@dhcp128.suse.cz
      Link: http://lkml.kernel.org/r/1478695291-12169-5-git-send-email-pmladek@suse.comSigned-off-by: default avatarPetr Mladek <pmladek@suse.com>
      Cc: Joe Perches <joe@perches.com>
      Cc: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Jason Wessel <jason.wessel@windriver.com>
      Cc: Jaroslav Kysela <perex@perex.cz>
      Cc: Takashi Iwai <tiwai@suse.com>
      Cc: Chris Mason <clm@fb.com>
      Cc: Josef Bacik <jbacik@fb.com>
      Cc: David Sterba <dsterba@suse.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0a4824bf
    • Petr Mladek's avatar
      printk/btrfs: handle more message headers · 262c5e86
      Petr Mladek authored
      Commit 4bcc595c ("printk: reinstate KERN_CONT for printing
      continuation lines") allows to define more message headers for a single
      message.  The motivation is that continuous lines might get mixed.
      Therefore it make sense to define the right log level for every piece of
      a cont line.
      
      The current btrfs_printk() macros do not support continuous lines at the
      moment.  But better be prepared for a custom messages and avoid
      potential "lvl" buffer overflow.
      
      This patch iterates over the entire message header.  It is interested
      only into the message level like the original code.
      
      This patch also introduces PRINTK_MAX_SINGLE_HEADER_LEN.  Three bytes
      are enough for the message level header at the moment.  But it used to
      be three, see the commit 04d2c8c8 ("printk: convert the format for
      KERN_<LEVEL> to a 2 byte pattern").
      
      Also I fixed the default ratelimit level.  It looked very strange when it
      was different from the default log level.
      
      [pmladek@suse.com: Fix a check of the valid message level]
        Link: http://lkml.kernel.org/r/20161111183236.GD2145@dhcp128.suse.cz
      Link: http://lkml.kernel.org/r/1478695291-12169-4-git-send-email-pmladek@suse.comSigned-off-by: default avatarPetr Mladek <pmladek@suse.com>
      Acked-by: default avatarDavid Sterba <dsterba@suse.com>
      Cc: Joe Perches <joe@perches.com>
      Cc: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Jason Wessel <jason.wessel@windriver.com>
      Cc: Jaroslav Kysela <perex@perex.cz>
      Cc: Takashi Iwai <tiwai@suse.com>
      Cc: Chris Mason <clm@fb.com>
      Cc: Josef Bacik <jbacik@fb.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      262c5e86
    • Petr Mladek's avatar
      printk/kdb: handle more message headers · 49795757
      Petr Mladek authored
      Commit 4bcc595c ("printk: reinstate KERN_CONT for printing
      continuation lines") allows to define more message headers for a single
      message.  The motivation is that continuous lines might get mixed.
      Therefore it make sense to define the right log level for every piece of
      a cont line.
      
      This patch introduces printk_skip_headers() that will skip all headers
      and uses it in the kdb code instead of printk_skip_level().
      
      This approach helps to fix other printk_skip_level() users
      independently.
      
      Link: http://lkml.kernel.org/r/1478695291-12169-3-git-send-email-pmladek@suse.comSigned-off-by: default avatarPetr Mladek <pmladek@suse.com>
      Cc: Joe Perches <joe@perches.com>
      Cc: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Jason Wessel <jason.wessel@windriver.com>
      Cc: Jaroslav Kysela <perex@perex.cz>
      Cc: Takashi Iwai <tiwai@suse.com>
      Cc: Chris Mason <clm@fb.com>
      Cc: Josef Bacik <jbacik@fb.com>
      Cc: David Sterba <dsterba@suse.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      49795757
    • Petr Mladek's avatar
      printk/NMI: handle continuous lines and missing newline · 22c2c7b2
      Petr Mladek authored
      Commit 4bcc595c ("printk: reinstate KERN_CONT for printing
      continuation lines") added back KERN_CONT message header.  As a result
      it might appear in the middle of the line when the parts are squashed
      via the temporary NMI buffer.
      
      A reasonable solution seems to be to split the text in the NNI temporary
      not only by newlines but also by the message headers.
      
      Another solution would be to filter out KERN_CONT when writing to the
      temporary buffer.  But this would complicate the lockless handling.
      Also it would not solve problems with a missing newline that was there
      even before the KERN_CONT stuff.
      
      This patch moves the temporary buffer handling into separate function.
      I played with it and it seems that using the char pointers make the code
      easier to read.
      
      Also it prints the final newline as a continuous line.
      
      Finally, it moves handling of the s->len overflow into the paranoid
      check.  And allows to recover from the disaster.
      
      Link: http://lkml.kernel.org/r/1478695291-12169-2-git-send-email-pmladek@suse.comSigned-off-by: default avatarPetr Mladek <pmladek@suse.com>
      Reviewed-by: default avatarSergey Senozhatsky <sergey.senozhatsky@gmail.com>
      Cc: Joe Perches <joe@perches.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Jason Wessel <jason.wessel@windriver.com>
      Cc: Jaroslav Kysela <perex@perex.cz>
      Cc: Takashi Iwai <tiwai@suse.com>
      Cc: Chris Mason <clm@fb.com>
      Cc: Josef Bacik <jbacik@fb.com>
      Cc: David Sterba <dsterba@suse.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      22c2c7b2
    • Petr Mladek's avatar
      printk/NMI: fix up handling of the full nmi log buffer · 4a998e32
      Petr Mladek authored
      vsnprintf() adds the trailing '\0' but it does not count it into the
      number of printed characters.  The result is that there is one byte less
      space for the real characters in the buffer.
      
      The broken check for the free space might cause that we will repeatedly
      try to print 1 character into the buffer, never reach the full buffer,
      and do not count the messages as missed.
      
      Also vsnprintf() returns the number of characters that would be printed
      if the buffer was big enough.  As a result, s->len might be bigger than
      the size of the buffer[*].  And the printk() function might return
      bigger len than it really printed.  Both problems are fixed by using
      vscnprintf() instead.
      
      Note that I though about increasing the number of missed messages even
      when the message was shrunken.  But it made the code even more
      complicated.  I think that it is not worth it.  Shrunken messages are
      usually easy to recognize.  And it should be a corner case.
      
      [*] The overflown s->len value is crazy and unexpected.  I "made a
      mistake" and reported this situation as an internal error when fixed
      handling of PR_CONT headers in some other patch.
      
      Link: http://lkml.kernel.org/r/20161208174912.GA17042@linux.suseSigned-off-by: default avatarPetr Mladek <pmladek@suse.com>
      CcL Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
      Cc: Chris Mason <clm@fb.com>
      Cc: David Sterba <dsterba@suse.com>
      Cc: Jason Wessel <jason.wessel@windriver.com>
      Cc: Josef Bacik <jbacik@fb.com>
      Cc: Joe Perches <joe@perches.com>
      Cc: Jaroslav Kysela <perex@perex.cz>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Takashi Iwai <tiwai@suse.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4a998e32
    • Benjamin Peterson's avatar