aboutsummaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2016-01-12lightnvm: refactor rqd ppa list into set/freeMatias Bjørling1-21/+50
A device may be driven in single, double or quad plane mode. In that case, the rqd must have either one, two, or four PPAs set for a single PPA sent to the device. Refactor this logic into their own functions to be shared by program/erase/read in the core. Signed-off-by: Matias Bjørling <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2016-01-12lightnvm: move ppa erase logic to coreMatias Bjørling2-64/+71
A device may function in single, dual or quad plane mode. The gennvm media manager manages this with explicit helpers. They convert a single ppa to 1, 2 or 4 separate ppas in a ppa list. To aid implementation of recovery and system blocks, this functionality can be moved directly into the core. Signed-off-by: Matias Bjørling <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2016-01-12lightnvm: unlock rq and free ppa_list on submission failWenwei Tao1-0/+6
When rrpc_write_ppalist_rq and rrpc_read_ppalist_rq succeed, we setup rq correctly, but nvm_submit_io may afterward fail since it cannot allocate request or nvme_nvm_command, we return error but forget to cleanup the previous work. Signed-off-by: Wenwei Tao <[email protected]> Signed-off-by: Matias Bjørling <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2016-01-12lightnvm: add check after mempool allocationJavier Gonzalez1-0/+2
The mempool allocation might fail. Make sure to return error when it does, instead of causing a kernel panic. Signed-off-by: Javier Gonzalez <[email protected]> Signed-off-by: Matias Bjørling <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2016-01-12lightnvm: fix incorrect nr_free_blocks statChao Yu1-0/+1
When initing bad block list in gennvm_block_bb, once we move bad block from free_list to bb_list, we should maintain both stat info nr_free_blocks and nr_bad_blocks. So this patch fixes to add missing operation related to nr_free_blocks. Signed-off-by: Chao Yu <[email protected]> Signed-off-by: Matias Bjørling <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2016-01-12lightnvm: fix bio submission issueWenwei Tao2-2/+4
Put bio when submission fails, since we get it before submission. And return error when backend device driver doesn't provide a submit_io method, thus we can end IO properly. Signed-off-by: Wenwei Tao <[email protected]> Signed-off-by: Matias Bjørling <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2016-01-13drm/exynos: fix kernel panic issue at drm releasingInki Dae3-0/+35
This patch fixes a kernel panic issue which happened when drm driver is closed while modetest. This issue could be reproduced easily by launching modetest with page flip repeatedly. The reason is that invalid drm_file object could be accessed by send_vblank_event function when finishing page flip if the drm_file object was removed by drm_release and there was a pended page flip event which was already committed to hardware. So this patch makes the pended page flip event to be cancelled by preclose callback which is called at front of drm_release function. Changelog v2: - free vblank event objects belonging to the request process, increment event space and decrease pending_update when cancelling the event Signed-off-by: Inki Dae <[email protected]> Reviewed-by: Daniel Stone <[email protected]> Acked-by: Daniel Vetter <[email protected]>
2016-01-13drm/exynos: crtc: do not wait for the scanout completionInki Dae3-27/+0
This patch removes exynos_drm_crtc_complete_scanout function call which makes sure for overlay data to be updated to real hardware when drm driver is released. With atomic modeset support, it doesn't need the funtion anymore because atomic modeset interface makes sure that. Signed-off-by: Inki Dae <[email protected]>
2016-01-13drm/exynos: mixer: properly update all planes on the same vblank eventMarek Szyprowski1-9/+25
This patch also moves mixer_vsync_set_update() to newly introduced mixer_atomic_begin/flush callbacks. This ensures that all mixer planes will be updated on the same vsync event. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-01-13drm/exynos: crtc: rework atomic_{begin,flush}Marek Szyprowski5-40/+32
Some CRTC drivers (like Exynos DRM Mixer) can handle blocking register updates only on per-device level, not per-plane level. This patch changes exynos_crts atomic_begin/atomic_flush callbacks to handle the entire crtc, instead of given planes, so driver can handle both cases on their own. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-01-13drm/exynos: mixer: unify a check for video-processor windowMarek Szyprowski1-2/+2
Always use macro instead of hard-coded '2' value in conditions related to video processor window. Additional checks are not needed, because video layer is registered only when video processor is available. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-01-13drm/exynos: mixer: also allow ARGB1555 and ARGB4444Tobias Jakobi1-0/+6
Allow the remaining alpha formats now that blending is properly setup. Signed-off-by: Tobias Jakobi <[email protected]> Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-01-13drm/exynos: mixer: refactor layer setupMarek Szyprowski2-0/+44
Properly configure blending properties of given hardware layer based on the selected pixel format. Currently only per-pixel-based alpha is possible when respective pixel format has been selected. Configuration of global, per-plane alpha value, color key and background color will be added later. This patch is heavily inspired by earlier work done by Tobias Jakobi <[email protected]>. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-01-13drm/exynos: mixer: remove all static blending setupTobias Jakobi1-23/+0
Previously blending setup was static and most of it was done in mixer_win_reset(). Signed-off-by: Tobias Jakobi <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-01-13drm/exynos: mixer: set window priority based on zposMarek Szyprowski2-18/+24
'zpos' plane property is configurable, so adjust hardware layers priority based on the zpos value. 'zpos' value shifted by one can be used directly as hw priority value and stored to the registers, because mixer accepts priority values from 1 to 15 (0 means that layer is disabled). This patch also changes the default layer priority to match already exposed initial zpos values. The initial configuration is now: [top] video > gfx layer1 > gfx layer0 [bottom]. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-01-13drm/exynos: make zpos property configurableMarek Szyprowski2-6/+49
This patch adds all infrastructure to make zpos plane property configurable from userspace. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-01-13drm/exynos: rename zpos to indexMarek Szyprowski8-28/+28
This patch renames zpos entry to index, because in most places it is used as index for selecting hardware layer/window instead of configurable layer position. This will later enable to make the zpos property configurable. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2016-01-12Merge branch 'devel-stable' into for-linusRussell King7-1/+447
2016-01-12lguest: Map switcher text R/ORusty Russell1-23/+51
Pavel noted that lguest maps the switcher code executable and read-write. This is a bad idea for any kernel text, but particularly for text mapped at a fixed address. Create two vmas, one for the text (PAGE_KERNEL_RX) and another for the stacks (PAGE_KERNEL). Use VM_NO_GUARD to map them adjacent (as expected by the rest of the code). Reported-by: Pavel Machek <[email protected]> Tested-by: Pavel Machek <[email protected]> Signed-off-by: Rusty Russell <[email protected]> Cc: Andy Lutomirski <[email protected]> Cc: Borislav Petkov <[email protected]> Cc: Brian Gerst <[email protected]> Cc: Denys Vlasenko <[email protected]> Cc: H. Peter Anvin <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Thomas Gleixner <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
2016-01-12Merge branches 'clockevents/4.4-fixes' and 'clockevents/4.5-fixes' of ↵Thomas Gleixner508-3819/+8226
http://git.linaro.org/people/daniel.lezcano/linux into timers/urgent Pull in fixes from Daniel Lezcano: - Fix the vt8500 timer leading to a system lock up when dealing with too small delta (Roman Volkov) - Select the CLKSRC_MMIO when the fsl_ftm_timer is enabled with COMPILE_TEST (Daniel Lezcano) - Prevent to compile timers using the 'iomem' API when the architecture has not HAS_IOMEM set (Richard Weinberger)
2016-01-11Merge tag 'dm-4.5-changes' of ↵Linus Torvalds18-354/+1619
git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm Pull device mapper updates from Mike Snitzer: - The most significant set of changes this cycle is the Forward Error Correction (FEC) support that has been added to the DM verity target. Google uses DM verity on all Android devices and it is believed that this FEC support will enable DM verity to recover from storage failures seen since DM verity was first deployed as part of Android. - A stable fix for a race in the destruction of DM thin pool's workqueue - A stable fix for hung IO if a DM snapshot copy hit an error - A few small cleanups in DM core and DM persistent data. - A couple DM thinp range discard improvements (address atomicity of finding a range and the efficiency of discarding a partially mapped thin device) - Add ability to debug DM bufio leaks by recording stack trace when a buffer is allocated. Upon detected leak the recorded stack is dumped. * tag 'dm-4.5-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: dm snapshot: fix hung bios when copy error occurs dm thin: bump thin and thin-pool target versions dm thin: fix race condition when destroying thin pool workqueue dm space map metadata: remove unused variable in brb_pop() dm verity: add ignore_zero_blocks feature dm verity: add support for forward error correction dm verity: factor out verity_for_bv_block() dm verity: factor out structures and functions useful to separate object dm verity: move dm-verity.c to dm-verity-target.c dm verity: separate function for parsing opt args dm verity: clean up duplicate hashing code dm btree: factor out need_insert() helper dm bufio: use BUG_ON instead of conditional call to BUG dm bufio: store stacktrace in buffers to help find buffer leaks dm bufio: return NULL to improve code clarity dm block manager: cleanup code that prints stacktrace dm: don't save and restore bi_private dm thin metadata: make dm_thin_find_mapped_range() atomic dm thin metadata: speed up discard of partially mapped volumes
2016-01-11Merge tag 'media/v4.5-1' of ↵Linus Torvalds379-3491/+3860
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media updates from Mauro Carvalho Chehab: "The part of patches for Kernel 4.5. There's nothing really big here: - driver-specific headers for media devices were moved to separate directories, in order to make clear what headers belong to the core kABI and require documentation - Platform data for media drivers were moved from include/media to include/linux/platform_data/media - add a driver for cs3308 8-channel volume control, used on some high-end capture boards - lirc.h kAPI header were added at include/uapi/linux - Driver cleanups, new board additions and improvements" * tag 'media/v4.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (204 commits) [media] rc: sunxi-cir: Initialize the spinlock properly [media] rtl2832: do not filter out slave TS null packets [media] rtl2832: print reg number on error case [media] rtl28xxu: return demod reg page from driver cache [media] coda: enable MPEG-2 ES decoding [media] coda: don't start streaming without queued buffers [media] coda: hook up vidioc_prepare_buf [media] coda: relax coda_jpeg_check_buffer for trailing bytes [media] coda: make to_coda_video_device static [media] s5p-mfc: remove volatile attribute from MFC register addresses [media] s5p-mfc: merge together s5p_mfc_hw_call and s5p_mfc_hw_call_void [media] s5p-mfc: use spinlock to protect MFC context [media] s5p-mfc: remove unnecessary callbacks [media] s5p-mfc: make queue cleanup code common [media] s5p-mfc: use one implementation of s5p_mfc_get_new_ctx [media] s5p-mfc: constify s5p_mfc_codec_ops structures [media] au8522: Avoid memory leak for device config data [media] ir-lirc-codec.c: don't leak lirc->drv-rbuf [media] uvcvideo: small cleanup in uvc_video_clock_update() [media] uvcvideo: Fix reading the current exposure value of UVC ...
2016-01-11Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller14-32/+137
Conflicts: drivers/net/bonding/bond_main.c drivers/net/ethernet/mellanox/mlxsw/spectrum.h drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c The bond_main.c and mellanox switch conflicts were cases of overlapping changes. Signed-off-by: David S. Miller <[email protected]>
2016-01-11Merge tag 'leds-for-4.5' of ↵Linus Torvalds56-1139/+641
git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds Pull LED subsystem updates from Jacek Anaszewski: "Besides regular driver updates, we introduce a portion of LED core improvements, that allow to avoid the need for using work queues in the LED class drivers, that set brightness in a blocking way. Affected LED class drivers are being optimized accordingly. - LED core improvements: - use EXPORT_SYMBOL_GPL consistently, - add two new LED_BLINK_ flags, - rename brightness_set_sync op to brightness_set_blocking, - add led_set_brightness_nosleep{nopm} functions, - use set_brightness_work for the blocking op, - drivers shouldn't enforce SYNC/ASYNC brightness setting, - turn off the LED and wait for completion on unregistering LED class device, - add managed version of led_trigger_register, - add description of brightness setting API to the LED class doc. - Remove work queues from drivers: leds-tlc591xx, leds-88pm860x, leds-adp5520, leds-bd2802, leds-blinkm, leds-lm3533, leds-lm3642, leds-pca9532, leds-lp3944, leds-lp55xx, leds-lp8788, leds-lp8860, leds-pca955x, leds-pca963x, leds-wm831x, leds-da903x, leds-da9052, leds-dac124d085, leds-lt3593, leds-max8997, leds-mc13783, leds-regulator, leds-wm8350, leds-max77693, leds-aat1290, leds-ktd2692, leds-gpio, leds-pwm, leds-lm355x, leds-ns2. - Replace brightness_set op with a new brightness_set_blocking op to make the drivers compatible with led triggers: leds-ipaq-micro, leds-powernv. - Add missing of_node_put: leds-ktd2692, leds-aat1290, leds-max77693. - Make the driver explicitly non-modular: ledtrig-cpu, ledtrig-ide-disk, leds-syscon. - Improvements to leds-bcm6328: - reuse bcm6328_led_set() instead of copying its functionality, - swap LED ON and OFF definitions, - improve blink support, - simplify duplicated unlock in bcm6328_blink_set, - add little endian support, - remove unneded lock when checking initial LED status, - add HAS_IOMEM dependency, - code cleaning. - Improvements to leds-bcm6358: - use bcm6358_led_set() in order to get rid of the lock, - merge bcm6358_led_mode and bcm6358_led_set, - add little endian support, - remove unneded lock when checking initial LED status, - add HAS_IOMEM dependency, - remove unneeded busy status check. - Call led_pwm_set() in leds-pwm to enforce default LED_OFF. - Fix duration to be msec instead of jiffies: ledtrig-transient. - Removing NULL check: leds-powernv. - Use platform_register/unregister_drivers(): leds-sunfire. - Fix module license specification: ledtrig-oneshot. - Fix driver description and make license match the header: leds-pwm. - Remove checking for state < 1 in flash_strobe_store(): led-class-flash. - Use led_set_brightness_sync for torch brightness: v4l2-flash-led-class" * tag 'leds-for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds: (68 commits) leds: add HAS_IOMEM dependency to LEDS_BCM6328/LEDS_BCM6358 leds: core: add managed version of led_trigger_register leds: bcm6358: remove unneeded busy status check leds: bcm6328: improve blink support leds: bcm6358: merge bcm6358_led_mode and bcm6358_led_set leds: bcm6328: simplify duplicated unlock in bcm6328_blink_set leds: bcm6358: add little endian support leds: bcm6328: add little endian support leds: bcm6358: remove unneded lock when checking initial LED status leds: bcm6358: Use bcm6358_led_set() in order to get rid of the lock leds: bcm6328: remove unneded lock when checking initial LED leds: bcm6328: code cleaning leds: syscon: Make the driver explicitly non-modular leds: ledtrig-ide-disk: Make the driver explicitly non-modular leds: ledtrig-cpu: Make the driver explicitly non-modular leds: sunfire: Use platform_register/unregister_drivers() leds: max77693: Add missing of_node_put leds: aat1290: Add missing of_node_put leds: powernv: Implement brightness_set_blocking op leds: ipaq-micro: Implement brightness_set_blocking op ...
2016-01-11Merge tag 'edac_for_4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bpLinus Torvalds15-331/+1188
Pull EDAC updates from Borislav Petkov: - hide EDAC workqueue from users (Borislav Petkov) - edac_subsys init/teardown cleanup (Borislav Petkov) - make mpc85xx-pci-edac a platform device (Scott Wood) - sb_edac KNL gen2 support (Jim Snow) - other small cleanups all over the place * tag 'edac_for_4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: EDAC, i5100: Use to_delayed_work() MAINTAINERS: Fix EDAC repo URLs format EDAC, sb_edac: Set fixed DIMM width on Xeon Knights Landing EDAC: Rework workqueue handling EDAC: Make edac_device workqueue setup/teardown functions static EDAC: Remove edac_get_sysfs_subsys() error handling EDAC: Unexport and make edac_subsys static EDAC: Rip out the edac_subsys reference counting EDAC: Robustify workqueues destruction EDAC, mc_sysfs: Fix freeing bus' name EDAC, mpc85xx: Make mpc85xx-pci-edac a platform device EDAC, sb_edac: Add Knights Landing (Xeon Phi gen 2) support EDAC, sb_edac: Add support for duplicate device IDs EDAC, sb_edac: Virtualize several hard-coded functions EDAC, mv64x60: Use platform_register/unregister_drivers() EDAC, mpc85xx: Use platform_register/unregister_drivers() EDAC: Add DDR4 flag EDAC: Remove references to bluesmoke.sourceforge.net EDAC, pci: Remove old disabled code
2016-01-11Merge tag 'hwmon-for-linus-v4.5' of ↵Linus Torvalds10-220/+310
git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging Pull hwmon updates from Guenter Roeck: "Notable hwmon changes: - Add basic support for NCT6683 on Mitac boards - Add support for AMD new 15h processors to fam15h_power driver - Add pmbus client driver for LTC3815 - Remove htu21 driver (now supported by iio subsystem)" * tag 'hwmon-for-linus-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: hwmon: (nct6683) Add basic support for NCT6683 on Mitac boards hwmon: (ibmaem) constify aem_rw_sensor_template and aem_ro_sensor_template structures hwmon: (nct6683,nct6775) constify sensor_template_group structures MAINTAINERS: change the maintainer of fam15h_power driver hwmon: (fam15h_power) Add support for AMD new 15h processors hwmon: (pmbus) Add client driver for LTC3815 hwmon: (htu21) Remove driver
2016-01-11net: freescale: mac-fec: Fix build error from phy_device API changeAndrew Lunn1-1/+1
dev has moved inside the new mdio structure. Signed-off-by: Andrew Lunn <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2016-01-11net: freescale: ucc_geth: Fix build error from phy_device API changeAndrew Lunn1-1/+1
dev has moved inside the new mdio structure. Signed-off-by: Andrew Lunn <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2016-01-11Merge tag 'regmap-v4.5' of ↵Linus Torvalds8-109/+324
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap Pull regmap updates from Mark Brown: "There's no real overall theme to the regmap changes for this release, it's a collection of individual features. The main bits are: - Support for 64 bit registers, mainly for MMIO use, from Xiubo Li. - Support for trigger type configuration for regmap-irq from Laxman Dewangan. - Use native physical I/O for MMIO register maps to avoid confusion with the conversions that readl() and writel() do to little endian on big endian systems (with some DT updates to fix some workarounds people were doing), code from Simon Arlott. - Use a binary search rather than iteraton to improve the runtime performance of the rbtree code from Nikesh Oswal" * tag 'regmap-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: regmap: debugfs: Use seq_file for the access map regmap: irq: add support for configuration of trigger type regmap: use IS_ALIGNED instead of % to improve the performance regmap: cache: Move the num_reg_defaults check as early as possible regmap: cache: Add warning info for the cache check regmap: missing case statement regmap: shift wrapping bugs in 64 bit code regmap: cache: Add 64-bit mode support regmap: cache: To suppress the noise of checkpatch regmap: fix the warning about unused variable regmap: add 64-bit mode support regmap: mmio: Add regmap_mmio_get_min_stride regmap: mmio: remove the useless code regmap: Fix leftover from struct reg_default to struct reg_sequence change regmap: replace kmalloc with kmalloc_array regmap: replace kzalloc with kcalloc regmap: rbtree: When adding a reg do a bsearch for target node regmap-mmio: Use native endianness for read/write
2016-01-11Merge tag 'pinctrl-v4.5-1' of ↵Linus Torvalds61-751/+8647
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pin control updates from Linus Walleij: "This is the bulk of pin control patches for the v4.5 series. Notably I have a patch to driver core from Stephen Boyd in the pull request, this has been ACKed by Greg so it should be OK. The internal API needed some tweaking to allow modular Qualcomm pin controllers. There is a bit of development history in here but it should all add up nicely and has boiled in linux-next. For example I merged in v4.4-rc5 to get rid of some nasty merge conflicts. Summary: - New drivers: - PXA2xx pin controller support - Broadcom NSP pin controller support - New subdrivers: - Samsung EXYNOS5410 support - Qualcomm MSM8996 support - Qualcomm PM8994 support - Qualcomm PM8994 MPP support - Allwinner sunxi H3 support - Allwinner sunxi A80 support - Rockchip RK3228 support - Rename the Cygnus pinctrl driver to "iproc" as it is more generic than was originally thought. - A bunch of Lantiq/Xway updates especially from the OpenWRT people. - Several refactorings for the Super-H SH PFC pin controllers. Adding SCIF_CLK support. - Several fixes to the Atlas 7 driver. - Various fixes all over the place" * tag 'pinctrl-v4.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (91 commits) pinctrl: mediatek: Modify pinctrl bindings for mt2701 Revert "pinctrl: qcom: make PMIC drivers bool" pinctrl: qcom: Use platform_irq_count() instead of of_irq_count() driver-core: platform: Add platform_irq_count() pinctrl: lantiq: 2 pins have the wrong mux list pinctrl: qcom: make PMIC drivers bool pinctrl: nsp-gpio: forever loop in nsp_gpio_get_strength() pinctrl: mediatek: convert to arch_initcall pinctrl: bcm2835: Fix memory leak in error path pinctrl: mediatek: add missing of_node_put pinctrl: rockchip: add missing of_node_put pinctrl: sh-pfc: add missing of_node_put pinctrl: sirf: add missing of_node_put pinctrl-tegra: add missing of_node_put pinctrl: sunxi: Add A80 special pin controller pinctrl: bcm/cygnys/iproc: fixup rebase issue pinctrl: fixup problematic flag MAINTAINERS: Add co-maintainer for Renesas Pin Controllers pinctrl: sh-pfc: r8a7791: add EtherAVB pin groups pinctrl: sh-pfc: r8a7795: Add SATA support ...
2016-01-11Merge tag 'mmc-v4.5' of git://git.linaro.org/people/ulf.hansson/mmcLinus Torvalds34-516/+618
Pull MMC updates from Ulf Hansson: "MMC core: - Optimize boot time by detecting cards simultaneously - Make runtime resume default behavior for MMC/SD - Enable MMC/SD/SDIO devices to suspend/resume asynchronously - Allow more than 8 partitions per card - Introduce MMC_CAP2_NO_SDIO to prevent unsupported SDIO commands - Support the standard DT wakeup-source property - Fix driver strength switching for HS200 and HS400 - Fix switch command timeout - Fix invalid vdd in voltage switch power cycle for SDIO MMC host: - sdhci: Restore behavior when setting VDD via external regulator - sdhci: A couple of changes/fixes related to the dma support - sdhci-tegra: Add Tegra210 support - sdhci-tegra: Support for UHS-I cards including tuning support - sdhci-of-at91: Add PM support - sh_mmcif: Rework dma channel handling - mvsdio: Delete platform data code path" * tag 'mmc-v4.5' of git://git.linaro.org/people/ulf.hansson/mmc: (52 commits) mmc: dw_mmc: remove the unused quirks mmc: sdhci-pci: use to_pci_dev() mmc: cb710: use to_platform_device() mmc: tegra: use correct accessor for misc ctrl register mmc: tegra: enable UHS-I modes mmc: tegra: implement UHS tuning mmc: tegra: disable SPI_MODE_CLKEN mmc: tegra: implement module external clock change mmc: sdhci: restore behavior when setting VDD via external regulator mmc: It is not an error for the card to be removed while suspended mmc: block: Allow more than 8 partitions per card mmc: core: Optimize boot time by detecting cards simultaneously mmc: dw_mmc: use resource_size_t to store physical address mmc: core: fix __mmc_switch timeout caused by preempt mmc: usdhi6rol0: handle NULL data in timeout mmc: of_mmc_spi: Add IRQF_ONESHOT to interrupt flags mmc: mediatek: change some dev_err to dev_dbg mmc: enable MMC/SD/SDIO device to suspend/resume asynchronously mmc: sdhci: Fix sdhci_runtime_pm_bus_on/off() mmc: sdhci: 64-bit DMA actually has 4-byte alignment ...
2016-01-11Merge branch 'for-4.5' of ↵Linus Torvalds9-82/+193
git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata Pull libata updates from Tejun Heo: "Mostly low level driver specific changes. Two changes are somewhat noteworthy. First, Dan's patchset to support per-port msix interrupt handling for ahci, which was tried last cycle but had to be backed out due to a couple issues, is back and seems to be working fine. Second, libata exception handling now uses usleep_range() instead of msleep() for sleeps < 20ms which can make things snappier in some corner cases" * 'for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: libata: skip debounce delay on link resume ata: ahci_brcmstb: disable DIPM support ata: ahci_brcmstb: enable support for ALPM drivers: libata-core: Use usleep_range() instead of msleep() for short sleeps (<20 ms) sata_sx4: correctly handling failed allocation ata: ahci_brcmstb: add support for MIPS-based platforms ahci: qoriq: Adjust the default register values on ls1021a ahci: qoriq: Update the default Rx watermark value ahci: qoriq: Adjust the default register values on ls1043a ahci: compile out msi/msix infrastructure ata: core: fix irq description on AHCI single irq systems ata: ahci_brcmstb: remove unused definitions ata: ahci_brcmstb: add a quirk for MIPS-based platforms ata: ahci_brcmstb: disable NCQ for MIPS-based platforms ata: sata_rcar: Remove obsolete platform_device_id entries sata_rcar: Add compatible string for r8a7795 ahci: kill 'intr_status' ahci: switch from 'threaded' to 'hardirq' interrupt handling ahci: per-port msix support
2016-01-11Merge branch 'irq-core-for-linus' of ↵Linus Torvalds16-164/+1089
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull irq updates from Thomas Gleixner: "The irq department provides: - Support for MSI to wire bridges and a first user of it - More ACPI support for ARM/GIC - A new TS-4800 interrupt controller driver - RCU based free of interrupt descriptors to support the upcoming Intel VMD technology without introducing a locking nightmare - The usual pile of fixes and updates to drivers and core code" * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (41 commits) irqchip/omap-intc: Add support for spurious irq handling irqchip/zevio: Use irq_data_get_chip_type() helper irqchip/omap-intc: Remove duplicate setup for IRQ chip type handler irqchip/ts4800: Add TS-4800 interrupt controller irqchip/ts4800: Add documentation for TS-4800 interrupt controller irq/platform-MSI: Increase the maximum MSIs the MSI framework can support irqchip/gicv2m: Miscellaneous fixes for v2m resources and SPI ranges irqchip/bcm2836: Make code more readable irqchip/bcm2836: Tolerate IRQs while no flag is set in ISR irqchip/bcm2836: Add SMP support for the 2836 irqchip/bcm2836: Fix initialization of the LOCAL_IRQ_CNT timers irqchip/gic-v2m: acpi: Introducing GICv2m ACPI support irqchip/gic-v2m: Refactor to prepare for ACPI support irqdomain: Introduce is_fwnode_irqchip helper acpi: pci: Setup MSI domain for ACPI based pci devices genirq/msi: Export functions to allow MSI domains in modules irqchip/mbigen: Implement the mbigen irq chip operation functions irqchip/mbigen: Create irq domain for each mbigen device irqchip/mgigen: Add platform device driver for mbigen device dt-bindings: Documents the mbigen bindings ...
2016-01-11Merge branches 'timers-core-for-linus' and 'timers-urgent-for-linus' of ↵Linus Torvalds18-563/+421
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer updates - and a leftover fix - from Thomas Gleixner: "A rather large (commit wise) update from the timer side: - A bulk update to make compile tests work in the clocksource drivers - An overhaul of the h8300 timers - Some more Y2038 work - A few overflow prevention checks in the timekeeping/ntp code - The usual pile of fixes and improvements to the various clocksource/clockevent drivers and core code" Also: "A single fix for the posix-clock poll code which did not make it into 4.4" * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (84 commits) clocksource/drivers/acpi_pm: Convert to pr_* macros clocksource: Make clocksource validation work for all clocksources timekeeping: Cap adjustments so they don't exceed the maxadj value ntp: Fix second_overflow's input parameter type to be 64bits ntp: Change time_reftime to time64_t and utilize 64bit __ktime_get_real_seconds timekeeping: Provide internal function __ktime_get_real_seconds clocksource/drivers/h8300: Use ioread / iowrite clocksource/drivers/h8300: Initializer cleanup. clocksource/drivers/h8300: Simplify delta handling clocksource/drivers/h8300: Fix timer not overflow case clocksource/drivers/h8300: Change to overflow interrupt clocksource/drivers/lpc32: Correct pr_err() output format clocksource/drivers/arm_global_timer: Fix suspend resume clocksource/drivers/pistachio: Fix wrong calculated clocksource read value clockevents/drivers/arm_global_timer: Use writel_relaxed in gt_compare_set clocksource/drivers/dw_apb_timer: Inline apbt_readl and apbt_writel clocksource/drivers/dw_apb_timer: Use {readl|writel}_relaxed in critical path clocksource/drivers/dw_apb_timer: Fix apbt_readl return types clocksource/drivers/tango-xtal: Replace code by clocksource_mmio_init clocksource/drivers/h8300: Increase the compilation test coverage ... * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: posix-clock: Fix return code on the poll method's error path
2016-01-11Input: atmel_mxt_ts - improve touchscreen size/orientation handlingNick Dyer1-42/+26
Both T100 and T9 handle range and orientation in a similar fashion. Reduce duplication between the two implementations. Signed-off-by: Nick Dyer <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-01-11Merge branch 'next' into for-linusDmitry Torokhov5035-171791/+328758
Prepare first round of input updates for 4.5 merge window.
2016-01-11Input: elantech - mark protocols v2 and v3 as semi-mtBenjamin Tissoires1-1/+1
When using a protocol v2 or v3 hardware, elantech uses the function elantech_report_semi_mt_data() to report data. This devices are rather creepy because if num_finger is 3, (x2,y2) is (0,0). Yes, only one valid touch is reported. Anyway, userspace (libinput) is now confused by these (0,0) touches, and detect them as palm, and rejects them. Commit 3c0213d17a09 ("Input: elantech - fix semi-mt protocol for v3 HW") was sufficient enough for xf86-input-synaptics and libinput before it has palm rejection. Now we need to actually tell libinput that this device is a semi-mt one and it should not rely on the actual values of the 2 touches. Cc: [email protected] Signed-off-by: Benjamin Tissoires <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2016-01-12driver core: Avoid NULL pointer dereferences in device_is_bound()Rafael J. Wysocki1-1/+1
If device_is_bound() is called on a device that's not been registered yet, it will attepmt to dereference dev->p which is NULL, so avoid that by checking dev->p in there against NULL. Fixes: 6b9cb42752da "device core: add device_is_bound()" Reported-and-tested-by: Guenter Roeck <[email protected]> Tested-by: Tony Lindgren <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
2016-01-11Merge branch 'x86-cleanups-for-linus' of ↵Linus Torvalds4-5/+6
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 cleanups from Ingo Molnar: "The main changes in this cycle were: - code patching and cpu_has cleanups (Borislav Petkov) - paravirt cleanups (Juergen Gross) - TSC cleanup (Thomas Gleixner) - ptrace cleanup (Chen Gang)" * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: arch/x86/kernel/ptrace.c: Remove unused arg_offs_table x86/mm: Align macro defines x86/cpu: Provide a config option to disable static_cpu_has x86/cpufeature: Remove unused and seldomly used cpu_has_xx macros x86/cpufeature: Cleanup get_cpu_cap() x86/cpufeature: Move some of the scattered feature bits to x86_capability x86/paravirt: Remove paravirt ops pmd_update[_defer] and pte_update_defer x86/paravirt: Remove unused pv_apic_ops structure x86/tsc: Remove unused tsc_pre_init() hook x86: Remove unused function cpu_has_ht_siblings() x86/paravirt: Kill some unused patching functions
2016-01-12Merge branch 'powercap'Rafael J. Wysocki2-11/+11
* powercap: powercap: constify powercap_zone_ops and powercap_zone_constraint_ops structures
2016-01-12Merge branch 'pm-domains'Rafael J. Wysocki1-0/+2
* pm-domains: PM / Domains: export symbols to add/remove devices from genpd
2016-01-12Merge branch 'pm-cpufreq'Rafael J. Wysocki16-176/+705
* pm-cpufreq: (30 commits) Documentation: cpufreq: intel_pstate: enhance documentation cpufreq-dt: fix handling regulator_get_voltage() result cpufreq: governor: Fix negative idle_time when configured with CONFIG_HZ_PERIODIC cpufreq: mt8173: migrate to use operating-points-v2 bindings cpufreq: Simplify core code related to boost support cpufreq: acpi-cpufreq: Simplify boost-related code cpufreq: Make cpufreq_boost_supported() static blackfin-cpufreq: Mark cpu_set_cclk() as static blackfin-cpufreq: Change return type of cpu_set_cclk() to that of clk_set_rate() dt: cpufreq: st: Provide bindings for ST's CPUFreq implementation cpufreq: st: Provide runtime initialised driver for ST's platforms cpufreq: mt8173: Move resources allocation into ->probe() cpufreq: intel_pstate: Account for IO wait time cpufreq: intel_pstate: Account for non C0 time cpufreq: intel_pstate: Configurable algorithm to get target pstate cpufreq: mt8173: check return value of regulator_get_voltage() call cpufreq: mt8173: remove redundant regulator_get_voltage() call cpufreq: mt8173: add CPUFREQ_HAVE_GOVERNOR_PER_POLICY flag cpufreq: qoriq: Register cooling device based on device tree cpufreq: pcc-cpufreq: update default value of cpuinfo_transition_latency ...
2016-01-12Merge branch 'pm-opp'Rafael J. Wysocki5-19/+593
* pm-opp: PM / OPP: Use snprintf() instead of sprintf() PM / OPP: Set cpu_dev->id in cpumask first PM / OPP: Fix parsing of opp-microvolt and opp-microamp properties PM / OPP: Parse 'opp-<prop>-<name>' bindings PM / OPP: Parse 'opp-supported-hw' binding PM / OPP: Add missing doc comments ARM: dts: exynos4412: Rename OPP nodes as opp@<opp-hz> PM / OPP: Rename OPP nodes as opp@<opp-hz> PM / OPP: Remove 'operating-points-names' binding PM / OPP: Add {opp-microvolt|opp-microamp}-<name> binding PM / OPP: Add "opp-supported-hw" binding PM / OPP: Add debugfs support
2016-01-12Merge branch 'pm-cpuidle'Rafael J. Wysocki4-14/+10
* pm-cpuidle: drivers/cpuidle: make cpuidle-exynos.c explicitly non-modular drivers/cpuidle: make cpuidle-ux500.c explicitly non-modular drivers/cpuidle: make cpuidle-clps711x.c explicitly non-modular cpuidle,menu: smooth out measured_us calculation cpuidle,menu: use interactivity_req to disable polling cpuidle,x86: increase forced cut-off for polling to 20us
2016-01-12Merge branches 'pm-pci' and 'pm-core'Rafael J. Wysocki9-12/+119
* pm-pci: PCI / PM: Fix small typo in documentation PCI / PM: constify pci_platform_pm_ops structure * pm-core: PM / core: fix typo in documentation PM / runtime: Add new helper for conditional usage count incrementation MAINTAINERS: Add an entry for the PM core PM / runtime: Re-init runtime PM states at probe error and driver unbind PM / sleep: prohibit devices probing during suspend/hibernation
2016-01-12Merge branches 'acpi-pnp' and 'pnp'Rafael J. Wysocki3-2/+7
* acpi-pnp: ACPI / PNP: constify device IDs * pnp: PNP: respect PNP_DRIVER_RES_DO_NOT_CHANGE when detaching PNP: Add Broadwell to Intel MCH size workaround
2016-01-12Merge branches 'acpi-pci', 'acpi-irq' and 'acpi-assorted'Rafael J. Wysocki10-75/+164
* acpi-pci: ACPI, PCI, irq: remove redundant check for null string pointer ACPI / PCI: Simplify acpi_penalize_isa_irq() ACPI, PCI, irq: remove interrupt number restriction ACPI, PCI, irq: remove interrupt count restriction * acpi-irq: ACPI / spi: attach GPIO IRQ from ACPI description to SPI device ACPI / gpio: Add irq_type when a GPIO is used as an interrupt ACPI: Rename acpi_gsi_get_irq_type to acpi_dev_get_irq_type and export symbol * acpi-assorted: ACPI / SBS: fix inconsistent indenting inside if statement ACPI: Fix build errors due objects compiled unconditionally
2016-01-12Merge branches 'acpi-scan', 'acpi-bus', 'acpi-osl' and 'acpi-pm'Rafael J. Wysocki5-12/+87
* acpi-scan: ACPI: Fix white space in a structure definition ACPI / utils: Add acpi_dev_present() ACPI / scan: Fix acpi_bus_id_list bookkeeping ACPI / scan: set status to 0 if _STA failed * acpi-bus: ACPI / bus: Show _OSC UUID when _OSC fails ACPI / bus: Tidy up _OSC error spacing * acpi-osl: ACPI / OSL: Add kerneldoc comments to memory mapping functions * acpi-pm: ACPI / PM: Support D3 COLD device in old BIOS for ZPODD
2016-01-12Merge branch 'acpi-video'Rafael J. Wysocki4-20/+81
* acpi-video: ACPI / video: driver must be registered before checking for keypresses ACPI / video: Add a quirk to force acpi-video backlight on SAMSUNG 530U4E/540U4E ACPI / video: Add quirks for the Dell Vostro V131 ACPI / video: Add a module option to disable the reporting of keypresses thinkpad_acpi: Use acpi_video_handles_brightness_key_presses() dell-wmi: Use acpi_video_handles_brightness_key_presses() ACPI / video: Add a acpi_video_handles_brightness_key_presses() helper
2016-01-12Merge branch 'acpica'Rafael J. Wysocki133-2212/+2105
* acpica: (43 commits) ACPICA: Drop Linux-specific waking vector functions ACPICA: Update version to 20151218 ACPICA: Add per-table execution of module-level code ACPICA: Add "root node" case to the ACPI name repair code ACPICA: Events: Introduce ACPI_REG_DISCONNECT invocation to acpi_ev_execute_reg_methods() ACPICA: Events: Enhance acpi_ev_execute_reg_method() to ensure no _REG evaluations can happen during OS early boot stages ACPICA: Events: Split acpi_ev_associate_reg_method() from region initialization code ACPICA: Events: Fix an issue that region object is re-attached to another scope when it is already attached ACPICA: Utilities: Reorder initialization code ACPICA: Events: Uses common_notify for address space handlers ACPICA: Events: Deploys acpi_ev_find_region_handler() ACPICA: Cleanup code related to the per-table module level improvement ACPICA: Update for CondRefOf and RefOf operators ACPICA: Update internal #defines for ObjectType operator. No functional change ACPICA: Update parameter type for ObjectType operator ACPICA: Parser: Fix for SuperName method invocation ACPICA: Parser: Add constants for internal namepath function ACPICA: iasl/Disassembler: Support ASL ElseIf operator ACPICA: Add new exception code, AE_IO_ERROR ACPICA: Tools: Add spacing and missing options in acpibin tool ...