platform/kernel/linux-3.10.git
9 years agoclocksource: exynos_mct: Don't reset the counter during boot and resume
Chirantan Ekbote [Wed, 11 Jun 2014 15:18:48 +0000 (00:18 +0900)]
clocksource: exynos_mct: Don't reset the counter during boot and resume

Unfortunately on some exynos systems, resetting the mct counter also
resets the architected timer counter.  This can cause problems if the
architected timer driver has already been initialized because the kernel
will think that the counter has wrapped around, causing a big jump in
printk timestamps and delaying any scheduled clock events until the
counter reaches the value it had before it was reset.

The kernel code makes no assumptions about the initial value of the mct
counter so there is no reason from a software perspective to clear the
counter before starting it.  This also fixes the problems described in
the previous paragraph.

Change-Id: I35f6bcd1e0ef46d5c19183dc526078a6b8b4ca64
Cc: Olof Johansson <olof@lixom.net>
Cc: Tomasz Figa <tomasz.figa@gmail.com>
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Tested-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
9 years agopower: max14577_charger: Fix to represent cable type properly.
Jonghwa Lee [Wed, 15 Oct 2014 10:23:52 +0000 (19:23 +0900)]
power: max14577_charger: Fix to represent cable type properly.

It shows '1' even for none-typed cable that might mislead user or
charging managment to understand that there is a charge-able cable
which is truly not. It should return 0 for none-typed cable to prevent
wrong attempt for charging.

Change-Id: I851ac424b6895867e611f6786bdb18e540d7f2d4
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agoarm: configs: tizen_rinato: Enable PM_AUTOSLEEP and PM_WAKEUPLOCKS.
Jonghwa Lee [Wed, 15 Oct 2014 10:12:19 +0000 (19:12 +0900)]
arm: configs: tizen_rinato: Enable PM_AUTOSLEEP and PM_WAKEUPLOCKS.

This patch enables CONFIG_PM_AUTOSLEEP and CONFIG_PM_WAKEUPLOCKS
to support device driver and user processor to hold wakeup on demand.

Change-Id: I2b5504c5a92be0a9923fc03d60c438edceb9f1a7
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agopower: charger-manager: Hold wakeup event until userspace notice.
Jonghwa Lee [Wed, 15 Oct 2014 09:54:21 +0000 (18:54 +0900)]
power: charger-manager: Hold wakeup event until userspace notice.

This is workaround to let userspace notice about battery's status
chaiging during suspend and resume. It holds wakeup event to prevent
system goes into sleep. Holding wakeup event time is heuristic value
and it could be varied.

To make this works, it needs CONFIG_PM_AUTOSLEEP kernel option.

Change-Id: I22a818e69632574a2d684cd957f62b3329d57c8f
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agodrm/exynos: correct connector->dpms field before resuming
Inki Dae [Wed, 15 Oct 2014 07:08:41 +0000 (16:08 +0900)]
drm/exynos: correct connector->dpms field before resuming

During system suspend after connector switch off its dpms field
is set to connector previous dpms state. To properly resume dpms field
should be set to its actual state (off) before resuming to previous dpms state.

Change-Id: I80acefcd408279c3c1cf3b0e89133dc6899a6914
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agortc: s5m: Adjust kernel message level to debug.
Jonghwa Lee [Tue, 14 Oct 2014 10:32:37 +0000 (19:32 +0900)]
rtc: s5m: Adjust kernel message level to debug.

This patch adjusts all infomative message from s5m rtc driver to
debug level.

Change-Id: I52f6903fce2bd6d61b8e5f81aa521a3bf7dad9bc
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agodrm/exynos: remove pm runtime interfaces
Inki Dae [Wed, 15 Oct 2014 07:05:59 +0000 (16:05 +0900)]
drm/exynos: remove pm runtime interfaces

These interfaces aren't used anymore.

Change-Id: Ia02fbd60b329a3193bb2fe009f55e410031365ac
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agoARM: configs: tizen_rinato_defconfig: Disable s3c-rtc feature
Chanwoo Choi [Wed, 15 Oct 2014 10:01:14 +0000 (19:01 +0900)]
ARM: configs: tizen_rinato_defconfig: Disable s3c-rtc feature

This patch disables s3c-rtc feature becuase Rinato board don't use it.

Change-Id: I3648618731b9d2554419fe04cd28c3c0c16943f9
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
9 years agoARM: dts: exynos3250-rinato: Remove s3c-rtc dt node
Chanwoo Choi [Wed, 15 Oct 2014 09:58:22 +0000 (18:58 +0900)]
ARM: dts: exynos3250-rinato: Remove s3c-rtc dt node

This patch removes s3c-rtc dt node to disable Exynos3250 RTC because SoC RTC
cannot guarantee system time after poweroff and reboot. So, Rinato board
will only used PMIC RTC for system time and rtc alarm.

Change-Id: Ia8426907baff5554c8a6215d5eeb43a0908c5b98
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
9 years agoARM: dts: exynos3250-rinato: Fix power-off issue during resume sequence
Chanwoo Choi [Wed, 15 Oct 2014 09:39:31 +0000 (18:39 +0900)]
ARM: dts: exynos3250-rinato: Fix power-off issue during resume sequence

This patch fix critical power-off issue during resume sequence. DRM should
control the ldo6 (VAP_VMIPI_1.0V).

Change-Id: I6262863af2fb89c280693fd68e809e23f7251a7b
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
9 years agomfd: sec-core: Postpone handling of IRQ until I2C bus is enabled.
Jonghwa Lee [Tue, 14 Oct 2014 09:03:09 +0000 (18:03 +0900)]
mfd: sec-core: Postpone handling of IRQ until I2C bus is enabled.

Like most of other external chips, it needs to defer handling of IRQ
arised during suspend until i2c bus is re-enabled.

Change-Id: I6052fed2c89b349374a1cad510f7a9fed757699f
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agoASoC: samsung: dma: reduce period_bytes value for playback stability
Inha Song [Mon, 13 Oct 2014 01:04:01 +0000 (10:04 +0900)]
ASoC: samsung: dma: reduce period_bytes value for playback stability

This patch reduce period_bytes_min to 128 bytes and period_bytes_max
to 1K bytes.
If period_bytes values is too large, underrun error occures in PULSEAUDIO.

I/PULSEAUDIO( 1619): alsa-sink.c: Underrun!

Change-Id: I33fd95d4748b2016740dd673108377181726df66
Signed-off-by: Inha Song <ideal.song@samsung.com>
9 years agoASoC: samsung: dma: reduce period_bytes_max from 64K to 20K
Kwang-Hui Cho [Thu, 2 Jan 2014 06:15:38 +0000 (15:15 +0900)]
ASoC: samsung: dma: reduce period_bytes_max from 64K to 20K

reduce period_bytes_max from 64K to 20K bytes
if period_bytes configured more than that it causes dma pl330 error.

Change-Id: Ia5012b0a9452b2c0db43cb469317d1904b4d299b
Signed-off-by: Kwang-Hui Cho <kwanghui.cho@samsung.com>
9 years agoodroid, rinato: adjust configs to systemd requirements & recommendations
Maciej Wereski [Tue, 14 Oct 2014 13:48:23 +0000 (15:48 +0200)]
odroid, rinato: adjust configs to systemd requirements & recommendations

Change-Id: I8defc8536ffe6669f953085ed8c3838bab00cfc3
Signed-off-by: Maciej Wereski <m.wereski@partner.samsung.com>
9 years agopackaging: support multiple boards
Chanho Park [Wed, 8 Oct 2014 02:20:19 +0000 (11:20 +0900)]
packaging: support multiple boards

We support three boards, trats2(RD-PQ)/odroid-u3 and rinato(Galaxy
Gear2). To avoid overwrite headers package, only provide the package in
Mobile profile.

Change-Id: I03b423da193bb2f654a40e959b01458401b49437
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agoarm: dts: exynos3250-rinato: Add revision property
Beomho Seo [Tue, 14 Oct 2014 03:11:08 +0000 (12:11 +0900)]
arm: dts: exynos3250-rinato: Add revision property

This patch add revison information of exynos3250-rinato board.
Revision property use hardware information.

Change-Id: I5896dfff2ef074dfe4bf33cae820f11546a1d037
Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
9 years agopower: charger-manager: Prevent ktimer's nsecs value exceeds its size.
Jonghwa Lee [Fri, 10 Oct 2014 08:54:37 +0000 (17:54 +0900)]
power: charger-manager: Prevent ktimer's nsecs value exceeds its size.

When charger-manager sets alarmtimer, it has used nanoseconds converted
from polling period which is in milliseconds. However ktimer's nanoseconds
is limited to represent as size of unsinged long type, and the previous
use often exceeds its limitation. It fixes to divide target timer period
into seconds part and remains in nanoseconds to prevent abnormal timer period
is set.

Change-Id: I7a5cad5569505c901a4822bbd7a4ad0fa149570b
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agoinput: keyboard: mcs_touchkey:Convert to devm_* managed functions
Beomho Seo [Mon, 13 Oct 2014 02:46:26 +0000 (11:46 +0900)]
input: keyboard: mcs_touchkey:Convert to devm_* managed functions

Tis patch use the devm_* managed functions to allocate resources.

Change-Id: I9351869922b481a6791ca98f6dd3328d84424906
Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
9 years agomisc: ice4_irda: Move firmware download function to workqueue
Jaewon Kim [Fri, 10 Oct 2014 08:34:07 +0000 (17:34 +0900)]
misc: ice4_irda: Move firmware download function to workqueue

This patch moves firmware download function to workqueue
to reduce booting time.

Change-Id: Idfa934b67494988a7de1f95f461dac41546cb2e5
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
9 years agoarm: dts: exynos3250-rinato: workaround: change ldo3 mode to "Normal mode" from ...
Inha Song [Tue, 2 Sep 2014 02:25:03 +0000 (11:25 +0900)]
arm: dts: exynos3250-rinato: workaround: change ldo3 mode to "Normal mode" from "Standby Mode"

When trying to play sound after setting the "Music Input Volume" grater
than 85, board power is turned off suddenly.

Change-Id: Id11cf9ff4620595037dba3c8e515c63b8adcfc98
Signed-off-by: Inha Song <ideal.song@samsung.com>
9 years agosensorhub: Move MCU firmware check to workqueue
Jaewon Kim [Fri, 10 Oct 2014 07:54:22 +0000 (16:54 +0900)]
sensorhub: Move MCU firmware check to workqueue

MCU firmware check process in ssp_probe() moves to
workqueue to reduce booting time. And when driver try to
check MCU revision, MCU is not ready to communicate.
So, this patch uses delayed workqueue to wait MCU.

Change-Id: I2a64d195fc4a7910884a6da03e9a0f8846c17ac3
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
9 years agofirmware: Add sensorhub MCU firmware
Jaewon Kim [Wed, 8 Oct 2014 05:08:44 +0000 (14:08 +0900)]
firmware: Add sensorhub MCU firmware

This patch adds sensohub MCU firmware for rinato board.

Version : 14052300

Change-Id: I903f77ca90e8d898115726782da2a4a7e23fcda6
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
9 years agopower: charger-manager: Add num_chargers variable to desc structure.
Jonghwa Lee [Fri, 10 Oct 2014 08:42:42 +0000 (17:42 +0900)]
power: charger-manager: Add num_chargers variable to desc structure.

To confirm NULL point exception and also follow the common convention
of 'for loop' control, fix the driver to use scalar variable,
'num_chargers' when it retrieves the power_supply pointer array.

Change-Id: Iab834cf93822b1a03419ca9933e82d6396cc0474
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agoarm : dts: exynos3250-rinato: Add thermal information to charger-manager.
Jonghwa Lee [Fri, 10 Oct 2014 07:03:51 +0000 (16:03 +0900)]
arm : dts: exynos3250-rinato: Add thermal information to charger-manager.

To make charger-manager to aware the battery thermal, it adds thermal zone
name and temperature limitation to the charger-manager's device tree.

Change-Id: Idd804d7ecd1ca5084786d164f2f53f2ad3fa0dd0
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agoarm: exynos3250: rtc: Enable internal RTC's alarm wakeup irq.
Jonghwa Lee [Fri, 10 Oct 2014 06:15:01 +0000 (15:15 +0900)]
arm: exynos3250: rtc: Enable internal RTC's alarm wakeup irq.

This patch adds correspond irq number for EXYNOS3250's rtc alarm irq to
make the irq to work as a wakeup source.

Change-Id: I8970496a597729b8ad70d0e0bb893052e56e24c9
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agopower: charger-manager: Fix to use CHARGE_NOW/FULL property correctly.
Jonghwa Lee [Thu, 11 Sep 2014 12:09:21 +0000 (21:09 +0900)]
power: charger-manager: Fix to use CHARGE_NOW/FULL property correctly.

The POWER_SUPPLY_CHARGE_NOW/FULL property reflects battery's charges
in uAh unit, but charger-manager has been used it wrongly. This patch
makes it to use those propeties correctly and change to be optional.

Change-Id: I68b3940a9388a095f47205207f1bc6bc863bd407
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agopower: charger-manager: Use power_supply_changed() not private uevent.
Jonghwa Lee [Thu, 11 Sep 2014 11:22:23 +0000 (20:22 +0900)]
power: charger-manager: Use power_supply_changed() not private uevent.

Whenever battery status is changed, charger manager tries to trigger uevent
through private interface. This patch modifies it to use power_supply_changed()
since it belongs to power supply subsystem.

Change-Id: I9f25664a2196745f3a303d57ded073f5eb604180
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agopower: charger-manager: Remove deprecated function, cm_notify_event().
Jonghwa Lee [Thu, 11 Sep 2014 11:11:54 +0000 (20:11 +0900)]
power: charger-manager: Remove deprecated function, cm_notify_event().

cm_notify_event() is introduced to get event associated with battery status
externally, but no one had been used. Moreover it makes charger manager
driver more complicated. This patch tries to drop the function and all data
related to simplify the driver.

Change-Id: I89d802f57a3005c9102e8d342318f2bf77ccce48
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agopower: charger-manager: Monitoring temperature becomes mandatory option.
Jonghwa Lee [Thu, 11 Sep 2014 09:00:27 +0000 (18:00 +0900)]
power: charger-manager: Monitoring temperature becomes mandatory option.

Monitoring battery temperature becomes mandatory for charger manager working.
If there is no way to measure temperature, it stops probing and won't work.
And also it will use thermal susbsystem inteface only to make driver simple.

Change-Id: Idef5f8f29a104f5f51532c3321f6bebe887deb24
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agopower: charger-manager: Use alarmtimer for battery monitoring in suspend.
Jonghwa Lee [Thu, 14 Aug 2014 13:05:15 +0000 (22:05 +0900)]
power: charger-manager: Use alarmtimer for battery monitoring in suspend.

To guerantee proper charing and managing batteries even in suspend,
charger-manager has used rtc device with rtc framework interface.
However, it is better to use alarmtimer for cleaner and more appropriate
operation.
This patch makes driver to use alamtimer for polling work in suspend and
removes all deprecated codes related with using rtc interface.

Change-Id: I0c84ccd62653b50fc9c9b687fddcaba7ea58e8ca
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agopower: charger-manager: Rebase charger-manager up-to-date.
Jonghwa Lee [Wed, 1 Oct 2014 06:05:11 +0000 (15:05 +0900)]
power: charger-manager: Rebase charger-manager up-to-date.

Drop all local commits and adjust it to up-to-date version of mainline
to make it easy to maintain.

Change-Id: Id5dc3314afd6498e704bcc1bdebe2c226b8fa07c
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agoalarmtimer: Export symbols of alarmtimer_get_rtcdev
Pramod Gurav [Fri, 13 Jun 2014 06:19:42 +0000 (11:49 +0530)]
alarmtimer: Export symbols of alarmtimer_get_rtcdev

Export symbol of alarmtimer_get_rtcdev so that it is used by
any driver when built as module like,
drivers/staging/android/alarm-dev.c.

Change-Id: I296f98f0139e20082a5dc8c58e6f57f6815b337c
CC: John Stultz <john.stultz@linaro.org>
CC: Marcus Gelderie <redmnic@gmail.com>
Signed-off-by: Pramod Gurav <pramod.gurav.etc@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoalarmtimer: Export symbols of functions declared in linux/alarmtimer.h
Marcus Gelderie [Tue, 4 Jun 2013 07:32:09 +0000 (09:32 +0200)]
alarmtimer: Export symbols of functions declared in linux/alarmtimer.h

Export symbols so they can be used by
drivers/staging/android/alarm-dev.c if it is built as a module.
So far alarm-dev is built-in but module support is planned (see
drivers/staging/android/TODO).

Change-Id: I405ba0bc9846bf379ff0cfbdcf00597d35d36d21
Signed-off-by: Marcus Gelderie <redmnic@gmail.com>
[jstultz: tweaked commit message, also export newly added functions]
Signed-off-by: John Stultz <john.stultz@linaro.org>
9 years agoalarmtimer: Add functions for timerfd support
Todd Poynor [Wed, 15 May 2013 21:38:11 +0000 (14:38 -0700)]
alarmtimer: Add functions for timerfd support

Add functions needed for hooking up alarmtimer to timerfd:

* alarm_restart: Similar to hrtimer_restart, restart an alarmtimer after
  the expires time has already been updated (as with alarm_forward).

* alarm_forward_now: Similar to hrtimer_forward_now, move the expires
  time forward to an interval from the current time of the associated clock.

* alarm_start_relative: Start an alarmtimer with an expires time relative to
  the current time of the associated clock.

* alarm_expires_remaining: Similar to hrtimer_expires_remaining, return the
  amount of time remaining until alarm expiry.

Change-Id: I609e268d53725b2c2b62b618ccc388f4329997f5
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
9 years agoarm: configs: tizen_rinato: Enable sound machine driver
Inha Song [Wed, 8 Oct 2014 04:50:47 +0000 (13:50 +0900)]
arm: configs: tizen_rinato: Enable sound machine driver

This patch enables rinato sound machine driver.

Change-Id: Iced29c98fed8904acae4095c12b15191c3402c8a
Signed-off-by: Inha Song <ideal.song@samsung.com>
9 years agoARM: dts: Fix i2s2 node to support sound in Exynos3250 SoC
Inha Song [Tue, 2 Sep 2014 02:12:39 +0000 (11:12 +0900)]
ARM: dts: Fix i2s2 node to support sound in Exynos3250 SoC

This patch Fix i2s2 node to support sound in Exynos3250 SoC.

Change-Id: I96791f9c13935c4b87e1fc632e59f11dfb498fd7
Signed-off-by: Inha Song <ideal.song@samsung.com>
9 years agoASoC: samsung: Add ASoC machine driver for Rinato board with YMU831 codec
Inha Song [Tue, 2 Sep 2014 02:11:02 +0000 (11:11 +0900)]
ASoC: samsung: Add ASoC machine driver for Rinato board with YMU831 codec

This patch add ASoC machine driver for Rinato board with YMU831 codec.

Change-Id: Ifaf3417aac668f5a6236f9c74f22a1b92208a79d
Signed-off-by: Inha Song <ideal.song@samsung.com>
Signed-off-by: Hyunhee Kim <hyunhee.kim@samsung.com>
9 years agoarm: configs: tizen_rinato: Update rinato kernel configuration.
Jonghwa Lee [Wed, 1 Oct 2014 08:12:11 +0000 (17:12 +0900)]
arm: configs: tizen_rinato: Update rinato kernel configuration.

Enable CONFIG_THERMAL_OF to expose thermistor sensor to thermal framework.
It also disables CONFIG_THERMAL_HWMON not to make duplicated sysfs node of
the thermistor sensor.

Change-Id: I318cc27979b891bc7fcdd9cd2a2892e73ce65675
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agoarm: dts: exynos3250: Add battery thermal zone.
Jonghwa Lee [Wed, 1 Oct 2014 06:47:10 +0000 (15:47 +0900)]
arm: dts: exynos3250: Add battery thermal zone.

Add battery thermal zone using the thermistor close to battery to monitor
exterior battery temperature.

Change-Id: Ie755506b40a2b060b7b0cd028e1fc5463f9f42b1
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agohwmon: ntc_thermistor: Add ntc thermistor to thermal subsystem as a sensor.
Jonghwa Lee [Wed, 20 Aug 2014 00:28:13 +0000 (09:28 +0900)]
hwmon: ntc_thermistor: Add ntc thermistor to thermal subsystem as a sensor.

To get more comprehensive and integrated thermal management, it adds ntc
thermistor to thermal framework as a thermal sensor. It's governed thermal
susbsystem only if it is described in DT node. Otherwise, it just notifies
temperature to userspace via sysfs as it used to be.

Change-Id: Ie5b8948ca0cb567854905e0e9ea903ff7cdc1f4c
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agothermal: Bind cooling devices with the correct arguments
Punit Agrawal [Tue, 3 Jun 2014 09:59:58 +0000 (10:59 +0100)]
thermal: Bind cooling devices with the correct arguments

When binding cooling devices to thermal zones created from the device
tree the minimum and maximum cooling states are in the wrong order
leading to failure to bind.

Fix the order of cooling states in the call to
thermal_zone_bind_cooling_device to fix this.

Change-Id: I63c72736ca26ff5dd1cd9e051721c4c7f3d63af5
Cc:Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Punit Agrawal <punit.agrawal@arm.com>
Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
9 years agothermal: Add braces around suspect code
Stephen Boyd [Wed, 18 Jun 2014 23:32:08 +0000 (16:32 -0700)]
thermal: Add braces around suspect code

It looks like this code is missing braces, otherwise the if
statement shouldn't have been indented. Fix it.

Change-Id: Ia5f7b1e784e79d58e0a68851f4ccc1a42565a247
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
9 years agothermal:samsung: fix compilation warning
Naveen Krishna Chatradhi [Fri, 20 Dec 2013 12:12:07 +0000 (17:42 +0530)]
thermal:samsung: fix compilation warning

This patch fixes a compilation warning.

warning: passing argument 5 of 'thermal_zone_device_register' discards 'const'
qualifier from pointer target type [enabled by default]
include/linux/thermal.h:270:29: note: expected 'struct thermal_zone_device_ops *'
but argument is of type 'const struct thermal_zone_device_ops *'

Change-Id: Ide96bc2bb6a2c0c843e84811d9adaae97d8a191d
Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
9 years agothermal: introduce device tree parser
Eduardo Valentin [Wed, 3 Jul 2013 19:35:39 +0000 (15:35 -0400)]
thermal: introduce device tree parser

This patch introduces a device tree bindings for
describing the hardware thermal behavior and limits.
Also a parser to read and interpret the data and feed
it in the thermal framework is presented.

This patch introduces a thermal data parser for device
tree. The parsed data is used to build thermal zones
and thermal binding parameters. The output data
can then be used to deploy thermal policies.

This patch adds also documentation regarding this
API and how to define tree nodes to use
this infrastructure.

Note that, in order to be able to have control
on the sensor registration on the DT thermal zone,
it was required to allow changing the thermal zone
.get_temp callback. For this reason, this patch
also removes the 'const' modifier from the .ops
field of thermal zone devices.

Change-Id: Iaecd480e8a5e21f0d3154cc9bf782bbfd051d40a
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: linux-pm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com>
9 years agothermal: allow registering without .get_temp
Eduardo Valentin [Thu, 12 Sep 2013 23:15:44 +0000 (19:15 -0400)]
thermal: allow registering without .get_temp

This patch changes the thermal core driver to allow
registration of thermal zones without the .get_temp callback.

The idea behind this change is to allow lazy registration
of sensor callbacks.

The thermal zone will be disabled whenever the ops
does not contain a .get_temp callback. The sysfs interface
will be returning -EINVAL on any temperature read operation.

Change-Id: Id58d2b558bc5a946dc7d712e28c2ed7cb90cc64b
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: linux-pm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com>
9 years agomfd: max77686: Add registration of max77686-clk for control 32khz clock outputs
Inha Song [Tue, 7 Oct 2014 09:54:58 +0000 (18:54 +0900)]
mfd: max77686: Add registration of max77686-clk for control 32khz clock outputs

This patch add registration of max77686-clk for control 32khz clock outputs.

Through this patch, the MAX77686 clock driver enabled and 32khz clocks can
be controlled.

Change-Id: I6e5edc081ba45c2ac45257084f12a5335a6a4cb2
Signed-off-by: Inha Song <ideal.song@samsung.com>
9 years agoarm: configs: tizen_rinato: Enable MAX14577/77836 regulator
Jonghwa Lee [Thu, 2 Oct 2014 09:06:48 +0000 (18:06 +0900)]
arm: configs: tizen_rinato: Enable MAX14577/77836 regulator

Change-Id: I619e3016eab20eb18ffdaaca38753b7f9b682bd4
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agomfd: max14577: Add compatible string to max77836 charger's mfd cell.
Jonghwa Lee [Wed, 1 Oct 2014 08:58:27 +0000 (17:58 +0900)]
mfd: max14577: Add compatible string to max77836 charger's mfd cell.

This patch add compatible string to max77836 charger's mfd cell to
be acquired its device tree node.

Change-Id: Ibf7e6cb855e4cc9c2735572c6bde939ab853da93
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agoarm: dts: exynos3250: Add phandle to power supply devices.
Jonghwa Lee [Wed, 1 Oct 2014 07:08:43 +0000 (16:08 +0900)]
arm: dts: exynos3250: Add phandle to power supply devices.

To get power supply device by power_supply_get_by_phandle(),
it adds phandle to power supply devices in rinato device tree.

Change-Id: I865c714775a8bd5520f309a0be97f4a78cf2152e
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agopower_supply: allow power supply devices registered w/o wakeup source
Zhang Rui [Wed, 28 May 2014 07:23:37 +0000 (15:23 +0800)]
power_supply: allow power supply devices registered w/o wakeup source

Currently, all the power supply devices are registered with wakeup source,
this results in that every power_supply_changed() invocation brings
the system out of suspend-to-freeze state.

This is overkill as some device drivers, e.g. ACPI battery driver,
have the ability to check the device status and wake up the system
from sleeping only when necessary.

Thus introduce a new API which allows device to be registered
w/o wakeup source.

Change-Id: If0ea9720c9c2161e3a33db0988bcd464b79f2b91
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
9 years agopower_supply: Add power_supply_get_by_phandle
Sebastian Reichel [Sun, 24 Nov 2013 16:49:29 +0000 (17:49 +0100)]
power_supply: Add power_supply_get_by_phandle

Add method to get power supply by device tree phandle.

Change-Id: I486cb12098d96a0c0b1a930b194dd899fb5a61c8
Signed-off-by: Sebastian Reichel <sre@debian.org>
Reviewed-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Anton Vorontsov <anton@enomsg.org>
9 years agopower_supply: Add power_supply notifier
Pali Rohár [Tue, 19 Nov 2013 10:18:03 +0000 (11:18 +0100)]
power_supply: Add power_supply notifier

This patch adds a notifier chain to the power_supply, this helps drivers
in other subsystem to listen to changes in power supply subsystem.

This would help to take some actions in those drivers on changing the
power supply properties. One such scenario is to increase/decrease system
performance based on the battery capacity/voltage. Another scenario is to
adjust the h/w peak current detection voltage/current thresholds based on
battery voltage/capacity. The notifier helps drivers to listen to changes
in power_suppy susbystem without polling the power_supply properties

Change-Id: I06d5b614d1ad836826f87f24791c94d2fa6c4aa6
Signed-off-by: Jenny TC <jenny.tc@intel.com>
Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Acked-by: Jenny TC <jenny.tc@intel.com>
Signed-off-by: Anton Vorontsov <anton@enomsg.org>
9 years agopower_supply: Fix Oops from NULL pointer dereference from wakeup_source_activate
Shuah Khan [Fri, 22 Nov 2013 17:54:28 +0000 (10:54 -0700)]
power_supply: Fix Oops from NULL pointer dereference from wakeup_source_activate

power_supply_register() calls device_init_wakeup() to register a wakeup
source before initializing dev_name. As a result, device_wakeup_enable()
end up registering wakeup source with a null name when
wakeup_source_register() gets called with dev_name(dev) which is null at
the time.

When kernel is booted with wakeup_source_activate enabled, it will panic
when the trace point code tries to dereference ws->name.

Fixed the problem by moving up the kobject_set_name() call prior to
accesses to dev_name(). Replaced kobject_set_name() with dev_set_name()
which is the right interface to be called from drivers. Fixed the call to
device_del() prior to device_add() in for wakeup_init_failed error
handling code.

Trace after the change:

            bash-2143  [003] d...   132.280697: wakeup_source_activate: BAT1 state=0x20001
     kworker/3:2-1169  [003] d...   132.281305: wakeup_source_deactivate: BAT1 state=0x30000

Oops message:

[  819.769934] device: 'BAT1': device_add
[  819.770078] PM: Adding info for No Bus:BAT1
[  819.770235] BUG: unable to handle kernel NULL pointer dereference at           (null)
[  819.770435] IP: [<ffffffff813381c0>] skip_spaces+0x30/0x30
[  819.770572] PGD 3efd90067 PUD 3eff61067 PMD 0
[  819.770716] Oops: 0000 [#1] SMP
[  819.770829] Modules linked in: arc4 iwldvm mac80211 x86_pkg_temp_thermal coretemp kvm_intel joydev i915 kvm uvcvideo ghash_clmulni_intel videobuf2_vmalloc aesni_intel videobuf2_memops videobuf2_core aes_x86_64 ablk_helper cryptd videodev iwlwifi lrw rfcomm gf128mul glue_helper bnep btusb media bluetooth parport_pc hid_generic ppdev snd_hda_codec_hdmi drm_kms_helper snd_hda_codec_realtek cfg80211 drm tpm_infineon samsung_laptop snd_hda_intel usbhid snd_hda_codec hid snd_hwdep snd_pcm microcode snd_page_alloc snd_timer psmouse i2c_algo_bit lpc_ich tpm_tis video wmi mac_hid serio_raw ext2 lp parport r8169 mii
[  819.771802] CPU: 0 PID: 2167 Comm: bash Not tainted 3.12.0+ #25
[  819.771876] Hardware name: SAMSUNG ELECTRONICS CO., LTD. 900X3C/900X3D/900X4C/900X4D/SAMSUNG_NP1234567890, BIOS P03AAC 07/12/2012
[  819.772022] task: ffff88002e6ddcc0 ti: ffff8804015ca000 task.ti: ffff8804015ca000
[  819.772119] RIP: 0010:[<ffffffff813381c0>]  [<ffffffff813381c0>] skip_spaces+0x30/0x30
[  819.772242] RSP: 0018:ffff8804015cbc70  EFLAGS: 00010046
[  819.772310] RAX: 0000000000000003 RBX: ffff88040cfd6d40 RCX: 0000000000000018
[  819.772397] RDX: 0000000000020001 RSI: 0000000000000000 RDI: 0000000000000000
[  819.772484] RBP: ffff8804015cbcc0 R08: 0000000000000000 R09: ffff8803f0768d40
[  819.772570] R10: ffffea001033b800 R11: 0000000000000000 R12: ffffffff81c519c0
[  819.772656] R13: 0000000000020001 R14: 0000000000000000 R15: 0000000000020001
[  819.772744] FS:  00007ff98309b740(0000) GS:ffff88041f200000(0000) knlGS:0000000000000000
[  819.772845] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  819.772917] CR2: 0000000000000000 CR3: 00000003f59dc000 CR4: 00000000001407f0
[  819.773001] Stack:
[  819.773030]  ffffffff81114003 ffff8804015cbcb0 0000000000000000 0000000000000046
[  819.773146]  ffff880409757a18 ffff8803f065a160 0000000000000000 0000000000020001
[  819.773273]  0000000000000000 0000000000000000 ffff8804015cbce8 ffffffff8143e388
[  819.773387] Call Trace:
[  819.773434]  [<ffffffff81114003>] ? ftrace_raw_event_wakeup_source+0x43/0xe0
[  819.773520]  [<ffffffff8143e388>] wakeup_source_report_event+0xb8/0xd0
[  819.773595]  [<ffffffff8143e3cd>] __pm_stay_awake+0x2d/0x50
[  819.773724]  [<ffffffff8153395c>] power_supply_changed+0x3c/0x90
[  819.773795]  [<ffffffff8153407c>] power_supply_register+0x18c/0x250
[  819.773869]  [<ffffffff813d8d18>] sysfs_add_battery+0x61/0x7b
[  819.773935]  [<ffffffff813d8d69>] battery_notify+0x37/0x3f
[  819.774001]  [<ffffffff816ccb7c>] notifier_call_chain+0x4c/0x70
[  819.774071]  [<ffffffff81073ded>] __blocking_notifier_call_chain+0x4d/0x70
[  819.774149]  [<ffffffff81073e26>] blocking_notifier_call_chain+0x16/0x20
[  819.774227]  [<ffffffff8109397a>] pm_notifier_call_chain+0x1a/0x40
[  819.774316]  [<ffffffff81095b66>] hibernate+0x66/0x1c0
[  819.774407]  [<ffffffff81093931>] state_store+0x71/0xa0
[  819.774507]  [<ffffffff81331d8f>] kobj_attr_store+0xf/0x20
[  819.774613]  [<ffffffff811f8618>] sysfs_write_file+0x128/0x1c0
[  819.774735]  [<ffffffff8118579d>] vfs_write+0xbd/0x1e0
[  819.774841]  [<ffffffff811861d9>] SyS_write+0x49/0xa0
[  819.774939]  [<ffffffff816d1052>] system_call_fastpath+0x16/0x1b
[  819.775055] Code: 89 f8 48 89 e5 f6 82 c0 a6 84 81 20 74 15 0f 1f 44 00 00 48 83 c0 01 0f b6 10 f6 82 c0 a6 84 81 20 75 f0 5d c3 66 0f 1f 44 00 00 <80> 3f 00 55 48 89 e5 74 15 48 89 f8 0f 1f 40 00 48 83 c0 01 80
[  819.775760] RIP  [<ffffffff813381c0>] skip_spaces+0x30/0x30
[  819.775881]  RSP <ffff8804015cbc70>
[  819.775949] CR2: 0000000000000000
[  819.794175] ---[ end trace c4ef25127039952e ]---

Change-Id: I69c2ff4750e66344e28b7fed6f4bf3357614d77c
Signed-off-by: Shuah Khan <shuah.kh@samsung.com>
Acked-by: Anton Vorontsov <anton@enomsg.org>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: stable@vger.kernel.org
Signed-off-by: Anton Vorontsov <anton@enomsg.org>
9 years agopower_supply: Prevent suspend until power supply events are processed
Zoran Markovic [Fri, 2 Aug 2013 20:38:02 +0000 (13:38 -0700)]
power_supply: Prevent suspend until power supply events are processed

This patch, originally authored by Arve Hjonnevag and Todd Poynor,
prevents the system from entering suspend mode until the power supply
plug, unplug, or any other change of state event is fully processed. This
guarantees that the screen lights up and displays the battery charging
state. The implementation uses the power supply wakeup_source object.

Change-Id: I541e6a5d0567f2a731f14abc16fda30256ae93fe
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Arve Hjonnevag <arve@android.com>
Cc: Todd Poynor <toddpoynor@google.com>
Cc: John Stultz <john.stultz@linaro.org>
Signed-off-by: Zoran Markovic <zoran.markovic@linaro.org>
Signed-off-by: Anton Vorontsov <anton@enomsg.org>
9 years agopower_supply: Add of_node_put to fix refcount
Rhyland Klein [Mon, 10 Jun 2013 21:26:39 +0000 (17:26 -0400)]
power_supply: Add of_node_put to fix refcount

of_parse_phandle increments the refcount for a dt node before returning
it. Add of_node_put where needed to properly decrement the refcount when
we are done using a given node.

Change-Id: I49584e6d17ba5cc7f431a8a0b193fcbc2b6a2f34
Signed-off-by: Rhyland Klein <rklein@nvidia.com>
Signed-off-by: Anton Vorontsov <anton@enomsg.org>
9 years agoARM: dts: exynos3250-rinato: Add sensor position
Jaewon Kim [Thu, 2 Oct 2014 06:46:34 +0000 (15:46 +0900)]
ARM: dts: exynos3250-rinato: Add sensor position

This patch adds accel and magnetic sensor position property
for rinato board. Sensor position related sensor axis.

Change-Id: I77cf7b2401b5c286d7bdc1327de4fea0c8247559
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
9 years agosensorhub: Add sensor position check
Jaewon Kim [Thu, 2 Oct 2014 06:44:10 +0000 (15:44 +0900)]
sensorhub: Add sensor position check

This patch adds sensor position check. MCU change axis
accoring to position value.

Change-Id: Iebcba7ed79a20990439b1940c9835c6b3869aa3f
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
9 years agoARM: configs: tizen_rinato_defconfig: Enable HRM sensor
Jaewon Kim [Thu, 2 Oct 2014 06:27:41 +0000 (15:27 +0900)]
ARM: configs: tizen_rinato_defconfig: Enable HRM sensor

This patch enables HRM sensor(ADPD142) in sensorhub.

Change-Id: Icdc97fa0f9fc0ec6c7b2badc325f21e93920ecd1
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
9 years agoARM: dts: exynos3250-rinato: Fix USB vbus regulator state
Jaewon Kim [Thu, 2 Oct 2014 06:02:33 +0000 (15:02 +0900)]
ARM: dts: exynos3250-rinato: Fix USB vbus regulator state

This patch fixes USB vbus regulator state. USB vbus supplied
from USB host. but rinato board supplied from SUB PMIC(MAX77836).
USB hsotg driver do not have to control USB vbus regulator.
So, this patch changes regulator state to always-on.

Change-Id: I1bb94bfc4f5d62d8fe398e4ed8a5b6f87bca69bb
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
9 years agopackaging: fix source name to match repo name
Philippe Coval [Thu, 2 Oct 2014 12:36:08 +0000 (14:36 +0200)]
packaging: fix source name to match repo name

Change-Id: I33d643c3073ba6a55af442d47e5a1878ce181792
Bug-Tizen: TC-1495
Signed-off-by: Philippe Coval <philippe.coval@open.eurogiciel.org>
9 years agoARM: dts: enable g2d for odroid x2/u3
Joonyoung Shim [Wed, 1 Oct 2014 08:04:11 +0000 (17:04 +0900)]
ARM: dts: enable g2d for odroid x2/u3

Update DTS and defconfig for g2d.

Change-Id: I1bf301630e6bf543b56d0df8717c7b592c786b81
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
9 years agodrm/exynos: fimd: fix screen shaking issue
Inki Dae [Tue, 23 Sep 2014 15:33:11 +0000 (00:33 +0900)]
drm/exynos: fimd: fix screen shaking issue

This patch fixes the issue that the screen is shared once resume.

The issue could be incurred when overlay registers are updated by
win_commit while transmitting video data.

So this patch makes win_commit function wait for vsync signal
if fimd is still transmitting video data before updating overlay
registers.

Change-Id: Ia5efff85ccad91cd6e8ff7a5e167a883c8e8d4aa
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agoARM: dts: Add TMU dt node for exynos3250-rinato
Chanwoo Choi [Mon, 29 Sep 2014 12:21:00 +0000 (21:21 +0900)]
ARM: dts: Add TMU dt node for exynos3250-rinato

This patch add TMU dt node to enable Thermal Management Unit which monitors
the temperature of Exynos3250 SoC.

Change-Id: I2d8b2bb3c590d4247c3f6a6fdcc30b5724bae158
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
9 years agothermal: samsung: Change calculation type from TWO_POINT_TRIMMING to ONE_POINT_TRIMMING
Chanwoo Choi [Mon, 29 Sep 2014 12:15:14 +0000 (21:15 +0900)]
thermal: samsung: Change calculation type from TWO_POINT_TRIMMING to ONE_POINT_TRIMMING

This patch changes the calculation type from TWO_POINT_TRIMMING to ONE_POINT_TRIMMING
because some Exynos3250 don't support TWO_POINT_TRIMMING method.

Change-Id: I04f76e6ca538b31687a1343535f40392a3a8b773
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
9 years agoARM: configs: Add tizen_rinato_defconfig for Rinato board
Chanwoo Choi [Mon, 29 Sep 2014 11:26:57 +0000 (20:26 +0900)]
ARM: configs: Add tizen_rinato_defconfig for Rinato board

This patch add tizen_rinato_defconfig for Rinato board which is based on Exynos3250 SoC.

Change-Id: I4007fecc45c5422412701d48ed8d216d3a7dc395
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
9 years agoARM: dts: Add board dts file for Exynos3250-based Rinato board
Chanwoo Choi [Mon, 29 Sep 2014 11:24:20 +0000 (20:24 +0900)]
ARM: dts: Add board dts file for Exynos3250-based Rinato board

This patch add support for device tree sources for Samsung Rinato baord
(Samsung Gear 2) based on Exynos3250 SoC.

Change-Id: I191290a96c79bf539117da6f44724ba774f57c16
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
9 years agoARM: dts: Add missing pinctrl for uart0/1 for exynos3250
Chanwoo Choi [Mon, 29 Sep 2014 11:23:33 +0000 (20:23 +0900)]
ARM: dts: Add missing pinctrl for uart0/1 for exynos3250

This patch add missing pinctrl for uart0/1 for Exynos3250. The gpio pin (
uart0_data, uart0_fctl, uart1_data) is only used for UART IP.

Change-Id: I18ec65425c5fcbf20efbfe69469fb8e2e81925e5
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
9 years agoarm: tizen_odroid_defconfig: add support for containers
Piotr Bartosiewicz [Wed, 24 Sep 2014 08:13:53 +0000 (10:13 +0200)]
arm: tizen_odroid_defconfig: add support for containers

Add support for linux containers (lxc, libvirt-lxc) in odroid SoC.
This patch turns on user namespace, cgroups, bridging, vlan and
multiple devpts stuff.

Change-Id: I78b79a20f06154d96517ecb714174a252f87466a
Signed-off-by: Piotr Bartosiewicz <p.bartosiewi@partner.samsung.com>
9 years agodrm/exynos/ipp: add file checks for ioctls
Andrzej Hajda [Tue, 2 Sep 2014 12:56:21 +0000 (14:56 +0200)]
drm/exynos/ipp: add file checks for ioctls

Process should not have access to ipp nodes created by another
process. The patch adds necessary checks.
It also simplifies lookup for command node.

Change-Id: If30f01d497a61792d0407821dfd7943075e49e48
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos/ipp: remove file argument from node related functions
Andrzej Hajda [Tue, 2 Sep 2014 12:55:06 +0000 (14:55 +0200)]
drm/exynos/ipp: remove file argument from node related functions

Since file pointer is preserved in c_node passing it
as argument in node functions is redundant.

Change-Id: I7a302822ab441a4a572962698c41be31bc360b03
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos/fimc: fix source buffer registers
Andrzej Hajda [Thu, 28 Aug 2014 09:07:39 +0000 (11:07 +0200)]
drm/exynos/fimc: fix source buffer registers

FIMC in default mode of operation uses only one input buffer,
but the driver used also second buffer, as a result only the
first frame was processed correctly. The patch fixes it.

Change-Id: I359cfbc5c80221904659848d09d3778094c6393f
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos/fimc: simplify buffer queuing
Andrzej Hajda [Thu, 28 Aug 2014 09:07:38 +0000 (11:07 +0200)]
drm/exynos/fimc: simplify buffer queuing

The patch removes redundant checks, redundant HW reads
and simplifies code.

Change-Id: Ieb4020ea24b3d648c0cab0b22f0b97d3dd956fa6
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos/fimc: do not enable fimc twice
Andrzej Hajda [Thu, 28 Aug 2014 09:07:37 +0000 (11:07 +0200)]
drm/exynos/fimc: do not enable fimc twice

The patch removes redundant H/W activation.

Change-Id: Ia8a465f8a31e735b403616f21f7594b29604a02e
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos/fimc: avoid clearing overflow bits
Andrzej Hajda [Thu, 28 Aug 2014 09:07:36 +0000 (11:07 +0200)]
drm/exynos/fimc: avoid clearing overflow bits

Overflow bits shall be cleared by H/W.

Change-Id: Ia8dfd96c9e78d24565a959a2e9c7ee770039ff91
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos/ipp: remove events during command cleaning
Andrzej Hajda [Thu, 28 Aug 2014 09:07:35 +0000 (11:07 +0200)]
drm/exynos/ipp: remove events during command cleaning

Events were removed only during stop command, as a result
there were memory leaks if program prematurely exited.
This patch fixes it.

Change-Id: I763b05753eb6bebe7ac3dc74da76dd08b5972142
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos/ipp: stop hardware before freeing memory
Andrzej Hajda [Thu, 28 Aug 2014 09:07:34 +0000 (11:07 +0200)]
drm/exynos/ipp: stop hardware before freeing memory

Memory shouldn't be freed when hardware is still running.

Change-Id: I2ac15beee14bf3d952a15367bf2f4d1366445eac
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos/ipp: replace work_struct casting with better constructs
Andrzej Hajda [Thu, 28 Aug 2014 09:07:33 +0000 (11:07 +0200)]
drm/exynos/ipp: replace work_struct casting with better constructs

Type casting should be avoided if possible. In case of
work_struct it can be simply replaced by reference to member field.

Change-Id: I0bc76f41e3cf97ad5bd70ae89f01f092513feacf
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos/ipp: clean memory nodes on command node cleaning
Andrzej Hajda [Thu, 28 Aug 2014 09:07:32 +0000 (11:07 +0200)]
drm/exynos/ipp: clean memory nodes on command node cleaning

The nodes should be removed before removing command node.

Change-Id: Ib97b737c9578c912737827b666ab0d94395a5334
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos/ipp: move nodes cleaning to separate function
Andrzej Hajda [Thu, 28 Aug 2014 09:07:31 +0000 (11:07 +0200)]
drm/exynos/ipp: move nodes cleaning to separate function

The patch introduces ipp_clean_mem_nodes function which replaces
redundant code. Additionally memory node function definitions
are moved up to increase its visibility.

Change-Id: I3143c773be9646f28f8f3c55b711e17e21f67a8a
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos/ipp: free partially allocated resources on error
Andrzej Hajda [Thu, 28 Aug 2014 09:07:30 +0000 (11:07 +0200)]
drm/exynos/ipp: free partially allocated resources on error

In case of allocation errors some already allocated buffers
were not freed. The patch fixes it.

Change-Id: I23447928fb497ad33324fc2affa430bd2de98122
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos/ipp: remove unused field in command node
Andrzej Hajda [Thu, 28 Aug 2014 09:07:29 +0000 (11:07 +0200)]
drm/exynos/ipp: remove unused field in command node

Since command node have file pointer dev field became useless.

Change-Id: I3ee97a701b9b032e329a59fcc0ed7c122440c9b7
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos/ipp: remove only related commands on file close
Andrzej Hajda [Thu, 28 Aug 2014 09:07:28 +0000 (11:07 +0200)]
drm/exynos/ipp: remove only related commands on file close

On file close driver should remove only command nodes created
via this file.

Change-Id: I1063955f02af7f1cd456b5e31165fe64ed136788
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos/ipp: move file reference from memory to command node
Andrzej Hajda [Thu, 28 Aug 2014 09:07:27 +0000 (11:07 +0200)]
drm/exynos/ipp: move file reference from memory to command node

Command node should contain file reference to distinguish commands
created by different processes.

Change-Id: I98938d16d323a5f83614ae87c84485f8fa4efc69
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos/ipp: cancel works before command node clean
Andrzej Hajda [Thu, 28 Aug 2014 09:07:26 +0000 (11:07 +0200)]
drm/exynos/ipp: cancel works before command node clean

All pending works should be canceled prior to its removal.

Change-Id: I6adaf0fcc447f3fdbed4dd8cfb873e1b5d1fdb84
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos/ipp: remove fake pm callbacks
Andrzej Hajda [Thu, 28 Aug 2014 09:07:25 +0000 (11:07 +0200)]
drm/exynos/ipp: remove fake pm callbacks

PM callbacks in ipp core do nothing, so the patch removes it.

Change-Id: I3fd9eb622b7c29b956dcfeff390004e66ced7e9f
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodts: exynos3250: add Exynos DRM SC device node
Hyungwon Hwang [Thu, 28 Aug 2014 06:45:33 +0000 (15:45 +0900)]
dts: exynos3250: add Exynos DRM SC device node

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

Change-Id: I3b91ccbd19ceddd4aeaa3bd685aeee6778fd7ee9
Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
9 years agoASoC: odroidx2_max98090: Modify documentation for audio routing
Huang Chao [Tue, 26 Aug 2014 05:29:14 +0000 (13:29 +0800)]
ASoC: odroidx2_max98090: Modify documentation for audio routing

The Headset audio path has been modified for Odroid U3, which can
support Stereophone and Mic.

Change-Id: Id610afe0f656183098b981f9dda4b2d1b2a6a6f2
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
9 years agoupstream media: fix: au0828 call dvb core suspend
Mauro Carvalho Chehab [Wed, 13 Aug 2014 18:52:39 +0000 (15:52 -0300)]
upstream media: fix: au0828 call dvb core suspend

Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=66cae53024c4
Upstream Author: Shuah Khan <shuah.kh@samsung.com>
Original subject: [media] media: fix au0828 dvb suspend/resume to call dvb_frontend_suspend/resume

au0828 doesn't resume correctly and TV tuning fails with
xc_set_signal_source(0) failed message. Change au0828 dvb
suspend and resume interfaces to suspend and resume frontend
during suspend and resume respectively. dvb_frontend_suspend()
suspends tuner and fe using tuner and fe ops. dvb_frontend_resume()
resumes fe and tuner using fe and tuner ops ini before waking up
the frontend. With this change HVR950Q suspend and resume work
when system gets suspended when digital function is tuned to a
channel and with active TV stream, and after resume it went right
back to active TV stream.

Change-Id: I84820422af70bea19cefe6d24f0f9bff5756637d
Signed-off-by: Shuah Khan <shuah.kh@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
9 years agos5p-mfc: Fix debug/error messages in s5p_mfc_init_hw
Kamil Debski [Mon, 4 Aug 2014 12:56:58 +0000 (14:56 +0200)]
s5p-mfc: Fix debug/error messages in s5p_mfc_init_hw

Fix debug and error messages in the initialization sequence of the MFC
firmware.

Change-Id: Ie77f24ba07823bd9d80921d07f9e703855f8e8c1
Reported-by: Zhaowei Yuan <zhaowei.yuan@samsung.com>
Signed-off-by: Kamil Debski <k.debski@samsung.com>
9 years agodma: of: Remove restriction that #dma-cells can't be 0
Lars-Peter Clausen [Mon, 22 Apr 2013 08:33:32 +0000 (10:33 +0200)]
dma: of: Remove restriction that #dma-cells can't be 0

There is no sensible reason why #dma-cells shouldn't be allowed to be 0. It is
completely up to the DMA controller how many additional parameters, besides the
phandle, it needs to identify a channel. E.g. for DMA controller with only one
channel or for DMA controllers which don't have a restriction on which channel
can be used for which peripheral it completely legitimate to not require any
additional parameters.

Also fixes the following warning:
drivers/dma/of-dma.c: In function 'of_dma_controller_register':
drivers/dma/of-dma.c:67:7: warning: 'nbcells' may be used uninitialized in this function

Change-Id: Ibf9738af3bac1d40a630d49b35f9e6450ea100b8
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
9 years agoASoC: Samsung: i2s: make sure the i2s bus clock is enabled before starting operation
Inha Song [Wed, 20 Aug 2014 04:45:38 +0000 (13:45 +0900)]
ASoC: Samsung: i2s: make sure the i2s bus clock is enabled before starting operation

This patch add i2s bus clock enable/disable function. If boards does not have
Audio Sub System, seperate clock is necessary for i2s bus control. This patch
should not effect Exynos4 SoC boards.

Change-Id: Ibcc696767526b3bafaa02b08eec2150410e296c8
Signed-off-by: Inha Song <ideal.song@samsung.com>
9 years agosound: soc/samsung: i2s: Handle bus clock gating
Tomasz Figa [Thu, 9 Jan 2014 16:24:23 +0000 (17:24 +0100)]
sound: soc/samsung: i2s: Handle bus clock gating

This patch adds handling of controller bus clock gating to make sure
that the clock is enabled before starting operation.

Change-Id: Ib7069487e3d4477fc6b7d09e411b06bfc3f8f263
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
9 years agodrm/exynos: scaler: add exynos drm sc driver
Hyungwon Hwang [Thu, 4 Sep 2014 05:41:12 +0000 (14:41 +0900)]
drm/exynos: scaler: add exynos drm sc driver

This patch adds exynos drm sc driver for Exynos 3250.

Change-Id: Ia71c5354390e67494fd4887c8861a624d21e3839
Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
9 years agomedia: check status of dmxdev->exit in poll functions of demux&dvr
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>
9 years agomedia: correct return value in dvb_demux_poll
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>
9 years agomedia: fix kernel deadlock due to tuner pull-out while playing
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>
9 years agoARM: use get machine revision function for get sys_revision property
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>
9 years agoof: Add common FDT machine revision related function
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>
9 years agoarm: tizen_odroid_defconfig: enable options for RTL8188CUS usb wifi
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>
9 years agomedia: s5p_mfc: unify variable naming style
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>