1. 26 Jun, 2015 40 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · e8a0b37d
      Linus Torvalds authored
      Pull ARM updates from Russell King:
       "Bigger items included in this update are:
      
         - A series of updates from Arnd for ARM randconfig build failures
         - Updates from Dmitry for StrongARM SA-1100 to move IRQ handling to
           drivers/irqchip/
         - Move ARMs SP804 timer to drivers/clocksource/
         - Perf updates from Mark Rutland in preparation to move the ARM perf
           code into drivers/ so it can be shared with ARM64.
         - MCPM updates from Nicolas
         - Add support for taking platform serial number from DT
         - Re-implement Keystone2 physical address space switch to conform to
           architecture requirements
         - Clean up ARMv7 LPAE code, which goes in hand with the Keystone2
           changes.
         - L2C cleanups to avoid unlocking caches if we're prevented by the
           secure support to unlock.
         - Avoid cleaning a potentially dirty cache containing stale data on
           CPU initialisation
         - Add ARM-only entry point for secondary startup (for machines that
           can only call into a Thumb kernel in ARM mode).  Same thing is also
           done for the resume entry point.
         - Provide arch_irqs_disabled via asm-generic
         - Enlarge ARMv7M vector table
         - Always use BFD linker for VDSO, as gold doesn't accept some of the
           options we need.
         - Fix an incorrect BSYM (for Thumb symbols) usage, and convert all
           BSYM compiler macros to a "badr" (for branch address).
         - Shut up compiler warnings provoked by our cmpxchg() implementation.
         - Ensure bad xchg sizes fail to link"
      
      * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (75 commits)
        ARM: Fix build if CLKDEV_LOOKUP is not configured
        ARM: fix new BSYM() usage introduced via for-arm-soc branch
        ARM: 8383/1: nommu: avoid deprecated source register on mov
        ARM: 8391/1: l2c: add options to overwrite prefetching behavior
        ARM: 8390/1: irqflags: Get arch_irqs_disabled from asm-generic
        ARM: 8387/1: arm/mm/dma-mapping.c: Add arm_coherent_dma_mmap
        ARM: 8388/1: tcm: Don't crash when TCM banks are protected by TrustZone
        ARM: 8384/1: VDSO: force use of BFD linker
        ARM: 8385/1: VDSO: group link options
        ARM: cmpxchg: avoid warnings from macro-ized cmpxchg() implementations
        ARM: remove __bad_xchg definition
        ARM: 8369/1: ARMv7M: define size of vector table for Vybrid
        ARM: 8382/1: clocksource: make ARM_TIMER_SP804 depend on GENERIC_SCHED_CLOCK
        ARM: 8366/1: move Dual-Timer SP804 driver to drivers/clocksource
        ARM: 8365/1: introduce sp804_timer_disable and remove arm_timer.h inclusion
        ARM: 8364/1: fix BE32 module loading
        ARM: 8360/1: add secondary_startup_arm prototype in header file
        ARM: 8359/1: correct secondary_startup_arm mode
        ARM: proc-v7: sanitise and document registers around errata
        ARM: proc-v7: clean up MIDR access
        ...
      e8a0b37d
    • Linus Torvalds's avatar
      Merge tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · abea9629
      Linus Torvalds authored
      Pull ARM SoC defconfig updates from Kevin Hilman:
       "We keep collecting defconfig updates in a separate branch mostly to
        encourage people to handle them separately and avoid conflicts between
        different topics.
      
        Most of these are enablement of new SoCs, boards or drivers that have
        come in, or minor config refreshes due to reorderings in Kconfig
        files, etc.  I.e. mostly minor churn of various kinds"
      
      * tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (55 commits)
        ARM: multi_v7_defconfig: remove duplicate CONFIG_COMMON_CLK_QCOM=y
        ARM: multi_v7_defconfig: Enable display on Trats2 board
        ARM64: add GPIO keys to the defconfig
        ARM: keystone: defconfig: enable netcp driver by default
        ARM: exynos_defconfig: Enable CONFIG_SENSORS_INA2XX for Odroid-XU3
        ARM: exynos_defconfig: Enable CONFIG_SENSORS_PWM_FAN for Odroid-XU3
        ARM: omap2plus_defconfig: Enable TOUCHSCREEN_PIXCIR
        ARM: omap2plus_defconfig: Add dm816x USB PHY as a loadable module
        ARM: omap2plus_defconifg: Enable DM9000 in omap2plus_defconfig
        ARM: lpc18xx: remove DEBUG_LL_UART_8250 from defconfig
        ARM: multi_v7_defconfig: Make media support modular
        ARM: multi_v7_defconfig: Make sound support modular
        ARM: multi_v7_defconfig: Enable shmobile r8a7778/bockw platform
        ARM: exynos_defconfig: savedefconfig
        ARM: exynos_defconfig: Enable display on Trats2 board
        ARM: multi_v7_defconfig: Enable OHCI on exynos SoCs
        ARM: multi_v7_defconfig: Enable TMU for exynos SoCs
        ARM: multi_v7_defconfig: Enable PMIC and MUIC drivers for exynos
        ARM: multi_v7_defconfig: Enable CPU idle for exynos SoCs
        ARM: multi_v7_defconfig: Enable Cypress APA I2C Trackpad support
        ...
      abea9629
    • Linus Torvalds's avatar
      Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · f5dcb680
      Linus Torvalds authored
      Pull ARM SoC driver updates from Kevin Hilman:
       "Some of these are for drivers/soc, where we're now putting
        SoC-specific drivers these days.  Some are for other driver subsystems
        where we have received acks from the appropriate maintainers.
      
        Some highlights:
      
         - simple-mfd: document DT bindings and misc updates
         - migrate mach-berlin to simple-mfd for clock, pinctrl and reset
         - memory: support for Tegra132 SoC
         - memory: introduce tegra EMC driver for scaling memory frequency
         - misc. updates for ARM CCI and CCN busses"
      
      * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (48 commits)
        drivers: soc: sunxi: Introduce SoC driver to map SRAMs
        arm-cci: Add aliases for PMU events
        arm-cci: Add CCI-500 PMU support
        arm-cci: Sanitise CCI400 PMU driver specific code
        arm-cci: Abstract handling for CCI events
        arm-cci: Abstract out the PMU counter details
        arm-cci: Cleanup PMU driver code
        arm-cci: Do not enable CCI-400 PMU by default
        firmware: qcom: scm: Add HDCP Support
        ARM: berlin: add an ADC node for the BG2Q
        ARM: berlin: remove useless chip and system ctrl compatibles
        clk: berlin: drop direct of_iomap of nodes reg property
        ARM: berlin: move BG2Q clock node
        ARM: berlin: move BG2CD clock node
        ARM: berlin: move BG2 clock node
        clk: berlin: prepare simple-mfd conversion
        pinctrl: berlin: drop SoC stub provided regmap
        ARM: berlin: move pinctrl to simple-mfd nodes
        pinctrl: berlin: prepare to use regmap provided by syscon
        reset: berlin: drop arch_initcall initialization
        ...
      f5dcb680
    • Linus Torvalds's avatar
      Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 3d9f96d8
      Linus Torvalds authored
      Pull ARM SoC DT updates from Kevin Hilman:
       "As usual, quite a few device-tree updates in ARM land.  There was one
        minor churn in DTs due to relicensing under a dual-license, and lots
        of little additions of new peripherals, features etc, but nothing
        really exciting to call to your attention.  Some higlights, focsuing
        on support for new SoCs and boards:
      
         - AT91: new boards: Overkiz,  Acme Systems' Arietta G25
         - tegra: HDA support
         - bcm: new platforms: Buffalo WXR-1900DHP, SmartRG SR400ac, ASUS
           RT-AC87U
         - mvebu: new platforms: Compulab CM-A510, Armada 385-based Linksys
           boards, DLink DNS-327L
         - OMAP: new platforms: Baltos IR5221, LogicPD Torpedo, Toby-Churchill
           SL50
         - ARM: added support for Juno r1 board
         - sunxi: A33 SoC support; new boards: A23 EVB, SinA33, GA10H-A33,
           Mele A1000G
         - imx: i.MX7D SoC support; new boards: Armadeus Systems APF6,
           Gateworks GW5510, and aristainetos2 boards
         - hisilicon: hi6220 SoC support; new boards: 96boards hikey"
      
      * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (462 commits)
        ARM: hisi: revert changes from hisi/hip04-dt branch
        ARM: nomadik: set proper compatible for accelerometer
        ARM64: juno: add GPIO keys
        ARM: at91/dt: sama5d4: fix dma conf for aes, sha and tdes nodes
        ARM: dts: Introduce STM32F429 MCU
        ARM: socfpga: dts: enable ethernet for Arria10 devkit
        ARM: dts: k2l: fix the netcp range size
        ARM: dts: k2e: fix the netcp range size
        ARM: dts: k2hk: fix the netcp range size
        ARM: dts: k2l-evm: Add device bindings for netcp driver
        ARM: dts: k2e-evm: Add device bindings for netcp driver
        ARM: dts: k2hk-evm: Add device bindings for netcp driver
        ARM: BCM5301X: Add DT for Asus RT-AC87U
        ARM: BCM5301X: add IRQ numbers for PCIe controller
        ARM: BCM5301X: add NAND flash chip description
        arm64: dts: Add dts files for Hisilicon Hi6220 SoC
        clk: hi6220: Document devicetree bindings for hi6220 clock
        arm64: hi6220: Document devicetree bindings for Hisilicon hi6220 SoC
        ARM: at91/dt: sama5d4ek: mci0 uses slot 0
        ARM: at91/dt: kizbox: fix mismatch LED PWM device
        ...
      3d9f96d8
    • Linus Torvalds's avatar
      Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 4aa705b1
      Linus Torvalds authored
      Pull ARM SoC platform support updates from Kevin Hilman:
       "Our SoC branch usually contains expanded support for new SoCs and
        other core platform code.  Some highlights from this round:
      
         - sunxi: SMP support for A23 SoC
         - socpga: big-endian support
         - pxa: conversion to common clock framework
         - bcm: SMP support for BCM63138
         - imx: support new I.MX7D SoC
         - zte: basic support for ZX296702 SoC"
      
      * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (134 commits)
        ARM: zx: Add basic defconfig support for ZX296702
        ARM: dts: zx: add an initial zx296702 dts and doc
        clk: zx: add clock support to zx296702
        dt-bindings: Add #defines for ZTE ZX296702 clocks
        ARM: socfpga: fix build error due to secondary_startup
        MAINTAINERS: ARM64: EXYNOS: Extend entry for ARM64 DTS
        ARM: ep93xx: simone: support for SPI-based MMC/SD cards
        MAINTAINERS: update Shawn's email to use kernel.org one
        ARM: socfpga: support suspend to ram
        ARM: socfpga: add CPU_METHOD_OF_DECLARE for Arria 10
        ARM: socfpga: use CPU_METHOD_OF_DECLARE for socfpga_cyclone5
        ARM: EXYNOS: register power domain driver from core_initcall
        ARM: EXYNOS: use PS_HOLD based poweroff for all supported SoCs
        ARM: SAMSUNG: Constify platform_device_id
        ARM: EXYNOS: Constify irq_domain_ops
        ARM: EXYNOS: add coupled cpuidle support for Exynos3250
        ARM: EXYNOS: add exynos_get_boot_addr() helper
        ARM: EXYNOS: add exynos_set_boot_addr() helper
        ARM: EXYNOS: make exynos_core_restart() less verbose
        ARM: EXYNOS: fix exynos_boot_secondary() return value on timeout
        ...
      4aa705b1
    • Linus Torvalds's avatar
      Merge tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · c11d7162
      Linus Torvalds authored
      Pull ARM SoC cleanups from Kevin Hilman:
       "A relatively small setup of cleanups this time around, and similar to
        last time the bulk of it is removal of legacy board support:
      
         - OMAP: removal of legacy (non-DT) booting for several platforms
      
         - i.MX: remove some legacy board files"
      
      * tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (36 commits)
        ARM: fix EFM32 build breakage caused by cpu_resume_arm
        ARM: 8389/1: Add cpu_resume_arm() for firmwares that resume in ARM state
        ARM: v7 setup function should invalidate L1 cache
        mach-omap2: Remove use of deprecated marco, PTR_RET in devices.c
        ARM: OMAP2+: Remove calls to deprecacted marco,PTR_RET in the files,fb.c and pmu.c
        ARM: OMAP2+: Constify irq_domain_ops
        ARM: OMAP2+: use symbolic defines for console loglevels instead of numbers
        ARM: at91: remove useless Makefile.boot
        ARM: at91: remove at91rm9200_sdramc.h
        ARM: at91: remove mach/at91_ramc.h and mach/at91rm9200_mc.h
        ARM: at91/pm: use the atmel-mc syscon defines
        pcmcia: at91_cf: Use syscon to configure the MC/smc
        ARM: at91: declare the at91rm9200 memory controller as a syscon
        mfd: syscon: Add Atmel MC (Memory Controller) registers definition
        ARM: at91: drop sam9_smc.c
        ata: at91: use syscon to configure the smc
        ARM: ux500: delete static resource defines
        ARM: ux500: rename ux500_map_io
        ARM: ux500: look up PRCMU resource from DT
        ARM: ux500: kill off L2CC static map
        ...
      c11d7162
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 47a46942
      Linus Torvalds authored
      Merge second patchbomb from Andrew Morton:
      
       - most of the rest of MM
      
       - lots of misc things
      
       - procfs updates
      
       - printk feature work
      
       - updates to get_maintainer, MAINTAINERS, checkpatch
      
       - lib/ updates
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (96 commits)
        exit,stats: /* obey this comment */
        coredump: add __printf attribute to cn_*printf functions
        coredump: use from_kuid/kgid when formatting corename
        fs/reiserfs: remove unneeded cast
        NILFS2: support NFSv2 export
        fs/befs/btree.c: remove unneeded initializations
        fs/minix: remove unneeded cast
        init/do_mounts.c: add create_dev() failure log
        kasan: remove duplicate definition of the macro KASAN_FREE_PAGE
        fs/efs: femove unneeded cast
        checkpatch: emit "NOTE: <types>" message only once after multiple files
        checkpatch: emit an error when there's a diff in a changelog
        checkpatch: validate MODULE_LICENSE content
        checkpatch: add multi-line handling for PREFER_ETHER_ADDR_COPY
        checkpatch: suggest using eth_zero_addr() and eth_broadcast_addr()
        checkpatch: fix processing of MEMSET issues
        checkpatch: suggest using ether_addr_equal*()
        checkpatch: avoid NOT_UNIFIED_DIFF errors on cover-letter.patch files
        checkpatch: remove local from codespell path
        checkpatch: add --showfile to allow input via pipe to show filenames
        ...
      47a46942
    • Linus Torvalds's avatar
      Merge tag 'rtc-v4.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · c13c8100
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "Core:
         - Coding style and whitespace fixes (interface, Makefile and Kconfig)
         - New rtc_tm_sub() helper
         - New CONFIG_RTC_SYSTOHC_DEVICE option
         - Removed rtc_set_mmss()
      
        New drivers:
         - Mediatek MT6397
         - Cortina Gemini
      
        Drivers:
         - Year 2106 fixes for isl1208, pcf8563 and sunxi
         - update author email for at32ap700x and efi
         - ds1307: alarm fix
         - efi: use correct EFI 'epoch'
         - hym8563: make irq optional
         - imxdi: cleanups and better handling of the security/tamper monitoring
         - snvs: fix wakealarm
         - Compilation fixes or warning removal for gemini, mt6397, palmas, pfc8563
         - Trivial cleanups for ab8500, ds1216, ds1286, ds1672, ep93xx,
           hid-sensor-time, max6900, max8998, max77686, max77802, mc13xxx, mv,
           mxc, s3c, spear, v3020
         - Kconfig fixes for stmp3xxx and xgene"
      
      * tag 'rtc-v4.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (48 commits)
        rtc: remove useless I2C dependencies
        rtc: whitespace fixes
        rtc: Properly sort Makefile
        MAINTAINERS: Add RTC subsystem repository
        rtc: pfc8563: fix uninitialized variable warning
        rtc: ds1307: Enable the mcp794xx alarm after programming time
        rtc: hym8563: make the irq optional
        rtc: gemini: fix cocci warnings
        rtc: mv: correct 24 hour error message
        rtc: mv: use BIT()
        rtc: efi: use correct EFI 'epoch'
        rtc: interface: Remove rtc_set_mmss()
        sparc: time: Replace update_persistent_clock() with CONFIG_RTC_SYSTOHC
        rtc: NTP: Add CONFIG_RTC_SYSTOHC_DEVICE for NTP synchronization
        rtc: sunxi: Replace deprecated rtc_tm_to_time()
        rtc: isl1208: Replace deprecated rtc_tm_to_time()
        rtc: Introduce rtc_tm_sub() helper function
        rtc: pcf8563: Replace deprecated rtc_time_to_tm() and rtc_tm_to_time()
        rtc: palmas: Initialise bb_charging flag before using it
        rtc: simplify use of devm_ioremap_resource
        ...
      c13c8100
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 24867481
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
       "Highlights:
      
         - new drivers for Mediatek I2C, APM X-Gene, Broadcom Settop
         - major updates to at91, davinci
         - bugfixes to the mux infrastructure when dealing with the new quirk
           mechanism
         - more users for the bus recovery feature
         - further improvements to the slave framework
      
        Plus the usual bunch of smaller driver and core improvements and
        fixes.
      
        There is one patch removing old code from an ARM platform.  This has
        been acked by the sh_mobile maintainer Simon Horman"
      
      * 'i2c/for-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (48 commits)
        i2c: busses: i2c-bcm2835: limits cdiv to allowed values
        i2c: sh_mobile: use proper type for timeout
        i2c: sh_mobile: use adapter default for timeout
        i2c: rcar: use proper type for timeout
        i2c: rcar: use adapter default for timeout
        i2c: designware: Make sure the device is suspended before disabling runtime PM
        i2c: tegra: apply size limit quirk
        i2c: tegra: don't advertise SMBUS_QUICK
        i2c: octeon: remove unused signal handling
        i2c: davinci: Optimize SCL generation
        i2c: mux: pca954x: Use __i2c_transfer because of quirks
        i2c: mux: Use __i2c_transfer() instead of calling parent's master_xfer()
        i2c: use parent adapter quirks in mux
        i2c: bcm2835: clear reserved bits in S-Register
        ARM: shmobile: r8a7740: remove I2C errata handling
        i2c: sh_mobile: add errata workaround
        i2c: at91: fix code checker warnings
        i2c: busses: xgene-slimpro: fix incorrect __init declation for probe
        i2c: davinci: Avoid sending to own address
        i2c: davinci: Refactor i2c_davinci_wait_bus_not_busy()
        ...
      24867481
    • Linus Torvalds's avatar
      Merge branch 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration · 9390bd0d
      Linus Torvalds authored
      Pull mailbox updates from Jassi Brar.
      
      * 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration:
        mailbox/bcm2835: Fix mailbox full detection.
        dt: mailbox: Remove 'mbox-names property is discouraged' message from binding
        mailbox: Add ability for clients to request channels by name
        mailbox: Enable BCM2835 mailbox support
        dt/bindings: Add binding for the BCM2835 mailbox driver
        mailbox: Fix up error handling in mbox_request_channel()
        mailbox: Make mbox_chan_ops const
        mailbox: altera: Add dependency on HAS_IOMEM
      9390bd0d
    • Linus Torvalds's avatar
      Merge tag 'edac/v4.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac · da996f73
      Linus Torvalds authored
      Pull edac updates from Mauro Carvalho Chehab:
       "Some fixes and additions to the EDAC driver used on modern Intel x86
        CPUs.  It includes support for Broadwell EP/EX platforms and fixes for
        motherboards with more than 2 CPU sockets"
      
      * tag 'edac/v4.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac:
        sb_edac: support for Broadwell -EP and -EX
        sb_edac: Fix support for systems with two home agents per socket
        sb_edac: Fix a typo and a thinko in address handling for Haswell
        EDAC: Remove arbitrary limit on number of channels
      da996f73
    • Linus Torvalds's avatar
      Merge tag 'media/v4.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 5b4ca444
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
      
       - Lots of improvements at the DVB API DocBook documentation.  Now, the
         frontend and the network APIs are fully in sync with the Kernel and
         looks more like the rest of the media documentation;
      
       - New frontend driver: cx24120
      
       - New driver for a PCI device: cobalt.  This driver is actually not
         sold in the market, but it is a good example of a multi-HDMI input
         device;
      
       - The dt3155 driver were promoted from staging;
      
       - The mantis driver got remote controller support;
      
       - New V4L2 driver for ST bdisp SoC chipsets;
      
       - Make sparse and smatch happier: several bugs were solved by fixing
         the issues reported by those static code analyzers.
      
       - Lots of new device additions, new features, improvements and cleanups
         at the existing drivers.
      
      * tag 'media/v4.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (553 commits)
        [media] lmedm04: fix the range for relative measurements
        [media] lmedm04: use u32 instead of u64 for relative stats
        [media] omap3isp: remove unused var
        [media] saa7134: fix page size on some archs
        [media] use CONFIG_PM_SLEEP for suspend/resume
        [media] tuner-i2c: be consistent with I2C declaration
        [media] si470x: cleanup define namespace
        [media] bdisp: prevent compiling on random arch
        [media] vb2: Don't WARN when v4l2_buffer.bytesused is 0 for multiplanar buffers
        [media] MAINTAINERS: Add entry for the Renesas VSP1 driver
        [media] videodev2.h: fix copy-and-paste error in V4L2_MAP_XFER_FUNC_DEFAULT
        [media] Revert "[media] vb2: Push mmap_sem down to memops"
        [media] mantis: cleanup a warning
        [media] bdisp-debug: don't try to divide by s64
        [media] cx88: don't declare restart_video_queue if not used
        [media] au0828: move dev->boards atribuition to happen earlier
        [media] lmedm04: implement dvb v5 statistics
        [media] bdisp: remove unused var
        [media] bdisp: remove needless check
        ts2020: fix compilation on i386
        ...
      5b4ca444
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · 0db9723c
      Linus Torvalds authored
      Pull thermal management updates from Zhang Rui:
       "Specifics:
      
         - enhance Thermal Framework with several new capabilities:
      
             * use power estimates
             * compute weights with relative integers instead of percentages
             * allow governors to have private data in thermal zones
             * export thermal zone parameters through sysfs
      
           Thanks to the ARM thermal team (Javi, Punit, KP).
      
         - introduce a new thermal governor: power allocator.  First in kernel
           closed loop PI(D) controller for thermal control.  Thanks to ARM
           thermal team.
      
         - enhance OF thermal to allow thermal zones to have sustainable power
           HW specification.  Thanks to Punit.
      
         - introduce thermal driver for Intel Quark SoC x1000platform.  Thanks
           to Ong, Boon Leong.
      
         - introduce QPNP PMIC temperature alarm driver.  Thanks to Ivan T. I.
      
         - introduce thermal driver for Hisilicon hi6220.  Thanks to
           kongxinwei.
      
         - enhance Exynos thermal driver to handle Exynos5433 TMU.  Thanks to
           Chanwoo C.
      
         - TI thermal driver now has a better implementation for EOCZ bit.
           From Pavel M.
      
         - add id for Skylake processors in int340x processor thermal driver.
      
         - a couple of small fixes and cleanups."
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (36 commits)
        thermal: hisilicon: add new hisilicon thermal sensor driver
        dt-bindings: Document the hi6220 thermal sensor bindings
        thermal: of-thermal: add support for reading coefficients property
        thermal: support slope and offset coefficients
        thermal: power_allocator: round the division when divvying up power
        thermal: exynos: Add the support for Exynos5433 TMU
        thermal: cpu_cooling: Fix power calculation when CPUs are offline
        thermal: cpu_cooling: Remove cpu_dev update on policy CPU update
        thermal: export thermal_zone_parameters to sysfs
        thermal: cpu_cooling: Check memory allocation of power_table
        ti-soc-thermal: request temperature periodically if hw can't do that itself
        ti-soc-thermal: implement eocz bit to make driver useful on omap3
        cleanup ti-soc-thermal
        thermal: remove stale THERMAL_POWER_ACTOR select
        thermal: Default OF created trip points to writable
        thermal: core: Add Kconfig option to enable writable trips
        thermal: x86_pkg_temp: drop const for thermal_zone_parameters
        of: thermal: Introduce sustainable power for a thermal zone
        thermal: add trace events to the power allocator governor
        thermal: introduce the Power Allocator governor
        ...
      0db9723c
    • Linus Torvalds's avatar
      Merge tag 'sound-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 4570a371
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "It was a busy development cycle at this time, as you can see a wide
        range of changes in diffstat.  There are no big changes but many
        refactoring and improvements.  Here we go some highlights:
      
        ALSA core:
         - Procfs codes were cleaned up to use seq_file
         - Procfs can be opt out via Kconfig (only for EXPERT)
         - Two types of jack API were unified finally; now both kctl and input
           jack devs are handled via a single function call.
      
        HD-audio:
         - Continued code restructuring for the future ASoC driver; now HDA
           controller driver is split to a core helper module.
         - Preliminary codes for Skylake audio support in HDA core.
         - Proper i915 gfx power well management for SKL & co
         - Enabled runtime PM as default for Intel HDMI/DP codecs
         - Newer Tegra chip supports
         - More quirks for Dell headsets, Alienware (with CA0132), etc.
         - A couple of DRM ELD helper API functions
      
        ASoC:
         - Support for loading ASoC topology maps from firmware, intended to
           be used to allow self-describing DSP firmware images to be built
           which can map controls added by the DSP to userspace without the
           kernel needing to know about individual DSP firmwares
         - Lots of refactoring to avoid direct access to snd_soc_codec where
           it's not needed supporting future refactoring
         - Big refactoring, cleanup and enhancement for the Wolfson ADSP
           driver
         - Cleanup series for TI TAS2552 and R-CAR drivers
         - Fixes and improvements on RT56xx codecs
         - Support for TI TAS571x power amplifiers
         - Support for Qualcomm APQ8016 and ZTE ZX296702 SoCs
         - Support for x86 systems with RT5650 and Qualcomm Storm
         - Support for Mediatek AFE (Audio Front End) unit
         - Other various small fixes to ASoC codec drivers
      
        Firewire:
         - Enhanced to allow non-blocking streams to use timestamp
           synchronization
         - Improve support for DM1500 and BeBoBv3
      
        Misc:
         - Cleanup of old pci API functions over all PCI sound drivers
         - Fix long-standing regression of the old powermac i2c setup"
      
      * tag 'sound-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (533 commits)
        ALSA: pcm: Fix pcm_class sysfs output
        ALSA: hda-beep: Update authors dead email address
        ASoC: wm_adsp: Move DSP Rate controls into the codec
        ASoC: wm8995: Fix setting sysclk for WM8995_SYSCLK_MCLK2 case
        ALSA: hda: provide default bus io ops extended hdac
        ALSA: hda: add hda link cleanup routine
        ALSA: hda: add hdac_ext stream creation and cleanup routines
        ASoC: rsrc-card: remove unused ret
        ALSA: HDAC: move SND_HDA_PREALLOC_SIZE to core
        ASoC: mediatek: Add machine driver for rt5650 rt5676 codec
        ASoC: mediatek: Add machine driver for MAX98090 codec
        ASoC: mediatek: Add AFE platform driver
        ASoC: rsnd: remove io from rsnd_mod
        ASoC: rsnd: move rsnd_mod_is_working() to rsnd_io_is_working()
        ASoC: rsnd: don't use rsnd_mod_to_io() on snd_kcontrol
        ASoC: rsnd: don't use rsnd_mod_to_io() on rsnd_src_xxx()
        ASoC: rsnd: don't use rsnd_mod_to_io() on rsnd_ssi_xxx()
        ASoC: rsnd: don't use rsnd_mod_to_io() on rsnd_dma_xxx()
        ASoC: rsnd: don't use rsnd_mod_to_io() on rsnd_get_adinr()
        ASoC: rsnd: add common interrupt handler for SSI/SRC/DMA
        ...
      4570a371
    • Linus Torvalds's avatar
      Merge branch 'dmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging · f7b08217
      Linus Torvalds authored
      Pull DMI updates from Jean Delvare:
       "The most important change is the new sysfs interface to the DMI table,
        which will let user-space tools (such as dmidecode) access the table
        without relying on /dev/mem"
      
      * 'dmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
        firmware: dmi: struct dmi_header should be packed
        firmware: dmi_scan: Coding style cleanups
        Documentation: ABI: sysfs-firmware-dmi: add -entries suffix to file name
        firmware: dmi_scan: add SBMIOS entry and DMI tables
        firmware: dmi_scan: Trim DMI table length before exporting it
        firmware: dmi_scan: Rename dmi_table to dmi_decode_table
        firmware: dmi: List my quilt tree
        firmware: dmi_scan: Only honor end-of-table for 64-bit tables
      f7b08217
    • Rik van Riel's avatar
      exit,stats: /* obey this comment */ · 51229b49
      Rik van Riel authored
      There is a helpful comment in do_exit() that states we sync the mm's RSS
      info before statistics gathering.
      
      The function that does the statistics gathering is called right above that
      comment.
      
      Change the code to obey the comment.
      Signed-off-by: default avatarRik van Riel <riel@redhat.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Michal Hocko <mhocko@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      51229b49
    • Nicolas Iooss's avatar
      coredump: add __printf attribute to cn_*printf functions · b4176b7c
      Nicolas Iooss authored
      This allows detecting improper format string at build time, like:
      
        fs/coredump.c:225:5: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'int' [-Wformat=]
             err = cn_printf(cn, "%ld", cprm->siginfo->si_signo);
             ^
      
      As si_signo is always an int, the format should be %d here.
      Signed-off-by: default avatarNicolas Iooss <nicolas.iooss_linux@m4x.org>
      Acked-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b4176b7c
    • Nicolas Iooss's avatar
      coredump: use from_kuid/kgid when formatting corename · 5202efe5
      Nicolas Iooss authored
      When adding __printf attribute to cn_printf, gcc reports some issues:
      
        fs/coredump.c:213:5: warning: format '%d' expects argument of type
        'int', but argument 3 has type 'kuid_t' [-Wformat=]
             err = cn_printf(cn, "%d", cred->uid);
             ^
        fs/coredump.c:217:5: warning: format '%d' expects argument of type
        'int', but argument 3 has type 'kgid_t' [-Wformat=]
             err = cn_printf(cn, "%d", cred->gid);
             ^
      
      These warnings come from the fact that the value of uid/gid needs to be
      extracted from the kuid_t/kgid_t structure before being used as an
      integer.  More precisely, cred->uid and cred->gid need to be converted to
      either user-namespace uid/gid or to init_user_ns uid/gid.
      
      Use init_user_ns in order not to break existing ABI, and document this in
      Documentation/sysctl/kernel.txt.
      
      While at it, format uid and gid values with %u instead of %d because
      uid_t/__kernel_uid32_t and gid_t/__kernel_gid32_t are unsigned int.
      Signed-off-by: default avatarNicolas Iooss <nicolas.iooss_linux@m4x.org>
      Acked-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5202efe5
    • Firo Yang's avatar
      fs/reiserfs: remove unneeded cast · 89bfae43
      Firo Yang authored
      kmem_cache_alloc() returns void*.
      Signed-off-by: default avatarFiro Yang <firogm@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      89bfae43
    • NeilBrown's avatar
      NILFS2: support NFSv2 export · f73c2f1f
      NeilBrown authored
      The "fh_len" passed to ->fh_to_* is not guaranteed to be that same as that
      returned by encode_fh - it may be larger.
      
      With NFSv2, the filehandle is fixed length, so it may appear longer than
      expected and be zero-padded.
      
      So we must test that fh_len is at least some value, not exactly equal to
      it.
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      Signed-off-by: default avatarRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f73c2f1f
    • Fabian Frederick's avatar
      fs/befs/btree.c: remove unneeded initializations · 9f0f564a
      Fabian Frederick authored
      bh, od_sup and this_node are unconditionally initialized in
      befs_bt_read_super() and befs_btree_find()
      Signed-off-by: default avatarFabian Frederick <fabf@skynet.be>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9f0f564a
    • Firo Yang's avatar
      fs/minix: remove unneeded cast · 83b08bf7
      Firo Yang authored
      kmem_cache_alloc() returns void*.
      Signed-off-by: default avatarFiro Yang <firogm@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      83b08bf7
    • Vishnu Pratap Singh's avatar
      init/do_mounts.c: add create_dev() failure log · c69e3c3a
      Vishnu Pratap Singh authored
      If create_dev() function fails to create the root mount device
      (/dev/root), then it goes to panic as root device not found but there is
      no printk in this case.  So I have added the log in case it fails to
      create the root device.  It will help in debugging.
      
      [akpm@linux-foundation.org: simplify printk(), use pr_emerg(), display errno]
      Signed-off-by: default avatarVishnu Pratap Singh <vishnu.ps@samsung.com>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
      Cc: Mike Snitzer <snitzer@redhat.com>
      Cc: Dan Ehrenberg <dehrenberg@chromium.org>
      Cc: Miklos Szeredi <mszeredi@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c69e3c3a
    • Wang Long's avatar
      kasan: remove duplicate definition of the macro KASAN_FREE_PAGE · bffacb91
      Wang Long authored
      Remove duplicate definition of the macro KASAN_FREE_PAGE in
      mm/kasan/kasan.h
      Signed-off-by: default avatarWang Long <long.wanglong@huawei.com>
      Acked-by: default avatarAndrey Ryabinin <a.ryabinin@samsung.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      bffacb91
    • Firo Yang's avatar
      fs/efs: femove unneeded cast · 35a4c902
      Firo Yang authored
      kmem_cache_alloc() returns void*.
      Signed-off-by: default avatarFiro Yang <firogm@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      35a4c902
    • Joe Perches's avatar
      checkpatch: emit "NOTE: <types>" message only once after multiple files · 3c816e49
      Joe Perches authored
      Make this message similar to the "false positives" message and emit it
      only once when scanning multiple files instead of after each file scanned.
      Signed-off-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>
      3c816e49
    • Joe Perches's avatar
      checkpatch: emit an error when there's a diff in a changelog · e518e9a5
      Joe Perches authored
      People often put diff snippets in changelogs.  This causes problems
      when one tries to apply a file containing both the changelog and the
      diff because patch(1) tries to apply the diff which it found in the
      changelog.
      
      Warn once when what seems to be a diff snippet in the changelog exists.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Suggested-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e518e9a5
    • Bjorn Andersson's avatar
      checkpatch: validate MODULE_LICENSE content · 5a6d20ce
      Bjorn Andersson authored
      There is a well defined list of expected values for MODULE_LICENSE so warn
      the user upon usage of unknown values.
      Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@sonymobile.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>
      5a6d20ce
    • Mateusz Kulikowski's avatar
      checkpatch: add multi-line handling for PREFER_ETHER_ADDR_COPY · 10895d2c
      Mateusz Kulikowski authored
      Handle multi-line memcpy() properly.
      Signed-off-by: default avatarMateusz Kulikowski <mateusz.kulikowski@gmail.com>
      Acked-by: default avatarJoe Perches <joe@perches.com>
      Cc: David Miller <davem@davemloft.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      10895d2c
    • Mateusz Kulikowski's avatar
      checkpatch: suggest using eth_zero_addr() and eth_broadcast_addr() · 8617cd09
      Mateusz Kulikowski authored
      Suggest using eth_zero_addr() or eth_broadcast_addr() instead of memset().
      Signed-off-by: default avatarMateusz Kulikowski <mateusz.kulikowski@gmail.com>
      Acked-by: default avatarJoe Perches <joe@perches.com>
      Cc: David Miller <davem@davemloft.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8617cd09
    • Mateusz Kulikowski's avatar
      checkpatch: fix processing of MEMSET issues · 9e20a853
      Mateusz Kulikowski authored
      Remove 's' modifier to avoid reporting the same warning several times.
      Signed-off-by: default avatarMateusz Kulikowski <mateusz.kulikowski@gmail.com>
      Acked-by: default avatarJoe Perches <joe@perches.com>
      Cc: David Miller <davem@davemloft.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9e20a853
    • Mateusz Kulikowski's avatar
      checkpatch: suggest using ether_addr_equal*() · b6117d17
      Mateusz Kulikowski authored
      Check if memcmp() is used to compare ethernet addresses and suggest using
      ether_addr_equal() or ether_addr_equal_unaligned()
      Signed-off-by: default avatarMateusz Kulikowski <mateusz.kulikowski@gmail.com>
      Acked-by: default avatarJoe Perches <joe@perches.com>
      Cc: David Miller <davem@davemloft.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b6117d17
    • Joe Perches's avatar
      checkpatch: avoid NOT_UNIFIED_DIFF errors on cover-letter.patch files · 06330fc4
      Joe Perches authored
      Make an exception for the "Does not appear to be a unified-diff" error
      when scanning what appears to be git generated cover letters.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Suggested-by: default avatarRasmus Villemoes <linux@rasmusvillemoes.dk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      06330fc4
    • Maxim Uvarov's avatar
      checkpatch: remove local from codespell path · f1a63678
      Maxim Uvarov authored
      local is typically used for manually installed apps.
      For apps installed from distro the right path is /usr/share.
      Signed-off-by: default avatarMaxim Uvarov <maxim.uvarov@linaro.org>
      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>
      f1a63678
    • Joe Perches's avatar
      checkpatch: add --showfile to allow input via pipe to show filenames · 34d8815f
      Joe Perches authored
      Using "git diff | ./scripts/checkpatch -" does not have an
      easy mechanism to see the files and lines actually modified.
      
      Add --showfile to see the file and line specified in the diff.
      
      When --showfile is used without --terse, the second line of each
      message output is redundant, so it is removed.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Cc: Petr Mladek <pmladek@suse.cz>
      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>
      34d8815f
    • Joe Perches's avatar
      checkpatch: colorize output to terminal · 57230297
      Joe Perches authored
      Add optional colors to make seeing message types a bit easier.
      
      Add --color command line switch, default:on
      
      Error is RED, warning is YELLOW, check is GREEN.  The message type, if
      shown, is BLUE.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Tested-by: default avatarPetr Mladek <pmladek@suse.cz>
      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>
      57230297
    • Joe Perches's avatar
      checkpatch: improve output with multiple command-line files · d8469f16
      Joe Perches authored
      If there are multiple patches/files on the command line,
      use a prefix before the patch/file message output like:
              --------------
              patch/filename
              --------------
      to make the identifying which messages go with which
      file/patch a bit easier to parse.
      
      Move the perl version and false positive messages after
      all the files have been scanned so that they are emitted
      only once.
      
      Standardize the NOTE: <...> form to always emit a blank
      line before the NOTE and always use print << "EOM" style.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Suggested-by: default avatarPetr Mladek <pmladek@suse.cz>
      Tested-by: default avatarPetr Mladek <pmladek@suse.cz>
      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>
      d8469f16
    • Joe Perches's avatar
      checkpatch: categorize some long line length checks · 47e0c88b
      Joe Perches authored
      Many lines of code extend beyond the maximum line length.  Some of these
      are possibly justified by use type.
      
      For instance:
      
      structure definitions where comments are added per member like:
      struct foo {
      	type member;		/* some long description */
      
      And lines that don't fit the typical logging message style
      where a string constant is used like:
      
              SOME_MACRO(args, "Some long string");
      
      Categorize these long line types so that checkpatch can use a command-line
      --ignore=<type> option to avoid emitting some long line warnings.
      
      One of the existing checkpatch exclusions allowed kernel-doc argument
      documentation to exceed 80 columns because old versions of kernel-doc
      required single line documentation.  The requirement was removed in 2009
      so remove that exclusion.
      
      Add documentation to make the test a bit clearer.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Cc: Julia Lawall <julia.lawall@lip6.fr>
      Cc: Michael Shuey <shuey@purdue.edu>
      Cc: Dan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      47e0c88b
    • Joe Perches's avatar
      checkpatch: use $String consistently · 33acb54a
      Joe Perches authored
      String detection where a source line with a string constant is converted
      can either have an X or a space.
      
      Some of the string detection regexes do not allow the space character, but
      there is a handy $String variable that does.
      
      Convert the remaining uses of string detection regexes to use the $String
      variable to reduce possible false negatives.
      Signed-off-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>
      33acb54a
    • Alex Dowad's avatar
      checkpatch: make types found in a source file/patch local · 485ff23e
      Alex Dowad authored
      checkpatch uses various cues in its input patches and files to discover
      the names of user-defined types and modifiers.  It then uses that
      information when processing expressions to discover potential style
      issues.
      
      Unfortunately, in rare cases, this means that checkpatch may give
      different results if you run it on several input files in one execution,
      or one by one!
      
      The reason is that it may identify a type (or something that looks like a
      type) in one file, and then carry this information over when processing a
      different file.
      
      For example, drivers/staging/media/bcm2048/radio-bcm2048.c contains this
      line (in a macro):
      
      	size value;
      
      and drivers/staging/media/davinci_vpfe/vpfe_video.c has this line:
      
      	while (size * *nbuffers > vpfe_dev->video_limit)
      
      If checkpatch processes these 2 files in a single command like:
      	./scripts/checkpatch.pl -f $file1 $file2
      the (spurious) "size" type detected in the first file will cause it to flag
      the second file for improper use of the pointer dereference operator.
      
      To fix this, store types and modifiers found in a file in separate arrays
      from built-in ones, and reset the arrays of types and modifiers found in
      files at the beginning of each new source file.
      Signed-off-by: default avatarAlex Dowad <alexinbeijing@gmail.com>
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Acked-by: default avatarAndy Whitcroft <apw@canonical.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      485ff23e