platform/kernel/linux-3.10.git
10 years agomedia: check status of dmxdev->exit in poll functions of demux&dvr 98/26998/1
Changbing Xiong [Thu, 21 Aug 2014 02:05:40 +0000 (23:05 -0300)]
media: check status of dmxdev->exit in poll functions of demux&dvr

when usb-type tuner is pulled out, user applications did not close device's FD,
and go on polling the device, we should return POLLERR directly.

Change-Id: Id685db6f37c7a3f454e4a93234a38bb65dfc43d9
Signed-off-by: Changbing Xiong <cb.xiong@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agomedia: correct return value in dvb_demux_poll 97/26997/1
Changbing Xiong [Thu, 21 Aug 2014 02:05:07 +0000 (23:05 -0300)]
media: correct return value in dvb_demux_poll

Data type of return value is unsigned int, but in function of dvb_demux_poll,
when the pointer of dmxdevfilter equals NULL, it will return -EINVAL, which
is invalid.

Change-Id: I5b0f3b6e973b2b5ea041e9ff0ea1709d109a9945
Signed-off-by: Changbing Xiong <cb.xiong@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agomedia: fix kernel deadlock due to tuner pull-out while playing 96/26996/1
Changbing Xiong [Thu, 21 Aug 2014 02:04:25 +0000 (23:04 -0300)]
media: fix kernel deadlock due to tuner pull-out while playing

Normally, ADAP_STREAMING bit is set in dvb_usb_start_feed and cleared in
dvb_usb_stop_feed.

But in exceptional cases, for example, when the tv is playing programs
and the tuner is pulled out, then dvb_usbv2_disconnect is called.

In such case, it will first call dvb_usbv2_adapter_frontend_exit to stop
dvb_frontend_thread, and then call dvb_usbv2_adapter_dvb_exit to clear
ADAP_STREAMING bit.

At this point, if dvb_frontend_thread is sleeping and waiting for
ADAP_STREAMING to be cleared to get out of sleep. then
dvb_frontend_thread can never be stoped, because clearing ADAP_STREAMING
bit is performed after dvb_frontend_thread is stopped (i.e. performed in
dvb_usbv2_adapter_dvb_exit).

So, deadlock:

[  240.822037] INFO: task khubd:497 blocked for more than 120 seconds.
[  240.822655] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  240.830493] khubd           D c0013b3c     0   497      2 0x00000000
[  240.836996] [<c0013b3c>] (__schedule+0x200/0x54c) from [<c00110f4>] (schedule_timeout+0x14c/0x19c)
[  240.845940] [<c00110f4>] (schedule_timeout+0x14c/0x19c) from [<c00137f4>] (wait_for_common+0xac/0x150)
[  240.855234] [<c00137f4>] (wait_for_common+0xac/0x150) from [<c004989c>] (kthread_stop+0x58/0x90)
[  240.864004] [<c004989c>] (kthread_stop+0x58/0x90) from [<c03b2ebc>] (dvb_frontend_stop+0x3c/0x9c)
[  240.872849] [<c03b2ebc>] (dvb_frontend_stop+0x3c/0x9c) from [<c03b2f3c>] (dvb_unregister_frontend+0x20/0xd8)
[  240.882666] [<c03b2f3c>] (dvb_unregister_frontend+0x20/0xd8) from [<c03ed938>] (dvb_usbv2_exit+0x68/0xfc)
[  240.892204] [<c03ed938>] (dvb_usbv2_exit+0x68/0xfc) from [<c03eda18>] (dvb_usbv2_disconnect+0x4c/0x70)
[  240.901499] [<c03eda18>] (dvb_usbv2_disconnect+0x4c/0x70) from [<c031c050>] (usb_unbind_interface+0x58/0x188)
[  240.911395] [<c031c050>] (usb_unbind_interface+0x58/0x188) from [<c02c3e78>] (__device_release_driver+0x74/0xd0)
[  240.921544] [<c02c3e78>] (__device_release_driver+0x74/0xd0) from [<c02c3ef0>] (device_release_driver+0x1c/0x28)
[  240.931697] [<c02c3ef0>] (device_release_driver+0x1c/0x28) from [<c02c39b8>] (bus_remove_device+0xc4/0xe4)
[  240.941332] [<c02c39b8>] (bus_remove_device+0xc4/0xe4) from [<c02c1344>] (device_del+0xf4/0x178)
[  240.950106] [<c02c1344>] (device_del+0xf4/0x178) from [<c0319eb0>] (usb_disable_device+0xa0/0x1c8)
[  240.959040] [<c0319eb0>] (usb_disable_device+0xa0/0x1c8) from [<c03128b4>] (usb_disconnect+0x88/0x188)
[  240.968326] [<c03128b4>] (usb_disconnect+0x88/0x188) from [<c0313edc>] (hub_thread+0x4d0/0x1200)
[  240.977100] [<c0313edc>] (hub_thread+0x4d0/0x1200) from [<c0049690>] (kthread+0xa4/0xb0)
[  240.985174] [<c0049690>] (kthread+0xa4/0xb0) from [<c0009118>] (ret_from_fork+0x14/0x3c)
[  240.993259] INFO: task kdvb-ad-0-fe-0:3256 blocked for more than 120 seconds.
[  241.000349] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  241.008162] kdvb-ad-0-fe-0  D c0013b3c     0  3256      2 0x00000000
[  241.014507] [<c0013b3c>] (__schedule+0x200/0x54c) from [<c03eda44>] (wait_schedule+0x8/0x10)
[  241.022924] [<c03eda44>] (wait_schedule+0x8/0x10) from [<c001120c>] (__wait_on_bit+0x74/0xb8)
[  241.031434] [<c001120c>] (__wait_on_bit+0x74/0xb8) from [<c00112b8>] (out_of_line_wait_on_bit+0x68/0x70)
[  241.040902] [<c00112b8>] (out_of_line_wait_on_bit+0x68/0x70) from [<c03e5e88>] (dvb_usb_fe_sleep+0xf4/0xfc)
[  241.050618] [<c03e5e88>] (dvb_usb_fe_sleep+0xf4/0xfc) from [<c03b4b74>] (dvb_frontend_thread+0x124/0x4e8)
[  241.060164] [<c03b4b74>] (dvb_frontend_thread+0x124/0x4e8) from [<c0049690>] (kthread+0xa4/0xb0)
[  241.068929] [<c0049690>] (kthread+0xa4/0xb0) from [<c0009118>] (ret_from_fork+0x14/0x3c)

Fix it by calling dvb_usbv2_adapter_frontend_exit() latter.

Test enviroment: odroidx2 + Hauppauge(WinTV-Aero-M)

Change-Id: Ia7ccc816a36f3aaa398fee928d17609fc778a4ee
Signed-off-by: Changbing Xiong <cb.xiong@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoARM: use get machine revision function for get sys_revision property 20/26420/3
Beomho Seo [Fri, 22 Aug 2014 06:18:43 +0000 (15:18 +0900)]
ARM: use get machine revision function for get sys_revision property

'system_rev' is revision information of board/machine.
Arm architecture defines variable 'system_rev' but not assigned.
So This patch use of_flat_dt_get_machine_rev() for get 'sys_revision'
from device tree.

Change-Id: Ifa6cc0704c109457e779d4e68f33ab67740282f9
Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
10 years agoof: Add common FDT machine revision related function 05/26405/4
Beomho Seo [Fri, 22 Aug 2014 06:12:31 +0000 (15:12 +0900)]
of: Add common FDT machine revision related function

Some device depentent mchine revision. So this patch add get machine revision
function. Machine revision get from device tree. If device tree haven't
'revision' property, function return zero.

Change-Id: Ide2bdd314db334643e5acaabf31d8abc133a51dc
Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
10 years agoarm: tizen_odroid_defconfig: enable options for RTL8188CUS usb wifi 19/26719/1
Joonyoung Shim [Mon, 25 Aug 2014 06:54:36 +0000 (15:54 +0900)]
arm: tizen_odroid_defconfig: enable options for RTL8188CUS usb wifi

Hardkernel provides RTL8188CUS usb wifi module with Odroid U3 board.
This patch is to enable wireless options for RTL8188CUS usb wifi.

Change-Id: I55f9cd346f31aa85b1f7a1d29835c425a31380cb
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
10 years agomedia: s5p_mfc: unify variable naming style 74/26274/3
Zhaowei Yuan [Wed, 20 Aug 2014 07:24:19 +0000 (15:24 +0800)]
media: s5p_mfc: unify variable naming style

Variable frame_size represents the size of plane luminance
here, not just frame size, its naming style should be unified
as frame_size_ch and frame_size_mv.

Change-Id: I1aaec3f859f99fb2acba4f5356d7f24c62dc21d3
Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com>
10 years agomedia: s5p_mfc: correct the loop condition 72/26272/3
Zhaowei Yuan [Wed, 20 Aug 2014 07:04:12 +0000 (15:04 +0800)]
media: s5p_mfc: correct the loop condition

It should take ctx->dst_fmt->num_planes as the loop
condition for CAPTURE.

Change-Id: Icc3bf357afefb263f76e37b7ffec23edb788560e
Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com>
10 years agomedia: s5p_mfc: Mark buffer as requested after it is indeed allocated 97/25897/2
Zhaowei Yuan [Tue, 12 Aug 2014 09:08:18 +0000 (17:08 +0800)]
media: s5p_mfc: Mark buffer as requested after it is indeed allocated

Ctx->capture_state should be set as QUEUE_BUFS_REQUESTED after the buffer is
indeed allocated successfully.

Change-Id: I6498733e49adc1186a6007e9f6b4d8953af1dcbe
Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com>
10 years agomedia: s5p_mfc: Correct improper log and revert file permission 95/25895/2
Zhaowei Yuan [Tue, 12 Aug 2014 06:41:42 +0000 (14:41 +0800)]
media: s5p_mfc: Correct improper log and revert file permission

This patch corrects an improper log and revert the permission
of 2 files to original state, which were modified by the
previous patches by mistake.

Change-Id: I388260dc3329faab2efdd260bf28149ebfc3685f
Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com>
10 years agomedia: s5p_mfc: Remove unnecessary checking for fmt->type 94/25894/2
Zhaowei Yuan [Tue, 12 Aug 2014 05:49:10 +0000 (13:49 +0800)]
media: s5p_mfc: Remove unnecessary checking for fmt->type

If find_format(f, MFC_FMT_DEC) didn't return a NULL pointer,
then the value of fmt->type must be MFC_FMT_DEC. It's
unnecessary to check it here.

Change-Id: I6c1146d33e014465fbdf8b085f0264fd60788260
Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com>
10 years agovb2: fix plane index sanity check in vb2_plane_cookie() 75/26275/4
Zhaowei Yuan [Wed, 20 Aug 2014 07:39:30 +0000 (15:39 +0800)]
vb2: fix plane index sanity check in vb2_plane_cookie()

It's also invalid that plane_no equals to vb->num_planes

Change-Id: Icb11d9d5712f79d67ba2132e78fd4e90f91fef6a
Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com>
10 years agoexynos/drm: gsc: fix build error related with write back 10/26410/1
Hyungwon Hwang [Fri, 22 Aug 2014 05:44:44 +0000 (14:44 +0900)]
exynos/drm: gsc: fix build error related with write back

Fix the variable type and the macro name to make this driver buildable.

Change-Id: I14f95c66db7bcfc8170e330e065f3de80c34ada8
Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
10 years agoexynos/drm: ipp: fix to get null when the list is empty 09/26409/1
Hyungwon Hwang [Fri, 22 Aug 2014 05:35:03 +0000 (14:35 +0900)]
exynos/drm: ipp: fix to get null when the list is empty

list_first_entry does not return null, when the list is empty.

Change-Id: I014e2ef5ba035db3b6fc97e6821bc9869143f867
Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
10 years agoinput: touchscreen: mms128: change calling mms config set function 37/26337/2
Beomho Seo [Thu, 21 Aug 2014 02:09:23 +0000 (11:09 +0900)]
input: touchscreen: mms128: change calling mms config set function

mms128 touchscreen driver is call mms_config_set function repeatedly.
This patch remove unnecessary calling mms_config_set function.
And then, change calling mms_config_get function.

Change-Id: Id4edd63df9061a6145cd715b78c784ba57fdf229
Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
10 years agoinput: touchscreen: mms128: remove global variable "enable" 36/26336/1
Beomho Seo [Thu, 21 Aug 2014 01:34:11 +0000 (10:34 +0900)]
input: touchscreen: mms128: remove global variable "enable"

If disable CONFIG_TIZEN_WIP, This driver not work after supend/resume.
Because this driver use variable "enable" and "info->enable" sepearately.
So this patch remove variable "enable" and then, use "info->enable".
Also this patch revise that state is changed at mms_ts_power() only.

Change-Id: I9b0d0c46430876779b89d76201deeeaba048cc46
Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
10 years agoARM: dts: fix audio routing of Odroid U3 82/26282/2
Joonyoung Shim [Wed, 20 Aug 2014 08:26:57 +0000 (17:26 +0900)]
ARM: dts: fix audio routing of Odroid U3

This will route right Headset audio path for Odroid U3.

Change-Id: I8d52b8a9b388bd4f19168e22b7f6fcecf6bd347a
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
10 years agoASoC: samsung: add Headset dapm widgets for Odroid U3 81/26281/2
Joonyoung Shim [Wed, 20 Aug 2014 08:26:01 +0000 (17:26 +0900)]
ASoC: samsung: add Headset dapm widgets for Odroid U3

Odroid U3 can support Headset Stereophone and Headset Mic.

Change-Id: Ia682256a21cef262d4539ce0b5f1b9bc54ddffb1
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
10 years agoASoC: samsung: remove unnecessary controls of odroidx2_max98090 79/26279/2
Joonyoung Shim [Wed, 20 Aug 2014 08:07:13 +0000 (17:07 +0900)]
ASoC: samsung: remove unnecessary controls of odroidx2_max98090

The control by user about external connectors is unnecesary.

Change-Id: Ib86f8ccccbb462c2ae17853dcc29313220eb407f
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
10 years agoarm: tizen_odroid_defconfig: enable options for usb modem 99/26299/1
Joonyoung Shim [Wed, 20 Aug 2014 06:34:47 +0000 (15:34 +0900)]
arm: tizen_odroid_defconfig: enable options for usb modem

Below options are requested from telephone part to support usb modem.

CONFIG_USB_SERIAL
CONFIG_USB_SERIAL_OPTION
CONFIG_PPP
CONFIG_PPP_BSDCOMP
CONFIG_PPP_DEFLATE
CONFIG_PPP_FILTER
CONFIG_PPP_MULTILINK
CONFIG_PPP_ASYNC
CONFIG_PPP_SYNC_TTY

Change-Id: Id3de714f5ffc2885c22e33850faed0421d9d936d
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
10 years agoMerge "drm: fimc: support ipp dynamic color range" into tizen
Inki Dae [Wed, 20 Aug 2014 07:21:27 +0000 (00:21 -0700)]
Merge "drm: fimc: support ipp dynamic color range" into tizen

10 years agothermal: exynos: Add support for TRIM_RELOAD feature at Exynos3250 28/26228/4
Chanwoo Choi [Tue, 19 Aug 2014 11:30:40 +0000 (20:30 +0900)]
thermal: exynos: Add support for TRIM_RELOAD feature at Exynos3250

This patch add support for TRIM_RELOAD feature at Exynos3250. The TMU of
Exynos3250 has two TRIMINFO_CON register.

Change-Id: I129797121b6c5f619390c350a7783cf1d08f5697
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agodrm: fimc: support ipp dynamic color range 62/26262/8
Donghwa Lee [Wed, 20 Aug 2014 01:03:51 +0000 (10:03 +0900)]
drm: fimc: support ipp dynamic color range

This patch support dynamic range for color space conversion.
COLOR_RANGE_LIMITED: selects narrow -> Y(16 to 235), Cb/Cr(16 to 240)
COLOR_RANGE_FULL: selects wide -> Y/Cb/Cr(0 to 255), Wide default

Change-Id: I7bb62883b497b5b6869108247cc33b09c07f470e
Signed-off-by: Donghwa Lee <dh09.lee@samsung.com>
10 years agodts: exynos3250: Add Exynos DRM GSC device node 65/26265/3
Hyungwon Hwang [Tue, 19 Aug 2014 12:29:23 +0000 (21:29 +0900)]
dts: exynos3250: Add Exynos DRM GSC device node

This patch adds Exynos DRM GSC device nodes and the corresponding IOMMU
device nodes for the boards which uses Exynos 3250 processor.

Change-Id: I846494b03922896db45f5faec8265e15be46273f
Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
10 years agodrm/exynos: gsc: add device tree support 64/26264/2
Hyungwon Hwang [Tue, 19 Aug 2014 12:18:31 +0000 (21:18 +0900)]
drm/exynos: gsc: add device tree support

This patch makes Exynos DRM GSC driver compatible with device tree.

Change-Id: I0e1abed40778c97c15ed5d52fc4568f0ee105c57
Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
10 years agodrm/exynos: gsc: enable DRM_EXYNOS_GSC for Exynos 3 series 63/26263/1
Hyungwon Hwang [Tue, 19 Aug 2014 12:11:59 +0000 (21:11 +0900)]
drm/exynos: gsc: enable DRM_EXYNOS_GSC for Exynos 3 series

This patch makes Exynos DRM GSC driver buildable with Exynos 3 series,
not only with Exynos 5 series.

Change-Id: Ib8cda001f7aee34c1584923c4be43a3ed77c6e6d
Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
10 years agothermal: Use THERMAL_TREND_{RISING|FALLING} to indicate thermal trends 63/25063/3
Lukasz Majewski [Fri, 25 Jul 2014 15:40:38 +0000 (17:40 +0200)]
thermal: Use THERMAL_TREND_{RISING|FALLING} to indicate thermal trends

Values used previously - THERMAL_TREND_{RAISE|DROP}_FULL caused thermal
governor to use the maximal cooling state just after crossing
the first trip point. Such behavior is not acceptable since it causes
the full speed of FAN which is noisy and not really necessary.

With proposed values the fan speed limit is adjusted accordingly.

Change-Id: I9b2fd96dd74040a3a0ddf8465b316b167d5c834e
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
10 years agoconfig: odroid: Enable thermal subsystem for Odroid 62/25062/3
Lukasz Majewski [Fri, 25 Jul 2014 15:33:23 +0000 (17:33 +0200)]
config: odroid: Enable thermal subsystem for Odroid

This commit adds support for thermal subsystem for the Odroid family
of development boards.

Change-Id: Ib187fcc051d97b4ff5fdb24702804cbdf75af954
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
10 years agodts: Odroid: Add tmu node to the Odroid DTS 61/25061/3
Lukasz Majewski [Fri, 25 Jul 2014 15:35:38 +0000 (17:35 +0200)]
dts: Odroid: Add tmu node to the Odroid DTS

This change allows proper support for Thermal subsystem on the Exynos4412
based Odroid board.

Change-Id: I1a79180aa0159dbd3ba6446bc1d4b4a976a71a05
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
10 years agoARM: dts: Add cpufreq dt node for Exynos3250 25/26225/1
Chanwoo Choi [Tue, 19 Aug 2014 10:16:09 +0000 (19:16 +0900)]
ARM: dts: Add cpufreq dt node for Exynos3250

This patch add cpufreq dt node for Exynos3250 and remove un-used cpufreq
information.

Change-Id: Ia70bf3c83b032a3e58537aa5850a284bc4a91197
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agocpufreq: exynos3250: Initialize frequency table statically 24/26224/1
Chanwoo Choi [Tue, 19 Aug 2014 10:14:44 +0000 (19:14 +0900)]
cpufreq: exynos3250: Initialize frequency table statically

This patch initializes frequency table for CPUFREQ statically.

Change-Id: If64cd6665f22c57da49764e19cb9847f0a7a5aed
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoDocumentation: cpufreq: load_table: Update load_table debugfs file documentation 23/26223/1
Chanwoo Choi [Tue, 19 Aug 2014 06:45:05 +0000 (15:45 +0900)]
Documentation: cpufreq: load_table: Update load_table debugfs file documentation

This patch add the detailed description of 'load_table' debugfs file to show
collected CPUs load and the change of CPU frequency.

Changes since v6:
- No change

Changes since v5:
- Add description of test case

Change-Id: Ieb4dbb5f76c4d704a7bf94479bfa91cb1b8cdfad
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
10 years agocpufreq: stats: Add 'load_table' debugfs file to show accumulated data of CPUs 22/26222/1
Chanwoo Choi [Tue, 19 Aug 2014 06:44:33 +0000 (15:44 +0900)]
cpufreq: stats: Add 'load_table' debugfs file to show accumulated data of CPUs

This patch add new 'load_table' debugfs file to show previous accumulated data
of CPUs load as following path and add CPUFREQ_LOADCHECK notification to
CPUFREQ_TRANSITION_NOTIFIER notifier chain.
- /sys/kernel/debug/cpufreq/cpuX/load_table

When governor calculates CPUs load on dbs_check_cpu(), governor send
CPUFREQ_LOADCHECK notification with CPUs load, so that cpufreq_stats
accumulates calculated CPUs load on 'load_table' storage.

This debugfs file is used to judge the correct system state or determine
suitable system resource according to current CPUs load on user-space.

This debugfs file include following data:
- Measurement point of time
- CPU frequency
- Per-CPU load

Changes since v6:
- Remove unnecessary memory free/allocation operation on
  cpufreq_stats_reset_debugfs()
- Get correct index of cpu_debugfs[] array according to cpu number
- Reset 'load_table' data when cpufreq governor is changed or updated because
  specific governor(e.g., performance/powersave) haven't used 'load_table;
  debugfs file.

Changes since v5:
- Determine index value of policy->cpu_debugfs[] according to
  cpumask_weight(policy->cpus) value
- Bug fix, store 'policy->cpu' to 'freq->cpu' before notify
  CPUFREQ_LOADCHECK notification

Changes since v4:
- Reset the data of CPUs load when cpufreq governor is changed
- Move code about creating debugfs directory to below first patch
: [PATCH 1/2] cpufreq: Add debugfs directory for cpufreq

Changes since v3:
- Extend a range of accumulated data (10 ~ 1000)
- Add unit information of time/freq and align 'Time' field as left for readability
- Use CONFIG_CPU_FREQ_STAT depdendency instead of CONFIG_CPU_FREQ_STAT_DETATILS
- Initialize load of offline CPUx as zero(0)
- Create/remove debugfs root directory on cpufreq_stats_init/exit() because
  debugfs root is used on all CPUs.

Changes since v2:
- Code clean according to Viresh Kumar's comment
- Show both old frequency and new frequency on 'load_table' debugfs file
- Change debufs file patch as below
  old: /sys/kernel/debugfs/cpufreq/load_table
  new: /sys/kernel/debugfs/cpufreq/cpuX/load_table

Changes since v1:
- Set maximum storage size to save CPUs load on Kconfig
- Use spinlock to synchronize read/write operation for CPUs load
- Use local variable instead of global variable(struct cpufreq_freqs *freqs)
- Use pointer of data structure to get correct size of data structure
  in sizeof() macro instead of structure name
  : sizeof(struct cpufreq_freqs) -> sizeof(*stat->load_table)
- Change time unit from nanosecond to microsecond
- Remove unnecessary memory copy

Change-Id: I14e68196360a3ec00a36e7357b8c73c887abddce
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
10 years agocpufreq: Add debugfs directory for cpufreq 21/26221/1
Chanwoo Choi [Tue, 19 Aug 2014 06:43:52 +0000 (15:43 +0900)]
cpufreq: Add debugfs directory for cpufreq

This patch create debugfs root directory and child directory according to
the number of CPUs for CPUFreq as below debugfs directory path:
- /sys/kernel/debug/cpufreq/cpuX

If many CPUs share only one cpufreq policy, other CPUs(except for first CPU)
create a symbolic link for debugfs directory of CPU0.
- link: /sys/kernel/debug/cpufreq/cpu[1-(N-1)] -> /sys/kernel/debug/cpufreq/cpu0

And then cpufreq may need to create debugfs specific file below of debugfs
directory of cpufreq. (e.g., /sys/kernel/debug/cpufreq/cpu0/load_table)

Changes since v6:
- Use 'policy->related_cpus' instead of 'policy->cpus' when getting the number
  of CPUs included in the same package
- Get correct index of cpu_debugfs[] array according to cpu number
- Refactoring cpufreq_move_debugfs_dir() / cpufreq_create_debugfs_symlink()
- Use for_each_cpu() to support multi cluster instead of for_each_present_cpu()

Changes since v5:
- Refactoring patch v4
- Create again symbolic link of debugfs directory when first CPU dev is removed
  (In this case, many CPUs share only one cpufreq policy)

Change-Id: Ibd84118e6dd3b1e3bc624e1871d39425c99b1673
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
10 years agoARM: dts: exynos3250: Add busfreq's dt data to support DVFS of memory interface and bus 97/26197/2
Chanwoo Choi [Tue, 19 Aug 2014 05:17:22 +0000 (14:17 +0900)]
ARM: dts: exynos3250: Add busfreq's dt data to support DVFS of memory interface and bus

This patch add Exynos3250 busfreq's dt data to support DVFS(Dynamic Voltage
Frequency Scaling) of memory interface and bus. Exynos3250'busfreq driver would
use following PPMU list:
- PPMU_DMC0
- PPMU_DMC1
- PPMU_LEFT
- PPMU_RIGHT

Change-Id: Id22b34c1631e548af938a111310da5542322fd12
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agodevfreq: exynos4: Move definition to remove build break 96/26196/2
Chanwoo Choi [Tue, 19 Aug 2014 05:13:38 +0000 (14:13 +0900)]
devfreq: exynos4: Move definition to remove build break

This patch simply move the definition about PPMU remove build break
when building both exynos3_bus and exynos4_bus driver.

Change-Id: I4cb6e42644eb7ce2ef17d3de923eba87af0f7923
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agodevfreq: exynos: Add Exynos3250 busfreq support 95/26195/2
Chanwoo Choi [Tue, 19 Aug 2014 05:11:38 +0000 (14:11 +0900)]
devfreq: exynos: Add Exynos3250 busfreq support

This patch add Exynos3250 busfreq driver to support DVFS(Dynamic Voltage
Frequency Scaling) about Exynos3250's Memory interface and bus. Exynos3250
busfreq driver will optimize power-consumption/performance of memory according
to PPMU(Profiling Performance Monitoring Unit) Read/Write count of Exynos3250
SoC.

- Exynos3250 MIF (DMC block) use following PPMU to check utilization
of MIF block.
: PPMU_DMC0
: PPMU_DMC1

- Exynos3250 INT (Internal block except for ARM/DMC/G3D) use following PPMU
to check utilization of INT block.
: PPMU_LEFT
: PPMU_RIGHT

Change-Id: If35c1fa0228f16547015931c64b0d6e896599d46
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
10 years agoMerge "drm: fimd: support display writeback mode" into tizen
Inki Dae [Tue, 19 Aug 2014 10:04:31 +0000 (03:04 -0700)]
Merge "drm: fimd: support display writeback mode" into tizen

10 years agodrm: fimd: support display writeback mode 79/26179/7
Donghwa Lee [Tue, 19 Aug 2014 02:48:51 +0000 (11:48 +0900)]
drm: fimd: support display writeback mode

This patch supports exynos drm display writeback mode that clone
the screen with fimd like below.

FIMD----->FIMC H/W---->MEMORY

Change-Id: I8172ec6ee157e2e48a23b9776e11543c33716dc5
Signed-off-by: Donghwa Lee <dh09.lee@samsung.com>
10 years agoinput: touchscreen: mms128: remove CONFIG_TIZEN_WIP ifdefs 76/26176/1
Beomho Seo [Tue, 19 Aug 2014 04:26:55 +0000 (13:26 +0900)]
input: touchscreen: mms128: remove CONFIG_TIZEN_WIP ifdefs

This patch removes CONFIG_TIZEN_WIP ifdefs.

Change-Id: I48c455d4ef67e60383e1c358be4124f78b4352e5
Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
10 years agoau0828: workaround i2c clock speed for DViCO FusionHDTV7 23/26123/1
Joonyoung Shim [Mon, 18 Aug 2014 04:43:50 +0000 (13:43 +0900)]
au0828: workaround i2c clock speed for DViCO FusionHDTV7

The DViCO FusionHDTV7 usb tuner stick is not working after commit
cfd0c77d0830d33288e9da17aa10db3a61de601a(au0828: improve I2C speed).
This will use always 20kHz for i2c and workaround until fixed from
au0828 codes.

[   28.350841] xc5000: Can't request Self-callibration. - retrying to upload firmware.
[   32.345838] xc5000: Can't request Self-callibration. - retrying to upload firmware.
[   36.325840] xc5000: Can't request Self-callibration. - retrying to upload firmware.
[   40.300846] xc5000: Can't request Self-callibration. - retrying to upload firmware.
[   44.270848] xc5000: Can't request Self-callibration. - too many retries. Giving up
[   44.272778] xc5000: Unable to initialise tuner
[   45.385845] xc5000: xc_set_signal_source(0) failed
[   47.305850] xc5000: xc_set_signal_source(0) failed

Change-Id: I0099cc0061e0e3a236570d43d3f4f63ebc4d6d49
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
10 years agoARM: Use 'model' property to set machine_name from Device Tree 24/26024/1
Chanwoo Choi [Thu, 14 Aug 2014 06:03:56 +0000 (15:03 +0900)]
ARM: Use 'model' property to set machine_name from Device Tree

This patch use 'model' property from Device Tree to set machine_name.
The arm64 has already got the machine_name from Device Tree.

Change-Id: I5a810cf3446a48336d1dd4dfe11e56116c1d5bc1
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoarm: use common of_flat_dt_match_machine 23/26023/1
Rob Herring [Thu, 14 Aug 2014 07:50:48 +0000 (16:50 +0900)]
arm: use common of_flat_dt_match_machine

Convert arm to use the common of_flat_dt_match_machine function.

Change-Id: I10ae33da26089ddc43008aa2a133ab7d301b4401
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: linux-arm-kernel@lists.infradead.org
10 years agoof: introduce common FDT machine related functions 22/26022/1
Rob Herring [Thu, 14 Aug 2014 07:48:25 +0000 (16:48 +0900)]
of: introduce common FDT machine related functions

Introduce common of_flat_dt_match_machine and
of_flat_dt_get_machine_name functions to unify architectures' handling
of machine level model and compatible properties.

Several architectures match the root compatible string with an arch
specific list of machine descriptors duplicating the same search
algorithm. Create a common implementation with a simple architecture
specific hook to iterate over each machine's match table.

Change-Id: I77acb5c560e2b08591c37b57d5d87023aa3fbe91
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Grant Likely <grant.likely@linaro.org>
10 years agoarm: tizen_odroid_defconfig: built-in snd-usb-audio 16/26016/2
Joonyoung Shim [Thu, 14 Aug 2014 07:30:34 +0000 (16:30 +0900)]
arm: tizen_odroid_defconfig: built-in snd-usb-audio

HVR950Q ananlog TV output needs snd-usb-audio, built-in it for user convenience.

Change-Id: I7b274395f32d35be1841f3122a256f673d84a9c7
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
10 years agoARM: dts: Add missing address/size-cells properties for Trats board
Sylwester Nawrocki [Wed, 13 Aug 2014 15:35:19 +0000 (17:35 +0200)]
ARM: dts: Add missing address/size-cells properties for Trats board

Fixes compilation warning:

  DTC     arch/arm/boot/dts/exynos4210-trats.dtb
Warning (reg_format): "reg" property in /dsi@11C80000/panel@0 has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
Warning (avoid_default_addr_size): Relying on default #address-cells value for /dsi@11C80000/panel@0
Warning (avoid_default_addr_size): Relying on default #size-cells value for /dsi@11C80000/panel@0

Change-Id: Ib1ec361d058fa89dda4391ca49015bdd8fb5185c
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
10 years agodrm/exynos: hdmi: fix macros for audio registers
Robert Baldyga [Wed, 6 Aug 2014 05:37:30 +0000 (07:37 +0200)]
drm/exynos: hdmi: fix macros for audio registers

This patch fix two things:

- Remove duplicated HDMI_I2S_SEL_SDATA2(x) macro definition, add
  missing HDMI_I2S_SEL_SDATA0(x) macro and fix macro usage.

- Fix HDMI_I2S_IN_DISABLE and HDMI_I2S_IN_ENABLE values and fix
  macro usage.

Change-Id: I172913a61011292c3c912a3e8ccd84109924b906
Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
10 years agoARM: dts: Change i2s compatible string on Exynos4 SoC
Inha Song [Wed, 13 Aug 2014 02:53:39 +0000 (11:53 +0900)]
ARM: dts: Change i2s compatible string on Exynos4 SoC

This patch removes quirks from i2s node and change the i2s
compatible names for Exynos4 SoC.

Change-Id: Id9f4965ac10eb1bbdb1b4f1a4c20f263823d36db
Signed-off-by: Inha Song <ideal.song@samsung.com>
10 years agoASoC: Samsung: I2S: Add quirks as driver data in I2S
Padmavathi Venna [Mon, 12 Aug 2013 09:49:51 +0000 (15:19 +0530)]
ASoC: Samsung: I2S: Add quirks as driver data in I2S

Samsung has different versions of I2S introduced in different
platforms. Each version has some new support added for multichannel,
secondary fifo, s/w reset control and internal mux for rclk src clk.
Each newly added change has a quirk. So this patch adds all the
required quirks as driver data and based on compatible string from
dtsi fetches the quirks.

Change-Id: Ib8d12633f3971f59284a5a1ae40d60f40411b2cc
Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
10 years agomedia: s5p-mfc: skip incomeplete frame submit/tizen/20140813.070512
Donghwa Lee [Thu, 31 Jul 2014 06:01:59 +0000 (15:01 +0900)]
media: s5p-mfc: skip incomeplete frame

Currently, when incomplete frame is recieved in the middle of decoding,
driver have treated it to error, so src/dst queue and clock are cleaned.
Although it is obviously error case, it is need to maintain video
decoding in case of necessity. This patch supports skip incomplete frame
to next.

Change-Id: I328275a01d9f4bdfda55daf08a0e8b238ed7da5d
Signed-off-by: Donghwa Lee <dh09.lee@samsung.com>
10 years agomedia: s5p_mfc: Release ctx->ctx if failed to allocate ctx->shm
Zhaowei Yuan [Fri, 1 Aug 2014 06:05:41 +0000 (14:05 +0800)]
media: s5p_mfc: Release ctx->ctx if failed to allocate ctx->shm

ctx->ctx should be released when the following allocation for ctx->shm fails.

Change-Id: I55372f8360db4605a65f633393b97c0ba2ee47d6
Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com>
10 years agoARM: dts: Add configuration of audio clocks for exynos4412-odroid
Sylwester Nawrocki [Mon, 4 Aug 2014 15:39:06 +0000 (17:39 +0200)]
ARM: dts: Add configuration of audio clocks for exynos4412-odroid

This specifies the EPLL and Audio Subsystem clocks configuration
for a set up with the MAX98090 codec as an I2S master.

Change-Id: I2f9d28c34ed22e12760ed303a74595dc9a900c3e
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
10 years agoclk: dt-bindings: Fix the assigned clock rates documentation
Sylwester Nawrocki [Mon, 4 Aug 2014 16:15:11 +0000 (18:15 +0200)]
clk: dt-bindings: Fix the assigned clock rates documentation

Correct a cut & paste error from commit: 86be408bfbd846fab3c4ac21d6
"clk: Support for clock parents and rates assigned from device tree"

Change-Id: I6562c7acebc5742c81db8bfb4da8eed77bddb1ff
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
10 years agoclk: Add missing of_clk_set_defaults export
Sylwester Nawrocki [Mon, 4 Aug 2014 10:44:33 +0000 (12:44 +0200)]
clk: Add missing of_clk_set_defaults export

The of_clk_set_defaults() function is used in the I2C subsystem which
can be build as module. Add the missing symbol export entry so there
is no build errors like
"ERROR: "of_clk_set_defaults" [drivers/i2c/i2c-core.ko] undefined!"

Fixes commit: 86be408bfbd846fab3c4ac21d6f9298bd2e4b790
"clk: Support for clock parents and rates assigned from device tree"

Change-Id: Ibdff952f3c958d09ff8f07a567a8026e7942a586
Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
10 years agoclk: checking wrong variable in __set_clk_parents()
Dan Carpenter [Fri, 1 Aug 2014 08:14:17 +0000 (11:14 +0300)]
clk: checking wrong variable in __set_clk_parents()

There is a cut and paste bug so we check "pclk" instead of "clk".

Change-Id: Ie72f6d614d5e5a2756f60808aad3db92f46ed790
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
10 years agoclk: Support for clock parents and rates assigned from device tree
Sylwester Nawrocki [Wed, 18 Jun 2014 15:29:32 +0000 (17:29 +0200)]
clk: Support for clock parents and rates assigned from device tree

This patch adds helper functions to configure clock parents and rates
as specified through 'assigned-clock-parents', 'assigned-clock-rates'
DT properties for a clock provider or clock consumer device.
The helpers are now being called by the bus code for the platform, I2C
and SPI busses, before the driver probing and also in the clock core
after registration of a clock provider.

Change-Id: I96d98c9c9d576fcbf0dfc90d1cc75feb9fdf97cb
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
[s.nawrocki@samsung.com: backported to v3.10]
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
10 years agonet: rfkill-gpio: Add handle clock for rfkill gpio 19/25919/2
Beomho Seo [Fri, 8 Aug 2014 08:22:43 +0000 (17:22 +0900)]
net: rfkill-gpio: Add handle clock for rfkill gpio

WORKAROUND: Temporary workaround for bluetooth enable.
This patch add clk parse and clk get function for using bluetooth.

Change-Id: Id72770e73c8b5cc895ad6a2e331899380beca7b7
Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
10 years agonet: rfkill-gpio: add low power mode for bluetooth chip 18/25918/2
Seung-Woo Kim [Thu, 15 May 2014 03:38:30 +0000 (12:38 +0900)]
net: rfkill-gpio: add low power mode for bluetooth chip

WORKAROUND: Temporary workaround for bluetooth enable.
This patch add LP mode for bluetooth chip.

Change-Id: I1badf49085e58cec08704581beb0458ffbeaee64
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
10 years agoBluetooth: add hci event notification 17/25917/2
Seung-Woo Kim [Thu, 15 May 2014 03:37:20 +0000 (12:37 +0900)]
Bluetooth: add hci event notification

WORKAROUND: Temporary workaround for bluetooth enable.
For specific hci events, operations are needed. So this patch adds
event notification and its notifier registration.

Change-Id: I6f8fe0b3b90c12d7f4fe35823d25b9fbdcd98d06
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
10 years agoserial: samsung: fix maximum baudrate 16/25916/2
Seung-Woo Kim [Thu, 15 May 2014 03:35:50 +0000 (12:35 +0900)]
serial: samsung: fix maximum baudrate

To support hs uart, maximum baudrate is fixed to 3Mbps.

Change-Id: Idc39e09a8089c61518a3525058ae6647a625c8fb
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
10 years agonet: rfkill-gpio: add host wake and wake pins 15/25915/2
Seung-Woo Kim [Fri, 8 Aug 2014 08:13:09 +0000 (17:13 +0900)]
net: rfkill-gpio: add host wake and wake pins

WORKAROUND: Temporary workaround for bluetooth enable.
The wake pin is used for waking up the hw and host wake pin is used
for waking up host processor during sleep.
Additionally, This patch add reset-gpio property and devm_gpio_request_one
function.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
[This patch rebased by Beomho Seo]
Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
Change-Id: Ibb2f74cae6e1d11ae84172d0f49a10563fc57e7f

10 years agonet: rfkill-gpio: fix initial state as blocked 14/25914/2
Seung-Woo Kim [Thu, 15 May 2014 03:30:43 +0000 (12:30 +0900)]
net: rfkill-gpio: fix initial state as blocked

WORKAROUND: Temporary worgaround for bluetooth enable.
Initial state is not set as blocked, so it is always unblocked
after booting. This patch fixes initual state of rfkill-gpio as
blocked.

Change-Id: Ide67763d10e2ef3ea75fe58d917cd725b26e2cab
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
10 years agonet: rfkill: add line for parsing shutdown gpio prooerty 13/25913/2
Beomho Seo [Fri, 8 Aug 2014 08:07:23 +0000 (17:07 +0900)]
net: rfkill: add line for parsing shutdown gpio prooerty

This patch add line in rfkill_gpio_dt_probe function.
"shutdown-gpio" property is added on device node already.

Change-Id: I4c6861178cafa64d2017a26f5dbe9e311db2004c
Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
10 years agonet: rfkill: gpio: add device tree support 12/25912/2
Chen-Yu Tsai [Thu, 15 May 2014 02:27:27 +0000 (11:27 +0900)]
net: rfkill: gpio: add device tree support

Change-Id: Ic179fcf929d3555a29addd39024011537ea041fa
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
10 years agonet: rfkill: gpio: fix reversed clock enable state 11/25911/2
Chen-Yu Tsai [Thu, 15 May 2014 02:25:58 +0000 (11:25 +0900)]
net: rfkill: gpio: fix reversed clock enable state

rfkill-gpio has clk_enabled = blocked, which is true when rfkill
blocks the device. This results in calling clock enable/disable at
the wrong time. Reversing the value fixes this.

Change-Id: Id13a2bd8d7314b29753d2cdedca62b27fa9fd1d9
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
10 years agonet: rfkill: gpio: use clk_prepare_enable/clk_disable_unprepare 10/25910/2
Chen-Yu Tsai [Thu, 15 May 2014 02:22:17 +0000 (11:22 +0900)]
net: rfkill: gpio: use clk_prepare_enable/clk_disable_unprepare

rfkill-gpio calls clk_enable() without first calling clk_prepare(),
resulting in a warning and no effect. Switch to clk_prepare_enable()
and clk_disable_unprepare.

Change-Id: I4cb7ed7ff551daab034deb300f6def1c44721fe3
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
10 years agonet: rfkill: gpio: prepare for DT and ACPI support 09/25909/2
Heikki Krogerus [Wed, 16 Oct 2013 10:53:42 +0000 (13:53 +0300)]
net: rfkill: gpio: prepare for DT and ACPI support

This will add the relevant values like the gpios and the
type in rfkill_gpio_platform_data to the rfkill_gpio_data
structure. It will allow those values to be easily picked
from DT and ACPI tables later.

Change-Id: I0851561b648c52be17dbe9a7bb01b0b62ff621a6
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Acked-by: Rhyland Klein <rklein@nvidia.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
10 years agonet: rfkill: gpio: spinlock-safe GPIO access 08/25908/2
Heikki Krogerus [Wed, 16 Oct 2013 10:53:41 +0000 (13:53 +0300)]
net: rfkill: gpio: spinlock-safe GPIO access

This sets the direction of the gpio once when it's requested,
and uses the spinlock-safe gpio_set_state() to change the
state.

Change-Id: I1e9e9035dc9451d7531d230645d5f1572130a77b
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Acked-by: Rhyland Klein <rklein@nvidia.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
10 years agonet: rfkill: gpio: clean up clock handling 07/25907/2
Heikki Krogerus [Wed, 16 Oct 2013 10:53:40 +0000 (13:53 +0300)]
net: rfkill: gpio: clean up clock handling

Use a simple flag to see the state of the clock, and make
the clock available even without a name. Also, get rid of
HAVE_CLK dependency.

Change-Id: Ie113c861a296a57ff32f5a3ee95ef0b9d9fff7e4
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Acked-by: Rhyland Klein <rklein@nvidia.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
10 years agonet: rfkill: gpio: convert to resource managed allocation 06/25906/2
Heikki Krogerus [Wed, 16 Oct 2013 10:53:39 +0000 (13:53 +0300)]
net: rfkill: gpio: convert to resource managed allocation

And remove now unneeded resource freeing.

Change-Id: Ie6baa61361effe095de95c5ac19cd19f6ddf4475
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Acked-by: Rhyland Klein <rklein@nvidia.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
10 years agodrm/panel: s6e63j0x03: decrease TE signal rate to 30Hz
Inki Dae [Tue, 12 Aug 2014 13:19:50 +0000 (22:19 +0900)]
drm/panel: s6e63j0x03: decrease TE signal rate to 30Hz

Change-Id: If5b327b3e33cc518c72003de0b3b0e643b43ff42
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agoARM: dts: exynos3250: add fimd iommu device node
Inki Dae [Tue, 12 Aug 2014 12:58:27 +0000 (21:58 +0900)]
ARM: dts: exynos3250: add fimd iommu device node

Change-Id: I4c6fafe6d49ea355c505d3bd1b0e09ad4f4d056e
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agoARM: dts: exynos3250: clean up clock property for gpu node
Inki Dae [Tue, 12 Aug 2014 12:57:50 +0000 (21:57 +0900)]
ARM: dts: exynos3250: clean up clock property for gpu node

Change-Id: Ic8b76c317a0fdd97d640f3b118fcca5e86c5917d
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agodrm/exynos: fimd: add exynos3250 SoC support
Inki Dae [Tue, 12 Aug 2014 12:55:36 +0000 (21:55 +0900)]
drm/exynos: fimd: add exynos3250 SoC support

Change-Id: I18cd6a16b9ef66797ceb9b72bb37f626ae1d3856
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agodrm/exynos: mipi-dsi: add exynos3250 SoC support.
Inki Dae [Tue, 12 Aug 2014 12:55:08 +0000 (21:55 +0900)]
drm/exynos: mipi-dsi: add exynos3250 SoC support.

Change-Id: I2b2618cba75472e07f32a873ec516103a9e2b9d8
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agoARM: dts: exynos4x12: clean up clock property for gpu node
Inki Dae [Tue, 12 Aug 2014 12:51:27 +0000 (21:51 +0900)]
ARM: dts: exynos4x12: clean up clock property for gpu node

Change-Id: Icdc8515f933d3c5c0d912ff99009c75187dee578
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agogpu/mali: add exynos3250 SoC support
Inki Dae [Tue, 12 Aug 2014 12:49:19 +0000 (21:49 +0900)]
gpu/mali: add exynos3250 SoC support

This path adds exynos3250 SoC support with mali-400mp2 core,
and cleans up codes related to clock.

Change-Id: Icbba8769a7389a6e2876a27add0767ec5b603c0a
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agoclk/exynos3250: do not define g3d/lcd block gate clock
Inki Dae [Tue, 12 Aug 2014 12:45:33 +0000 (21:45 +0900)]
clk/exynos3250: do not define g3d/lcd block gate clock

This clock should be passed by default. If they are defined, then
these clocks will be masked in case that relevant drivers don't
enable them.

Change-Id: I8cb402642ac7e9b69c80d594a8be981477f679af
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agoclk: samsung: fix missing spin_lock initialization 85/25885/2
Chanho Park [Tue, 12 Aug 2014 01:24:31 +0000 (10:24 +0900)]
clk: samsung: fix missing spin_lock initialization

This patch adds missing spin_lock initialization since applied aca4c144.
It can fix below error during mct_init_dt.

[    0.000000] BUG: spinlock bad magic on CPU#0, swapper/0/0
[    0.000000]  lock: 0xeb0028d0, .magic: 00000000, .owner: <none>/-1, .owner_cpu: 0
[    0.000000] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.10.52-03511-g2e14cbe-dirty #30
[    0.000000] [<c00141c4>] (unwind_backtrace+0x0/0xf4) from [<c0011520>] (show_stack+0x10/0x14)
[    0.000000] [<c0011520>] (show_stack+0x10/0x14) from [<c02163e8>] (do_raw_spin_lock+0x154/0x180)
[    0.000000] [<c02163e8>] (do_raw_spin_lock+0x154/0x180) from [<c05f5f44>] (_raw_spin_lock_irqsave+0x20/0x28)
[    0.000000] [<c05f5f44>] (_raw_spin_lock_irqsave+0x20/0x28) from [<c04437c8>] (clk_gate_endisable+0x28/0x88)
[    0.000000] [<c04437c8>] (clk_gate_endisable+0x28/0x88) from [<c044383c>] (clk_gate_enable+0xc/0x14)
[    0.000000] [<c044383c>] (clk_gate_enable+0xc/0x14) from [<c0440b00>] (__clk_enable+0x5c/0x9c)
[    0.000000] [<c0440b00>] (__clk_enable+0x5c/0x9c) from [<c0440dec>] (clk_enable+0x18/0x2c)
[    0.000000] [<c0440dec>] (clk_enable+0x18/0x2c) from [<c083d0d8>] (exynos4_timer_resources+0x154/0x224)
[    0.000000] [<c083d0d8>] (exynos4_timer_resources+0x154/0x224) from [<c083d260>] (mct_init_dt+0x64/0x70)
[    0.000000] [<c083d260>] (mct_init_dt+0x64/0x70) from [<c083cec4>] (clocksource_of_init+0x34/0x58)
[    0.000000] [<c083cec4>] (clocksource_of_init+0x34/0x58) from [<c0826e40>] (exynos_init_time+0x40/0x108)
[    0.000000] [<c0826e40>] (exynos_init_time+0x40/0x108) from [<c0822ed4>] (time_init+0x20/0x30)
[    0.000000] [<c0822ed4>] (time_init+0x20/0x30) from [<c081f954>] (start_kernel+0x1e4/0x3a8)
[    0.000000] [<c081f954>] (start_kernel+0x1e4/0x3a8) from [<40008074>] (0x40008074)

Change-Id: I6271d2a82f0296629a30a2788517658d45ef797c
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
10 years agoRevert "drivers: usb: s3c-hsotg: add support for usb core regulator"
Chanho Park [Mon, 11 Aug 2014 05:11:55 +0000 (14:11 +0900)]
Revert "drivers: usb: s3c-hsotg: add support for usb core regulator"

This reverts commit 3fce4fefb40c28cadc40d2fa3452121eb0240ec1.

10 years agoxc5000: be sure that the firmware is there before set params 19/25819/1
Mauro Carvalho Chehab [Sun, 10 Aug 2014 01:49:48 +0000 (22:49 -0300)]
xc5000: be sure that the firmware is there before set params

Now that xc5000_set_params() is also called during resume,
move the code that checks for the firmware to happen there.

This way, the firmware will be loaded either for analog or
digital TV when .resume callback is called.

Change-Id: I84765a1c1fb1913c2918eb1d5e8ce376bcf63817
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoau0828: Fix DVB resume when streaming 18/25818/1
Mauro Carvalho Chehab [Sun, 10 Aug 2014 01:28:58 +0000 (22:28 -0300)]
au0828: Fix DVB resume when streaming

When DVB is streaming and suspend is called, it will call
au0828_stop_transport(), with will clean the streaming flag.

Due to that, stop_urb_transfer() will be called twice,
causing an oops.

So, we need another flag to be used at resume, telling it
to restart DVB.

While here, add a logic at stop_urb_transfer() to prevent
it of being called twice, and convert the usb_streaming
flag into boolean.

Change-Id: I69a1096d1fae3230675ed5f452d2afdde793548b
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoau0828: fix checks if dvb is initialized 17/25817/1
Mauro Carvalho Chehab [Sun, 10 Aug 2014 01:02:07 +0000 (22:02 -0300)]
au0828: fix checks if dvb is initialized

dev->dvb is always not null, as it is an area at the dev
memory. So, checking if (dev->dvb) is always true.

Instead of this stupid check, what the code wants to do is
to know if the DVB was successully registered.

Fix it by checking, instead, for dvb->frontend. It should
also be sure that this var will be NULL if the device was
not properly initialized.

Change-Id: I714b87027e254d34c0448ecb9a673ce1bd9e9e32
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years ago[media] xc5000: better name the functions 16/25816/1
Mauro Carvalho Chehab [Sat, 9 Aug 2014 21:30:13 +0000 (18:30 -0300)]
[media] xc5000: better name the functions

xc5000_set_params() is a bad name for a function that
handles only digital TV. Rename it to xc5000_set_digital_params(),
and proper name the generic function that works for both
digital and analog.

No functional changes.

Change-Id: I4d6702105a586eadc71a1372371adda734b5311b
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years ago[media] xc5000: add a resume function 15/25815/1
Mauro Carvalho Chehab [Sat, 9 Aug 2014 20:29:01 +0000 (17:29 -0300)]
[media] xc5000: add a resume function

If a device suspends/hibertates with a station tuned, restore
the tuner station at resume.

Change-Id: I60c4265f50dc365d019cba9dfaa3bd1a046c6adc
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years ago[media] xc5000: Split config and set code for analog/radio 14/25814/1
Mauro Carvalho Chehab [Sat, 9 Aug 2014 20:27:19 +0000 (17:27 -0300)]
[media] xc5000: Split config and set code for analog/radio

As we need a function that reapply the last tuned radio,
in order to do resume, split the code that validates and
updates the internal priv struct from the ones that
actually set radio and TV.

A latter patch will add support for resume.

Change-Id: Icfb7c31de0d61b2c78f4e43b3199e4c9d407e846
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years ago[media] au0828: move the code that sets DTV on a separate func 13/25813/1
Mauro Carvalho Chehab [Sat, 9 Aug 2014 19:52:27 +0000 (16:52 -0300)]
[media] au0828: move the code that sets DTV on a separate func

As we'll be adding a code to resume tuner operation, we
need to move the code that actually sets DTV on a separate
function, to be called by the resume code.

No functional changes, just code got moved.

Change-Id: I0a1beda57f6fcd3549e301b674110409d65e7ad0
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years ago[media] xc5000: fix xc5000 suspend 12/25812/1
Mauro Carvalho Chehab [Sat, 9 Aug 2014 19:22:25 +0000 (16:22 -0300)]
[media] xc5000: fix xc5000 suspend

After xc5000 stops working, it waits for 5 seconds, waiting
for a new usage. Only after that it goes to low power mode.

If a suspend event happens before that, a work queue will
remain active, with causes suspend to crash.

Change-Id: I27c8d41754e33c6114d466d076082181241fb7a2
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years ago[media] dvb-frontend: add core support for tuner suspend/resume 11/25811/1
Mauro Carvalho Chehab [Sat, 9 Aug 2014 18:23:35 +0000 (15:23 -0300)]
[media] dvb-frontend: add core support for tuner suspend/resume

While several tuners have some sort of suspend/resume
implementation, this is currently mangled with an optional
.sleep callback that it is also used to put the device on
low power mode.

Not all drivers implement it, as returning the driver from
low power may require to re-load the firmware, with takes
some time. Also, some drivers may delay it.

So, the more coherent is to add two new optional callbacks
that will let the tuners to directy implement suspend and
resume callbacks if they need.

Change-Id: I0cf3b2cb2879cf538a86fa88a4ce210dd6dd3225
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years ago[media] au0828: add pr_info to track au0828 suspend/resume code 10/25810/1
Mauro Carvalho Chehab [Sat, 9 Aug 2014 14:53:44 +0000 (11:53 -0300)]
[media] au0828: add pr_info to track au0828 suspend/resume code

Suspend/resume conditions can be very tricky. Add some info
printk's to help tracking what's happening there.

Change-Id: Ie4c2d905c501727736789bbe3bb5351a82163b7f
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years ago[media] au0828: use pr_foo macros 09/25809/1
Mauro Carvalho Chehab [Sat, 9 Aug 2014 14:39:16 +0000 (11:39 -0300)]
[media] au0828: use pr_foo macros

Instead of using printk(KERN_foo, use pr_foo() macros.

No functional changes.

Note: we should do the same for dprintk(), but that would
require to remove the dprintk levels. So, for now, let's
not touch on it.

Change-Id: I08f9e5b09f9a86766d20c5a76ffce273da2b7c9c
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years ago[media] au0828: Remove a bad whitespace 08/25808/1
Mauro Carvalho Chehab [Sat, 9 Aug 2014 14:42:43 +0000 (11:42 -0300)]
[media] au0828: Remove a bad whitespace

Change-Id: I34d0ed4046b185ddd055cb5bb72c8ebd22bd65e9
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years ago[media] au0828: add suspend/resume code for V4L2 07/25807/1
Mauro Carvalho Chehab [Sat, 9 Aug 2014 13:50:44 +0000 (10:50 -0300)]
[media] au0828: add suspend/resume code for V4L2

No timers should be enabled during suspend. So,
stop them. At resume time, we should do the proper
initialization for it to keep working.

Change-Id: Ia7edbf78f685e54559d039cf1e77a5b236020abb
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years ago[media] au0828: properly handle stream on/off state 06/25806/1
Mauro Carvalho Chehab [Sat, 9 Aug 2014 18:29:22 +0000 (15:29 -0300)]
[media] au0828: properly handle stream on/off state

The STREAM_ON state is used by s_format callback,
but the driver never sets it.

Fix it. This will also be needed in order to handle
suspend/resume ops.

Change-Id: I73a5bf3d65acf7684814a056cde3db87030698b6
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years ago[media] au0828: Add suspend code for DVB 05/25805/1
Mauro Carvalho Chehab [Sat, 9 Aug 2014 13:47:10 +0000 (10:47 -0300)]
[media] au0828: Add suspend code for DVB

The scheduled work should be cancelled during suspend.

At resume time, we need to set the frontend again. So,
add such logic to the driver.

Change-Id: I5766af53a9d684200c1a79d54eea14bc7786bfc3
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoau0828: be sure to reenable the bridge and GPIOs on resume 04/25804/1
Mauro Carvalho Chehab [Sat, 9 Aug 2014 11:29:38 +0000 (08:29 -0300)]
au0828: be sure to reenable the bridge and GPIOs on resume

At resume, we should restore the register contents. So,
reenable the bridge and GPIO settings.

Change-Id: Ie4476799c75eac1e729c50b829c62a1f28eaff8a
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years ago[media] au0828: don't let the IR polling thread to run at suspend 03/25803/1
Mauro Carvalho Chehab [Fri, 8 Aug 2014 10:35:37 +0000 (07:35 -0300)]
[media] au0828: don't let the IR polling thread to run at suspend

Trying to make au0828 to suspend can do very bad things, as
the polling Kthread is not handled. We should disable it
during suspend, only re-enabling it at resume.

Still, analog and digital TV won't work, as we don't reinit
the settings at resume, but at least it won't hang.

Change-Id: I71fab1b56df5b1a32a75cda98bebf3da1dfda11b
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years ago[media] au0828: remove VIDEO_AU0828_RC scope around au0828_rc_* 02/25802/1
Shuah Khan [Sat, 9 Aug 2014 00:36:19 +0000 (21:36 -0300)]
[media] au0828: remove VIDEO_AU0828_RC scope around au0828_rc_*

Remove CONFIG_VIDEO_AU0828_RC scope around au0828_rc_register()
and au0828_rc_unregister() calls in au0828-core

Change-Id: I9431dffe542e5ffd625ead27fe448d6a848fd720
Signed-off-by: Shuah Khan <shuah.kh@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years ago[media] au0828: add au0828_rc_*() for VIDEO_AU0828_RC disabled 01/25801/1
Shuah Khan [Sat, 9 Aug 2014 00:36:18 +0000 (21:36 -0300)]
[media] au0828: add au0828_rc_*() for VIDEO_AU0828_RC disabled

Define au0828_rc_*() stubs to avoid compile errors when
VIDEO_AU0828_RC is disabled and avoid the need to enclose
au0828_rc_*() in ifdef CONFIG_VIDEO_AU0828_RC in .c files.

Change-Id: I0fcea137225fd6941a6e4fddcac4862a78f636ec
Signed-off-by: Shuah Khan <shuah.kh@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years ago[media] au0828: handle IR int during suspend/resume 00/25800/1
Mauro Carvalho Chehab [Fri, 8 Aug 2014 10:28:01 +0000 (07:28 -0300)]
[media] au0828: handle IR int during suspend/resume

It doesn't make sense to handle an IR code given before
suspending after the device resume. So, turn off IR
int while suspending.

Change-Id: I2c5fa1af97e631ab5f38dd0afc8353482e0c1aa8
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>