Xing Zheng [Thu, 5 Nov 2015 07:33:57 +0000 (15:33 +0800)]
UPSTREAM: clk: rockchip: add new pll-type for rk3036 and similar socs
The rk3036's pll and clock are different with base on the rk3066(rk3188,
rk3288, rk3368 use it), there are different adjust foctors and control
registers, so these should be independent and separate from the series
of rk3066s.
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from commit
9c4d6e55377bc9232a33c7388accb5bd10771eba)
Change-Id: I3a4aa2eb470976d69fef6b4fc2a33d9b46989817
Shengfei xu [Fri, 29 Jan 2016 10:34:56 +0000 (18:34 +0800)]
ARM64: dts: rk3368-tb: the regulator-names match the hardware.
Change-Id: I7e5de0c05942d622e9f26743bb8c7600f1155406
Signed-off-by: Shengfei xu <xsf@rock-chips.com>
Shengfei xu [Wed, 27 Jan 2016 09:28:59 +0000 (17:28 +0800)]
regulator: rk818: remove the repeated operations.
Populates regulator_init_data structure by extracting data from device
tree node, when regulator drivers register a regulator. so we don't
repeat it.
Change-Id: I481e7c802a24916f15c5b3a5eaf66f32dc0272d7
Signed-off-by: Shengfei xu <xsf@rock-chips.com>
Zhaoyifeng [Thu, 28 Jan 2016 07:40:55 +0000 (15:40 +0800)]
ARM64: dtsi: add nandc config for RK3366
Change-Id: Ib15f6ed6e7ebb80775c57b6c496db712fcc8ea80
Signed-off-by: Zhaoyifeng <zyf@rock-chips.com>
David Wu [Mon, 25 Jan 2016 14:03:51 +0000 (22:03 +0800)]
dts: arm64: rockchip: add rk3366-tb dts file
Change-Id: I9b053677f411f7e0e447b663269689fdf7738ab8
Signed-off-by: David Wu <david.wu@rock-chips.com>
xiaoyao [Thu, 21 Jan 2016 07:52:38 +0000 (15:52 +0800)]
ARM64: dts: rockchip: add sd_card support for RK3368
Change-Id: Icb4c4c23db3a75c90b75cad5374411603c66984b
Signed-off-by: xiaoyao <xiaoyao@rock-chips.com>
David Wu [Mon, 25 Jan 2016 09:24:39 +0000 (17:24 +0800)]
dtsi: arm64: rockchip: add rk3366 dtsi file
Change-Id: I5a4d3b904f458e2a0df1a0055c97bf5b10b2905f
Signed-off-by: David Wu <david.wu@rock-chips.com>
David Wu [Sun, 24 Jan 2016 10:26:25 +0000 (18:26 +0800)]
dtsi: arm64: rk3399: add pmugrf syscon node
Change-Id: I9b07672091e11f3a45bc20af30da94dd92266869
Signed-off-by: David Wu <david.wu@rock-chips.com>
Hecanyang [Fri, 15 Jan 2016 08:38:21 +0000 (16:38 +0800)]
ARM64: dts: rockchip: add dts file for RK3366 fpga
Change-Id: I18f6ee0a5a422b05ebb6cf0ac88cfe1076649a91
Signed-off-by: Hecanyang <hcy@rock-chips.com>
Signed-off-by: David Wu <david.wu@rock-chips.com>
Zheng Yang [Wed, 27 Jan 2016 06:25:52 +0000 (14:25 +0800)]
video: rockchip: rename display sysfs node
Backward compatibility with develop-3.10 except for
3dmode, which rename to mode3d.
Change-Id: I9dea6d25adc18c5e1580078f574fa44690791a33
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
Xu Jianqun [Tue, 26 Jan 2016 10:02:29 +0000 (18:02 +0800)]
clk: rockchip: rk3368 plls' supports 1188MHz
Since HDMI needs clock rate 74.25MHz, so plls must support
a multiple of it.
For Rockchip rk3368 pll has better jetter with 1188MHz, so
add 1188MHz support.
Change-Id: I68c7333ae076ecabf8637298ee8ca43149cb17d1
Signed-off-by: Xu Jianqun <jay.xu@rock-chips.com>
Xu Jianqun [Fri, 22 Jan 2016 08:28:35 +0000 (16:28 +0800)]
ARM64: dts: rockchip: add clock assign for rk3368 cru
Add "assigned-clocks" for rk3368 cru node, to intalize
clock rate for plls, bus and peripher.
Change-Id: Ic36401fef73b005d778b8ccc8527633af408985c
Signed-off-by: Xu Jianqun <jay.xu@rock-chips.com>
zhangqing [Mon, 25 Jan 2016 16:56:02 +0000 (08:56 -0800)]
UPSTREAM: clk: rockchip: rk3368: enable the CLK_SET_RATE_PARENT flag for i2s_2ch
I2S_2CH set freq need to select parent and calculate parent freq.
so just mark it as the CLK_SET_RATE_PARENT flag.
Signed-off-by: zhangqing <zhangqing@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git.kernel.org mmind/linux-rockchip.git v4.6-clk/next
commit
e8099067de751106d82333e29ce5b6a76ba653f6)
Change-Id: I1e7b75eba06fbe27079c3887170ce801da005ce0
zhangqing [Mon, 25 Jan 2016 16:56:01 +0000 (08:56 -0800)]
UPSTREAM: clk: rockchip: rk3368: enable the CLK_SET_RATE_PARENT flag for spdif_8ch
SPDIF_8CH set freq need to select parent and calculate parent freq.
so just mark it as the CLK_SET_RATE_PARENT flag.
Signed-off-by: zhangqing <zhangqing@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git.kernel.org mmind/linux-rockchip.git v4.6-clk/next
commit
0bbe62eb92755ff7c16c859e96a3877de56e32c9)
Change-Id: I3deed226430c492dc3b70337ae3e89d201aeb66d
zhangqing [Mon, 25 Jan 2016 16:56:00 +0000 (08:56 -0800)]
UPSTREAM: clk: rockchip: rk3368: fix edp_24m parent
The edp_24m parent select bit define is:
1'b0:xin24m
1'b1:1'b0(dummy)
so adapt the parent sel bit to the currect one.
Signed-off-by: zhangqing <zhangqing@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git.kernel.org mmind/linux-rockchip.git v4.6-clk/next
commit
d566ebc3c06c17b108b5b844f9d08259e3b7ba84)
Change-Id: Ia0530f4e00c8ea15420b49587097f07ac1af5092
Heiko Stuebner [Wed, 20 Jan 2016 20:47:57 +0000 (21:47 +0100)]
UPSTREAM: clk: rockchip: rk3368: fix hdmi_cec gate-register
Fix a typo making the sclk_hdmi_cec access a wrong register to handle
its gate.
Fixes: 3536c97a52db ("clk: rockchip: add rk3368 clock controller")
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: zhangqing <zhangqing@rock-chips.com>
Cc: stable@vger.kernel.org
(cherry picked from git.kernel.org mmind/linux-rockchip.git v4.6-clk/next
commit
fd0c0740fac17a014704ef89d8c8b1768711ca59)
Change-Id: I549ef7e3c29df9fe7d4280288639e401727a001e
Heiko Stuebner [Wed, 20 Jan 2016 18:22:38 +0000 (19:22 +0100)]
UPSTREAM: clk: rockchip: rk3368: fix parents of video encoder/decoder
The vdpu and vepu clocks can also be parented to the npll and current
parent list also is wrong as it would use the npll as "usbphy" source,
so adapt the parent to the correct one.
Fixes: 3536c97a52db ("clk: rockchip: add rk3368 clock controller")
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: zhangqing <zhangqing@rock-chips.com>
Cc: stable@vger.kernel.org
(cherry picked from git.kernel.org mmind/linux-rockchip.git v4.6-clk/next
commit
0f28d98463498c61c61a38aacbf9f69e92e85e9d)
Change-Id: Ie7e8f1e7d6de5e149705cc5f6d6207e839eca2bd
Heiko Stuebner [Tue, 19 Jan 2016 09:09:22 +0000 (10:09 +0100)]
UPSTREAM: clk: rockchip: rk3368: fix cpuclk core dividers
Similar to commit
9880d4277f6a ("clk: rockchip: fix rk3288 cpuclk core
dividers") it seems the cpuclk dividers are one to high on the rk3368
as well.
And again similar to the previous fix, we opt to make the divider list
contain the values to be written to use the same paradigm for them on all
supported socs.
Fixes: 3536c97a52db ("clk: rockchip: add rk3368 clock controller")
Reported-by: Zhang Qing <zhangqing@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: zhangqing <zhangqing@rock-chips.com>
Cc: stable@vger.kernel.org
(cherry picked from git.kernel.org mmind/linux-rockchip.git v4.6-clk/next
commit
c6d5fe2ca8286f35a79f7345c9378c39d48a1527)
Change-Id: If85678467e8dc4b4cfce07c3d31faf0c11479780
Heiko Stuebner [Tue, 19 Jan 2016 09:01:08 +0000 (10:01 +0100)]
UPSTREAM: clk: rockchip: rk3368: fix cpuclk mux bit of big cpu-cluster
Both clusters have their mux bit in bit 7 of their respective register.
For whatever reason the big cluster currently lists bit 15 which is
definitly wrong.
Fixes: 3536c97a52db ("clk: rockchip: add rk3368 clock controller")
Reported-by: Zhang Qing <zhangqing@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: zhangqing <zhangqing@rock-chips.com>
Cc: stable@vger.kernel.org
(cherry picked from git.kernel.org mmind/linux-rockchip.git v4.6-clk/next
commit
535ebd428aeb07c3327947281306f2943f2c9faa)
Change-Id: I26364fdba8cdfe36c8b9ba767b4226c9ac6ff118
Caesar Wang [Thu, 3 Dec 2015 08:48:41 +0000 (16:48 +0800)]
dt-bindings: rockchip-thermal: Support the RK3228/RK3399 SoCs compatible
This patchset attempts to new compatible for thermal founding
on RK3228/RK3399 SoCs.
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
(cherry picked from git.kernel.org torvalds/linux.git master
commit
4be02530fc76b4b01372dc03ab098674bf059f0b)
Change-Id: I9fd1f52d7b4781230e5436e90ed6d9d2c95d06cb
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Caesar Wang [Thu, 3 Dec 2015 08:48:39 +0000 (16:48 +0800)]
thermal: rockchip: fix a trivial typo
This patchset trys to dictate unified format for driver.
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
(cherry picked from git.kernel.org torvalds/linux.git master
commit
13c1cfda1a6cb0325029ce8bbb8d6483244d5c92)
Change-Id: I9659ae150c9d24f2482fd8c285dcfeb65bf873b1
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Xiao Feng [Mon, 25 Jan 2016 04:33:11 +0000 (12:33 +0800)]
dt-bindings: add documentation of rk3366 clock controller
Add the devicetree binding for the cru on the rk3366 which quite
similar structured as previous clock controllers.
Change-Id: I109da26f88cd733b64d4c4339db63346dd9ffea6
Signed-off-by: Xiao Feng <xf@rock-chips.com>
Xiao Feng [Mon, 25 Jan 2016 02:30:18 +0000 (10:30 +0800)]
clk: rockchip: add dt-binding header for rk3366
Add the dt-bindings header for the rk3366, that gets shared between
the clock controller and the clock references in the dts.
Change-Id: Ie4d8f9d02be2331b368d44f5d76a92fd9959b72a
Signed-off-by: Xiao Feng <xf@rock-chips.com>
Xiao Feng [Tue, 12 Jan 2016 01:57:38 +0000 (09:57 +0800)]
ARM64: configs: rockchip_defconfig enable cpufreq
Change-Id: Ie49f1c205c3fadac8dec58efbf1746e703e67970
Signed-off-by: Xiao Feng <xf@rock-chips.com>
Xiao Feng [Thu, 21 Jan 2016 11:41:29 +0000 (19:41 +0800)]
ARM64: configs: rockchip_defconfig add RK808 clkout
Change-Id: I106c419f92436fc41f95aa57a50bdfc2ba53b0f9
Signed-off-by: Xiao Feng <xf@rock-chips.com>
Huang Jiachai [Wed, 13 Jan 2016 02:41:21 +0000 (10:41 +0800)]
video: rockchip: update coding style
Change-Id: I7bd8d6875d126db2062e48cd81ec191d954da4bf
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
Huang Jiachai [Thu, 14 Jan 2016 06:27:57 +0000 (14:27 +0800)]
video: rockchip: vop iommu state depend on dts and delete CONFIG_ROCKCHIP_IOMMU
Change-Id: I4de26882995313ed11c81b2162e29bc771e117de
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
Mark Yao [Wed, 20 Jan 2016 08:06:33 +0000 (16:06 +0800)]
video: rk322x: fix crash on suspend/resume
Skip the update_reg_update when vop is suspend, because
register access would hang up the system when vop is suspend.
Change-Id: I01e712736df9a6de88440ee67c624a26ea752d85
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Huang Jiachai [Mon, 25 Jan 2016 12:04:19 +0000 (20:04 +0800)]
video: rockchip: vop: 322x: sync with develop-3.10
Change-Id: Iab27d3ac659df8f22198ec0c058cb864fec37c1d
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
Mark Yao [Mon, 7 Dec 2015 00:49:38 +0000 (08:49 +0800)]
video: rk322x: rename vop rk3228 to rk322x
Change-Id: I6d8d9ff84f76d7fa5c820b682081bbe0cb851ff1
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Huang Jiachai [Mon, 25 Jan 2016 02:38:01 +0000 (10:38 +0800)]
video: rockchip: lvds: rk31xx_lvds.c add support rk3366
Change-Id: Iecd6bacf28cb4620a1141c89ff16612ec4866230
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
Huang Jiachai [Fri, 18 Dec 2015 10:00:35 +0000 (18:00 +0800)]
video: rockchip: lcdc: 3368: add support rk3366
Change-Id: I7e6137418b18c58c53f958089527635ac62eb887
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
Xu Jianqun [Thu, 21 Jan 2016 11:07:18 +0000 (19:07 +0800)]
staging: ion: cma heap support map/unmap iommu
Add apis for cma-heap to map/unmap iommu.
Change-Id: I993d54285691e7015ffa302a4bb776234ca45bcb
Signed-off-by: Xu Jianqun <jay.xu@rock-chips.com>
Mark Yao [Tue, 19 Jan 2016 04:53:34 +0000 (12:53 +0800)]
video: rk_fb: align 24bit data format
Vop hardware only support the 4 byte align stride, but
if logo's stride is not align with 4 byte, will get
error display.
Change-Id: I543bbbea98f14702ae0e5f058075c39b8fd6fd68
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Mark Yao [Tue, 19 Jan 2016 04:48:37 +0000 (12:48 +0800)]
video: rk_fb: fix ymirror for kernel logo
kernel logo not use ymirror now, so if uboot logo use ymirror,
we need close it when switch to kernel logo, otherwise, would get
iommu crash
Change-Id: I4a607f75ada4cf6454c7e0f4614b629ef747e851
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Huang Jiachai [Fri, 22 Jan 2016 11:36:00 +0000 (19:36 +0800)]
dtsi: display: add fpga rgb screen timing dtsi
Change-Id: I803aa5a4a8b5bf221ab0a56d6d739464cc501de5
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
Huang Jiachai [Fri, 22 Jan 2016 09:40:54 +0000 (17:40 +0800)]
video: rockchip: screen: init extend screen type
if the extend screen type is same to prmry screen type,
the GRF reg config for vop selete will be error;
Change-Id: I6671ae69da175352bd1935254603e434e85900ea
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
Sugar Zhang [Fri, 15 Jan 2016 07:40:17 +0000 (15:40 +0800)]
ASoC: rockchip: i2s: add rk3399 compatible string
Change-Id: Iaf539e003efc4cb9d219e866f6637368d5b2da81
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Sugar Zhang [Fri, 15 Jan 2016 07:50:24 +0000 (15:50 +0800)]
ARM64: dts: rk3399: add i2s node
Change-Id: I02c7fd587c4233910b2a29c99bd8c7fc809779bf
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Xu Jianqun [Thu, 21 Jan 2016 07:17:25 +0000 (15:17 +0800)]
doc: dt: add dt-bindings for rockchip ion driver
Change-Id: Ia2ec4985ead6ee986dce9bdb6ac910373ec1cd18
Signed-off-by: Xu Jianqun <jay.xu@rock-chips.com>
Xu Jianqun [Thu, 21 Jan 2016 02:40:22 +0000 (10:40 +0800)]
ARM64: dts: rockchip: rk3368 support cma-heap
Support cma-heap, also remove unused id definations.
Change-Id: I81608291b076ed55a1c439abfa9281ba30dff1b6
Signed-off-by: Xu Jianqun <jay.xu@rock-chips.com>
Xu Jianqun [Thu, 21 Jan 2016 06:47:27 +0000 (14:47 +0800)]
staging: ion: rockchip: support cma-heap
With this patch, ion could alloc by cma heap.
Change-Id: I23b4ebf3b6f8de573c9833574f926f38db1c67bc
Signed-off-by: Xu Jianqun <jay.xu@rock-chips.com>
Zhaoyifeng [Thu, 14 Jan 2016 07:10:39 +0000 (15:10 +0800)]
nand: add ftl driver and nand drivers for rk3366
Change-Id: I2ea7fe6218b32666b91fce54bc17f976feb7f4d2
Signed-off-by: Zhaoyifeng <zyf@rock-chips.com>
zxl [Mon, 18 Jan 2016 09:38:21 +0000 (17:38 +0800)]
GPU: Rogue_M: update to 1.31_2 version & support gpu pd.
1. Add GPU pd support.
2. Disable RD power island.
Change-Id: Ib2ee45c647d0bed5aaa5c4f0c591c0f527f3d11e
Signed-off-by: zxl <zhuangxl@rock-chips.com>
zxl [Wed, 13 Jan 2016 06:08:09 +0000 (14:08 +0800)]
GPU: Rogue_M: support gpu dvfs & adjust code.
1. Add GPU dvfs support.
2. Adjust the code indentation.
3. Use late_initcall instead of module_init to load gpu driver.
Change-Id: I9bac24b567b43ae6a395d9bac1b1d7e2729c48b4
Signed-off-by: zxl <zhuangxl@rock-chips.com>
Xu Jianqun [Wed, 13 Jan 2016 02:08:30 +0000 (10:08 +0800)]
ARM64: dts: add dts for Rockchip RK3399 FPGA board
With the RK3399 FPGA dts file, the FPGA board is able to boot with
very simple boot system.
Change-Id: I3484faf02cf9e6adab4379752abcc6cb8c9ed5b2
Signed-off-by: Xu Jianqun <jay.xu@rock-chips.com>
Xu Jianqun [Fri, 15 Jan 2016 05:18:39 +0000 (13:18 +0800)]
ARM64: dts: rockchip: fix copy-paste error in rk3399 dtsi file
Change-Id: I4eb21f4ee8e8d4bfc3dd37649e7c57c06489db1d
Signed-off-by: Xu Jianqun <jay.xu@rock-chips.com>
Xing Zheng [Tue, 1 Dec 2015 09:28:20 +0000 (17:28 +0800)]
clk: rockchip: add dt-binding header for rk3399
Add the dt-bindings header for the rk3399, that gets shared between
the clock controller and the clock references in the dts.
Change-Id: I01830a46b679f4630506e8cb48b1a39e113a9952
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Jeffy Chen [Wed, 9 Dec 2015 09:04:10 +0000 (17:04 +0800)]
clk: rockchip: allow more than 2 parents for cpuclk
RK3228's armclk has 3 parents, so allow cpuclk to have
more than 2 parents.
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from linux-next.git
commit
ea03835fb8ea4abbad2a2154187401f55c0b932d)
Change-Id: Iddb60e4f7bda91b98b4a3e42f196eee510173dce
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Sugar Zhang [Thu, 14 Jan 2016 09:00:57 +0000 (17:00 +0800)]
ARM64: dts: rk3399: add dmac node
Change-Id: Ib59775c317f936c54d521d714293a3ab9a546937
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Jeffy Chen [Mon, 4 Jan 2016 07:54:46 +0000 (15:54 +0800)]
serial: core: remove baud_rates when serial console setup
Currently, when tring to set up a serial console with a higher
baud rate, it would fallback to 921600.
Tested-by: Jianqun Xu <jay.xu@rock-chips.com>
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Change-Id: Id93f2b559478f38c735213d523d3f72f6745f6a0
Mark Yao [Tue, 12 Jan 2016 07:10:22 +0000 (15:10 +0800)]
video: rk_fb: add BGR888 support
Direct load 24bit bmp data to display, but its data format
is BGR888, so add BGR888 support for uboot logo.
Change-Id: Id93f2b559478f38c735213d523d3f72f6745f6a8
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Mark Yao [Tue, 12 Jan 2016 07:02:47 +0000 (15:02 +0800)]
video: rk_fb: spilt mirror into x/y mirror
Uboot logo need ymirror function, but now only have mirror_en to
enable both xmirror and ymirror.
Change-Id: Ic676c4451817db2127327a1a56addeccb2436f21
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Mark Yao [Fri, 8 Jan 2016 04:51:44 +0000 (12:51 +0800)]
video: rk_fb: align uboot logo address
Uboot logo address start point may be not align PAGE_SIZE, it would
align to wrong point by pages vmap, and cause uboot logo error display.
So before pages vmap, align the uboot logo address.
Change-Id: I93f030e1b7ee13a4dc19d1421f520478868318ef
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Reported-by: Wen Dingxian <shawn.wen@rock-chips.com>
Mark Yao [Wed, 6 Jan 2016 07:33:26 +0000 (15:33 +0800)]
video: rockchip_fb: synchronous win state
We enable win0 for uboot display, but win last_state is 0,
when we update win config from config_done ioctl, the state judge
is wrong.
Change-Id: I9955bed1683586254a908cb9395d27585e234b10
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Mark Yao [Tue, 5 Jan 2016 08:07:53 +0000 (16:07 +0800)]
video: rockchip_fb: support ymirror for uboot logo
Now only find rk322x and rk3368 support do ymirror in windows.
Change-Id: Iba49d64bb51db8fb35e6b21cab8aeba23dbd52b6
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Mark Yao [Wed, 23 Dec 2015 08:22:21 +0000 (16:22 +0800)]
video: rk_fb: widen out var config limit
All layers allow out of right side and bottom side.
And hardware cursor want to support outside of right and bottom.
Change-Id: I27d64b2e12326fbad436f291a9fb5092538428f9
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Jianqun xu [Tue, 15 Dec 2015 11:47:37 +0000 (19:47 +0800)]
ARM64: dts: rockchip: add core dtsi file for RK3399
Change-Id: Ie3b824e8ead967d4cb119d73222b7a198478c29c
Signed-off-by: Jianqun xu <jay.xu@rock-chips.com>
Zhaoyifeng [Tue, 12 Jan 2016 11:16:42 +0000 (19:16 +0800)]
ARM64: dts: add nandc node for rk3368
Change-Id: I1c5fab31139e686297dd0da94d7274592fc22782
Signed-off-by: Zhaoyifeng <zyf@rock-chips.com>
Xu Jianqun [Mon, 11 Jan 2016 09:17:46 +0000 (17:17 +0800)]
ARM64: configs: rockchip_defconfig select RGA2
Change-Id: Id93ffb52d58aaaedaacdd47f0f2d4765e2429a30
Signed-off-by: Xu Jianqun <jay.xu@rock-chips.com>
Xu Jianqun [Mon, 11 Jan 2016 09:18:13 +0000 (17:18 +0800)]
ARM64: dts: rockchip: add node for rga2
Change-Id: Icd6fd0917671a1f39e1c75d09387fdb30a8b3292
Signed-off-by: Xu Jianqun <jay.xu@rock-chips.com>
Xu Jianqun [Mon, 11 Jan 2016 09:15:24 +0000 (17:15 +0800)]
video: rockchip: rga2 driver do codingstyle
Change-Id: I7cc3fbdd37da8e3b3b79779db62b6ac1e9ba61f5
Signed-off-by: Xu Jianqun <jay.xu@rock-chips.com>
Xiao Feng [Tue, 12 Jan 2016 02:44:35 +0000 (10:44 +0800)]
ARM64: dts: rockchip: rk3368: add cpu dvfs support for sheep board
Change-Id: Id0361d55f970ea814c6965b2772f7cdc3a004bfc
Signed-off-by: Xiao Feng <xf@rock-chips.com>
Xiao Feng [Mon, 11 Jan 2016 13:02:43 +0000 (21:02 +0800)]
cpufreq: rockchip: add driver
This driver will directly use cpufreq-dt driver as backend.
Change-Id: Iec5a4ff05a4829fdbc3535f94e92759d4238623d
Signed-off-by: Xiao Feng <xf@rock-chips.com>
Shenfei xu [Tue, 12 Jan 2016 02:39:01 +0000 (10:39 +0800)]
ARM64: config: rockchip_defconfig add rk818-regulator driver.
Change-Id: I7a71bf6583570433f788502e4bdf9b56951c63d5
Signed-off-by: Shenfei xu <xsf@rock-chips.com>
Shenfei xu [Mon, 11 Jan 2016 03:41:19 +0000 (11:41 +0800)]
mfd: dt-bindings: Add RK818 device tree bindings document
Add device tree bindings documentation and a header file
for rockchip's RK818 pmic
Change-Id: Ic021c3555e980fa7f083b0720ab43ba757d032e4
Signed-off-by: Shenfei xu <xsf@rock-chips.com>
Shenfei xu [Fri, 8 Jan 2016 11:15:34 +0000 (19:15 +0800)]
ARM64: dts: add rk818 node for rk3368.
Change-Id: I7754f5db74db77929a20d3cd636066f0bd12baed
Signed-off-by: Shenfei xu <xsf@rock-chips.com>
Shenfei xu [Fri, 8 Jan 2016 10:57:17 +0000 (18:57 +0800)]
mfd: RK818: add new mfd driver for 818.
Change-Id: Iae0797ad17701a81ca91bc2396bfc2ec16241231
Signed-off-by: Shenfei xu <xsf@rock-chips.com>
zhangqing [Mon, 11 Jan 2016 18:13:17 +0000 (10:13 -0800)]
ARM64: dts: rk3368-tb: modify syr82x nodes
modify syr82x nodes for use the shared driver fan53555
Change-Id: I42269ab63838244da2cde45e916ef953227e95c0
Signed-off-by: zhangqing <zhangqing@rock-chips.com>
zhangqing [Mon, 11 Jan 2016 16:36:58 +0000 (08:36 -0800)]
ARM64: rockchip: syr82x: support syr82x regulator
Add suspend/resume enable/disable setting function.
Silergy SYR82x regulators share the exact same functionality and register
layout as the Fairchild FAN53555 regulators.
The fan53555 is upstreamed.
Therefore use fan53555.c for support syr82x.
Change-Id: If1d72a34d26c705796bc4d33de7187116edf4aa8
Signed-off-by: zhangqing <zhangqing@rock-chips.com>
Xing Zheng [Tue, 1 Dec 2015 09:07:33 +0000 (17:07 +0800)]
dt-bindings: add documentation of rk3399 clock controller
Add the devicetree binding for the cru on the rk3399 which quite
similar structured as previous clock controllers.
Change-Id: I726011854d84312c5b831612246ad0decf317d68
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Masahiro Yamada [Tue, 24 Nov 2015 11:31:51 +0000 (20:31 +0900)]
dt-bindings: ARM: add arm,cortex-a72 compatible string
Change-Id: Ibbe90aa7a5c9d5b1307d72a81d2b70cfd22e5f74
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Rob Herring <robh@kernel.org>
(cherry picked from commit
182f4f098efcd112bed074ec84854b8e1a016974)
Huang, Tao [Mon, 11 Jan 2016 03:49:11 +0000 (11:49 +0800)]
rk: gcc-wrapper.py ignore af_unix.c:1036
Change-Id: Ib850612060af29f271ec35c1b80a4a1a070c2670
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
Huang, Tao [Mon, 11 Jan 2016 03:25:13 +0000 (11:25 +0800)]
Merge tag 'v4.4'
Linux 4.4
Linus Torvalds [Sun, 10 Jan 2016 23:01:32 +0000 (15:01 -0800)]
Linux 4.4
Linus Torvalds [Sat, 9 Jan 2016 22:53:48 +0000 (14:53 -0800)]
Merge tag 'scsi-fixes' of git://git./linux/kernel/git/jejb/scsi
Pull SCSI fix from James Bottomley:
"A single fix for machines with pages > 4k (PPC mostly).
There's a bug in our optimal transfer size code where we don't account
for pages > 4k and can set the transfer size to be less than the page
size causing nasty failures"
* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
sd: Reject optimal transfer length smaller than page size
Linus Torvalds [Sat, 9 Jan 2016 22:44:44 +0000 (14:44 -0800)]
Merge tag 'pci-v4.4-fixes-4' of git://git./linux/kernel/git/helgaas/pci
Pull PCI fixlet from Bjorn Helgaas:
"This marks the TI DRA7xx host bridge driver as broken. Apparently it
has never worked without some additional out-of-tree code, so I'm
going to mark it broken now and remove it completely next cycle unless
it's fixed"
* tag 'pci-v4.4-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
PCI: dra7xx: Mark driver as broken
Michal Hocko [Fri, 8 Jan 2016 10:18:29 +0000 (11:18 +0100)]
vmstat: allocate vmstat_wq before it is used
kernel test robot has reported the following crash:
BUG: unable to handle kernel NULL pointer dereference at
00000100
IP: [<
c1074df6>] __queue_work+0x26/0x390
*pdpt =
0000000000000000 *pde =
f000ff53f000ff53 *pde =
f000ff53f000ff53
Oops: 0000 [#1] PREEMPT PREEMPT SMP SMP
CPU: 0 PID: 24 Comm: kworker/0:1 Not tainted
4.4.0-rc4-00139-g373ccbe #1
Workqueue: events vmstat_shepherd
task:
cb684600 ti:
cb7ba000 task.ti:
cb7ba000
EIP: 0060:[<
c1074df6>] EFLAGS:
00010046 CPU: 0
EIP is at __queue_work+0x26/0x390
EAX:
00000046 EBX:
cbb37800 ECX:
cbb37800 EDX:
00000000
ESI:
00000000 EDI:
00000000 EBP:
cb7bbe68 ESP:
cb7bbe38
DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
CR0:
8005003b CR2:
00000100 CR3:
01fd5000 CR4:
000006b0
Stack:
Call Trace:
__queue_delayed_work+0xa1/0x160
queue_delayed_work_on+0x36/0x60
vmstat_shepherd+0xad/0xf0
process_one_work+0x1aa/0x4c0
worker_thread+0x41/0x440
kthread+0xb0/0xd0
ret_from_kernel_thread+0x21/0x40
The reason is that start_shepherd_timer schedules the shepherd work item
which uses vmstat_wq (vmstat_shepherd) before setup_vmstat allocates
that workqueue so if the further initialization takes more than HZ we
might end up scheduling on a NULL vmstat_wq. This is really unlikely
but not impossible.
Fixes: 373ccbe59270 ("mm, vmstat: allow WQ concurrency to discover memory reclaim doesn't make any progress")
Reported-by: kernel test robot <ying.huang@linux.intel.com>
Signed-off-by: Michal Hocko <mhocko@suse.com>
Tested-by: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Cc: stable@vger.kernel.org
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Sat, 9 Jan 2016 00:11:05 +0000 (16:11 -0800)]
Merge tag 'fixes-for-linus' of git://git./linux/kernel/git/arm/arm-soc
Pull ARM SoC fixes from Arnd Bergmann:
"This is the final small set of ARM SoC bug fixes for linux-4.4, almost
all regressions:
OMAP:
- data corruption on the Nokia N900 flash
Allwinner:
- Two defconfig change to get USB working again
ARM Versatile:
- Interrupt numbers gone bad after an older bug fix
Nomadik:
- Crashes from incorrect L2 cache settings
VIA vt8500:
- SD/MMC support on WM8650 never worked"
* tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
dts: vt8500: Add SDHC node to DTS file for WM8650
ARM: Fix broken USB support in multi_v7_defconfig for sunxi devices
ARM: versatile: fix MMC/SD interrupt assignment
ARM: nomadik: set latencies to 8 cycles
ARM: OMAP2+: Fix onenand rate detection to avoid filesystem corruption
ARM: Fix broken USB support in sunxi_defconfig
Linus Torvalds [Fri, 8 Jan 2016 23:58:14 +0000 (15:58 -0800)]
Merge tag 'for-linus' of git://git./virt/kvm/kvm
Pull KVM fix from Paolo Bonzini:
"A simple fix. I'm sending it before the merge window, because it
refines a patch found in your master branch but not yet in the
kvm/next branch that is destined for 4.5"
* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
kvm: x86: only channel 0 of the i8254 is linked to the HPET
Linus Torvalds [Fri, 8 Jan 2016 23:50:59 +0000 (15:50 -0800)]
Merge tag 'pm+acpi-4.4-final' of git://git./linux/kernel/git/rafael/linux-pm
Pull ACPI fix from Rafael Wysocki:
"Just one obvious fix that adds a missing function argument in ACPI
code introduced recently (Kees Cook)"
* tag 'pm+acpi-4.4-final' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
ACPI / property: avoid leaking format string into kobject name
Linus Torvalds [Fri, 8 Jan 2016 23:21:48 +0000 (15:21 -0800)]
Merge branch 'x86-urgent-for-linus' of git://git./linux/kernel/git/tip/tip
Pull x86 fixes from Ingo Molnar:
"A handful of x86 fixes:
- a syscall ABI fix, fixing an Android breakage
- a Xen PV guest fix relating to the RTC device, causing a
non-working console
- a Xen guest syscall stack frame fix
- an MCE hotplug CPU crash fix"
* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/numachip: Fix NumaConnect2 MMCFG PCI access
x86/entry: Restore traditional SYSENTER calling convention
x86/entry: Fix some comments
x86/paravirt: Prevent rtc_cmos platform device init on PV guests
x86/xen: Avoid fast syscall path for Xen PV guests
x86/mce: Ensure offline CPUs don't participate in rendezvous process
Linus Torvalds [Fri, 8 Jan 2016 21:57:13 +0000 (13:57 -0800)]
Merge branch 'sched-urgent-for-linus' of git://git./linux/kernel/git/tip/tip
Pull scheduler fixes from Ingo Molnar:
"Misc scheduler fixes"
* 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
sched/core: Reset task's lockless wake-queues on fork()
sched/core: Fix unserialized r-m-w scribbling stuff
sched/core: Check tgid in is_global_init()
sched/fair: Fix multiplication overflow on 32-bit systems
Linus Torvalds [Fri, 8 Jan 2016 21:52:59 +0000 (13:52 -0800)]
Merge branch 'perf-urgent-for-linus' of git://git./linux/kernel/git/tip/tip
Pull perf fixes from Ingo Molnar:
"Two core subsystem fixes, plus a handful of tooling fixes"
* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
perf: Fix race in swevent hash
perf: Fix race in perf_event_exec()
perf list: Robustify event printing routine
perf list: Add support for PERF_COUNT_SW_BPF_OUT
perf hists browser: Fix segfault if use symbol filter in cmdline
perf hists browser: Reset selection when refresh
perf hists browser: Add NULL pointer check to prevent crash
perf buildid-list: Fix return value of perf buildid-list -k
perf buildid-list: Show running kernel build id fix
Linus Torvalds [Fri, 8 Jan 2016 21:46:59 +0000 (13:46 -0800)]
Merge branch 'irq-urgent-for-linus' of git://git./linux/kernel/git/tip/tip
Pull irq fix from Ingo Molnar:
"Fixes a core IRQ subsystem deadlock"
* 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
genirq: Prevent chip buslock deadlock
Linus Torvalds [Fri, 8 Jan 2016 21:39:09 +0000 (13:39 -0800)]
Merge branch 'for-linus' of git://git.kernel.dk/linux-block
Pull block revert from Jens Axboe:
"The previous pull request had a split fix for NVMe, however there are
corner cases where that ends up blowing up.
So let's revert it for 4.4. The regression isn't introduced in this
cycle, and it's "just" a performance regression, not a
stability/integrity issue"
* 'for-linus' of git://git.kernel.dk/linux-block:
Revert "block: Split bios on chunk boundaries"
Linus Torvalds [Fri, 8 Jan 2016 20:23:00 +0000 (12:23 -0800)]
Merge tag 'dmaengine-fix-4.4' of git://git.infradead.org/users/vkoul/slave-dma
Pull dmaengine fixes from Vinod Koul:
"Late fixes for 4.4 are three fixes for drivers which include a revert
of mic-x100 fix which is causing regression, xgene fix for double IRQ
and async_tx fix to use GFP_NOWAIT"
* tag 'dmaengine-fix-4.4' of git://git.infradead.org/users/vkoul/slave-dma:
dmaengine: xgene-dma: Fix double IRQ issue by setting IRQ_DISABLE_UNLAZY flag
async_tx: use GFP_NOWAIT rather than GFP_IO
dmaengine: Revert "dmaengine: mic_x100: add missing spin_unlock"
Linus Torvalds [Fri, 8 Jan 2016 20:18:45 +0000 (12:18 -0800)]
Merge branch 'dmi-for-linus' of git://git./linux/kernel/git/jdelvare/staging
Pull dmi fix from Jean Delvare.
* 'dmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
firmware: dmi_scan: Fix UUID endianness for SMBIOS >= 2.6
Linus Torvalds [Fri, 8 Jan 2016 19:52:18 +0000 (11:52 -0800)]
Merge tag 'sound-4.4' of git://git./linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai:
"A slightly higher volume than a new year's wish, but not too
worrisome: a large LOC is only for HD-audio device-specific quirks, so
fairly safe to apply. The rest ASoC fixes are all trivial and small;
a simple replacement of mutex call with nested lock version, a few
Arizona and Realtek codec fixes, and a regression fix for Skylake
firmware handling"
* tag 'sound-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
ASoC: Intel: Skylake: Fix the memory leak
ASoC: Intel: Skylake: Revert previous broken fix memory leak fix
ASoC: Use nested lock for snd_soc_dapm_mutex_lock
ASoC: rt5645: add sys clk detection
ALSA: hda - Add keycode map for alc input device
ALSA: hda - Add mic mute hotkey quirk for Lenovo ThinkCentre AIO
ASoC: arizona: Fix bclk for sample rates that are multiple of 4kHz
Arnd Bergmann [Fri, 8 Jan 2016 16:46:45 +0000 (17:46 +0100)]
Merge tag 'omap-for-v4.4/onenand-corruption' of git://git./linux/kernel/git/tmlind/linux-omap into fixes
Pull "urgent onenand file system corruption fix for n900" from Tony Lindgren:
Last minute urgent pull request to prevent file system corruption
on Nokia N900.
Looks like we have a GPMC bus timing bug that has gone unnoticed
because of bootloader configured registers until few days ago. We
are not detecting the onenand clock rate properly unless we have
CONFIG_OMAP_GPMC_DEBUG set and this causes onenand corruption
that can be easily be reproduced.
There seems to be also an additional bug still lurking around for
onenand corruption. But that is still being investigated and
it does not seem to be GPMC timings related.
Meanwhile, it would be good to get this fix into v4.4 to prevent
wrong timings from corrupting onenand.
* tag 'omap-for-v4.4/onenand-corruption' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP2+: Fix onenand rate detection to avoid filesystem corruption
Jens Axboe [Fri, 8 Jan 2016 16:00:29 +0000 (09:00 -0700)]
Revert "block: Split bios on chunk boundaries"
This reverts commit
d3805611130af9b911e908af9f67a3f64f4f0914.
If we end up splitting on the first segment, we don't adjust
the sector count. That results in hitting a BUG() with attempting
to split 0 sectors.
As this is just a performance issue and not a regression since
4.3 release, let's just rever this change. That gives us more
time to test a real fix for 4.5, which would be marked for
stable anyway.
Richard Cochran [Fri, 8 Jan 2016 15:58:31 +0000 (09:58 -0600)]
PCI: dra7xx: Mark driver as broken
Mark the dra7xx PCI host driver as broken. This driver was first merged in
v3.17 and has never worked. Although the driver compiles just fine, it is
missing an essential device reset. If the driver is included, the kernel
locks up hard shortly after booting, before any console output appears.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
zhangqing [Fri, 8 Jan 2016 14:20:24 +0000 (06:20 -0800)]
ARM64: dts: pd: add power domains node for rk3368
add pd parameters in the dtsi.
support pd for rk3368.
Change-Id: If04704fabbdcf03815d81be5520077b081479af0
Signed-off-by: zhangqing <zhangqing@rock-chips.com>
Andrea Arcangeli [Fri, 8 Jan 2016 08:00:54 +0000 (09:00 +0100)]
firmware: dmi_scan: Fix UUID endianness for SMBIOS >= 2.6
The dmi_ver wasn't updated correctly before the dmi_decode method run
to save the uuid.
That resulted in "dmidecode -s system-uuid" and
/sys/class/dmi/id/product_uuid disagreeing. The latter was buggy and
this fixes it.
Reported-by: Federico Simoncelli <fsimonce@redhat.com>
Fixes: 9f9c9cbb6057 ("drivers/firmware/dmi_scan.c: fetch dmi version from SMBIOS if it exists")
Fixes: 79bae42d51a5 ("dmi_scan: refactor dmi_scan_machine(), {smbios,dmi}_present()")
Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
Signed-off-by: Jean Delvare <jdelvare@suse.de>
zhangqing [Thu, 7 Jan 2016 15:06:30 +0000 (07:06 -0800)]
ARM64: pd: rockchip: support power domains for rk3368
support powerdomains for rk3368.
rename the pd id to RK3368_XX.
Change-Id: I5ac402e1eac271d847fb76b3c33fa2801c9994aa
Signed-off-by: zhangqing <zhangqing@rock-chips.com>
Kees Cook [Thu, 7 Jan 2016 19:24:29 +0000 (11:24 -0800)]
ACPI / property: avoid leaking format string into kobject name
The dn->name is expected to be used as a literal, so add the missing
"%s".
Fixes: 263b4c1a64bc (ACPI / property: Expose data-only subnodes via sysfs)
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Linus Torvalds [Thu, 7 Jan 2016 21:06:35 +0000 (13:06 -0800)]
Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
Pull drm nouveau fix from Dave Airlie:
"Still not back to work, but I decided to forward this fix"
* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
drm/nouveau/gr/nv40: fix oops in interrupt handler
Linus Torvalds [Thu, 7 Jan 2016 20:56:23 +0000 (12:56 -0800)]
Merge tag 'iommu-fixes-v4.4-rc8' of git://git./linux/kernel/git/joro/iommu
Pull IOMMU fixes from Joerg Roedel:
- Two build issues, one in the ipmmu-vmsa driver and one for the new
generic dma-api implemention used on arm64
- A performance fix for said dma-api implemention
- An issue caused by a wrong offset in map_sg in the same code as above
* tag 'iommu-fixes-v4.4-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
iommu/dma: Use correct offset in map_sg
iommu/ipmmu-vmsa: Don't truncate ttbr if LPAE is not enabled
iommu/dma: Avoid unlikely high-order allocations
iommu/dma: Add some missing #includes
Linus Torvalds [Thu, 7 Jan 2016 20:42:22 +0000 (12:42 -0800)]
Merge tag 'trace-v4.4-rc4-4' of git://git./linux/kernel/git/rostedt/linux-trace
Pull ftrace fix from Steven Rostedt:
"PeiyangX Qiu reported that if a module fails to load between calling
ftrace_module_init() and do_init_module() that the allocations made in
ftrace_module_init() will not be freed, resulting in a memory leak.
The solution is to call ftrace_release_mod() on the failing module in
the fail path befor do_init_module() is called. This will remove any
allocations made for that module, and nothing if ftrace_module_init()
wasn't called yet for that module.
Note, once do_init_module() is called, the MODULE_GOING notifiers are
called for the failed module, which calls into the ftrace code to do
the proper clean up (basically calling ftrace_release_mod())"
* tag 'trace-v4.4-rc4-4' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
ftrace/module: Call clean up function when module init fails early
Steven Rostedt (Red Hat) [Wed, 6 Jan 2016 01:32:47 +0000 (20:32 -0500)]
ftrace/module: Call clean up function when module init fails early
If the module init code fails after calling ftrace_module_init() and before
calling do_init_module(), we can suffer from a memory leak. This is because
ftrace_module_init() allocates pages to store the locations that ftrace
hooks are placed in the module text. If do_init_module() fails, it still
calls the MODULE_GOING notifiers which will tell ftrace to do a clean up of
the pages it allocated for the module. But if load_module() fails before
then, the pages allocated by ftrace_module_init() will never be freed.
Call ftrace_release_mod() on the module if load_module() fails before
getting to do_init_module().
Link: http://lkml.kernel.org/r/567CEA31.1070507@intel.com
Reported-by: "Qiu, PeiyangX" <peiyangx.qiu@intel.com>
Fixes: a949ae560a511 "ftrace/module: Hardcode ftrace_module_init() call into load_module()"
Cc: stable@vger.kernel.org # v2.6.38+
Acked-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>