aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-04-04Merge branch 'cross-rename' of ↵Linus Torvalds17-313/+643
git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs Pull renameat2 system call from Miklos Szeredi: "This adds a new syscall, renameat2(), which is the same as renameat() but with a flags argument. The purpose of extending rename is to add cross-rename, a symmetric variant of rename, which exchanges the two files. This allows interesting things, which were not possible before, for example atomically replacing a directory tree with a symlink, etc... This also allows overlayfs and friends to operate on whiteouts atomically. Andy Lutomirski also suggested a "noreplace" flag, which disables the overwriting behavior of rename. These two flags, RENAME_EXCHANGE and RENAME_NOREPLACE are only implemented for ext4 as an example and for testing" * 'cross-rename' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs: ext4: add cross rename support ext4: rename: split out helper functions ext4: rename: move EMLINK check up ext4: rename: create ext4_renament structure for local vars vfs: add cross-rename vfs: lock_two_nondirectories: allow directory args security: add flags to rename hooks vfs: add RENAME_NOREPLACE flag vfs: add renameat2 syscall vfs: rename: use common code for dir and non-dir vfs: rename: move d_move() up vfs: add d_is_dir()
2014-04-04dm cache: fix a lock-inversionJoe Thornber3-52/+20
When suspending a cache the policy is walked and the individual policy hints written to the metadata via sync_metadata(). This led to this lock order: policy->lock cache_metadata->root_lock When loading the cache target the policy is populated while the metadata lock is held: cache_metadata->root_lock policy->lock Fix this potential lock-inversion (ABBA) deadlock in sync_metadata() by ensuring the cache_metadata root_lock is held whilst all the hints are written, rather than being repeatedly locked while policy->lock is held (as was the case with each callout that policy_walk_mappings() made to the old save_hint() method). Found by turning on the CONFIG_PROVE_LOCKING ("Lock debugging: prove locking correctness") build option. However, it is not clear how the LOCKDEP reported paths can lead to a deadlock since the two paths, suspending a target and loading a target, never occur at the same time. But that doesn't mean the same lock-inversion couldn't have occurred elsewhere. Reported-by: Marian Csontos <[email protected]> Signed-off-by: Joe Thornber <[email protected]> Signed-off-by: Mike Snitzer <[email protected]> Cc: [email protected]
2014-04-04dm thin: sort the per thin deferred bios using an rb_treeMike Snitzer1-2/+82
A thin-pool will allocate blocks using FIFO order for all thin devices which share the thin-pool. Because of this simplistic allocation the thin-pool's space can become fragmented quite easily; especially when multiple threads are requesting blocks in parallel. Sort each thin device's deferred_bio_list based on logical sector to help reduce fragmentation of the thin-pool's ondisk layout. The following tables illustrate the realized gains/potential offered by sorting each thin device's deferred_bio_list. An "io size"-sized random read of the device would result in "seeks/io" fragments being read, with an average "distance/seek" between each fragment. Data was written to a single thin device using multiple threads via iozone (8 threads, 64K for both the block_size and io_size). unsorted: io size seeks/io distance/seek -------------------------------------- 4k 0.000 0b 16k 0.013 11m 64k 0.065 11m 256k 0.274 10m 1m 1.109 10m 4m 4.411 10m 16m 17.097 11m 64m 60.055 13m 256m 148.798 25m 1g 809.929 21m sorted: io size seeks/io distance/seek -------------------------------------- 4k 0.000 0b 16k 0.000 1g 64k 0.001 1g 256k 0.003 1g 1m 0.011 1g 4m 0.045 1g 16m 0.181 1g 64m 0.747 1011m 256m 3.299 1g 1g 14.373 1g Signed-off-by: Mike Snitzer <[email protected]> Acked-by: Joe Thornber <[email protected]>
2014-04-04arch/tile: remove unused variable 'devcap'Chris Metcalf1-2/+0
Commit 503275bf37 removed the use of the variable but not the variable itself. Signed-off-by: Chris Metcalf <[email protected]>
2014-04-04tile: Fix vDSO compilation issue with allyesconfigKerry Sheh1-1/+1
make allyesconfig give the following build error on tile: tilegx-linux-gcc: error: arch/tile/kernel/vdso/vgettimeofday32.o: No such file or directory tilegx-linux-objcopy: 'arch/tile/kernel/vdso/vdso32.so.dbg': No such file or directory In case with CONFIG_MODVERSIONS, cmd_cc_o_c generate .tmp_<file>.o from <file>.c only. Fix it by execute rule_cc_o_c instead. Reported-by: Fengguang Wu <[email protected]> Signed-off-by: Kerry Sheh <[email protected]> Signed-off-by: Chris Metcalf <[email protected]>
2014-04-04Merge branch 'v4l_for_linus' of ↵Linus Torvalds384-7923/+44014
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media updates from Mauro Carvalho Chehab: "The main set of series of patches for media subsystem, including: - document RC sysfs class - added an API to setup scancode to allow waking up systems using the Remote Controller - add API for SDR devices. Drivers are still on staging - some API improvements for getting EDID data from media inputs/outputs - new DVB frontend driver for drx-j (ATSC) - one driver (it913x/it9137) got removed, in favor of an improvement on another driver (af9035) - added a skeleton V4L2 PCI driver at documentation - added a dual flash driver (lm3646) - added a new IR driver (img-ir) - added an IR scancode decoder for the Sharp protocol - some improvements at the usbtv driver, to allow its core to be reused. - added a new SDR driver (rtl2832u_sdr) - added a new tuner driver (msi001) - several improvements at em28xx driver to fix PM support, device removal and to split the V4L2 specific bits into a separate sub-driver - one driver got converted to videobuf2 (s2255drv) - the e4000 tuner driver now follows an improved binding model - some fixes at V4L2 compat32 code - several fixes and enhancements at videobuf2 code - some cleanups at V4L2 API documentation - usual driver enhancements, new board additions and misc fixups" [ NOTE! This merge effective drops commit 4329b93b283c ("of: Reduce indentation in of_graph_get_next_endpoint"). The of_graph_get_next_endpoint() function was moved and renamed by commit fd9fdb78a9bf ("[media] of: move graph helpers from drivers/media/v4l2-core to drivers/of"). It was originally called v4l2_of_get_next_endpoint() and lived in the file drivers/media/v4l2-core/v4l2-of.c. In that original location, it was then fixed to support empty port nodes by commit b9db140c1e46 ("[media] v4l: of: Support empty port nodes"), and that commit clashes badly with the dropped "Reduce intendation" commit. I had to choose one or the other, and decided that the "Support empty port nodes" commit was more important ] * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (426 commits) [media] em28xx-dvb: fix PCTV 461e tuner I2C binding Revert "[media] em28xx-dvb: fix PCTV 461e tuner I2C binding" [media] em28xx: fix PCTV 290e LNA oops [media] em28xx-dvb: fix PCTV 461e tuner I2C binding [media] m88ds3103: fix bug on .set_tone() [media] saa7134: fix WARN_ON during resume [media] v4l2-dv-timings: add module name, description, license [media] videodev2.h: add parenthesis around macro arguments [media] saa6752hs: depends on CRC32 [media] si4713: fix Kconfig dependencies [media] Sensoray 2255 uses videobuf2 [media] adv7180: free an interrupt on failure paths in init_device() [media] e4000: make VIDEO_V4L2 dependency optional [media] af9033: Don't export functions for the hardware filter [media] af9035: use af9033 PID filters [media] af9033: implement PID filter [media] rtl2832_sdr: do not use dynamic stack allocation [media] e4000: fix 32-bit build error [media] em28xx-audio: make sure audio is unmuted on open() [media] DocBook media: v4l2_format_sdr was renamed to v4l2_sdr_format ...
2014-04-04hwmon: (it87) Add support for IT8623ERudolf Marek2-5/+8
Add support for the IT8623E found on Asus motherboards. It has same hardware monitoring block as IT8603E. Signed-off-by: Rudolf Marek <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2014-04-04hwmon: (it87) Fix IT8603E define nameRudolf Marek1-3/+3
Fix small typo in the define name for IT8603E. Signed-off-by: Rudolf Marek <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2014-04-04hwmon: (lm90) Convert to use hwmon_device_register_with_groupsGuenter Roeck1-22/+17
Simplify code, reduce code size, and attach hwmon attributes to hwmon device. Signed-off-by: Guenter Roeck <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2014-04-04hwmon: (lm90) Create all sysfs groups in one callGuenter Roeck1-43/+26
Create all sysfs groups in one call by using sysfs_create_groups instead of calling sysfs_create_group individually for each group. Signed-off-by: Guenter Roeck <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2014-04-04hwmon: (lm90) Always use the dev variable in the probe functionGuenter Roeck1-3/+2
Signed-off-by: Guenter Roeck <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2014-04-04hwmon: (lm90) Create most optional attributes with sysfs_create_groupGuenter Roeck1-3/+11
With the new hwmon API, all attributes have to be created as groups. Use sysfs_create_group and sysfs_remove_group instead of device_create_file and device_remove_file to prepare for the new API. Exception is the 'pec' attribute which will stay with the i2c device. Signed-off-by: Guenter Roeck <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2014-04-04hwmon: Avoid initializing the same field twiceJean Delvare10-14/+0
All hwmon drivers allocate their data structure with some form of kzalloc, so setting data fields to zero explicitly is a waste of time. Signed-off-by: Jean Delvare <[email protected]> Reviewed-by: Guenter Roeck <[email protected]>
2014-04-04hwmon: (pc87360) Avoid initializing the same field twiceJean Delvare1-6/+6
data is kzalloc'd, so data->valid, data->innr and data->tempnr are already 0. Also rework the initialization path to only set name and data->fannr once. Signed-off-by: Jean Delvare <[email protected]> Reviewed-by: Guenter Roeck <[email protected]>
2014-04-04hwmon: (lm80) Convert to use devm_hwmon_device_register_with_groupsGuenter Roeck1-48/+22
Simplify code, reduce code size, and attach hwmon attributes to hwmon device. Signed-off-by: Guenter Roeck <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2014-04-04hwmon: (adm1021) Convert to use devm_hwmon_device_register_with_groupsGuenter Roeck1-48/+22
Simplify code, reduce code size, and attach hwmon attributes to hwmon device. Signed-off-by: Guenter Roeck <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2014-04-04hwmon: (lm63) Avoid initializing the same field twiceJean Delvare1-1/+0
data is kzalloc'd, so data->valid is already 0. Signed-off-by: Jean Delvare <[email protected]> Reviewed-by: Guenter Roeck <[email protected]>
2014-04-04hwmon: (lm63) Convert to use devm_hwmon_device_register_with_groupsGuenter Roeck1-66/+40
Simplify code, reduce code size, attach hwmon attributes to hwmon device. Signed-off-by: Guenter Roeck <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2014-04-04hwmon: (lm63) Create all sysfs groups in one callGuenter Roeck1-28/+14
We can create all sysfs groups in one call by using sysfs_create_groups instead of using sysfs_create_group individually for each group. Signed-off-by: Guenter Roeck <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2014-04-04hwmon: (lm63) Introduce 'dev' variable to point to client->devGuenter Roeck1-16/+16
client->dev is used multiple times in several functions. Introduce dev variable pointing to it to simplify the code. Signed-off-by: Guenter Roeck <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2014-04-04hwmon: (lm63) Add additional sysfs group for temp2_type attributeGuenter Roeck1-3/+13
With the new hwmon API, we can only add groups of attributes, not individual attributes. To prepare for the use of the new API, add an additional sensor group for the temp2_type attribute and register it with sysfs_create_group instead of device_create_file. Signed-off-by: Guenter Roeck <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2014-04-04hwmon: (f71805f) Fix author's addressJean Delvare1-1/+1
The original address was incomplete, and this caused it to be missed by the recent update to my new address. Signed-off-by: Jean Delvare <[email protected]>
2014-04-04drm/bridge: export ptn3460_init functionInki Dae1-0/+1
This patch exports ptn3460_init function so that other modules can call this function. Signed-off-by: Inki Dae <[email protected]> Signed-off-by: Kyungmin Park <[email protected]>
2014-04-04drm/exynos: remove MODULE_DEVICE_TABLE definitionsInki Dae2-2/+0
This patch removes MODULE_DEVICE_TABLE definition to of_device_id of DP and MIPI-DSI drivers. Eyxnos drm should be built as single module so these definitions should be removed. Signed-off-by: Inki Dae <[email protected]> Signed-off-by: Kyungmin Park <[email protected]>
2014-04-04ARM: dts: exynos4412-trats2: enable exynos/fimd nodeAndrzej Hajda1-0/+4
The patch changes fimd node status to OK. Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-04-04ARM: dts: exynos4210-trats: enable exynos/fimd nodeAndrzej Hajda1-0/+4
The patch changes fimd node status to OK. Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-04-04ARM: dts: exynos4412-trats2: add panel nodeAndrzej Hajda1-0/+66
The patch adds s6e8aa0 panel node for trats2. It adds also trats2 specific properties for DSI and regulator required by panel. Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-04-04ARM: dts: exynos4210-trats: add panel nodeAndrzej Hajda1-0/+57
The patch adds s6e8aa0 panel node for trats. It adds also trats specific properties for DSI. Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-04-04ARM: dts: exynos4: add MIPI DSI Master nodeAndrzej Hajda1-0/+14
This is a common part of DSI node for all Exynos4 boards. Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-04-04drm/panel: add S6E8AA0 driverAndrzej Hajda3-0/+1077
The patch adds MIPI-DSI based S6E8AA0 AMOLED LCD panel driver. Driver uses mipi_dsi bus to communicate with panel and exposes drm_panel interface. v2 - added bus error handling, - set maxmimum DSI packet size on init, - removed unsupported brightness drm_panel callbacks, - minor improvements v3 - switched to gpiod framework, - minor fixes in error handling Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-04-04ARM: dts: exynos4210-universal_c210: add proper panel nodeAndrzej Hajda1-17/+54
This patch replaces panel bindings for panel initialized by boot loader with bindings to proper ld9040 panel. Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-04-04drm/panel: add ld9040 driverAndrzej Hajda3-0/+384
The patch adds LD9040 parallel RGB panel driver with SPI control interface. The driver uses drm_panel framework. Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-04-04panel/ld9040: add DT bindingsAndrzej Hajda1-0/+66
The patch adds bindings for ld9040 panel. Bindings describe panel resources, boot delays, display timings and physical size. Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-04-04panel/s6e8aa0: add DT bindingsAndrzej Hajda1-0/+56
The patch adds bindings for s6e8aa0 panel. Bindings describes panel resources, boot delays, display timings, orientation and physical size. Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-04-04drm/exynos: add DSIM driverAndrzej Hajda5-0/+1551
The patch adds driver for Exynos DSI master (DSIM). It is a platform driver which is registered as exynos_drm_display sub-driver of exynos_drm framework and implements DRM encoder/connector pair. It is also MIPI-DSI host driver and provides DSI bus for panels. It interacts with its panel(s) using drm_panel framework. Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-04-04exynos/dsim: add DT bindingsAndrzej Hajda1-0/+80
The patch adds DT bindings for Exynos DSI Master. DSIM follows rules for DSI bus host bindings [1]. Properties describes its resources: memory, interrupt, clocks, phy, regulators, frequencies of clocks and video interfaces. [1]: Documentation/devicetree/bindings/mipi/dsi/mipi-dsi-bus.txt Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-04-04drm/exynos: disallow fbdev initialization if no device is connectedAndrzej Hajda1-0/+21
This patch adds explicit check if there is a connector with connected status before fbdev initialization. It prevents creation of default fbdev 1024x768 which is unusable on panels with bigger resolutions. Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-04-04drm/mipi_dsi: create dsi devices only for nodes with reg propertyAndrzej Hajda1-1/+5
MIPI DSI host node can contain child nodes which are not DSI devices. Checking for existence of reg property can be used to distinguish such nodes. Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-04-04drm/mipi_dsi: add flags to DSI messagesAndrzej Hajda1-0/+6
This patch adds flags field to mipi_dsi_msg structure and two flags: - MIPI_DSI_MSG_REQ_ACK - request ACK from peripheral for given message, - MIPI_DSI_MSG_USE_LPM - use Low Power Mode to transmit message. The first flag is usually helpful during DSI diagnostic, the second flag is required by some peripherals during configuration phase. Signed-off-by: Andrzej Hajda <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2014-04-04cgroup: fix top cgroup refcnt leakLi Zefan1-2/+3
As mount() and kill_sb() is not a one-to-one match, If we mount the same cgroupfs in serveral mount points, and then umount all of them, kill_sb() will be called only once. Try: # mount -t cgroup -o cpuacct xxx /cgroup # mount -t cgroup -o cpuacct xxx /cgroup2 # cat /proc/cgroups | grep cpuacct cpuacct 2 1 1 # umount /cgroup # umount /cgroup2 # cat /proc/cgroups | grep cpuacct cpuacct 2 1 1 You'll see cgroupfs will never be freed. Signed-off-by: Li Zefan <[email protected]> Signed-off-by: Tejun Heo <[email protected]>
2014-04-04Skip intel_crt_init for Dell XPS 8700Giacomo Comes1-0/+8
The Dell XPS 8700 has a onboard Display port and HDMI port and no VGA port. The call intel_crt_init freeze the machine, so skip such call. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73559 Signed-off-by: Giacomo Comes <comes at naic.edu> Cc: [email protected] Signed-off-by: Daniel Vetter <[email protected]>
2014-04-04drm/i915: vlv: fix RPS interrupt mask settingImre Deak1-1/+1
This typo may lead to missed RPS interrupts and as a result a too low or too high frequency for the current workload. The interrupt mask will be set properly at a subsequent GPU idle event, but can get corrupted again at the next RPS up/down event. Signed-off-by: Imre Deak <[email protected]> Reviewed-by: Chris Wilson <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2014-04-04Revert "drm/i915/vlv: fixup DDR freq detection per Punit spec"Deepak S1-4/+2
As per the inputs provided by hardware team we still use DDR Rates as 0,1=800, 2=1066, 3=1333. With this change, Turbo freqs used on current machines matches. This reverts commit f64a28a7c5ab2fc342326de9e126acf3cc0f91d6. commit f64a28a7c5ab2fc342326de9e126acf3cc0f91d6 Author: Jesse Barnes <[email protected]> Date: Mon Nov 4 16:07:00 2013 -0800 drm/i915/vlv: fixup DDR freq detection per Punit spec v2: Add reference to previous commit which changed this. (Daniel) Acked-by: Jesse Barnes <[email protected]> Signed-off-by: Deepak S <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2014-04-04drm/i915: move power domain init earlier during system resumeImre Deak1-14/+76
During resume the intel hda audio driver depends on the i915 driver reinitializing the audio power domain. Since the order of calling the i915 resume handler wrt. that of the audio driver is not guaranteed, move the power domain reinitialization step to the resume_early handler. This is guaranteed to run before the resume handler of any other driver. The power domain initialization in turn requires us to enable the i915 pci device first, so move that part earlier too. Accordingly disabling of the i915 pci device should happen after the audio suspend handler ran. So move the disabling later from the i915 resume handler to the resume_late handler. v2: - move intel_uncore_sanitize/early_sanitize earlier too, so they don't get reordered wrt. intel_power_domains_init_hw() Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76152 Signed-off-by: Imre Deak <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Cc: [email protected] [danvet: Add cc: stable and loud comments that this is just a hack.] [danvet: Fix "Should it be static?" sparse warning reported by Wu Fengguang's kbuilder.] Signed-off-by: Daniel Vetter <[email protected]>
2014-04-04drm/tegra: Use standard GPL v2 license textThierry Reding1-11/+3
Use the more canonical and concise variant of the GPL v2 license text. Acked-by: Stephen Warren <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2014-04-04drm/tegra: Relicense under GPL v2Thierry Reding6-87/+18
The majority of the code in this driver is licensed under the GPL v2, so relicense the rest under GPL v2 as well for consistency. Acked-by: Stephen Warren <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2014-04-04drm/tegra: Relicense public header under MITThierry Reding1-9/+15
This file will eventually be exported to libdrm, where all the public header files use the MIT license. Reported-by: Erik Faye-Lund <[email protected]> Acked-by: Stephen Warren <[email protected]> Acked-by: Emil Goode <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2014-04-04drm/tegra: Add eDP supportThierry Reding10-2/+2077
Add support for eDP functionality found on Tegra124 and later SoCs. Only fast link training is currently supported. Signed-off-by: Thierry Reding <[email protected]>
2014-04-04gpu: host1x: export host1x_syncpt_incr_max() functionBryan Wu2-0/+2
Tegra V4L2 camera driver needs this function to do frame capture. Signed-off-by: Bryan Wu <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2014-04-04drm/tegra: prime: Add vmap supportThierry Reding1-0/+14
This is trivial to support since all GEM objects are mapped into kernel space anyway. Signed-off-by: Thierry Reding <[email protected]>