platform/kernel/linux-3.10.git
10 years agoexynos/drm: ipp: fix to get null when the list is empty
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
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"
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
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
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
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
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 agothermal: exynos: Add support for TRIM_RELOAD feature at Exynos3250
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 agodrm: fimd: support display writeback mode
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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_*
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
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
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>
10 years ago[media] au0828: avoid race conditions at RC stop
Mauro Carvalho Chehab [Fri, 8 Aug 2014 10:27:20 +0000 (07:27 -0300)]
[media] au0828: avoid race conditions at RC stop

As the RC kthread can re-enable IR int, we should first
cancel the kthread and then disable IR int.

While here, remove a temporary debug printk.

Change-Id: I36ab0a218c0f88c39b023e7bd0eed7b7bdbc2d0c
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoupstream: au0828-input: Be sure that IR is enabled at polling
Mauro Carvalho Chehab [Thu, 7 Aug 2014 13:46:30 +0000 (10:46 -0300)]
upstream: au0828-input: Be sure that IR is enabled at polling

When the DVB code sets the frontend, it disables the IR
INT, probably due to some hardware bug, as there's no code
there at au8522 frontend that writes on register 0xe0.

Fixing it at au8522 code is hard, as it doesn't know if the
IR is enabled or disabled, and just restoring the value of
register 0xe0 could cause other nasty effects. So, better
to add a hack at au0828-input polling interval to enable int,
if disabled.

Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=a623ff64e71e
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Change-Id: Ie75c8e04ddefb0ab5571a5721204e79ed92de1f1

10 years agoupstream: [media] au0828: Enable IR for HVR-850
Mauro Carvalho Chehab [Thu, 7 Aug 2014 16:10:26 +0000 (13:10 -0300)]
upstream: [media] au0828: Enable IR for HVR-850

HVR-850 also has a remote. Enable it.

Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=c87a627b4a23
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Change-Id: I9aac2bb9d2e3aa12143583f2b3d13ed036817de8

10 years agoupstream: au0828: add an option to disable IR via modprobe parm
Mauro Carvalho Chehab [Thu, 7 Aug 2014 16:10:25 +0000 (13:10 -0300)]
upstream: au0828: add an option to disable IR via modprobe parm

The IR code increases the power consumption of the device.
Allow to disable it via modprobe parameter.

Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=ca97cf053296
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Change-Id: I4a791fd762b77947c04cbac52d7b74b67749efdb

10 years agoupstream: [media] au0828: no need to sleep at the IR code
Mauro Carvalho Chehab [Thu, 7 Aug 2014 16:10:24 +0000 (13:10 -0300)]
upstream: [media] au0828: no need to sleep at the IR code

This sleep was doing some debouncing on the original driver.
This is not needed on Linux, because the RC core and the input
layer already takes care of it.

Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=8cf3799c5c7c
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Change-Id: Ic6e4a1cf2c585ed4ff551f1ed8061de23e385864

10 years agopackaging: upgrade to v3.10.52
Chanho Park [Fri, 8 Aug 2014 06:37:00 +0000 (15:37 +0900)]
packaging: upgrade to v3.10.52

Change-Id: I18d6c0b36f64ac8409d1a3eba8a0ee4b6961fa9d
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
10 years agotizen: update defconfig since upgraded to 3.10.52
Chanho Park [Thu, 7 Aug 2014 12:07:16 +0000 (21:07 +0900)]
tizen: update defconfig since upgraded to 3.10.52

Change-Id: I6c6545b239393eeeccaad3164f910f7c3fc5f85c
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
10 years agoregulator: s5m8767: Fix build break
Chanwoo Choi [Thu, 7 Aug 2014 07:33:31 +0000 (16:33 +0900)]
regulator: s5m8767: Fix build break

This patch fix build break as following log:

drivers/regulator/s5m8767.c: In function ‘s5m8767_reg_is_enabled’:
drivers/regulator/s5m8767.c:229:2: warning: passing argument 1 of ‘sec_reg_read’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:69:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:229:2: warning: passing argument 3 of ‘sec_reg_read’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:69:12: note: expected ‘u8 *’ but argument is of type ‘unsigned int *’
drivers/regulator/s5m8767.c: In function ‘s5m8767_reg_enable’:
drivers/regulator/s5m8767.c:246:2: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c: In function ‘s5m8767_reg_disable’:
drivers/regulator/s5m8767.c:259:2: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c: In function ‘s5m8767_pmic_probe’:
drivers/regulator/s5m8767.c:730:2: warning: passing argument 1 of ‘sec_reg_write’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:71:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:735:2: warning: passing argument 1 of ‘sec_reg_write’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:71:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:740:2: warning: passing argument 1 of ‘sec_reg_write’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:71:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:824:5: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:827:5: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:830:5: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:837:9: warning: passing argument 1 of ‘sec_reg_write’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:71:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:842:9: warning: passing argument 1 of ‘sec_reg_write’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:71:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:847:9: warning: passing argument 1 of ‘sec_reg_write’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:71:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:852:3: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:855:3: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:858:3: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:865:6: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:869:6: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:873:6: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:877:6: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:881:6: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:885:6: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:910:24: error: ‘struct sec_pmic_dev’ has no member named ‘regmap’
make[2]: *** [drivers/regulator/s5m8767.o] Error 1

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoRevert "vb2: fix buf_init/buf_cleanup call sequences"
Chanho Park [Thu, 7 Aug 2014 06:30:49 +0000 (15:30 +0900)]
Revert "vb2: fix buf_init/buf_cleanup call sequences"

This reverts commit d872ce298fe725f050c3bbaa652a01a9b18e7a74.

10 years agopackaging: support odroid kernel build
Chanho Park [Tue, 5 Aug 2014 11:19:54 +0000 (20:19 +0900)]
packaging: support odroid kernel build

This patch supports odroid kernel build. I think we can use a single binary for
odroid and trats2(rd-pq). However, I didn't merge it at this point because I
don't want to disturb current odroid development. I'll try to merge it to single
binary later.

Change-Id: I9064affe86510107b992d9e5fbe7c77c81c0d223
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
10 years agos5p-mfc: Comment spelling and code styling fix
Kamil Debski [Mon, 4 Aug 2014 12:27:32 +0000 (14:27 +0200)]
s5p-mfc: Comment spelling and code styling fix

Fix spelling mistakes in comment blocks and correct coding style of an if
statement.

Change-Id: I28707f1942566b222eb45a7715e489650a68a9a7
Reported-by: Zhaowei Yuan <zhaowei.yuan@samsung.com>
Signed-off-by: Kamil Debski <k.debski@samsung.com>
10 years agoclk: Add of_clk_get_by_clkspec() helper
Sylwester Nawrocki [Mon, 19 May 2014 17:22:50 +0000 (19:22 +0200)]
clk: Add of_clk_get_by_clkspec() helper

This patch adds of_clk_get_by_clkspec() helper function, which does only
a struct clk lookup from the clock providers. It is used in the subsequent
patch where parsing of a clock from device tree and the lookup from
providers needed to be split.

Change-Id: I3c8fddfc7716381e63b9731b27a988c1a3e6a733
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
10 years agos5p-mfc: limit the size of the CPB
panpan liu [Mon, 14 Jul 2014 06:42:27 +0000 (14:42 +0800)]
s5p-mfc: limit the size of the CPB

The CPB size is limited by the hardware. Add this limit to the s_fmt.

Change-Id: I4ffe90ac8b4de7aed8f396b3072d5db6ead9741c
Signed-off-by: panpan liu <panpan1.liu@samsung.com>
10 years agomedia: s5p_mfc_dec: delete the redundant code
panpan liu [Fri, 1 Aug 2014 08:58:23 +0000 (16:58 +0800)]
media: s5p_mfc_dec: delete the redundant code

Because the api s5p_mfc_queue_setup has already realized the same function

Change-Id: Ieffc9cd9d7e22d95f988ec66f232951c6f4c646c
Signed-off-by: panpan liu <panpan1.liu@samsung.com>
10 years agomedia: s5p_mfc: Check the return value of allocation routine
Zhaowei Yuan [Fri, 1 Aug 2014 05:51:12 +0000 (13:51 +0800)]
media: s5p_mfc: Check the return value of allocation routine

Check the return value of allocation routine and deal with failure.

Change-Id: Ie7df5962de5928812d1a81bb648258314c0699d1
Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com>