14 Nov, 2013

13 commits

  • Pull core locking changes from Ingo Molnar:
    "The biggest changes:

    - add lockdep support for seqcount/seqlocks structures, this
    unearthed both bugs and required extra annotation.

    - move the various kernel locking primitives to the new
    kernel/locking/ directory"

    * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)
    block: Use u64_stats_init() to initialize seqcounts
    locking/lockdep: Mark __lockdep_count_forward_deps() as static
    lockdep/proc: Fix lock-time avg computation
    locking/doc: Update references to kernel/mutex.c
    ipv6: Fix possible ipv6 seqlock deadlock
    cpuset: Fix potential deadlock w/ set_mems_allowed
    seqcount: Add lockdep functionality to seqcount/seqlock structures
    net: Explicitly initialize u64_stats_sync structures for lockdep
    locking: Move the percpu-rwsem code to kernel/locking/
    locking: Move the lglocks code to kernel/locking/
    locking: Move the rwsem code to kernel/locking/
    locking: Move the rtmutex code to kernel/locking/
    locking: Move the semaphore core to kernel/locking/
    locking: Move the spinlock code to kernel/locking/
    locking: Move the lockdep code to kernel/locking/
    locking: Move the mutex code to kernel/locking/
    hung_task debugging: Add tracepoint to report the hang
    x86/locking/kconfig: Update paravirt spinlock Kconfig description
    lockstat: Report avg wait and hold times
    lockdep, x86/alternatives: Drop ancient lockdep fixup message
    ...

    Linus Torvalds
     
  • Pull fbdev changes from Tomi Valkeinen:
    "Nothing particularly stands out in this pull request. The biggest
    part of the changes are cleanups.

    Maybe one fix to mention is the "fb: reorder the lock sequence to fix
    potential dead lock" which hopefully fixes the fb locking issues
    reported by multiple persons.

    There are also a few commits that have changes to arch/arm/mach-at91
    and arch/avr32, which have been acked by the maintainers"

    * tag 'fbdev-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (143 commits)
    fb: reorder the lock sequence to fix potential dead lock
    fbdev: shmobile-lcdcfb: Convert to clk_prepare/unprepare
    fbdev: shmobile-hdmi: Convert to clk_prepare/unprepare
    omapdss: Add new panel driver for Topolly td028ttec1 LCD.
    video: exynos_mipi_dsi: Unlock the mutex before returning
    video: da8xx-fb: remove unwanted define
    video: Remove unnecessary semicolons
    simplefb: use write-combined remapping
    simplefb: fix unmapping fb during destruction
    OMAPDSS: connector-dvi: fix releasing i2c_adapter
    OMAPDSS: DSI: fix perf measuring ifdefs
    framebuffer: Use fb_
    framebuffer: Add fb_ convenience logging macros
    efifb: prevent null-deref when iterating dmi_list
    fbdev: fix error return code in metronomefb_probe()
    video: xilinxfb: Fix for "Use standard variable name convention"
    OMAPDSS: Fix de_level in videomode_to_omap_video_timings()
    video: xilinxfb: Simplify error path
    video: xilinxfb: Use devm_kzalloc instead of kzalloc
    video: xilinxfb: Use standard variable name convention
    ...

    Linus Torvalds
     
  • Pull thermal management updates from Zhang Rui:
    "This time we only have a few changes as there are no soc thermal
    changes from Eduardo. The only big change is the introduction of
    TMON, a tool to help visualize, tune, and test the thermal subsystem.
    The rest is mostly cleanups and fixes all over.

    Specifics:

    - introduce TMON, a tool base on thermal sysfs I/F. It can be used
    to visualize, tune and test the thermal subsystem.

    - fix a zone/cooling device binding problem, when both thermal zone
    bind parameters and .bind() callback are available"

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
    tools/thermal: Introduce tmon, a tool for thermal subsystem
    thermal: Fix binding problem when there is thermal zone params
    thermal: cpu_cooling: fix return value check in cpufreq_cooling_register()
    Thermal: Check for validity before doing kfree
    thermal/intel_powerclamp: Add newer CPU models
    Thermal: Tidy up error handling in powerclamp_init
    thermal: Kconfig: cosmetic fixes
    ACPI/thermal : Remove zone disabled warning
    typo in drivers/thermal/Kconfig: lpatform instead of platform

    Linus Torvalds
     
  • Pull PCI changes from Bjorn Helgaas:
    "Resource management
    - Fix host bridge window coalescing (Alexey Neyman)
    - Pass type, width, and prefetchability for window alignment (Wei Yang)

    PCI device hotplug
    - Convert acpiphp, acpiphp_ibm to dynamic debug (Lan Tianyu)

    Power management
    - Remove pci_pm_complete() (Liu Chuansheng)

    MSI
    - Fail initialization if device is not in PCI_D0 (Yijing Wang)

    MPS (Max Payload Size)
    - Use pcie_get_mps() and pcie_set_mps() to simplify code (Yijing Wang)
    - Use pcie_set_readrq() to simplify code (Yijing Wang)
    - Use cached pci_dev->pcie_mpss to simplify code (Yijing Wang)

    SR-IOV
    - Enable upstream bridges even for VFs on virtual buses (Bjorn Helgaas)
    - Use pci_is_root_bus() to avoid catching virtual buses (Wei Yang)

    Virtualization
    - Add x86 MSI masking ops (Konrad Rzeszutek Wilk)

    Freescale i.MX6
    - Support i.MX6 PCIe controller (Sean Cross)
    - Increase link startup timeout (Marek Vasut)
    - Probe PCIe in fs_initcall() (Marek Vasut)
    - Fix imprecise abort handler (Tim Harvey)
    - Remove redundant of_match_ptr (Sachin Kamat)

    Renesas R-Car
    - Support Gen2 internal PCIe controller (Valentine Barshak)

    Samsung Exynos
    - Add MSI support (Jingoo Han)
    - Turn off power when link fails (Jingoo Han)
    - Add Jingoo Han as maintainer (Jingoo Han)
    - Add clk_disable_unprepare() on error path (Wei Yongjun)
    - Remove redundant of_match_ptr (Sachin Kamat)

    Synopsys DesignWare
    - Add irq_create_mapping() (Pratyush Anand)
    - Add header guards (Seungwon Jeon)

    Miscellaneous
    - Enable native PCIe services by default on non-ACPI (Andrew Murray)
    - Cleanup _OSC usage and messages (Bjorn Helgaas)
    - Remove pcibios_last_bus boot option on non-x86 (Bjorn Helgaas)
    - Convert bus code to use bus_, drv_, and dev_groups (Greg Kroah-Hartman)
    - Remove unused pci_mem_start (Myron Stowe)
    - Make sysfs functions static (Sachin Kamat)
    - Warn on invalid return from driver probe (Stephen M. Cameron)
    - Remove Intel Haswell D3 delays (Todd E Brandt)
    - Call pci_set_master() in core if driver doesn't do it (Yinghai Lu)
    - Use pci_is_pcie() to simplify code (Yijing Wang)
    - Use PCIe capability accessors to simplify code (Yijing Wang)
    - Use cached pci_dev->pcie_cap to simplify code (Yijing Wang)
    - Removed unused "is_pcie" from struct pci_dev (Yijing Wang)
    - Simplify sysfs CPU affinity implementation (Yijing Wang)"

    * tag 'pci-v3.13-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (79 commits)
    PCI: Enable upstream bridges even for VFs on virtual buses
    PCI: Add pci_upstream_bridge()
    PCI: Add x86_msi.msi_mask_irq() and msix_mask_irq()
    PCI: Warn on driver probe return value greater than zero
    PCI: Drop warning about drivers that don't use pci_set_master()
    PCI: Workaround missing pci_set_master in pci drivers
    powerpc/pci: Use pci_is_pcie() to simplify code [fix]
    PCI: Update pcie_ports 'auto' behavior for non-ACPI platforms
    PCI: imx6: Probe the PCIe in fs_initcall()
    PCI: Add R-Car Gen2 internal PCI support
    PCI: imx6: Remove redundant of_match_ptr
    PCI: Report pci_pme_active() kmalloc failure
    mn10300/PCI: Remove useless pcibios_last_bus
    frv/PCI: Remove pcibios_last_bus
    PCI: imx6: Increase link startup timeout
    PCI: exynos: Remove redundant of_match_ptr
    PCI: imx6: Fix imprecise abort handler
    PCI: Fail MSI/MSI-X initialization if device is not in PCI_D0
    PCI: imx6: Remove redundant dev_err() in imx6_pcie_probe()
    x86/PCI: Coalesce multiple overlapping host bridge windows
    ...

    Linus Torvalds
     
  • Pull ACPI and power management updates from Rafael J Wysocki:

    - New power capping framework and the the Intel Running Average Power
    Limit (RAPL) driver using it from Srinivas Pandruvada and Jacob Pan.

    - Addition of the in-kernel switching feature to the arm_big_little
    cpufreq driver from Viresh Kumar and Nicolas Pitre.

    - cpufreq support for iMac G5 from Aaro Koskinen.

    - Baytrail processors support for intel_pstate from Dirk Brandewie.

    - cpufreq support for Midway/ECX-2000 from Mark Langsdorf.

    - ARM vexpress/TC2 cpufreq support from Sudeep KarkadaNagesha.

    - ACPI power management support for the I2C and SPI bus types from Mika
    Westerberg and Lv Zheng.

    - cpufreq core fixes and cleanups from Viresh Kumar, Srivatsa S Bhat,
    Stratos Karafotis, Xiaoguang Chen, Lan Tianyu.

    - cpufreq drivers updates (mostly fixes and cleanups) from Viresh
    Kumar, Aaro Koskinen, Jungseok Lee, Sudeep KarkadaNagesha, Lukasz
    Majewski, Manish Badarkhe, Hans-Christian Egtvedt, Evgeny Kapaev.

    - intel_pstate updates from Dirk Brandewie and Adrian Huang.

    - ACPICA update to version 20130927 includig fixes and cleanups and
    some reduction of divergences between the ACPICA code in the kernel
    and ACPICA upstream in order to improve the automatic ACPICA patch
    generation process. From Bob Moore, Lv Zheng, Tomasz Nowicki, Naresh
    Bhat, Bjorn Helgaas, David E Box.

    - ACPI IPMI driver fixes and cleanups from Lv Zheng.

    - ACPI hotplug fixes and cleanups from Bjorn Helgaas, Toshi Kani, Zhang
    Yanfei, Rafael J Wysocki.

    - Conversion of the ACPI AC driver to the platform bus type and
    multiple driver fixes and cleanups related to ACPI from Zhang Rui.

    - ACPI processor driver fixes and cleanups from Hanjun Guo, Jiang Liu,
    Bartlomiej Zolnierkiewicz, Mathieu Rhéaume, Rafael J Wysocki.

    - Fixes and cleanups and new blacklist entries related to the ACPI
    video support from Aaron Lu, Felipe Contreras, Lennart Poettering,
    Kirill Tkhai.

    - cpuidle core cleanups from Viresh Kumar and Lorenzo Pieralisi.

    - cpuidle drivers fixes and cleanups from Daniel Lezcano, Jingoo Han,
    Bartlomiej Zolnierkiewicz, Prarit Bhargava.

    - devfreq updates from Sachin Kamat, Dan Carpenter, Manish Badarkhe.

    - Operation Performance Points (OPP) core updates from Nishanth Menon.

    - Runtime power management core fix from Rafael J Wysocki and update
    from Ulf Hansson.

    - Hibernation fixes from Aaron Lu and Rafael J Wysocki.

    - Device suspend/resume lockup detection mechanism from Benoit Goby.

    - Removal of unused proc directories created for various ACPI drivers
    from Lan Tianyu.

    - ACPI LPSS driver fix and new device IDs for the ACPI platform scan
    handler from Heikki Krogerus and Jarkko Nikula.

    - New ACPI _OSI blacklist entry for Toshiba NB100 from Levente Kurusa.

    - Assorted fixes and cleanups related to ACPI from Andy Shevchenko, Al
    Stone, Bartlomiej Zolnierkiewicz, Colin Ian King, Dan Carpenter,
    Felipe Contreras, Jianguo Wu, Lan Tianyu, Yinghai Lu, Mathias Krause,
    Liu Chuansheng.

    - Assorted PM fixes and cleanups from Andy Shevchenko, Thierry Reding,
    Jean-Christophe Plagniol-Villard.

    * tag 'pm+acpi-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (386 commits)
    cpufreq: conservative: fix requested_freq reduction issue
    ACPI / hotplug: Consolidate deferred execution of ACPI hotplug routines
    PM / runtime: Use pm_runtime_put_sync() in __device_release_driver()
    ACPI / event: remove unneeded NULL pointer check
    Revert "ACPI / video: Ignore BIOS initial backlight value for HP 250 G1"
    ACPI / video: Quirk initial backlight level 0
    ACPI / video: Fix initial level validity test
    intel_pstate: skip the driver if ACPI has power mgmt option
    PM / hibernate: Avoid overflow in hibernate_preallocate_memory()
    ACPI / hotplug: Do not execute "insert in progress" _OST
    ACPI / hotplug: Carry out PCI root eject directly
    ACPI / hotplug: Merge device hot-removal routines
    ACPI / hotplug: Make acpi_bus_hot_remove_device() internal
    ACPI / hotplug: Simplify device ejection routines
    ACPI / hotplug: Fix handle_root_bridge_removal()
    ACPI / hotplug: Refuse to hot-remove all objects with disabled hotplug
    ACPI / scan: Start matching drivers after trying scan handlers
    ACPI: Remove acpi_pci_slot_init() headers from internal.h
    ACPI / blacklist: fix name of ThinkPad Edge E530
    PowerCap: Fix build error with option -Werror=format-security
    ...

    Conflicts:
    arch/arm/mach-omap2/opp.c
    drivers/Kconfig
    drivers/spi/spi.c

    Linus Torvalds
     
  • Pull device mapper changes from Mike Snitzer:
    "A set of device-mapper changes for 3.13.

    Improve reliability of buffer allocations for dm messages with a small
    number of arguments, a couple path group initialization fixes for dm
    multipath, a fix for resizing a dm array, various fixes and
    optimizations for dm cache, a fix for device mapper's Kconfig menu
    indentation.

    Features added include:
    - dm crypt support for activating legacy CBC TrueCrypt containers
    (useful for forensics of these old TCRYPT containers)
    - reduced dm-cache memory requirements for each block in the cache
    - basic support for shrinking a dm-cache's cache (fast) device
    - most notably, dm-cache support for managing cache coherency when
    deploying dm-cache with sophisticated origin volumes (that support
    hardware snapshots and/or clustering): these changes come in the
    form of a new passthrough operation mode and a cache block
    invalidation interface"

    * tag 'dm-3.13-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (32 commits)
    dm cache: resolve small nits and improve Documentation
    dm cache: add cache block invalidation support
    dm cache: add remove_cblock method to policy interface
    dm cache policy mq: reduce memory requirements
    dm cache metadata: check the metadata version when reading the superblock
    dm cache: add passthrough mode
    dm cache: cache shrinking support
    dm cache: promotion optimisation for writes
    dm cache: be much more aggressive about promoting writes to discarded blocks
    dm cache policy mq: implement writeback_work() and mq_{set,clear}_dirty()
    dm cache: optimize commit_if_needed
    dm space map disk: optimise sm_disk_dec_block
    MAINTAINERS: add reference to device-mapper's linux-dm.git tree
    dm: fix Kconfig menu indentation
    dm: allow remove to be deferred
    dm table: print error on preresume failure
    dm crypt: add TCW IV mode for old CBC TCRYPT containers
    dm crypt: properly handle extra key string in initialization
    dm cache: log error message if dm_kcopyd_copy() fails
    dm cache: use cell_defer() boolean argument consistently
    ...

    Linus Torvalds
     
  • Pull MTD changes from Brian Norris:
    - Unify some compile-time differences so that we have fewer uses of
    #ifdef CONFIG_OF in atmel_nand
    - Other general cleanups (removing unused functions, options,
    variables, fields; use correct interfaces)
    - Fix BUG() for new odd-sized NAND, which report non-power-of-2
    dimensions via ONFI
    - Miscellaneous driver fixes (SPI NOR flash; BCM47xx NAND flash; etc.)
    - Improve differentiation between SLC and MLC NAND -- this clarifies an
    ABI issue regarding the MTD "type" (in sysfs and in the MEMGETINFO
    ioctl), where the MTD_MLCNANDFLASH type was present but
    inconsistently used
    - Extend GPMI NAND to support multi-chip-select NAND for some platforms
    - Many improvements to the OMAP2/3 NAND driver, including an expanded
    DT binding to bring us closer to mainline support for some OMAP
    systems
    - Fix a deadlock in the error path of the Atmel NAND driver probe
    - Correct the error codes from MTD mmap() to conform to POSIX and the
    Linux Programmer's Manual. This is an acknowledged change in the MTD
    ABI, but I can't imagine somebody relying on the non-standard -ENOSYS
    error code specifically. Am I just being unimaginative? :)
    - Fix a few important GPMI NAND bugs (one regression from 3.12 and one
    long-standing race condition)
    - More? Read the log!

    * tag 'for-linus-20131112' of git://git.infradead.org/linux-mtd: (98 commits)
    mtd: gpmi: fix the NULL pointer
    mtd: gpmi: fix kernel BUG due to racing DMA operations
    mtd: mtdchar: return expected errors on mmap() call
    mtd: gpmi: only scan two chips for imx6
    mtd: gpmi: Use devm_kzalloc()
    mtd: atmel_nand: fix bug driver will in a dead lock if no nand detected
    mtd: nand: use a local variable to simplify the nand_scan_tail
    mtd: nand: remove deprecated IRQF_DISABLED
    mtd: dataflash: Say if we find a device we don't support
    mtd: nand: omap: fix error return code in omap_nand_probe()
    mtd: nand_bbt: kill NAND_BBT_SCANALLPAGES
    mtd: m25p80: fixup device removal failure path
    mtd: mxc_nand: Include linux/of.h header
    mtd: remove duplicated include from mtdcore.c
    mtd: m25p80: add support for Macronix mx25l3255e
    mtd: nand: omap: remove selection of BCH ecc-scheme via KConfig
    mtd: nand: omap: updated devm_xx for all resource allocation and free calls
    mtd: nand: omap: use drivers/mtd/nand/nand_bch.c wrapper for BCH ECC instead of lib/bch.c
    mtd: nand: omap: clean-up ecc layout for BCH ecc schemes
    mtd: nand: omap2: clean-up BCHx_HW and BCHx_SW ECC configurations in device_probe
    ...

    Linus Torvalds
     
  • Pull first round of SCSI updates from James Bottomley:
    "This patch set is driver updates for qla4xxx, scsi_debug, pm80xx,
    fcoe/libfc, eas2r, lpfc, be2iscsi and megaraid_sas plus some assorted
    bug fixes and cleanups"

    * tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (106 commits)
    [SCSI] scsi_error: Escalate to LUN reset if abort fails
    [SCSI] Add 'eh_deadline' to limit SCSI EH runtime
    [SCSI] remove check for 'resetting'
    [SCSI] dc395: Move 'last_reset' into internal host structure
    [SCSI] tmscsim: Move 'last_reset' into host structure
    [SCSI] advansys: Remove 'last_reset' references
    [SCSI] dpt_i2o: return SCSI_MLQUEUE_HOST_BUSY when in reset
    [SCSI] dpt_i2o: Remove DPTI_STATE_IOCTL
    [SCSI] megaraid_sas: Fix synchronization problem between sysPD IO path and AEN path
    [SCSI] lpfc: Fix typo on NULL assignment
    [SCSI] scsi_dh_alua: ALUA handler attach should succeed while TPG is transitioning
    [SCSI] scsi_dh_alua: ALUA check sense should retry device internal reset unit attention
    [SCSI] esas2r: Cleanup snprinf formatting of firmware version
    [SCSI] esas2r: Remove superfluous mask of pcie_cap_reg
    [SCSI] esas2r: Fixes for big-endian platforms
    [SCSI] esas2r: Directly call kernel functions for atomic bit operations
    [SCSI] lpfc 8.3.43: Update lpfc version to driver version 8.3.43
    [SCSI] lpfc 8.3.43: Fixed not processing task management IOCB response status
    [SCSI] lpfc 8.3.43: Fixed spinlock hang.
    [SCSI] lpfc 8.3.43: Fixed invalid Total_Data_Placed value received for els and ct command responses
    ...

    Linus Torvalds
     
  • Pull block driver updates from Jens Axboe:
    "This is the block driver pull request for 3.13. As with the core pull
    request just sent out, this was rebased on top of the core branch
    again after the immutable series was pulled. This also means that
    bcache gets to sit the initial pull over. I will send a second driver
    pull request in the merge window to get those fixes in, once they have
    been rebased and tested on top of the non-immutable stack.

    This pull request contains:

    - Add support for the sTec Kronos pci-e flash card from sTec. Also
    has various cleanups for this driver, from myself, Bart, Mike
    Snizter, and Wei Yongjun.

    - Add surprise removal support for the micron mtip32xx driver from
    Micron.

    - Floppy documentation fix from Ben Harris.

    - debugfs bug fix for pktcdvd from Dan Carpenter.

    - Fix for the mtip32xx driver stack usage in the debugfs path,
    dynamically allocating those buffers instead. From David Milburn.

    - Disable cpqarray in Kconfig. The plan is to remove it on request
    of HP, but lets disable it for a few revisions just to see if
    anyone yells.

    - drbd fixes from Lars Ellenberg and Philipp Reisner.

    - Elevator switch fix for the s390 block driver from Heiko Carstens.

    - loop crash fix on IO to unassigned device from Mikulas Patocka.

    - A series of bug fixes for the IBM rsxx pci-e flash driver from
    Philip J Kelleher.

    - cciss probe fix from Stephen Cameron.

    - Xen block front/back fixes from Roger Pau Monne and Vegard Nossum"

    * 'for-3.13/drivers' of git://git.kernel.dk/linux-block: (41 commits)
    floppy: Correct documentation of driver options when used as a module.
    pktcdvd: debugfs functions return NULL on error
    xen-blkfront: restore the non-persistent data path
    skd: fix formatting in skd_s1120.h
    skd: reorder construct/destruct code
    skd: cleanup skd_do_inq_page_da()
    skd: remove SKD_OMIT_FROM_SRC_DIST ifdefs
    skd: remove redundant skdev->pdev assignment from skd_pci_probe()
    skd: use
    skd: remove SCSI subsystem specific includes
    skd: register block device only if some devices are present
    skd: fix error messages in skd_init()
    skd: fix error paths in skd_init()
    skd: fix unregister_blkdev() placement
    skd: more removal of bio-based code
    skd: cleanup the skd_*() function block wrapping
    skd: rip out bio path
    skd: fix error return code in skd_pci_probe()
    s390/dasd: hold request queue sysfs lock when calling elevator_init()
    cciss: return 0 from driver probe function on success, not 1
    ...

    Linus Torvalds
     
  • Pull block IO core updates from Jens Axboe:
    "This is the pull request for the core changes in the block layer for
    3.13. It contains:

    - The new blk-mq request interface.

    This is a new and more scalable queueing model that marries the
    best part of the request based interface we currently have (which
    is fully featured, but scales poorly) and the bio based "interface"
    which the new drivers for high IOPS devices end up using because
    it's much faster than the request based one.

    The bio interface has no block layer support, since it taps into
    the stack much earlier. This means that drivers end up having to
    implement a lot of functionality on their own, like tagging,
    timeout handling, requeue, etc. The blk-mq interface provides all
    these. Some drivers even provide a switch to select bio or rq and
    has code to handle both, since things like merging only works in
    the rq model and hence is faster for some workloads. This is a
    huge mess. Conversion of these drivers nets us a substantial code
    reduction. Initial results on converting SCSI to this model even
    shows an 8x improvement on single queue devices. So while the
    model was intended to work on the newer multiqueue devices, it has
    substantial improvements for "classic" hardware as well. This code
    has gone through extensive testing and development, it's now ready
    to go. A pull request is coming to convert virtio-blk to this
    model will be will be coming as well, with more drivers scheduled
    for 3.14 conversion.

    - Two blktrace fixes from Jan and Chen Gang.

    - A plug merge fix from Alireza Haghdoost.

    - Conversion of __get_cpu_var() from Christoph Lameter.

    - Fix for sector_div() with 64-bit divider from Geert Uytterhoeven.

    - A fix for a race between request completion and the timeout
    handling from Jeff Moyer. This is what caused the merge conflict
    with blk-mq/core, in case you are looking at that.

    - A dm stacking fix from Mike Snitzer.

    - A code consolidation fix and duplicated code removal from Kent
    Overstreet.

    - A handful of block bug fixes from Mikulas Patocka, fixing a loop
    crash and memory corruption on blk cg.

    - Elevator switch bug fix from Tomoki Sekiyama.

    A heads-up that I had to rebase this branch. Initially the immutable
    bio_vecs had been queued up for inclusion, but a week later, it became
    clear that it wasn't fully cooked yet. So the decision was made to
    pull this out and postpone it until 3.14. It was a straight forward
    rebase, just pruning out the immutable series and the later fixes of
    problems with it. The rest of the patches applied directly and no
    further changes were made"

    * 'for-3.13/core' of git://git.kernel.dk/linux-block: (31 commits)
    block: replace IS_ERR and PTR_ERR with PTR_ERR_OR_ZERO
    block: replace IS_ERR and PTR_ERR with PTR_ERR_OR_ZERO
    block: Do not call sector_div() with a 64-bit divisor
    kernel: trace: blktrace: remove redundent memcpy() in compat_blk_trace_setup()
    block: Consolidate duplicated bio_trim() implementations
    block: Use rw_copy_check_uvector()
    block: Enable sysfs nomerge control for I/O requests in the plug list
    block: properly stack underlying max_segment_size to DM device
    elevator: acquire q->sysfs_lock in elevator_change()
    elevator: Fix a race in elevator switching and md device initialization
    block: Replace __get_cpu_var uses
    bdi: test bdi_init failure
    block: fix a probe argument to blk_register_region
    loop: fix crash if blk_alloc_queue fails
    blk-core: Fix memory corruption if blkcg_init_queue fails
    block: fix race between request completion and timeout handling
    blktrace: Send BLK_TN_PROCESS events to all running traces
    blk-mq: don't disallow request merges for req->special being set
    blk-mq: mq plug list breakage
    blk-mq: fix for flush deadlock
    ...

    Linus Torvalds
     
  • Pull VFS fixes from Al Viro:
    "Several fixes, mostly for regressions in the last pile. Howeover,
    prepend_path() forgetting to reininitalize dentry/vfsmount is in 3.12
    as well and qib_fs had been leaking all along..."

    The unpaired RCU lock issue was also independently reported by Dave
    Jones with his fuzzer tool..

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    qib_fs: fix (some) dcache abuses
    prepend_path() needs to reinitialize dentry/vfsmount/mnt on restarts
    fix unpaired rcu lock in prepend_path()
    locks: missing unlock on error in generic_add_lease()
    aio: checking for NULL instead of IS_ERR

    Linus Torvalds
     
  • Pull ARM updates from Russell King:
    "Included in this series are:

    1. BE8 (modern big endian) changes for ARM from Ben Dooks
    2. big.Little support from Nicolas Pitre and Dave Martin
    3. support for LPAE systems with all system memory above 4GB
    4. Perf updates from Will Deacon
    5. Additional prefetching and other performance improvements from Will.
    6. Neon-optimised AES implementation fro Ard.
    7. A number of smaller fixes scattered around the place.

    There is a rather horrid merge conflict in tools/perf - I was never
    notified of the conflict because it originally occurred between Will's
    tree and other stuff. Consequently I have a resolution which Will
    forwarded me, which I'll forward on immediately after sending this
    mail.

    The other notable thing is I'm expecting some build breakage in the
    crypto stuff on ARM only with Ard's AES patches. These were merged
    into a stable git branch which others had already pulled, so there's
    little I can do about this. The problem is caused because these
    patches have a dependency on some code in the crypto git tree - I
    tried requesting a branch I can pull to resolve these, and all I got
    each time from the crypto people was "we'll revert our patches then"
    which would only make things worse since I still don't have the
    dependent patches. I've no idea what's going on there or how to
    resolve that, and since I can't split these patches from the rest of
    this pull request, I'm rather stuck with pushing this as-is or
    reverting Ard's patches.

    Since it should "come out in the wash" I've left them in - the only
    build problems they seem to cause at the moment are with randconfigs,
    and since it's a new feature anyway. However, if by -rc1 the
    dependencies aren't in, I think it'd be best to revert Ard's patches"

    I resolved the perf conflict roughly as per the patch sent by Russell,
    but there may be some differences. Any errors are likely mine. Let's
    see how the crypto issues work out..

    * 'for-linus' of git://git.linaro.org/people/rmk/linux-arm: (110 commits)
    ARM: 7868/1: arm/arm64: remove atomic_clear_mask() in "include/asm/atomic.h"
    ARM: 7867/1: include: asm: use 'int' instead of 'unsigned long' for 'oldval' in atomic_cmpxchg().
    ARM: 7866/1: include: asm: use 'long long' instead of 'u64' within atomic.h
    ARM: 7871/1: amba: Extend number of IRQS
    ARM: 7887/1: Don't smp_cross_call() on UP devices in arch_irq_work_raise()
    ARM: 7872/1: Support arch_irq_work_raise() via self IPIs
    ARM: 7880/1: Clear the IT state independent of the Thumb-2 mode
    ARM: 7878/1: nommu: Implement dummy early_paging_init()
    ARM: 7876/1: clear Thumb-2 IT state on exception handling
    ARM: 7874/2: bL_switcher: Remove cpu_hotplug_driver_{lock,unlock}()
    ARM: footbridge: fix build warnings for netwinder
    ARM: 7873/1: vfp: clear vfp_current_hw_state for dying cpu
    ARM: fix misplaced arch_virt_to_idmap()
    ARM: 7848/1: mcpm: Implement cpu_kill() to synchronise on powerdown
    ARM: 7847/1: mcpm: Factor out logical-to-physical CPU translation
    ARM: 7869/1: remove unused XSCALE_PMU Kconfig param
    ARM: 7864/1: Handle 64-bit memory in case of 32-bit phys_addr_t
    ARM: 7863/1: Let arm_add_memory() always use 64-bit arguments
    ARM: 7862/1: pcpu: replace __get_cpu_var_uses
    ARM: 7861/1: cacheflush: consolidate single-CPU ARMv7 cache disabling code
    ...

    Linus Torvalds
     
  • Pull DMA mask updates from Russell King:
    "This series cleans up the handling of DMA masks in a lot of drivers,
    fixing some bugs as we go.

    Some of the more serious errors include:
    - drivers which only set their coherent DMA mask if the attempt to
    set the streaming mask fails.
    - drivers which test for a NULL dma mask pointer, and then set the
    dma mask pointer to a location in their module .data section -
    which will cause problems if the module is reloaded.

    To counter these, I have introduced two helper functions:
    - dma_set_mask_and_coherent() takes care of setting both the
    streaming and coherent masks at the same time, with the correct
    error handling as specified by the API.
    - dma_coerce_mask_and_coherent() which resolves the problem of
    drivers forcefully setting DMA masks. This is more a marker for
    future work to further clean these locations up - the code which
    creates the devices really should be initialising these, but to fix
    that in one go along with this change could potentially be very
    disruptive.

    The last thing this series does is prise away some of Linux's addition
    to "DMA addresses are physical addresses and RAM always starts at
    zero". We have ARM LPAE systems where all system memory is above 4GB
    physical, hence having DMA masks interpreted by (eg) the block layers
    as describing physical addresses in the range 0..DMAMASK fails on
    these platforms. Santosh Shilimkar addresses this in this series; the
    patches were copied to the appropriate people multiple times but were
    ignored.

    Fixing this also gets rid of some ARM weirdness in the setup of the
    max*pfn variables, and brings ARM into line with every other Linux
    architecture as far as those go"

    * 'for-linus-dma-masks' of git://git.linaro.org/people/rmk/linux-arm: (52 commits)
    ARM: 7805/1: mm: change max*pfn to include the physical offset of memory
    ARM: 7797/1: mmc: Use dma_max_pfn(dev) helper for bounce_limit calculations
    ARM: 7796/1: scsi: Use dma_max_pfn(dev) helper for bounce_limit calculations
    ARM: 7795/1: mm: dma-mapping: Add dma_max_pfn(dev) helper function
    ARM: 7794/1: block: Rename parameter dma_mask to max_addr for blk_queue_bounce_limit()
    ARM: DMA-API: better handing of DMA masks for coherent allocations
    ARM: 7857/1: dma: imx-sdma: setup dma mask
    DMA-API: firmware/google/gsmi.c: avoid direct access to DMA masks
    DMA-API: dcdbas: update DMA mask handing
    DMA-API: dma: edma.c: no need to explicitly initialize DMA masks
    DMA-API: usb: musb: use platform_device_register_full() to avoid directly messing with dma masks
    DMA-API: crypto: remove last references to 'static struct device *dev'
    DMA-API: crypto: fix ixp4xx crypto platform device support
    DMA-API: others: use dma_set_coherent_mask()
    DMA-API: staging: use dma_set_coherent_mask()
    DMA-API: usb: use new dma_coerce_mask_and_coherent()
    DMA-API: usb: use dma_set_coherent_mask()
    DMA-API: parport: parport_pc.c: use dma_coerce_mask_and_coherent()
    DMA-API: net: octeon: use dma_coerce_mask_and_coherent()
    DMA-API: net: nxp/lpc_eth: use dma_coerce_mask_and_coherent()
    ...

    Linus Torvalds
     

13 Nov, 2013

27 commits

  • * lookup_one_len() really wants i_mutex held on directory.
    * leaks galore - just mount ipathfs, then
    cd /sys/bus/pci/drivers/qib_ib; echo *:*:*.* >unbind
    on a box with that card present and try to umount ipathfs...

    Signed-off-by: Al Viro

    Al Viro
     
  • Pull networking updates from David Miller:

    1) The addition of nftables. No longer will we need protocol aware
    firewall filtering modules, it can all live in userspace.

    At the core of nftables is a, for lack of a better term, virtual
    machine that executes byte codes to inspect packet or metadata
    (arriving interface index, etc.) and make verdict decisions.

    Besides support for loading packet contents and comparing them, the
    interpreter supports lookups in various datastructures as
    fundamental operations. For example sets are supports, and
    therefore one could create a set of whitelist IP address entries
    which have ACCEPT verdicts attached to them, and use the appropriate
    byte codes to do such lookups.

    Since the interpreted code is composed in userspace, userspace can
    do things like optimize things before giving it to the kernel.

    Another major improvement is the capability of atomically updating
    portions of the ruleset. In the existing netfilter implementation,
    one has to update the entire rule set in order to make a change and
    this is very expensive.

    Userspace tools exist to create nftables rules using existing
    netfilter rule sets, but both kernel implementations will need to
    co-exist for quite some time as we transition from the old to the
    new stuff.

    Kudos to Patrick McHardy, Pablo Neira Ayuso, and others who have
    worked so hard on this.

    2) Daniel Borkmann and Hannes Frederic Sowa made several improvements
    to our pseudo-random number generator, mostly used for things like
    UDP port randomization and netfitler, amongst other things.

    In particular the taus88 generater is updated to taus113, and test
    cases are added.

    3) Support 64-bit rates in HTB and TBF schedulers, from Eric Dumazet
    and Yang Yingliang.

    4) Add support for new 577xx tigon3 chips to tg3 driver, from Nithin
    Sujir.

    5) Fix two fatal flaws in TCP dynamic right sizing, from Eric Dumazet,
    Neal Cardwell, and Yuchung Cheng.

    6) Allow IP_TOS and IP_TTL to be specified in sendmsg() ancillary
    control message data, much like other socket option attributes.
    From Francesco Fusco.

    7) Allow applications to specify a cap on the rate computed
    automatically by the kernel for pacing flows, via a new
    SO_MAX_PACING_RATE socket option. From Eric Dumazet.

    8) Make the initial autotuned send buffer sizing in TCP more closely
    reflect actual needs, from Eric Dumazet.

    9) Currently early socket demux only happens for TCP sockets, but we
    can do it for connected UDP sockets too. Implementation from Shawn
    Bohrer.

    10) Refactor inet socket demux with the goal of improving hash demux
    performance for listening sockets. With the main goals being able
    to use RCU lookups on even request sockets, and eliminating the
    listening lock contention. From Eric Dumazet.

    11) The bonding layer has many demuxes in it's fast path, and an RCU
    conversion was started back in 3.11, several changes here extend the
    RCU usage to even more locations. From Ding Tianhong and Wang
    Yufen, based upon suggestions by Nikolay Aleksandrov and Veaceslav
    Falico.

    12) Allow stackability of segmentation offloads to, in particular, allow
    segmentation offloading over tunnels. From Eric Dumazet.

    13) Significantly improve the handling of secret keys we input into the
    various hash functions in the inet hashtables, TCP fast open, as
    well as syncookies. From Hannes Frederic Sowa. The key fundamental
    operation is "net_get_random_once()" which uses static keys.

    Hannes even extended this to ipv4/ipv6 fragmentation handling and
    our generic flow dissector.

    14) The generic driver layer takes care now to set the driver data to
    NULL on device removal, so it's no longer necessary for drivers to
    explicitly set it to NULL any more. Many drivers have been cleaned
    up in this way, from Jingoo Han.

    15) Add a BPF based packet scheduler classifier, from Daniel Borkmann.

    16) Improve CRC32 interfaces and generic SKB checksum iterators so that
    SCTP's checksumming can more cleanly be handled. Also from Daniel
    Borkmann.

    17) Add a new PMTU discovery mode, IP_PMTUDISC_INTERFACE, which forces
    using the interface MTU value. This helps avoid PMTU attacks,
    particularly on DNS servers. From Hannes Frederic Sowa.

    18) Use generic XPS for transmit queue steering rather than internal
    (re-)implementation in virtio-net. From Jason Wang.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1622 commits)
    random32: add test cases for taus113 implementation
    random32: upgrade taus88 generator to taus113 from errata paper
    random32: move rnd_state to linux/random.h
    random32: add prandom_reseed_late() and call when nonblocking pool becomes initialized
    random32: add periodic reseeding
    random32: fix off-by-one in seeding requirement
    PHY: Add RTL8201CP phy_driver to realtek
    xtsonic: add missing platform_set_drvdata() in xtsonic_probe()
    macmace: add missing platform_set_drvdata() in mace_probe()
    ethernet/arc/arc_emac: add missing platform_set_drvdata() in arc_emac_probe()
    ipv6: protect for_each_sk_fl_rcu in mem_check with rcu_read_lock_bh
    vlan: Implement vlan_dev_get_egress_qos_mask as an inline.
    ixgbe: add warning when max_vfs is out of range.
    igb: Update link modes display in ethtool
    netfilter: push reasm skb through instead of original frag skbs
    ip6_output: fragment outgoing reassembled skb properly
    MAINTAINERS: mv643xx_eth: take over maintainership from Lennart
    net_sched: tbf: support of 64bit rates
    ixgbe: deleting dfwd stations out of order can cause null ptr deref
    ixgbe: fix build err, num_rx_queues is only available with CONFIG_RPS
    ...

    Linus Torvalds
     
  • Merge first patch-bomb from Andrew Morton:
    "Quite a lot of other stuff is banked up awaiting further
    next->mainline merging, but this batch contains:

    - Lots of random misc patches
    - OCFS2
    - Most of MM
    - backlight updates
    - lib/ updates
    - printk updates
    - checkpatch updates
    - epoll tweaking
    - rtc updates
    - hfs
    - hfsplus
    - documentation
    - procfs
    - update gcov to gcc-4.7 format
    - IPC"

    * emailed patches from Andrew Morton : (269 commits)
    ipc, msg: fix message length check for negative values
    ipc/util.c: remove unnecessary work pending test
    devpts: plug the memory leak in kill_sb
    ./Makefile: export initial ramdisk compression config option
    init/Kconfig: add option to disable kernel compression
    drivers: w1: make w1_slave::flags long to avoid memory corruption
    drivers/w1/masters/ds1wm.cuse dev_get_platdata()
    drivers/memstick/core/ms_block.c: fix unreachable state in h_msb_read_page()
    drivers/memstick/core/mspro_block.c: fix attributes array allocation
    drivers/pps/clients/pps-gpio.c: remove redundant of_match_ptr
    kernel/panic.c: reduce 1 byte usage for print tainted buffer
    gcov: reuse kbasename helper
    kernel/gcov/fs.c: use pr_warn()
    kernel/module.c: use pr_foo()
    gcov: compile specific gcov implementation based on gcc version
    gcov: add support for gcc 4.7 gcov format
    gcov: move gcov structs definitions to a gcc version specific file
    kernel/taskstats.c: return -ENOMEM when alloc memory fails in add_del_listener()
    kernel/taskstats.c: add nla_nest_cancel() for failure processing between nla_nest_start() and nla_nest_end()
    kernel/sysctl_binary.c: use scnprintf() instead of snprintf()
    ...

    Linus Torvalds
     
  • Pull vfs updates from Al Viro:
    "All kinds of stuff this time around; some more notable parts:

    - RCU'd vfsmounts handling
    - new primitives for coredump handling
    - files_lock is gone
    - Bruce's delegations handling series
    - exportfs fixes

    plus misc stuff all over the place"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (101 commits)
    ecryptfs: ->f_op is never NULL
    locks: break delegations on any attribute modification
    locks: break delegations on link
    locks: break delegations on rename
    locks: helper functions for delegation breaking
    locks: break delegations on unlink
    namei: minor vfs_unlink cleanup
    locks: implement delegations
    locks: introduce new FL_DELEG lock flag
    vfs: take i_mutex on renamed file
    vfs: rename I_MUTEX_QUOTA now that it's not used for quotas
    vfs: don't use PARENT/CHILD lock classes for non-directories
    vfs: pull ext4's double-i_mutex-locking into common code
    exportfs: fix quadratic behavior in filehandle lookup
    exportfs: better variable name
    exportfs: move most of reconnect_path to helper function
    exportfs: eliminate unused "noprogress" counter
    exportfs: stop retrying once we race with rename/remove
    exportfs: clear DISCONNECTED on all parents sooner
    exportfs: more detailed comment for path_reconnect
    ...

    Linus Torvalds
     
  • Pull UBI changes from Artem Bityutskiy:
    "A bunch of fixes for the fastmap feature, which is still new and
    rather experimental. It looks like it starts getting more users.

    No significant changes for the "classical" non-fastmap UBI"

    * tag 'upstream-3.13-rc1' of git://git.infradead.org/linux-ubi:
    UBI: Add some asserts to ubi_attach_fastmap()
    UBI: Fix memory leak in ubi_attach_fastmap() error path
    UBI: simplify image sequence test
    UBI: fastmap: fix backward compatibility with image_seq
    UBI: Call scan_all() with correct offset in error case
    UBI: Fix error path in scan_pool()
    UBI: fix refill_wl_user_pool()

    Linus Torvalds
     
  • Pull libata changes from Tejun Heo:
    "Nothing too interesting. Only two minor fixes in libata core. Most
    changes are specific to hardware which isn't too common"

    * 'for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
    ahci: Add Device IDs for Intel Wildcat Point-LP
    sata_rcar: Convert to clk_prepare/unprepare
    drivers/libata: Set max sector to 65535 for Slimtype DVD A DS8A9SH drive
    libata: Add some missing command descriptions
    sata_highbank: clear whole array in highbank_initialize_phys()
    ahci: disabled FBS prior to issuing software reset
    libata: Fix display of sata speed
    ahci: imx: setup power saving methods
    ata_piix: minor typo and a printk fix
    ahci: Changing two module params with static and __read_mostly

    Linus Torvalds
     
  • On architectures where long is more then 32 bits, modifying a 32-bit field
    with set_bit (and other atomic bit operations) may cause bytes following
    the field to by modified.

    Because the endianness of the bits within a field is the native endianness
    of the CPU[1], on big-endian machines, bit number zero is in the last byte
    of the field.

    Therefore, `set_bit(0, ptr)' on a 64-bit big-endian machine is roughly
    equivalent to `((char *)ptr)[7] |= 1', and since w1 driver uses a 32-bit
    field for holding the flags, this causes bytes beyond the field to be
    modified.

    [1] From Documentation/atomic_ops.txt:

    Native atomic bit operations are defined to operate on objects
    aligned to the size of an "unsigned long" C data type, and are
    least of that size. The endianness of the bits within each
    "unsigned long" are the native endianness of the cpu.

    Signed-off-by: Michal Nazarewicz
    Cc: Evgeniy Polyakov
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Nazarewicz
     
  • Use the wrapper function for retrieving the platform data instead of
    accessing dev->platform_data directly. This is a cosmetic change to make
    the code simpler and enhance the readability.

    Signed-off-by: Jingoo Han
    Acked-by: Evgeniy Polyakov
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jingoo Han
     
  • In h_msb_read_page() in ms_block.c, flow never reaches case
    MSB_RP_RECIVE_STATUS_REG. This causes error when MEMSTICK_INT_ERR is
    encountered and status error bits are going to be examined, but the status
    will never be copied back.

    Fix it by transitioning to MSB_RP_RECIVE_STATUS_REG right after
    MSB_RP_SEND_READ_STATUS_REG.

    Signed-off-by: Roger Tseng
    Acked-by: Maxim Levitsky
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roger Tseng
     
  • attrs field of attribute_group structure is a pointer to a pointer (as in
    an array of pointers) rather than pointer to attribute struct (as in an
    array of structures), so when allocating size of the pointer sholud be
    used instead of the structure it is pointing to.

    While at it, also change the call to use kcalloc rather than kzalloc.

    Signed-off-by: Michal Nazarewicz
    Cc: Tejun Heo
    Cc: Al Viro
    Cc: Alex Dubov
    Cc: Maxim Levitsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Nazarewicz
     
  • The data structure of_match_ptr() protects is always compiled in. Hence
    of_match_ptr() is not needed.

    Signed-off-by: Sachin Kamat
    Cc: Rodolfo Giometti
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sachin Kamat
     
  • The ams AS3722 is a compact system PMU suitable for mobile phones, tablets
    etc.

    Add a driver to support accessing the RTC found on the ams AS3722 PMIC
    using RTC framework.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Laxman Dewangan
    Signed-off-by: Florian Lobmaier
    Cc: Mark Brown
    Cc: Linus Walleij
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Laxman Dewangan
     
  • Add real-time clock driver for s5m8767.

    Signed-off-by: Sangbeom Kim
    Signed-off-by: Sachin Kamat
    Cc: Todd Broch
    Cc: Mark Brown
    Acked-by: Lee Jones [mfd parts]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sangbeom Kim
     
  • Currently, driver includes 'pm_runtime.h' which is not used anywhere in
    code hence remove this unnecessory inclusion.

    Signed-off-by: Manish Badarkhe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Manish Badarkhe
     
  • In order to be free automatically and make the cleanup paths more simple,
    use devm_kzalloc() instead of kmalloc().

    Signed-off-by: Sangjung Woo
    Cc: Joe Perches
    Cc: Alessandro Zummo
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sangjung Woo
     
  • Because dev_*() are used along with pr_debug() function in this code, the
    debug message is not tidy. This patch converts from pr_debug() to
    dev_dbg() since dev_*() are encouraged to use in device driver code.

    Signed-off-by: Sangjung Woo
    Cc: Guan Xuetao
    Cc: Alessandro Zummo
    Cc: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sangjung Woo
     
  • Driver core clears the driver data to NULL after device_release or on
    probe failure, so just remove it from here.

    The relevant driver core change was commit 0998d0631001 ("device-core:
    Ensure drvdata = NULL when no driver is bound").

    Signed-off-by: Michal Simek
    Cc: Linus Walleij
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Simek
     
  • The variable want_irq is only assigned the values true and false.
    Change its type to bool.

    The simplified semantic patch that find this problem is as
    follows (http://coccinelle.lip6.fr/):

    @exists@
    type T;
    identifier b;
    @@
    - T
    + bool
    b = ...;
    ... when any
    b = \(true\|false\)

    Signed-off-by: Peter Senna Tschudin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Senna Tschudin
     
  • The data structure of_match_ptr() protects is always compiled in.
    Hence of_match_ptr() is not needed.

    Signed-off-by: Sachin Kamat
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sachin Kamat
     
  • The data structure of_match_ptr() protects is always compiled in.
    Hence of_match_ptr() is not needed.

    Signed-off-by: Sachin Kamat
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sachin Kamat
     
  • The data structure of_match_ptr() protects is always compiled in.
    Hence of_match_ptr() is not needed.

    Signed-off-by: Sachin Kamat
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sachin Kamat
     
  • The data structure of_match_ptr() protects is always compiled in.
    Hence of_match_ptr() is not needed.

    Signed-off-by: Sachin Kamat
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sachin Kamat
     
  • The data structure of_match_ptr() protects is always compiled in.
    Hence of_match_ptr() is not needed.

    Signed-off-by: Sachin Kamat
    Cc: Tony Prisk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sachin Kamat
     
  • Use the wrapper function for retrieving the platform data instead of
    accessing dev->platform_data directly. This is a cosmetic change to make
    the code simpler and enhance the readability.

    Signed-off-by: Jingoo Han
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jingoo Han
     
  • Use the wrapper function for retrieving the platform data instead of
    accessing dev->platform_data directly. This is a cosmetic change to make
    the code simpler and enhance the readability.

    Signed-off-by: Jingoo Han
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jingoo Han
     
  • Use the wrapper function for retrieving the platform data instead of
    accessing dev->platform_data directly. This is a cosmetic change to make
    the code simpler and enhance the readability.

    Signed-off-by: Jingoo Han
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jingoo Han
     
  • Use the wrapper function for retrieving the platform data instead of
    accessing dev->platform_data directly. This is a cosmetic change to make
    the code simpler and enhance the readability.

    Signed-off-by: Jingoo Han
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jingoo Han