platform/kernel/linux-3.10.git
9 years agodrm/panel: s6e63j0x03: Fix uninitialized power state
Krzysztof Kozlowski [Fri, 24 Oct 2014 07:24:53 +0000 (16:24 +0900)]
drm/panel: s6e63j0x03: Fix uninitialized power state

Fix following DSI panel enable error (booted init=/bin/sh):

echo 0 > /sys/devices/platform/exynos-drm/graphics/fb0/blank
[   55.708859] exynos-dsi 11c80000.dsi: PLL input frequency: 24000000
[   55.709038] exynos-dsi 11c80000.dsi: PLL freq 250000000, (p 3, m 125, s 2)
[   55.709107] exynos-dsi 11c80000.dsi: band 4
[   55.709929] exynos-dsi 11c80000.dsi: PLL failed to stabilize
[   55.709987] exynos-dsi 11c80000.dsi: failed to configure DSI PLL
[   56.007706] exynos-dsi 11c80000.dsi: timeout waiting for reset
[   56.030676] exynos-dsi 11c80000.dsi: waiting for bus lanes timed out
[   56.030804] exynos-dsi 11c80000.dsi: < xfer df45fda8: tx len 3, done 0, rx len 0, done 0
[   56.127024] exynos-dsi 11c80000.dsi: xfer timed out: 03 00 f1 5a 5a
[   56.127125] panel_s6e63j0x03 11c80000.dsi.0: failed to dcs write: -110[f1 5a 5a]

The panel power state was initialized by devm_kzalloc() to 0 which means
FB_BLANK_UNBLANK. Request to unblank frame buffer from sysfs was
triggering a call to panel set_brightness(). This lead to starting DSI
transfers on disabled DSI/panel (no calls to exynos_dsi_enable, s6e63j0x03_prepare,
s6e63j0x03_enable)

Change-Id: I146d46c92c96112a6c616daf83edc57c5b889902
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/panel: s6e63j0x03: add brightness feature
Inki Dae [Fri, 24 Oct 2014 06:04:33 +0000 (15:04 +0900)]
drm/panel: s6e63j0x03: add brightness feature

Change-Id: I9b4b9060a9c8ef63f969951da4bd1b9cc26fa553
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/panel: add .prepare() and .unprepare() functions
Ajay Kumar [Thu, 17 Jul 2014 20:43:48 +0000 (02:13 +0530)]
drm/panel: add .prepare() and .unprepare() functions

Panels often require an initialization sequence that consists of three
steps: a) powering up the panel, b) starting transmission of video data
and c) enabling the panel (e.g. turn on backlight). This is usually
necessary to avoid visual glitches at the beginning of video data
transmission.

Similarly, the shutdown sequence is typically done in three steps as
well: a) disable the panel (e.g. turn off backlight), b) cease video
data transmission and c) power down the panel.

Currently drivers can only implement .enable() and .disable() functions,
which is not enough to implement the above sequences. This commit adds a
second pair of functions, .prepare() and .unprepare() to allow more
fine-grained control over when the above steps are performed.

Change-Id: Id00eec6fd18b9e480975e0c3478a8890cacb79e7
Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
[treding: rewrite changelog, add kerneldoc]
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: fimd: make a wait_for_vblank event to be handled in same period
Inki Dae [Fri, 24 Oct 2014 03:09:35 +0000 (12:09 +0900)]
drm/exynos: fimd: make a wait_for_vblank event to be handled in same period

This patch makes sure for a wait_for_vblank event to be handled
in same period. For this, it adds a new member, triggerred which
means whether trigger request is completed or not since trigger
request.

So if there is a trigger request, update-request, then this patch makes
a wait_for_vblank event to be handled after the trigger request is
completed.

Change-Id: If1a2491a323b637d20806373e0502b2b0a9ff810
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: fimd: handle finish pageflip at irq handler
Inki Dae [Fri, 24 Oct 2014 03:05:38 +0000 (12:05 +0900)]
drm/exynos: fimd: handle finish pageflip at irq handler

In case of all modes, i80 and rgb modes, finish page flip request
could be handled at irq handler after framedone. This patch is just
for cleanup.

Change-Id: Idb56e1932fbe7e085be0384eb35b68f699547d18
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: fimd: handle wait vsync event at irq handler
Inki Dae [Fri, 24 Oct 2014 03:02:29 +0000 (12:02 +0900)]
drm/exynos: fimd: handle wait vsync event at irq handler

in case of all modes, i80 and rgb modes, wait vsync event
should be handled at irq handler after framedone.

Change-Id: I7dbd38119c5c27a694e3b1c7c160f8205a4b028c
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: fimd: do not call fimd_trigger in atomic context
Inki Dae [Fri, 24 Oct 2014 02:54:58 +0000 (11:54 +0900)]
drm/exynos: fimd: do not call fimd_trigger in atomic context

spin lock, win_updated_lock, isn't related to fimd_trigger.

Change-Id: Ia9dd215a2a4809726c357f9de4104c09ce08dc0c
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agodrm/exynos: fimd: move handle vblank position in TE handler
YoungJun Cho [Thu, 23 Oct 2014 06:56:21 +0000 (15:56 +0900)]
drm/exynos: fimd: move handle vblank position in TE handler

For providing VBLANK information, drm_handle_vblank() should
be called properly, but it is blocked by wait_vsync_event
condition which is set by manager_ops->wait_for_vblank().
So moves it out from wait_vsync_event routine.

Change-Id: Id5fc56f65d582fd90ef261f50b302f12ef890353
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
Acked-by: Inki Dae <inki.dae@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agoARM: dts: exynos3250-rinato: Add pmureg-phandle node for control XUSBXTI power state...
Inha Song [Thu, 23 Oct 2014 08:18:50 +0000 (17:18 +0900)]
ARM: dts: exynos3250-rinato: Add pmureg-phandle node for control XUSBXTI power state using syscon

This patch add pmureg-phandle node for control XUSBXTI power state using syscon.

Change-Id: I6d3196a55a9c542c3cd411fea9ea7628a9d69d3f
Signed-off-by: Inha Song <ideal.song@samsung.com>
9 years agoASoC: samsung: Add XUSBXTI power state control function for BT call when sleep state
Inha Song [Thu, 23 Oct 2014 08:13:19 +0000 (17:13 +0900)]
ASoC: samsung: Add XUSBXTI power state control function for BT call when sleep state

This patch add XUSBXTI power-state control function for BT call when sleep state.
When sound codec is enabled and entering sleep mode, XUSBXTI_SYS_PWR_REG must be
set to enables for BT call.

Change-Id: I5b385aad102e19c38d048609d99736ba13336253
Signed-off-by: Inha Song <ideal.song@samsung.com>
9 years agoARM: EXYNOS: Remove EXYNOS3_XUSBXTI in PMU configuration registers to control power...
Inha Song [Thu, 23 Oct 2014 08:00:16 +0000 (17:00 +0900)]
ARM: EXYNOS: Remove EXYNOS3_XUSBXTI in PMU configuration registers to control power state using syscon

This patch remove EXYNOS3_XUSBXTI_SYS_PWR_REG in PMU configuration registers
to control XUSBXTI power state using syscon.

Change-Id: I594d316ab08e463f98338a8fac8860933755f1b9
Signed-off-by: Inha Song <ideal.song@samsung.com>
9 years agoarm: dts: exynos3250-rinato: Add 'using-19-bits' flag to max17040 fuelgague.
Jonghwa Lee [Thu, 23 Oct 2014 03:09:37 +0000 (12:09 +0900)]
arm: dts: exynos3250-rinato: Add 'using-19-bits' flag to max17040 fuelgague.

Follow the commit 'be0065c power: max17040: WA: Add flag 'using_19_bits'~',
it adds 'using-19-bits' to max17040 fuelgauge dt node to get correct SoC.

Change-Id: I9c2b4d60a2abb0dcb177cb81fbdd4c46d9556aee
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agopower: max17040: WA: Add flag 'using_19_bits' to determine SoC in double.
Jonghwa Lee [Thu, 23 Oct 2014 03:05:17 +0000 (12:05 +0900)]
power: max17040: WA: Add flag 'using_19_bits' to determine SoC in double.

No information about actual meaning of using 19 bits, it's just copied
from vendor's code. However, It is clear that it represents doubled SoC
if the chip is marked with 'using 19 bits'. Rinato needs to half the SoC
register's value to get correct one.

Change-Id: I0d873de3e7671c2494955735364934156ab756d9
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agopower: max17040: Fix data transfering size from 8bits to 16bits.
Jonghwa Lee [Thu, 23 Oct 2014 01:51:42 +0000 (10:51 +0900)]
power: max17040: Fix data transfering size from 8bits to 16bits.

Even max17040 fuelgauge chip's registers are segmented in size of 8bits
(MSB, LSB), it transfers data only in 16bits. So, it should read both of
MSB, LSB registers at once.

Change-Id: I87150fbf9b14adf65fc9fdf912f963ab591586e3
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agopackaging: fix %setup top dir name
Stephane Desneux [Wed, 22 Oct 2014 15:48:40 +0000 (17:48 +0200)]
packaging: fix %setup top dir name

Change-Id: I21a9d05153a3e80cebdc7901fb3c0e03635417ec
Signed-off-by: Stephane Desneux <stephane.desneux@open.eurogiciel.org>
9 years agoarm: dts: exynos3250-rinato: Set charger-manager polling always.
Jonghwa Lee [Wed, 22 Oct 2014 11:03:35 +0000 (20:03 +0900)]
arm: dts: exynos3250-rinato: Set charger-manager polling always.

Enable charger-manager's polling mode to always to monitor and notify
the battery capcity.

Change-Id: If7f26a6ac064c1a860ea098109b3ae9609a123f8
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agopower: charger-manager: Update essential battery information at once.
Jonghwa Lee [Wed, 22 Oct 2014 09:07:35 +0000 (18:07 +0900)]
power: charger-manager: Update essential battery information at once.

In current code, charger-manager may attemps to read battery state more
than once in a same period. And it already did such when user accesses
uevent, it reads battery voltage several times.
This patch makes charger-manager to read current battery state including
SoC, voltage and temperature at the start of monitoring and re-use it
during whole period.

Change-Id: Ic69ddb465a75237ded0488cb3eb41f47bb909311
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agopower: charger-manager: Not to start charging directly in cable nofitication.
Jonghwa Lee [Wed, 22 Oct 2014 06:13:51 +0000 (15:13 +0900)]
power: charger-manager: Not to start charging directly in cable nofitication.

This patch prevents direct charging control in cable notification.
It sets only input current limit according to cable type and yields charging
control to be done by cm_monitor() where charging management proceeds.
It may loose few ms to enable charging compared to before, even though it's
more important that charging is enabled only for safe context.

Change-Id: Ic736b9d18829f6d6dab946515dd0fe62fe7b75c4
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agopower: charger-manager: Make chraging decision focused on battery status.
Jonghwa Lee [Wed, 22 Oct 2014 02:32:10 +0000 (11:32 +0900)]
power: charger-manager: Make chraging decision focused on battery status.

In cm_monitor() where charging management starts, it checks various charging
condition sequentially to decide next charging operation. However, as it
follows sequential process, cascade if statements, it does some duplicated
jobs which is already done in previous stage. It results delay in decision
making. And moreover, starting point of charing is spreaded all around, so
it makes maintain codes and debugging difficult.

Both of problems mentioned above becomes clean if it manages battery charging
with focusing battery status not following sequential condition checking.
Now, cm_monitor() moves battery state diagram and does optimal operation for
current state. As a result, it reduces whole monitoring time almost in half.

Change-Id: I1c8cfe57cea6fc8c02a4c0bf7bde6a0d8395b786
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agopower: charger-manager: Get external power souce information only from EXTCON.
Jonghwa Lee [Tue, 21 Oct 2014 07:38:58 +0000 (16:38 +0900)]
power: charger-manager: Get external power souce information only from EXTCON.

When charger-manager checks whether external power source is available,
it gets information from charger IC driver. However, it's not correct source,
charger IC doesn't have responsibilty to give cable connection status.
The charger-manager already gets cable information from EXTCON susbsystem,
so it can re-use it.

Change-Id: I408546beefe63707fcb927db7d92c4005f3848f8
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agoARM: dts: exynos3250-rinato: fix pin control of BT_UART_RTS pin
Beomho Seo [Wed, 22 Oct 2014 10:25:54 +0000 (19:25 +0900)]
ARM: dts: exynos3250-rinato: fix pin control of BT_UART_RTS pin

This patch fix pinctrl of BT_UART_RTS when sleep state.

Change-Id: I6b595e7784dbc769ff7e6fed15e1660132d8e9ff
Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
9 years agoFix source tarball name for odroid and rinato kernels.
Stephane Desneux [Tue, 21 Oct 2014 09:42:57 +0000 (11:42 +0200)]
Fix source tarball name for odroid and rinato kernels.

Change-Id: I1b14b5f5b19eb8aa1eba11f5fc11c63d4e4a1759
Bug-Tizen: TC-1495
Signed-off-by: Stephane Desneux <stephane.desneux@open.eurogiciel.org>
9 years agopackaging: rename linux-kernel.spec to linux-3.10.spec
Chanho Park [Mon, 20 Oct 2014 12:50:13 +0000 (21:50 +0900)]
packaging: rename linux-kernel.spec to linux-3.10.spec

Stephane recommended renaming of the spec file.
https://bugs.tizen.org/jira/browse/TC-1495

Change-Id: If0f38c516e2443d4c268fa2272cda15f4df0e278
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agoperf tools: define _DEFAULT_SOURCE for glibc_2.20
Chanho Park [Fri, 12 Sep 2014 02:03:01 +0000 (11:03 +0900)]
perf tools: define _DEFAULT_SOURCE for glibc_2.20

_BSD_SOURCE was deprecated in favour of _DEFAULT_SOURCE since glibc
2.20[1]. To avoid build warning on glibc2.20, _DEFAULT_SOURCE should
also be defined.

[1]: https://sourceware.org/glibc/wiki/Release/2.20

Change-Id: I89b03ce322a85f01375f73185fbcfb07403c8ee9
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agopower: charger-manager: Concentrate scattered power_supply_changed() calls.
Jonghwa Lee [Mon, 20 Oct 2014 05:14:53 +0000 (14:14 +0900)]
power: charger-manager: Concentrate scattered power_supply_changed() calls.

Current charger-manager calls power_suuply_changed() whenever charging
status is changed. This patch removes seperated power_supply_changed()
use and let it be called at end of try_charger_enable() function which
is called to set charging/discharging.

Change-Id: I98c823268207a891fba9d38dc71692e2e0791ae7
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agothermal: exynos3250: Add interrupt mask for rising/falling interrupt to pdata.
Jonghwa Lee [Fri, 17 Oct 2014 11:23:44 +0000 (20:23 +0900)]
thermal: exynos3250: Add interrupt mask for rising/falling interrupt to pdata.

Interrupt mask will be used to clear unexpected interrupt arisen when rising/
falling thresholds are set.

Change-Id: I570018c7b541a54e2b3d8dbfa2a14f2863682edb
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agothermal: samsung: Only update available threshold limits
Tushar Behera [Mon, 14 Apr 2014 05:38:15 +0000 (11:08 +0530)]
thermal: samsung: Only update available threshold limits

Currently the threshold limits are updated in 2 stages, once for all
software trigger levels and again for hardware trip point.

While updating the software trigger levels, it overwrites the threshold
limit for hardware trip point thereby forcing the Exynos core to issue
an emergency shutdown.

Updating only the required fields in threshold register fixes this issue.

Change-Id: I7ad7a7eadad874b5ec4ecd7fbed207c01cad4e2f
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Acked-by: Amit Daniel Kachhap <amit.daniel@samsung.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
9 years agosensorhub: Fix temporary spi_read error
Jaewon Kim [Fri, 17 Oct 2014 02:55:07 +0000 (11:55 +0900)]
sensorhub: Fix temporary spi_read error

When try to read SPI, sometimes buffer filled with zero.
And spi_read does not return error.

In normal case, first byte of buffer is used to command byte.
And this is not zero. So, this patch checks first byte of buffer.

Change-Id: If75d57c0426d819476d87e82391901dfb8fa1652
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
9 years agoARM: dts: exynos3250-rinato: Fix opmode of regulator and wrong description
Chanwoo Choi [Fri, 17 Oct 2014 02:11:07 +0000 (11:11 +0900)]
ARM: dts: exynos3250-rinato: Fix opmode of regulator and wrong description

This patch fix opmoe of regulator (VAP_AVDD_1.8V) to protect bug in suspend state
and modify wrong description of regulator opmode.

Change-Id: Ibff0afd063ade91967995f52acf924d4c6faa35a
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
9 years agoRevert "ARM: dts: Add TMU dt node for exynos3250-rinato"
Chanwoo Choi [Fri, 17 Oct 2014 02:09:41 +0000 (11:09 +0900)]
Revert "ARM: dts: Add TMU dt node for exynos3250-rinato"

This reverts commit 5b64bbdc428d3944b04457a4933565474263eaec.

Change-Id: I99a4da680e8c851537f9a007ee7d67c75e192258

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>