Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
GIT 6866c5adedf260d36bff0df3645cacccbc6ff218 commit a614328ed1ce12a949f1c750666687346638170e Author: Linus Walleij <[email protected]> Date: Wed Apr 23 16:45:12 2014 +0200 gpio: do not set up hardware for IRQ_TYPE_NONE Some GPIO irqchip drivers exploit the irqdomain mapping function to set up the IRQ default type in the hardware, make sure that if we pass IRQ_TYPE_NONE, no hardware setup whatsoever takes place (this should be the norm) until later when the IRQ gets utilized. Cc: Peter Ujfalusi <[email protected]> Cc: Ezequiel Garcia <[email protected]> Cc: Tony Lindgren <[email protected]> Cc: Santosh Shilimkar <[email protected]> Cc: linux-omap <[email protected]> Tested-by: Javier Martinez Canillas <[email protected]> Tested-by: Nishanth Menon <[email protected]> Acked-by: Nishanth Menon <[email protected]> Signed-off-by: Linus Walleij <[email protected]> commit a076e2ed3fd26f8877a3a010e3fae6b5306ba1b0 Author: Heiko Stübner <[email protected]> Date: Wed Apr 23 14:28:59 2014 +0200 pinctrl: rockchip: implement PIN_CONFIG_OUTPUT handling In some cases it is nice to be able to simply control a gpio output via the PIN_CONFIG_OUTPUT option without having a driver control it. Thus add support for it to the rockchip pinctrl driver. Signed-off-by: Heiko Stuebner <[email protected]> Signed-off-by: Linus Walleij <[email protected]> commit dab3eba7c13cff58dbff767dd02ffb847255ddd3 Author: Heiko Stübner <[email protected]> Date: Wed Apr 23 14:27:51 2014 +0200 pinctrl: rockchip: return a complete config in pinconf_get Till now pinconf_get only set the argument value into the config parameter effectively removing the actual config param value. As other pinctrl drivers do, it might be nicer to keep the config param intact. Therefore construct a real pinconfig value from param and arg in pinconf_get Signed-off-by: Heiko Stuebner <[email protected]> Signed-off-by: Linus Walleij <[email protected]> commit cff2fce58b2b0f59089e7edcdc38803d65057b9f Author: Jeff Layton <[email protected]> Date: Tue Apr 22 08:24:32 2014 -0400 locks: rename FL_FILE_PVT and IS_FILE_PVT to use "*_OFDLCK" instead File-private locks have been re-christened as "open file description" locks. Finish the symbol name cleanup in the internal implementation. Signed-off-by: Jeff Layton <[email protected]> commit 7420d2d09b1279996e06efa6792f9f13c1863b1e Author: Linus Walleij <[email protected]> Date: Tue Apr 15 14:43:47 2014 +0800 pinctrl: sirf: switch driver to use gpiolib irqchip helpers This switches the SiRF pinctrl driver over to using the gpiolib irqchip helpers simplifying some of the code. Signed-off-by: Barry Song <[email protected]> Signed-off-by: Linus Walleij <[email protected]> commit c5eb757ca87d0fffcface683b8efda193cf3d4d4 Author: Barry Song <[email protected]> Date: Tue Apr 15 14:43:46 2014 +0800 pinctrl: sirf: wrap all gpio banks into one gpio_chip all gpio banks are in one chip, that makes software clean in mapping irq and gpio. Signed-off-by: Barry Song <[email protected]> Signed-off-by: Linus Walleij <[email protected]> commit aef95b691feb44cd98010085295e23f209571b3b Author: Linus Walleij <[email protected]> Date: Tue Apr 8 10:59:29 2014 +0200 pinctrl: sirf: rename inlined accessor The sirfsoc_irqchip_to_bank() is obviously misnamed, as it is not converting an irqchip to a bank but converts a gpiochip to a bank so rename it sirfsoc_gpiochip_to_bank(). Acked-by: Barry Song <[email protected]> Signed-off-by: Linus Walleij <[email protected]> commit 2aa5a68c53b0ca4184b06123f96d54d96b12f873 Author: Antoine Ténart <[email protected]> Date: Tue Apr 22 10:27:28 2014 +0200 ARM: dts: berlin: enable SD card reader and eMMC for the BG2Q DMP Enable the SD Card reader and the internal eMMC on the Berlin BG2Q DMP using two of the SDHCI nodes of the Berlin BG2Q. Signed-off-by: Antoine Ténart <[email protected]> Signed-off-by: Sebastian Hesselbarth <[email protected]> commit 2816b554a3610ef0e49cb8778844277e84c47eaf Author: Antoine Ténart <[email protected]> Date: Tue Apr 22 10:27:27 2014 +0200 ARM: dts: berlin: add the SDHCI nodes for the BG2Q Add the SDHCI nodes for the Marvell Berlin BG2Q, using the mrvl,pxav3-mmc driver. Signed-off-by: Antoine Ténart <[email protected]> Signed-off-by: Sebastian Hesselbarth <[email protected]> commit 34d791fd8a19edbfb822e9f05852042fba057c37 Author: Alexandre Belloni <[email protected]> Date: Fri Mar 21 21:08:41 2014 +0100 ARM: berlin: add cpupll and syspll support to BG2 The Berlin BG2 has two supported PLLs: CPU PLL and System PLL, add those to the SoC device tree. This also moves the remaining clocks from the clocks container node to the root. Signed-off-by: Alexandre Belloni <[email protected]> Signed-off-by: Sebastian Hesselbarth <[email protected]> commit 25257827357663f267a4260acabf6da558c535a7 Author: Alexandre Belloni <[email protected]> Date: Fri Mar 21 21:08:40 2014 +0100 ARM: berlin: add cpupll and syspll support to BG2CD The Berlin BG2CD has two supported PLLs: CPU PLL and System PLL, add those to the SoC device tree. This also moves the remaining clocks from the clocks container node to the root. Signed-off-by: Alexandre Belloni <[email protected]> Signed-off-by: Sebastian Hesselbarth <[email protected]> commit c937aa1b0b4e40c1247f7020e5095756a7bcd4f6 Author: Alexandre Belloni <[email protected]> Date: Fri Mar 21 21:08:39 2014 +0100 ARM: berlin: add cpupll and syspll support to BG2Q The Berlin BG2Q has two supported PLLs: CPU PLL and System PLL, add those to the SoC device tree. Signed-off-by: Alexandre Belloni <[email protected]> Signed-off-by: Sebastian Hesselbarth <[email protected]> commit 35d0c383e526031145db7643618d9a529454a32f Author: Eric Paris <[email protected]> Date: Tue Apr 22 12:39:51 2014 -0400 sparc: implement is_32bit_task We are currently embedding the same check from thread_info.h into syscall.h thanks to the way syscall_get_arch() was implemented in the audit tree. Instead create a new function, is_32bit_task() which is similar to that found on the powerpc arch. This simplifies the syscall.h code and makes the build/Kconfig requirements much easier to understand. Signed-off-by: Eric Paris <[email protected] Acked-by: David S. Miller <[email protected]> Cc: Stephen Rothwell <[email protected]> Cc: [email protected] commit 83d5b7ef99c9f05e87333b334a638de1264ab8e4 Author: Alexei Starovoitov <[email protected]> Date: Tue Apr 22 20:18:57 2014 -0700 net: filter: initialize A and X registers exisiting BPF verifier allows uninitialized access to registers, 'ret A' is considered to be a valid filter. So initialize A and X to zero to prevent leaking kernel memory In the future BPF verifier will be rejecting such filters Signed-off-by: Alexei Starovoitov <[email protected]> Cc: Daniel Borkmann <[email protected]> Acked-by: Daniel Borkmann <[email protected]> Signed-off-by: David S. Miller <[email protected]> commit 2ebb15820ef72b45846c1f5fcc5462f63aefe0b8 Author: Shruti Kanetkar <[email protected]> Date: Tue Apr 22 14:21:47 2014 -0500 net/phy: Remove return value for void function This was caught when using a spatch (aka. coccinelle) script written by Joe Perches. Cc: Joe Perches <[email protected]> Signed-off-by: Shruti Kanetkar <[email protected]> Signed-off-by: David S. Miller <[email protected]> commit 2d283862dc62daead9db0dc89cd0d0351e91f765 Author: Alexey Charkov <[email protected]> Date: Tue Apr 22 19:28:09 2014 +0400 net: via-rhine: add OF bus binding This should make the driver usable with VIA/WonderMedia ARM-based Systems-on-Chip integrated Rhine III adapters. Note that these are always in MMIO mode, and don't have any known EEPROM. Signed-off-by: Alexey Charkov <[email protected]> Acked-by: Rob Herring <[email protected]> Signed-off-by: David S. Miller <[email protected]> commit f7630d189c6ade2c83e20fa37169114def4271e8 Author: Alexey Charkov <[email protected]> Date: Tue Apr 22 19:28:08 2014 +0400 net: via-rhine: reduce usage of the PCI-specific struct Use more generic data structures instead of struct pci_dev wherever possible in preparation for OF bus binding Signed-off-by: Alexey Charkov <[email protected]> Signed-off-by: David S. Miller <[email protected]> commit 4087c4dc120e150e4c7103a53bd5ee978b8db7c7 Author: Alexey Charkov <[email protected]> Date: Tue Apr 22 19:28:07 2014 +0400 net: via-rhine: switch to generic DMA functions Remove legacy PCI DMA wrappers and instead use generic DMA functions directly in preparation for OF bus binding Signed-off-by: Alexey Charkov <[email protected]> Signed-off-by: David S. Miller <[email protected]> commit c06cbcb6052edd8f4ee00d65f874b26404ac8f96 Author: Ben Hutchings <[email protected]> Date: Tue Apr 22 17:29:42 2014 +0100 net: Update my email address Signed-off-by: Ben Hutchings <[email protected]> Signed-off-by: David S. Miller <[email protected]> commit 9e4b93f905bc0ca1363a07b0f039455d9117d6bc Author: Nicolas Dichtel <[email protected]> Date: Tue Apr 22 15:01:30 2014 +0200 vxlan: ensure to advertise the right fdb remote The goal of this patch is to fix rtnelink notification. The main problem was about notification for fdb entry with more than one remote. Before the patch, when a remote was added to an existing fdb entry, the kernel advertised the first remote instead of the added one. Also when a remote was removed from a fdb entry with several remotes, the deleted remote was not advertised. Signed-off-by: Nicolas Dichtel <[email protected]> Signed-off-by: David S. Miller <[email protected]> commit 6a1197457f9ec085871d2f842e1bbbe9d13216da Author: Hubert Chaumette <[email protected]> Date: Tue Apr 22 15:01:04 2014 +0200 net/phy: micrel: fix bugged test on device tree loading for ksz9021 In ksz9021_load_values_from_of() val2 to val4 aren't tested against their initialization value. This causes the test to always succeed, and this value to be used as if it was loaded from the devicetree instead of being ignored, in case of a missing/invalid property in the ethernet OF device node. As a result, the value "0" is written to the relevant registers. Change the conditions to test against the right initialization value. Signed-off-by: Hubert Chaumette <[email protected]> Signed-off-by: David S. Miller <[email protected]> commit e676f197a7a9aae9c75b0d9acc97e07de07dd1f0 Author: Herbert Xu <[email protected]> Date: Tue Apr 22 17:15:34 2014 +0800 macvlan: Fix leak and NULL dereference on error path The recent patch that moved broadcasts to process context added a couple of bugs on the error path where we may dereference NULL or leak an skb. This patch fixes them. Reported-by: Dan Carpenter <[email protected]> Signed-off-by: Herbert Xu <[email protected]> Signed-off-by: David S. Miller <[email protected]> commit 22f08069e8b415b827e910ad75ed55eeadc4a877 Author: Nicolas Dichtel <[email protected]> Date: Tue Apr 22 10:15:24 2014 +0200 ip6gre: add x-netns support This patch allows to switch the netns when packet is encapsulated or decapsulated. In other word, the encapsulated packet is received in a netns, where the lookup is done to find the tunnel. Once the tunnel is found, the packet is decapsulated and injecting into the corresponding interface which stands to another netns. When one of the two netns is removed, the tunnel is destroyed. Signed-off-by: Nicolas Dichtel <[email protected]> Signed-off-by: David S. Miller <[email protected]> commit b57708add31494175be741ed3fd24023b50c3423 Author: Nicolas Dichtel <[email protected]> Date: Tue Apr 22 10:15:23 2014 +0200 gre: add x-netns support This patch allows to switch the netns when packet is encapsulated or decapsulated. In other word, the encapsulated packet is received in a netns, where the lookup is done to find the tunnel. Once the tunnel is found, the packet is decapsulated and injecting into the corresponding interface which stands to another netns. When one of the two netns is removed, the tunnel is destroyed. Signed-off-by: Nicolas Dichtel <[email protected]> Signed-off-by: David S. Miller <[email protected]> commit 893f66277799cd46bdf97429cc5d16a815a51273 Author: Haiyang Zhang <[email protected]> Date: Mon Apr 21 14:54:44 2014 -0700 hyperv: Simplify the send_completion variables The union contains only one member now, so we use the variables in it directly. Signed-off-by: Haiyang Zhang <[email protected]> Reviewed-by: K. Y. Srinivasan <[email protected]> Signed-off-by: David S. Miller <[email protected]> commit 4baab26129e0540746744232022110dbe9e011e7 Author: Haiyang Zhang <[email protected]> Date: Mon Apr 21 14:54:43 2014 -0700 hyperv: Remove recv_pkt_list and lock Removed recv_pkt_list and lock, and updated related code, so that the locking overhead is reduced especially when multiple channels are in use. The recv_pkt_list isn't actually necessary because the packets are processed sequentially in each channel. It has been replaced by a local variable, and the related lock for this list is also removed. The is_data_pkt field is not used in receive path, so its assignment is cleaned up. Signed-off-by: Haiyang Zhang <[email protected]> Reviewed-by: K. Y. Srinivasan <[email protected]> Signed-off-by: David S. Miller <[email protected]> commit 021b5ea173843eaa5453ee9df00ebaedb45b77c6 Author: Sekhar Nori <[email protected]> Date: Tue Apr 22 13:58:03 2014 +0530 ARM: l2c: AM43x: add L2 cache support Add support for L2 cache controller (PL310) on AM437x SoC. Signed-off-by: Sekhar Nori <[email protected]> Acked-by: Santosh Shilimkar <[email protected]> Signed-off-by: Russell King <[email protected]> commit e0c60f5305230d5b9554bad2816cb85b6a9b6bdf Author: Sekhar Nori <[email protected]> Date: Tue Apr 22 13:58:01 2014 +0530 ARM: l2c: omap2+: get rid of init call Get rid of init call to initialize L2 cache. Instead use the init_early machine hook. This helps in using the initialization routine across SoCs without the need of ugly cpu_is_*() checks. Signed-off-by: Sekhar Nori <[email protected]> Acked-by: Santosh Shilimkar <[email protected]> Signed-off-by: Russell King <[email protected]> commit cefe57b9b45af943967d9f40347ccd77415eae0f Author: Sekhar Nori <[email protected]> Date: Tue Apr 22 13:58:02 2014 +0530 ARM: l2c: omap2+: get rid of redundant cache replacement policy setting L2 cache initialization for OMAP4 redundantly sets the cache policy to Round-Robin. This is not needed since thats the PL310 default anyway. Removing this reduces the number of platform specific aux control settings. Signed-off-by: Sekhar Nori <[email protected]> Acked-by: Santosh Shilimkar <[email protected]> Signed-off-by: Russell King <[email protected]> commit 66a8049ebd395b6d28d3af42daaf54890812bdbf Author: Russell King <[email protected]> Date: Fri Apr 11 00:48:25 2014 +0100 ARM: l2c: always enable non-secure access to lockdown registers Since we always write to these during the cache initialisation, it is a good idea to always have the non-secure access bit set. Set it in core code and remove it from OMAP4. Remove the NS access bit for the interrupt registers from OMAP4 as well - nothing in the kernel accesses that yet, and we can add it in core code when we have the need. Signed-off-by: Russell King <[email protected]> commit 673b65614f0c866619e6760fa9d9f60eeb2d5d44 Author: Al Viro <[email protected]> Date: Sat Apr 5 13:31:50 2014 -0400 kill generic_file_splice_write() no callers left Signed-off-by: Al Viro <[email protected]> commit caffa86addd25a5830899988e05d4940e91cda7a Author: Al Viro <[email protected]> Date: Sat Apr 5 04:40:12 2014 -0400 ceph: switch to iter_file_splice_write() Signed-off-by: Al Viro <[email protected]> commit cb1528d30e4d780e5acff481720100c5b561f731 Author: Al Viro <[email protected]> Date: Sat Apr 5 04:38:56 2014 -0400 shmem: switch to iter_file_splice_write() Signed-off-by: Al Viro <[email protected]> commit bd686639258b0a33ba9e5d0844bc0c0eedbb37f1 Author: Al Viro <[email protected]> Date: Sat Apr 5 04:37:17 2014 -0400 nfs: switch to iter_splice_write_file() Signed-off-by: Al Viro <[email protected]> commit 7c78da670de211667442c7f26687caf17589efa0 Author: Al Viro <[email protected]> Date: Sat Apr 5 04:35:49 2014 -0400 fs/splice.c: remove unneeded exports ocfs2 was using a bunch of splice.c guts... Signed-off-by: Al Viro <[email protected]> commit 0ad4101e2e46b7785aebb85e05566b3475f881e4 Author: Al Viro <[email protected]> Date: Sat Apr 5 04:34:23 2014 -0400 ocfs2: switch to iter_file_splice_write() Signed-off-by: Al Viro <[email protected]> commit d2f246523067c00f1cb272272a0187b355cb1d6e Author: Al Viro <[email protected]> Date: Sat Apr 5 04:27:08 2014 -0400 ->splice_write() via ->write_iter() iter_file_splice_write() - a ->splice_write() instance that gathers the pipe buffers, builds a bio_vec-based iov_iter covering those and feeds it to ->write_iter(). A bunch of simple cases coverted to that... Signed-off-by: Al Viro <[email protected]> commit f990bbc9bfa3cbd2df0d0050a15ef574d9ef6854 Author: Al Viro <[email protected]> Date: Fri Apr 4 23:12:29 2014 -0400 bio_vec-backed iov_iter New variant of iov_iter - ITER_BVEC in iter->type, backed with bio_vec array instead of iovec one. Primitives taught to deal with such beasts, __swap_write() switched to using that kind of iov_iter. Note that bio_vec is just a <page, offset, length> triple - there's nothing block-specific about it. I've left the definition where it was, but took it from under ifdef CONFIG_BLOCK. Next target: ->splice_write()... Signed-off-by: Al Viro <[email protected]> commit 364eeb4dc6fe2c0c47d955d95cd1fa87d16cf652 Author: Al Viro <[email protected]> Date: Fri Apr 4 19:23:46 2014 -0400 optimize copy_page_{to,from}_iter() if we'd ended up in the end of a segment, jump to the beginning of the next one (iov_offset = 0, iov++), rather than having the next primitive deal with that. Ought to be folded back... Signed-off-by: Al Viro <[email protected]> commit 4acc364a460a880df912e92f97caa2e9c7b78ffe Author: Al Viro <[email protected]> Date: Fri Apr 4 14:20:57 2014 -0400 bury generic_file_aio_{read,write} no callers left Signed-off-by: Al Viro <[email protected]> commit 66bf2adc2b7ae80dd4136e461d506e6349a24e1a Author: Al Viro <[email protected]> Date: Fri Apr 4 12:15:19 2014 -0400 lustre: get rid of messing with iovecs * switch to ->read_iter/->write_iter * keep a pointer to iov_iter instead of iov/nr_segs * do not modify iovecs; use iov_iter_truncate()/iov_iter_advance() and a new primitive - iov_iter_reexpand() (expand previously truncated iterator) istead. * (racy) check for lustre VMAs intersecting with iovecs kept for now as for_each_iov() loop. Signed-off-by: Al Viro <[email protected]> commit 0d995e67f8f95338d3a97782a69f2d2f42500583 Author: Al Viro <[email protected]> Date: Thu Apr 3 23:09:01 2014 -0400 ceph: switch to ->write_iter() Signed-off-by: Al Viro <[email protected]> commit ab078bdf1728ce5febf92a4c8c9d044bb500825e Author: Al Viro <[email protected]> Date: Thu Apr 3 22:58:25 2014 -0400 ceph_sync_direct_write: stop poking into iov_iter guts all needed primitives are there... Signed-off-by: Al Viro <[email protected]> commit d834906ec8a833a5d0b76d65c717758b33b8bbdc Author: Al Viro <[email protected]> Date: Thu Apr 3 22:31:22 2014 -0400 ceph_sync_read: stop poking into iov_iter guts Signed-off-by: Al Viro <[email protected]> commit 83f241c03065c7824d9fd964709d9c92bf85c13f Author: Al Viro <[email protected]> Date: Thu Apr 3 15:05:18 2014 -0400 new helper: copy_page_from_iter() parallel to copy_page_to_iter(). pipe_write() switched to it (and became ->write_iter()). Signed-off-by: Al Viro <[email protected]> commit 8edcd2d842c8ca8ac53b1175139fb6487f90dee3 Author: Al Viro <[email protected]> Date: Thu Apr 3 14:33:23 2014 -0400 fuse: switch to ->write_iter() Signed-off-by: Al Viro <[email protected]> commit fd353d01663fac77652c1070b20db181d65d9a47 Author: Al Viro <[email protected]> Date: Thu Apr 3 14:29:04 2014 -0400 btrfs: switch to ->write_iter() Signed-off-by: Al Viro <[email protected]> commit dd5e55236b1f8dfd21a1eb6bac66c2e161353c59 Author: Al Viro <[email protected]> Date: Thu Apr 3 14:25:22 2014 -0400 ocfs2: switch to ->write_iter() Signed-off-by: Al Viro <[email protected]> commit 24d099ed4d702db1f9c80658bbf7f4b65ad5c5a1 Author: Al Viro <[email protected]> Date: Thu Apr 3 14:20:23 2014 -0400 xfs: switch to ->write_iter() Signed-off-by: Al Viro <[email protected]> commit 64dcf804a0dad550502c3f5359609c33448705cf Author: Al Viro <[email protected]> Date: Thu Apr 3 14:13:46 2014 -0400 afs: switch to ->write_iter() Signed-off-by: Al Viro <[email protected]> commit c7b9747a05c43c533a72a1a4bf05efa2c077697b Author: Al Viro <[email protected]> Date: Thu Apr 3 14:11:01 2014 -0400 gfs2: switch to ->write_iter() Signed-off-by: Al Viro <[email protected]> commit eb0e6430cf51a95e1ed6d1c1f385a41dfca082a4 Author: Al Viro <[email protected]> Date: Thu Apr 3 14:07:25 2014 -0400 nfs: switch to ->write_iter() Signed-off-by: Al Viro <[email protected]> commit 25698dc3f1879379b505716b868d1086993c3da5 Author: Al Viro <[email protected]> Date: Thu Apr 3 14:00:23 2014 -0400 ubifs: switch to ->write_iter() Signed-off-by: Al Viro <[email protected]> commit 6e7a6c1953d284deebbdfdcce1dafac107e58a23 Author: Al Viro <[email protected]> Date: Thu Apr 3 03:32:25 2014 -0400 bury __generic_file_aio_write() all users converted to __generic_file_write_iter() now Signed-off-by: Al Viro <[email protected]> commit 095b98db1ba7e2497f4373c465701f89aa1b8a56 Author: Al Viro <[email protected]> Date: Thu Apr 3 12:05:17 2014 -0400 cifs: switch to ->write_iter() Signed-off-by: Al Viro <[email protected]> commit e054d7ca23dd3d3355ab45f825f52e1b26b20119 Author: Al Viro <[email protected]> Date: Thu Apr 3 03:31:17 2014 -0400 udf: switch to ->write_iter() Signed-off-by: Al Viro <[email protected]> commit fa4d1a22617514a48adff682b775295112b95a65 Author: Al Viro <[email protected]> Date: Thu Apr 17 16:09:22 2014 -0400 convert ext4 to ->write_iter() unfortunately, Ted's changes to ext4_file_write() are *still* an incomplete fix - playing with rlimits can let you smuggle an unaligned request past the checks. So there almost certainly will be more merge PITA around that place... [fix from Peter Ujfalusi <[email protected]> folded] Signed-off-by: Al Viro <[email protected]> commit f5f4a0fb44f828230245b9430dc1c2dcd2ba59f3 Author: Al Viro <[email protected]> Date: Thu Apr 3 03:21:50 2014 -0400 blkdev_aio_write() - turn into blkdev_write_iter() Signed-off-by: Al Viro <[email protected]> commit e6552301fb08c76b591c31b9314116a65b944039 Author: Al Viro <[email protected]> Date: Thu Apr 3 03:17:43 2014 -0400 write_iter variants of {__,}generic_file_aio_write() Signed-off-by: Al Viro <[email protected]> commit 039e531c56f1391205d01b6c5e83423be8106a69 Author: Al Viro <[email protected]> Date: Wed Apr 2 20:28:01 2014 -0400 ceph: switch to ->read_iter() Signed-off-by: Al Viro <[email protected]> commit 9e431f21f82e7794c411468b6fcfd3716758b6c5 Author: Al Viro <[email protected]> Date: Wed Apr 2 20:14:12 2014 -0400 nfs: switch to ->read_iter() Signed-off-by: Al Viro <[email protected]> commit 19d9e89a2de4aa9d32e6071831d14e84ed200860 Author: Al Viro <[email protected]> Date: Wed Apr 2 20:02:21 2014 -0400 fs/block_dev.c: switch to ->read_iter() Signed-off-by: Al Viro <[email protected]> commit 0173d71ed29a46b2198d922e5e6dd0a143ecec71 Author: Al Viro <[email protected]> Date: Wed Apr 2 20:00:02 2014 -0400 shmem: switch to ->read_iter() Signed-off-by: Al Viro <[email protected]> commit f52ed8134326bfd40c71dd3b03a07f027ac2e2f5 Author: Al Viro <[email protected]> Date: Wed Apr 2 19:56:54 2014 -0400 pipe: switch to ->read_iter() Signed-off-by: Al Viro <[email protected]> commit 18530ac876393a487892af2eb682381d418519f1 Author: Al Viro <[email protected]> Date: Wed Apr 2 19:53:36 2014 -0400 cifs: switch to ->read_iter() Signed-off-by: Al Viro <[email protected]> commit c6c7a409ad04c0e04093c45631d40da5399c890e Author: Al Viro <[email protected]> Date: Wed Apr 2 14:47:09 2014 -0400 fuse_file_aio_read(): convert to ->read_iter() Signed-off-by: Al Viro <[email protected]> commit 9162e88348efef838d58b47a8ad6d529be47717f Author: Al Viro <[email protected]> Date: Wed Apr 2 14:44:18 2014 -0400 ocfs2: switch to ->read_iter() tracepoints are evil, exhibit #6969... Signed-off-by: Al Viro <[email protected]> commit ac8a04a66b3ea8a7bdcc15709f48f7e3f61f1cfe Author: Al Viro <[email protected]> Date: Wed Apr 2 14:40:38 2014 -0400 ecryptfs: switch to ->read_iter() Signed-off-by: Al Viro <[email protected]> commit f8b5abb60a9cba14b179214aa05896a8e0fc816e Author: Al Viro <[email protected]> Date: Wed Apr 2 14:37:59 2014 -0400 xfs: switch to ->read_iter() Signed-off-by: Al Viro <[email protected]> commit 8eb02141b8a6e2bc03588353f20729782948fafa Author: Al Viro <[email protected]> Date: Wed Apr 2 14:33:16 2014 -0400 switch simple generic_file_aio_read() users to ->read_iter() Signed-off-by: Al Viro <[email protected]> commit 4ba221d091f294a173a21f0c7268937a045982bd Author: Al Viro <[email protected]> Date: Tue Feb 11 18:37:41 2014 -0500 new methods: ->read_iter() and ->write_iter() Beginning to introduce those. Just the callers for now, and it's clumsier than it'll eventually become; once we finish converting aio_read and aio_write instances, the things will get nicer. For now, these guys are in parallel to ->aio_read() and ->aio_write(); they take iocb and iov_iter, with everything in iov_iter already validated. File offset is passed in iocb->ki_pos, iov/nr_segs - in iov_iter. Main concerns in that series are stack footprint and ability to split the damn thing cleanly. [fix from Peter Ujfalusi <[email protected]> folded] Signed-off-by: Al Viro <[email protected]> commit fec1182acc775f19bd65effc7cf79303a000a6d8 Author: Poulain, Loic <[email protected]> Date: Tue Apr 1 14:56:17 2014 +0000 Bluetooth: Remove hci_h4 unused defines H4 states are not used anymore. Signed-off-by: Loic Poulain <[email protected]> Signed-off-by: Gustavo Padovan <[email protected]> commit 25eeb894cde01d19d67c6fb54b24803db3d599f2 Author: Mohammed Habibulla <[email protected]> Date: Thu Apr 17 11:37:13 2014 -0700 Bluetooth: Add support for Lite-on [04ca:3007] Add support for the AR9462 chip T: Bus=01 Lev=01 Prnt=01 Port=03 Cnt=03 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=04ca ProdID=3007 Rev= 0.01 C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms Signed-off-by: Mohammed Habibulla <[email protected]> Cc: [email protected] Signed-off-by: Gustavo Padovan <[email protected]> commit f8f22e53a262ebee37fc98004f16b066cf5bc125 Author: Tejun Heo <[email protected]> Date: Wed Apr 23 11:13:16 2014 -0400 cgroup: implement dynamic subtree controller enable/disable on the default hierarchy cgroup is switching away from multiple hierarchies and will use one unified default hierarchy where controllers can be dynamically enabled and disabled per subtree. The default hierarchy will serve as the unified hierarchy to which all controllers are attached and a css on the default hierarchy would need to also serve the tasks of descendant cgroups which don't have the controller enabled - ie. the tree may be collapsed from leaf towards root when viewed from specific controllers. This has been implemented through effective css in the previous patches. This patch finally implements dynamic subtree controller enable/disable on the default hierarchy via a new knob - "cgroup.subtree_control" which controls which controllers are enabled on the child cgroups. Let's assume a hierarchy like the following. root - A - B - C \ D root's "cgroup.subtree_control" determines which controllers are enabled on A. A's on B. B's on C and D. This coincides with the fact that controllers on the immediate sub-level are used to distribute the resources of the parent. In fact, it's natural to assume that resource control knobs of a child belong to its parent. Enabling a controller in "cgroup.subtree_control" declares that distribution of the respective resources of the cgroup will be controlled. Note that this means that controller enable states are shared among siblings. The default hierarchy has an extra restriction - only cgroups which don't contain any task may have controllers enabled in "cgroup.subtree_control". Combined with the other properties of the default hierarchy, this guarantees that, from the view point of controllers, tasks are only on the leaf cgroups. In other words, only leaf csses may contain tasks. This rules out situations where child cgroups compete against internal tasks of the parent, which is a competition between two different types of entities without any clear way to determine resource distribution between the two. Different controllers handle it differently and all the implemented behaviors are ambiguous, ad-hoc, cumbersome and/or just wrong. Having this structural constraints imposed from cgroup core removes the burden from controller implementations and enables showing one consistent behavior across all controllers. When a controller is enabled or disabled, css associations for the controller in the subtrees of each child should be updated. After enabling, the whole subtree of a child should point to the new css of the child. After disabling, the whole subtree of a child should point to the cgroup's css. This is implemented by first updating cgroup states such that cgroup_e_css() result points to the appropriate css and then invoking cgroup_update_dfl_csses() which migrates all tasks in the affected subtrees to the self cgroup on the default hierarchy. * When read, "cgroup.subtree_control" lists all the currently enabled controllers on the children of the cgroup. * White-space separated list of controller names prefixed with either '+' or '-' can be written to "cgroup.subtree_control". The ones prefixed with '+' are enabled on the controller and '-' disabled. * A controller can be enabled iff the parent's "cgroup.subtree_control" enables it and disabled iff no child's "cgroup.subtree_control" has it enabled. * If a cgroup has tasks, no controller can be enabled via "cgroup.subtree_control". Likewise, if "cgroup.subtree_control" has some controllers enabled, tasks can't be migrated into the cgroup. * All controllers which aren't bound on other hierarchies are automatically associated with the root cgroup of the default hierarchy. All the controllers which are bound to the default hierarchy are listed in the read-only file "cgroup.controllers" in the root directory. * "cgroup.controllers" in all non-root cgroups is read-only file whose content is equal to that of "cgroup.subtree_control" of the parent. This indicates which controllers can be used in the cgroup's "cgroup.subtree_control". This is still experimental and there are some holes, one of which is that ->can_attach() failure during cgroup_update_dfl_csses() may leave the cgroups in an undefined state. The issues will be addressed by future patches. v2: Non-root cgroups now also have "cgroup.controllers". Signed-off-by: Tejun Heo <[email protected]> Acked-by: Li Zefan <[email protected]> commit f817de98513d060023be4fa1d061b29a6515273e Author: Tejun Heo <[email protected]> Date: Wed Apr 23 11:13:16 2014 -0400 cgroup: prepare migration path for unified hierarchy Unified hierarchy implementation would require re-migrating tasks onto the same cgroup on the default hierarchy to reflect updated effective csses. Update cgroup_migrate_prepare_dst() so that it accepts NULL as the destination cgrp. When NULL is specified, the destination is considered to be the cgroup on the default hierarchy associated with each css_set. After this change, the identity check in cgroup_migrate_add_src() isn't sufficient for noop detection as the associated csses may change without any cgroup association changing. The only way to tell whether a migration is noop or not is testing whether the source and destination csets are identical. The noop check in cgroup_migrate_add_src() is removed and cset identity test is added to cgroup_migreate_prepare_dst(). If it's detected that source and destination csets are identical, the cset is removed removed from @preloaded_csets and all the migration nodes are cleared which makes cgroup_migrate() ignore the cset. Also, make the function append the destination css_sets to @preloaded_list so that destination css_sets always come after source css_sets. Signed-off-by: Tejun Heo <[email protected]> Acked-by: Li Zefan <[email protected]> commit 7fd8c565d8a501486d63d7ee07fd6582e97db437 Author: Tejun Heo <[email protected]> Date: Wed Apr 23 11:13:16 2014 -0400 cgroup: update subsystem rebind restrictions Because the default root couldn't have any non-root csses attached to it, rebinding away from it was always allowed; however, the default hierarchy will soon host the unified hierarchy and have non-root csses so the rebind restrictions need to be updated accordingly. Instead of special casing rebinding from the default hierarchy and then checking whether the source hierarchy has children cgroups, which implies non-root csses for !dfl hierarchies, simply check whether the source hierarchy has non-root csses for the subsystem using css_next_child(). Signed-off-by: Tejun Heo <[email protected]> Acked-by: Li Zefan <[email protected]> commit 6803c006282768ec850760766a6e4eb1a6ff87df Author: Tejun Heo <[email protected]> Date: Wed Apr 23 11:13:16 2014 -0400 cgroup: add css_set->dfl_cgrp To implement the unified hierarchy behavior, we'll need to be able to determine the associated cgroup on the default hierarchy from css_set. Let's add css_set->dfl_cgrp so that it can be accessed conveniently and efficiently. Signed-off-by: Tejun Heo <[email protected]> Acked-by: Li Zefan <[email protected]> commit bd53d617b34c781dac8e22dbc75e8f182d918ecf Author: Tejun Heo <[email protected]> Date: Wed Apr 23 11:13:16 2014 -0400 cgroup: allow cgroup creation and suppress automatic css creation in the unified hierarchy Now that effective css handling has been added and iterators updated accordingly, it's safe to allow cgroup creation in the default hierarchy. Unblock cgroup creation in the default hierarchy. As the default hierarchy will implement explicit enabling and disabling of controllers on each cgroup, suppress automatic css enabling on cgroup creation. Signed-off-by: Tejun Heo <[email protected]> Acked-by: Li Zefan <[email protected]> commit e32978031016f56be977a9a856ba4d9f447db51f Author: Tejun Heo <[email protected]> Date: Wed Apr 23 11:13:15 2014 -0400 cgroup: cgroup->subsys[] should be cleared after the css is offlined After a css finishes offlining, offline_css() mistakenly performs RCU_INIT_POINTER(css->cgroup->subsys[ss->id], css) which just sets the cgroup->subsys[] pointer to the current value. The intention was to clear it after offline is complete, not reassign the same value. Update it to assign NULL instead of the current value. This makes cgroup_css() to return NULL once offline is complete. All the existing users of the function either can handle NULL return already or guarantee that the css doesn't get offlined. While this is a bugfix, as css lifetime is currently tied to the cgroup it belongs to, this bug doesn't cause any actual problems. Signed-off-by: Tejun Heo <[email protected]> Acked-by: Li Zefan <[email protected]> commit 3ebb2b6ef38875b866ec0118bfae7bc52afd0166 Author: Tejun Heo <[email protected]> Date: Wed Apr 23 11:13:15 2014 -0400 cgroup: teach css_task_iter about effective csses Currently, css_task_iter iterates tasks associated with a css by visiting each css_set associated with the owning cgroup and walking tasks of each of them. This works fine for !unified hierarchies as each cgroup has its own css for each associated subsystem on the hierarchy; however, on the planned unified hierarchy, a cgroup may not have csses associated and its tasks would be considered associated with the matching css of the nearest ancestor which has the subsystem enabled. This means that on the default unified hierarchy, just walking all tasks associated with a cgroup isn't enough to walk all tasks which are associated with the specified css. If any of its children doesn't have the matching css enabled, task iteration should also include all tasks from the subtree. We already added cgroup->e_csets[] to list all css_sets effectively associated with a given css and walk css_sets on that list instead to achieve such iteration. This patch updates css_task_iter iteration such that it walks css_sets on cgroup->e_csets[] instead of cgroup->cset_links if iteration is requested on an non-dummy css. Thanks to the previous iteration update, this change can be achieved with the addition of css_task_iter->ss and minimal updates to css_advance_task_iter() and css_task_iter_start(). Signed-off-by: Tejun Heo <[email protected]> Acked-by: Li Zefan <[email protected]> commit 0f0a2b4fa6210147131082999f1f16d7fb79abf8 Author: Tejun Heo <[email protected]> Date: Wed Apr 23 11:13:15 2014 -0400 cgroup: reorganize css_task_iter This patch reorganizes css_task_iter so that adding effective css support is easier. * s/->cset_link/->cset_pos/ and s/->task/->task_pos/ for consistency * ->origin_css is used to determine whether the iteration reached the last css_set. Replace it with explicit ->cset_head so that css_advance_task_iter() doesn't have to know the termination condition directly. * css_task_iter_next() currently assumes that it's walking list of cgrp_cset_link and reaches into the current cset through the current link to determine the termination conditions for task walking. As this won't always be true for effective css walking, add ->tasks_head and ->mg_tasks_head and use them to control task walking so that css_task_iter_next() doesn't have to know how css_sets are being walked. This patch doesn't make any behavior changes. The iteration logic stays unchanged after the patch. Signed-off-by: Tejun Heo <[email protected]> Acked-by: Li Zefan <[email protected]> commit 3b281afbc3a06cd69c54e6db1a04a8e73997723f Author: Tejun Heo <[email protected]> Date: Wed Apr 23 11:13:15 2014 -0400 cgroup: make css_next_child() skip missing csses css_next_child() walks the children of the specified css. It does this by finding the next cgroup and then returning the requested css. On the default unified hierarchy, a cgroup may not have a css associated with it even if the hierarchy has the subsystem enabled. This patch updates css_next_child() so that it skips children without the requested css associated. Signed-off-by: Tejun Heo <[email protected]> Acked-by: Li Zefan <[email protected]> commit 2d8f243a5e6efa57fb7c46fe83fafa45b33d0ec2 Author: Tejun Heo <[email protected]> Date: Wed Apr 23 11:13:15 2014 -0400 cgroup: implement cgroup->e_csets[] On the default unified hierarchy, a cgroup may be associated with csses of its ancestors, which means that a css of a given cgroup may be associated with css_sets of descendant cgroups. This means that we can't walk all tasks associated with a css by iterating the css_sets associated with the cgroup as there are css_sets which are pointing to the css but linked on the descendants. This patch adds per-subsystem list heads cgroup->e_csets[]. Any css_set which is pointing to a css is linked to css->cgroup->e_csets[$SUBSYS_ID] through css_set->e_cset_node[$SUBSYS_ID]. The lists are protected by css_set_rwsem and will allow us to walk all css_sets associated with a given css so that we can find out all associated tasks. Signed-off-by: Tejun Heo <[email protected]> Acked-by: Li Zefan <[email protected]> commit aec3dfcb2e43892180ee053e8c260dcdeccf4392 Author: Tejun Heo <[email protected]> Date: Wed Apr 23 11:13:14 2014 -0400 cgroup: introduce effective cgroup_subsys_state In the planned default unified hierarchy, controllers may get dynamically attached to and detached from a cgroup and a cgroup may not have csses for all the controllers associated with the hierarchy. When a cgroup doesn't have its own css for a given controller, the css of the nearest ancestor with the controller enabled will be used, which is called the effective css. This patch introduces cgroup_e_css() and for_each_e_css() to access the effective csses and convert compare_css_sets(), find_existing_css_set() and cgroup_migrate() to use the effective csses so that they can handle cgroups with partial csses correctly. This means that for two css_sets to be considered identical, they should have both matching csses and cgroups. compare_css_sets() already compares both, not for correctness but for optimization. As this now becomes a matter of correctness, update the comments accordingly. For all !default hierarchies, cgroup_e_css() always equals cgroup_css(), so this patch doesn't change behavior. While at it, fix incorrect locking comment for for_each_css(). Signed-off-by: Tejun Heo <[email protected]> Acked-by: Li Zefan <[email protected]> commit f392e51cd6ae6f6ee5b9b6d611cdc282b4c1711e Author: Tejun Heo <[email protected]> Date: Wed Apr 23 11:13:14 2014 -0400 cgroup: update cgroup->subsys_mask to ->child_subsys_mask and restore cgroup_root->subsys_mask 944196278d3d ("cgroup: move ->subsys_mask from cgroupfs_root to cgroup") moved ->subsys_mask from cgroup_root to cgroup to prepare for the unified hierarhcy; however, it turns out that carrying the subsys_mask of the children in the parent, instead of itself, is a lot more natural. This patch restores cgroup_root->subsys_mask and morphs cgroup->subsys_mask into cgroup->child_subsys_mask. * Uses of root->cgrp.subsys_mask are restored to root->subsys_mask. * Remove automatic setting and clearing of cgrp->subsys_mask and instead just inherit ->child_subsys_mask from the parent during cgroup creation. Note that this doesn't affect any current behaviors. * Undo __kill_css() separation. Signed-off-by: Tejun Heo <[email protected]> Acked-by: Li Zefan <[email protected]> commit ea8fd3b47ff4ed4b1b5942bf3e0cb8d8f590ec59 Author: Tejun Heo <[email protected]> Date: Wed Apr 23 11:13:14 2014 -0400 cgroup: cgroup_apply_cftypes() shouldn't skip the default hierarhcy cgroup_apply_cftypes() skip creating or removing files if the subsystem is attached to the default hierarchy, which led to missing files in the root of the default hierarchy. Skipping made sense when the default hierarchy was dummy; however, now that the default hierarchy is full functional and planned to be used as the unified hierarchy, it shouldn't be skipped over. Reported-by: Li Zefan <[email protected]> Signed-off-by: Tejun Heo <[email protected]> Acked-by: Li Zefan <[email protected]> commit 1bae363f29fd20fb3271b194bd11de8d3693ddfd Author: Al Viro <[email protected]> Date: Tue Feb 11 17:49:24 2014 -0500 replace checking for ->read/->aio_read presence with check in ->f_mode Since we are about to introduce new methods (read_iter/write_iter), the tests in a bunch of places would have to grow inconveniently. Check once (at open() time) and store results in ->f_mode as FMODE_CAN_READ and FMODE_CAN_WRITE resp. It might end up being a temporary measure - once everything switches from ->aio_{read,write} to ->{read,write}_iter it might make sense to return to open-coded checks. We'll see... Signed-off-by: Al Viro <[email protected]> commit 33e259bc633fa29dedbe468c623178b373c6e5c2 Author: Al Viro <[email protected]> Date: Wed Apr 2 07:06:30 2014 -0400 xfs: trim the argument lists of xfs_file_{dio,buffered}_aio_write() pos is redundant (it's iocb->ki_pos), and iov/nr_segs/count are taken care of by lifting iov_iter into the caller. Signed-off-by: Al Viro <[email protected]> commit 8825ae072a0b8a0e3694d48dfbb4b160417d6b6d Author: Al Viro <[email protected]> Date: Sat Mar 22 06:57:37 2014 -0400 blkdev_aio_read(): switch to generic_file_read_iter(), get rid of iov_shorten() Signed-off-by: Al Viro <[email protected]> commit 3532a380b524e1a661d41233a88458b8a0417ad9 Author: Al Viro <[email protected]> Date: Sat Mar 22 06:51:37 2014 -0400 iov_iter_truncate() Now It Can Be Done(tm) - we don't need to do iov_shorten() in generic_file_direct_write() anymore, now that all ->direct_IO() instances are converted to proper iov_iter methods and honour iter->count and iter->iov_offset properly. Get rid of count/ocount arguments of generic_file_direct_write(), while we are at it. Signed-off-by: Al Viro <[email protected]> commit 3ab3d550e3a9e0defd5593cd19bf08ec1430b73e Author: Al Viro <[email protected]> Date: Sat Mar 22 05:15:17 2014 -0400 btrfs: switch check_direct_IO() to iov_iter ... and don't open-code iov_iter_alignment() there Signed-off-by: Al Viro <[email protected]> commit ef9d131c1a5a44082f3a4991ce06bae6f0029d93 Author: Al Viro <[email protected]> Date: Fri Mar 21 04:58:33 2014 -0400 new helper: iov_iter_get_pages_alloc() same as iov_iter_get_pages(), except that pages array is allocated (kmalloc if possible, vmalloc if that fails) and left for caller to free. Lustre and NFS ->direct_IO() switched to it. Signed-off-by: Al Viro <[email protected]> commit f6aa53bb90317775b773937c7b745400d53dd420 Author: Al Viro <[email protected]> Date: Wed Mar 19 01:16:16 2014 -0400 new helper: iov_iter_npages() counts the pages covered by iov_iter, up to given limit. do_block_direct_io() and fuse_iter_npages() switched to it. Signed-off-by: Al Viro <[email protected]> commit 4f67be7e0d63af0a5b5ea6e2009474f618e04744 Author: Al Viro <[email protected]> Date: Sun Mar 16 18:07:34 2014 -0400 f2fs: switch to iov_iter_alignment() Signed-off-by: Al Viro <[email protected]> commit a05488006528bcbe1fbc2cba6e09d986647622ab Author: Al Viro <[email protected]> Date: Sun Mar 16 16:08:30 2014 -0400 fuse: switch to iov_iter_get_pages() Signed-off-by: Al Viro <[email protected]> commit c48074c3bc8738caed4d3390e5ee304468b13071 Author: Al Viro <[email protected]> Date: Sun Mar 16 15:50:47 2014 -0400 fuse: pull iov_iter initializations up ... to fuse_direct_{read,write}(). ->direct_IO() path uses the iov_iter passed by the caller instead. Signed-off-by: Al Viro <[email protected]> commit 8baf89f7f47494fd8cdfcc2064b3e463f77e25d7 Author: Al Viro <[email protected]> Date: Sat Mar 15 04:05:57 2014 -0400 new helper: iov_iter_get_pages() iov_iter_get_pages(iter, pages, maxsize, &start) grabs references pinning the pages of up to maxsize of (contiguous) data from iter. Returns the amount of memory grabbed or -error. In case of success, the requested area begins at offset start in pages[0] and runs through pages[1], etc. Less than requested amount might be returned - either because the contiguous area in the beginning of iterator is smaller than requested, or because the kernel failed to pin that many pages. direct-io.c switched to using iov_iter_get_pages() Signed-off-by: Al Viro <[email protected]> commit 9490d1a6228a2552560296941984d80c69e8a6bd Author: Al Viro <[email protected]> Date: Mon Mar 10 02:30:55 2014 -0400 dio: take updating ->result into do_direct_IO() Signed-off-by: Al Viro <[email protected]> commit 4c30a968eb3a065e3e272d976d7e3f6ddc761101 Author: Al Viro <[email protected]> Date: Wed Mar 5 19:28:09 2014 -0500 start adding the tag to iov_iter For now, just use the same thing we pass to ->direct_IO() - it's all iovec-based at the moment. Pass it explicitly to iov_iter_init() and account for kvec vs. iovec in there, by the same kludge NFS ->direct_IO() uses. Signed-off-by: Al Viro <[email protected]> commit e81b9541171cbcfc4e8566a1e9ab2ca2335d0f15 Author: Al Viro <[email protected]> Date: Wed Mar 5 22:53:04 2014 -0500 new helper: generic_file_read_iter() iov_iter-using variant of generic_file_aio_read(). Some callers converted. Note that it's still not quite there for use as ->read_iter() - we depend on having zero iter->iov_offset in O_DIRECT case. Fortunately, that's true for all converted callers (and for generic_file_aio_read() itself). Signed-off-by: Al Viro <[email protected]> commit 4990248714e06d4374aab11b62254f923490c033 Author: Al Viro <[email protected]> Date: Wed Mar 5 22:52:34 2014 -0500 fuse_file_aio_write(): merge initializations of iov_iter Signed-off-by: Al Viro <[email protected]> commit aaa4861d704d889c846122bcd36c753dd6916879 Author: Al Viro <[email protected]> Date: Wed Mar 5 19:22:23 2014 -0500 ceph_aio_read(): keep iov_iter across retries Signed-off-by: Al Viro <[email protected]> commit 1b21d12fee77f6aa95d03cf7e9d1ce5eb2c607ec Author: Al Viro <[email protected]> Date: Wed Mar 5 13:50:45 2014 -0500 new primitive: iov_iter_alignment() returns the value aligned as badly as the worst remaining segment in iov_iter is. Use instead of open-coded equivalents. Signed-off-by: Al Viro <[email protected]> commit bf7b4e0ee881cd951c7b683f406a4ac252a24e98 Author: Al Viro <[email protected]> Date: Mon Mar 10 14:08:45 2014 -0400 give ->direct_IO() a copy of iov_iter the thing is, we want to advance what's given to ->direct_IO() as we are forming the request; however, the callers care about the amount of data actually transferred, not the amount we tried to transfer. It's more convenient to allow ->direct_IO() instances do use iov_iter_advance() on the copy of iov_iter, leaving the actual advancing of the original to caller. Signed-off-by: Al Viro <[email protected]> commit 0eff84022e9c9e9ccac35cb7ed2eb93a445d136b Author: Al Viro <[email protected]> Date: Wed Mar 5 01:33:16 2014 -0500 switch {__,}blockdev_direct_IO() to iov_iter Signed-off-by: Al Viro <[email protected]> commit b409cc67bf3ddf0ba54f86360cbbf1ad94ee0d37 Author: Al Viro <[email protected]> Date: Tue Mar 4 22:38:00 2014 -0500 get rid of pointless iov_length() in ->direct_IO() all callers have iov_length(iter->iov, iter->nr_segs) == iov_iter_count(iter) Signed-off-by: Al Viro <[email protected]> commit 693f0274ba3727f15f5e68e11db916cc96e5017d Author: Al Viro <[email protected]> Date: Tue Mar 4 22:14:00 2014 -0500 ext4: switch the guts of ->direct_IO() to iov_iter Signed-off-by: Al Viro <[email protected]> commit c59595763d0ef48d730112df43b7018a78900200 Author: Al Viro <[email protected]> Date: Tue Mar 4 21:53:33 2014 -0500 convert the guts of nfs_direct_IO() to iov_iter Signed-off-by: Al Viro <[email protected]> commit 2df2941e9a55b73006fe2f551a2f1d7562c1418e Author: Al Viro <[email protected]> Date: Tue Mar 4 21:27:34 2014 -0500 pass iov_iter to ->direct_IO() unmodified, for now Signed-off-by: Al Viro <[email protected]> commit 1a44a0229c66390565b7286b004004429eaf3d69 Author: Al Viro <[email protected]> Date: Tue Mar 4 15:24:06 2014 -0500 kill generic_segment_checks() all callers of ->aio_read() and ->aio_write() have iov/nr_segs already checked - generic_segment_checks() done after that is just an odd way to spell iov_length(). Signed-off-by: Al Viro <[email protected]> commit 01403ea77d2475936815241ae2756d1778f277fe Author: Al Viro <[email protected]> Date: Mon Mar 3 22:09:39 2014 -0500 __btrfs_direct_write(): switch to iov_iter Signed-off-by: Al Viro <[email protected]> commit 91b718d74f2edf46f530ebe143d0041982bcf6b9 Author: Al Viro <[email protected]> Date: Mon Mar 3 22:03:20 2014 -0500 generic_file_direct_write(): switch to iov_iter Signed-off-by: Al Viro <[email protected]> commit 0b7a9814dbf392aa5671dfee1e55d08b349de7c8 Author: Al Viro <[email protected]> Date: Thu Apr 10 20:54:51 2014 -0400 kill iov_iter_copy_from_user() all callers can use copy_page_from_iter() and it actually simplifies them. Signed-off-by: Al Viro <[email protected]> commit 52a995d9adb5383e168cb9ec90a173de43c4a8cb Author: Al Viro <[email protected]> Date: Wed Apr 23 10:18:46 2014 -0400 fs/file.c: don't open-code kvfree() Signed-off-by: Al Viro <[email protected]> commit 3c91dc1ce40f973bbceded3d8ce96bda7c4d480c Author: Al Viro <[email protected]> Date: Wed Apr 23 10:13:03 2014 -0400 nick kvfree() from apparmor/lib too many open-coded instances Signed-off-by: Al Viro <[email protected]> commit 0c66c5628bbb5e96360032440f53a6cb6f8973d0 Author: Phil Edworthy <[email protected]> Date: Tue Apr 22 17:38:05 2014 +0100 sh-pfc: r8a7791: Fix definition of MOD_SEL3 There is a missing 0 entry from the MOD_SEL3 table. Signed-off-by: Phil Edworthy <[email protected]> Acked-by: Laurent Pinchart <[email protected]> Signed-off-by: Linus Walleij <[email protected]> commit 34ce57e9df7d14b52c7613bb2c190e411ca99186 Author: Guido Piasenza <[email protected]> Date: Tue Apr 22 16:28:03 2014 +0100 sh-pfc: r8a7790: Fix definition of IPSR5 The extra entry in the table makes SCIFA0_B, and all peripherals after it, fail. Signed-off-by: Phil Edworthy <[email protected]> Acked-by: Laurent Pinchart <[email protected]> Signed-off-by: Linus Walleij <[email protected]> commit 625cb407b85a9e4208f1db5377cc08dd4a0d5387 Author: Andy Gross <[email protected]> Date: Mon Apr 14 22:10:36 2014 -0500 dt: Document Qualcomm IPQ8064 pinctrl binding Define a new binding for the Qualcomm TLMMv2 based pin controller inside the IPQ8064. Signed-off-by: Andy Gross <[email protected]> Reviewed-by: Bjorn Andersson <[email protected]> Signed-off-by: Linus Walleij <[email protected]> commit b4da6573e7e2f8bd54abdb3e78a7b1d61c34d6f3 Author: Andy Gross <[email protected]> Date: Mon Apr 14 22:10:35 2014 -0500 pinctrl: qcom: Add definitions for IPQ8064 This adds pinctrl definitions for the GPIO pins of the TLMM v2 block in the Qualcomm IPQ8064 platform. Signed-off-by: Andy Gross <[email protected]> Reviewed-by: Bjorn Andersson <[email protected]> Signed-off-by: Linus Walleij <[email protected]> commit 58968625c496c2e39545781915dbb848b38bd249 Author: Tony Lindgren <[email protected]> Date: Thu Apr 10 16:47:19 2014 -0700 pinctrl: single: Clear pin interrupts enabled by bootloader Since we set up device wake-up interrupts as pinctrl-single interrupts, we now must use the standard request_irq and related functions to manage them. If the pin interrupts are enabled for some pins at boot, the wake-up events can show up as constantly pending at least on omaps and will hang the system unless the related device driver clears the event at the device. To fix this, let's clear the interrupt flags during init, and print out a warning so the board maintainers can update their drivers to do proper request_irq for the driver specific wake-up events. Cc: Haojian Zhuang <[email protected]> Cc: Linus Walleij <[email protected]> Signed-off-by: Tony Lindgren <[email protected]> Signed-off-by: Linus Walleij <[email protected]> commit 02b5269a24dfadf2fda6b427b84ee57bd3a06a72 Author: Boris BREZILLON <[email protected]> Date: Tue Apr 22 15:38:06 2014 +0200 pinctrl: sunxi: list all pinctrl compatible strings List all sunxi pinctrl compatible strings in order to be able to grep for those values. Signed-off-by: Boris BREZILLON <[email protected]> Signed-off-by: Linus Walleij <[email protected]> commit 93eb1c1b2f648064a11d6f5cab104fb06701ad0b Author: Axel Lin <[email protected]> Date: Fri Apr 11 14:16:01 2014 +0800 gpio: rdc321x: Convert to use devm_kzalloc This saves a few unwind code. Signed-off-by: Axel Lin <[email protected]> Acked-by: Florian Fainelli <[email protected]> Signed-off-by: Linus Walleij <[email protected]> commit 59f0f119e85cfb173db518328b55efbac4087c9f Author: Ritesh Harjani <[email protected]> Date: Mon Apr 21 12:17:27 2014 +0530 arm: dma-mapping: Fix mapping size value 68efd7d2fb("arm: dma-mapping: remove order parameter from arm_iommu_create_mapping()") is causing kernel panic because it wrongly sets the value of mapping->size: Unable to handle kernel NULL pointer dereference at virtual address 000000a0 pgd = e7a84000 [000000a0] *pgd=00000000 ... PC is at bitmap_clear+0x48/0xd0 LR is at __iommu_remove_mapping+0x130/0x164 Fix it by correcting mapping->size value. Signed-off-by: Ritesh Harjani <[email protected]> Acked-by: Laurent Pinchart <[email protected]> Signed-off-by: Marek Szyprowski <[email protected]> commit 3dcba280f739772a4156fbcdae39229d6bb5e02b Author: Nicolin Chen <[email protected]> Date: Mon Apr 21 19:14:46 2014 +0800 ASoC: core: Don't break component searching if both id and num_dai are 0 The commit e41975ed (ASoC: core: Fix the DAI name getting) added a break within the "if (id < 0 || id >= pos->num_dai)" while the original design of the search didn't break the loop if that condition contented but only mark the ret error and let it go on to search the next component. In a case like dmaengine which's not a dai but as a component sharing an identical name with a dai, both the id and pos->num_dai here could be 0. If we break the search, we may never find the dai we want as it might be placed behind its dmaengine in the component list. So this patch fixes the issue above by following the original design to let the search carry on. Signed-off-by: Nicolin Chen <[email protected]> Signed-off-by: Mark Brown <[email protected]> commit def8397c115dd456f80e7e5202bba8c2df79f936 Author: Daniel Mack <[email protected]> Date: Fri Mar 28 19:05:05 2014 +0100 ASoC: ak4104: Add regulator to documentation Add the vdd supply to Documentation/devicetree/bindings/sound/ak4104.txt. Signed-off-by: Daniel Mack <[email protected]> Signed-off-by: Mark Brown <[email protected]> commit b38d10ed604a1adaafa82512867d0eb7e219d491 Author: Daniel Mack <[email protected]> Date: Thu Mar 27 21:42:15 2014 +0100 ASoC: ak4104: add regulator consumer support The AK4104 has only one power supply, called VDD. Enable it as long as the codec is in use. Signed-off-by: Daniel Mack <[email protected]> Signed-off-by: Mark Brown <[email protected]> commit b3ca11ff59bc5842b01f13421a17e6d9a8936784 Author: Jyri Sarha <[email protected]> Date: Mon Mar 24 12:15:25 2014 +0200 ASoC: simple-card: Move dai-link level properties away from dai subnodes The properties like format, bitclock-master, frame-master, bitclock-inversion, and frame-inversion should be common to the dais connected with a d…
- Loading branch information