platform/kernel/linux-3.10.git
9 years agodrm/exynos: mipi-dsi: add exynos3250 SoC support.
Inki Dae [Tue, 12 Aug 2014 12:55:08 +0000 (21:55 +0900)]
drm/exynos: mipi-dsi: add exynos3250 SoC support.

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

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

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

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

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

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

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

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

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

This reverts commit 3fce4fefb40c28cadc40d2fa3452121eb0240ec1.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

No functional changes.

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

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

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

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

A latter patch will add support for resume.

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

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

No functional changes, just code got moved.

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

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

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

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

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

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

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

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

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

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

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

No functional changes.

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

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

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

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

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

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

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

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

The scheduled work should be cancelled during suspend.

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

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

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

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

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

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

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

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

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

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

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

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

Change-Id: I2c5fa1af97e631ab5f38dd0afc8353482e0c1aa8
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
9 years ago[media] au0828: avoid race conditions at RC stop
Mauro Carvalho Chehab [Fri, 8 Aug 2014 10:27:20 +0000 (07:27 -0300)]
[media] au0828: avoid race conditions at RC stop

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

While here, remove a temporary debug printk.

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

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

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

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

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

HVR-850 also has a remote. Enable it.

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

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

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

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

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

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

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

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

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

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

This patch fix build break as following log:

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

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

This reverts commit d872ce298fe725f050c3bbaa652a01a9b18e7a74.

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

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

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

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

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

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

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

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

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

Because the api s5p_mfc_queue_setup has already realized the same function

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

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

Change-Id: Ie7df5962de5928812d1a81bb648258314c0699d1
Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com>
9 years agos5p-mfc: correct improper logs
Zhaowei Yuan [Mon, 21 Jul 2014 06:47:52 +0000 (14:47 +0800)]
s5p-mfc: correct improper logs

This patch corrects improper logs within the code init hardware.

Change-Id: Ia5380723bf9398128412e050cadfaf1cb734d17e
Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com>
9 years agopackaging: move modules from /boot/lib/modules to /boot/modules.img
Chanho Park [Tue, 5 Aug 2014 08:12:00 +0000 (17:12 +0900)]
packaging: move modules from /boot/lib/modules to /boot/modules.img

The latest e2fsprogs have a functionality to make ext2/3/4 image from directory.
It acts like genext2fs or mkext4fs of android tools. I took some patches for it
from e2fsprogs next branch and it will be merged in next release.

A mobile device tend to locate kernel image and modules in the same partition
because it should be easily recovered when the partition was broken. Thus, I
also located the modules image in the /boot partition instead of /lib/modules
directory. This patch supports making the modules.img from obs/gbs build.

Change-Id: I480837378e07bc327ac2379211893799bb452402
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agoOdroid : Set Configuration flags to get loaded Bluetooth drivers.
paraskumar [Tue, 5 Aug 2014 06:03:13 +0000 (15:03 +0900)]
Odroid : Set Configuration flags to get loaded Bluetooth drivers.

This patch enables configuration flags to load USB Bluetooth,
HCIUART, HCIBTUSB, BT_RFCOMM and few HID drivers to use Bluetooth
Mouse or Keyboard.

Change-Id: I116fab362b9e4b8561b7d507081230b4e602a835
Signed-off-by: Paras Kumar <paras.kumar@samsung.com>
9 years agoodroid: enable smack permissive mode
Chanho Park [Fri, 1 Aug 2014 01:51:46 +0000 (10:51 +0900)]
odroid: enable smack permissive mode

This patch enables smack permissive mode because the platform cannot
support smack correctly. This option will be disabled when the platform
is more stable and support smack correctly.

Change-Id: Ifeb1d2d5454f01f17d94cd02a7c5c2965a9b39f7
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agosmack: add permissive mode for debugging purpose
Chanho Park [Tue, 3 Jun 2014 10:54:53 +0000 (19:54 +0900)]
smack: add permissive mode for debugging purpose

Change-Id: I4389736181c63ae5af670695784cedd21631ba89
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agoASoC: odroidx2_max98090: Update odroidx2_audio_probe from upstream
Huang Chao [Thu, 31 Jul 2014 06:05:52 +0000 (14:05 +0800)]
ASoC: odroidx2_max98090: Update odroidx2_audio_probe from upstream

This patch mainly updates the audio probe and remove function
from the upstream driver, replace the of_parse_phandle return
pointer from the global variables to be local ones. And update
the goto error jump symbols.

Change-Id: Ie0724f1cc0709f72d4feccda4af60985cb732764
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
9 years agodrm: add checking DRM_FORMAT_NV12MT
Joonyoung Shim [Mon, 28 Jul 2014 00:31:21 +0000 (09:31 +0900)]
drm: add checking DRM_FORMAT_NV12MT

If user NV12MT uses as pixel format, the Addfb2 ioctl is failed because
of missing to check DRM_FORMAT_NV12MT. The NV12MT pixel format is
supported by exynos4 and some qualcomm chipset and it is used by exynos
drm driver.

Change-Id: I94435dc3bff96377b9dd295d469e862ac637c6bc
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
9 years agodrm/exynos: control blending of mixer graphic layer 0
Joonyoung Shim [Fri, 25 Jul 2014 10:34:21 +0000 (19:34 +0900)]
drm/exynos: control blending of mixer graphic layer 0

The mixer graphic layer 0 isn't blended as default by commit
0377f4ed9f1aed30292c4e3c87f24e028ae26f36(drm/exynos: Don't blend mixer
layer 0). But it needs to be blended with graphic layer 0 if video layer
is enabled by vp because video layer is bottom.

Change-Id: I3c4a18c569463fab5cd210e654428bfae8fd5e2d
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
9 years agotizen_odroid_defconfig: add support for HVR950Q RC
Mauro Carvalho Chehab [Wed, 30 Jul 2014 19:13:00 +0000 (16:13 -0300)]
tizen_odroid_defconfig: add support for HVR950Q RC

Now that we've backported the patches for HVR950Q Remote
Controller, enable it at the default config for Odroid.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
9 years agoupstream: [media] xc5000: always write at dmesg when it fails to upload firmware
Mauro Carvalho Chehab [Wed, 30 Jul 2014 14:17:46 +0000 (11:17 -0300)]
upstream: [media] xc5000: always write at dmesg when it fails to upload firmware

On a normal condition, no errors should happen at xc5000
firmware upload is done. So, print at the dmesg if something
bad happens.

Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=ee67674a7758
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
9 years agoupstream: [media] xc5000: optimize firmware retry logic
Mauro Carvalho Chehab [Wed, 30 Jul 2014 14:09:15 +0000 (11:09 -0300)]
upstream: [media] xc5000: optimize firmware retry logic

Currently, firmware retry logic keeps reading from FS every
time during the retry logic. This is not needed. Instead,
only release the firmware read after success.

While here, make the non-debug messages less verbose, as it
only matters to the user if the firmware was successfully
loaded, or if some error happened.

Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=8604f3552b1c
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
9 years agoupstream: [media] xc5000: Don't try forever to load the firmware
Mauro Carvalho Chehab [Wed, 30 Jul 2014 13:36:32 +0000 (10:36 -0300)]
upstream: [media] xc5000: Don't try forever to load the firmware

With the current code, if something bad happens during the
firmware init process, the device will keep trying forever,
and removing it would cause an OOPS.

Instead, try only a limited amount of time. If not, fails.

Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=2621c0b32246
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
9 years agoupstream: [media] au0828: add support for IR on HVR-950Q
Mauro Carvalho Chehab [Fri, 25 Jul 2014 01:49:02 +0000 (22:49 -0300)]
upstream: [media] au0828: add support for IR on HVR-950Q

HVR-950Q uses an I2C remote controller at address 0x47 (7-bits
notation). Add support for it.

Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=2fcfd317f66c
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
9 years agoupstream: [media] rc-main: allow raw protocol drivers to restrict the allowed protos
Mauro Carvalho Chehab [Mon, 28 Jul 2014 17:25:28 +0000 (14:25 -0300)]
upstream: [media] rc-main: allow raw protocol drivers to restrict the allowed protos

On some hardware (au0828/au8522), the hardware is broken with
regards to the initial pulse detection. So, the driver needs to
produce a fake start pulse. That limits the acceptable protocols,
as it is not possible to produce a fake pulse that would cover
all supported protocols.

So, allow the driver to explicitly set the allowed protocols.

If the driver doesn't specify, keep the old behavior.

Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=d24b69fc6b0a
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
9 years agoupstream: [media] au0828: improve I2C speed
Mauro Carvalho Chehab [Fri, 25 Jul 2014 17:02:14 +0000 (14:02 -0300)]
upstream: [media] au0828: improve I2C speed

Commits 21dc61d3c0a4 and 7a1dd50b89d4 reduced the board I2C
speed to 20 MHz by default, due to a I2C stretch issue:
while xc5000 uses i2c stretch when a command is sent to it,
au0828 doesn't support this feature.

However, this is needed only for Xceive tuners. The other
I2C devices can work at the max speed.

So, revert the workarounds at board level, handling it at
I2C level, only when talking with xc5000.

Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=cfd0c77d0830
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
9 years agoARM: dts: Fix i2s2 node to support sound in Exynos3250 SoC
Inha Song [Mon, 28 Jul 2014 06:35:35 +0000 (15:35 +0900)]
ARM: dts: Fix i2s2 node to support sound in Exynos3250 SoC

This patch Fix i2s2 node to support sound in Exynos3250 SoC.
Exynos3250 does not have RCLK clock source selection bit in
IISMOD register. So we need to set "samsung,no-muxpsr"
property in i2s node.

Signed-off-by: Inha Song <ideal.song@samsung.com>
9 years agoASoC: Samsung: i2s: Check whether other i2s_dai is NULL
Inha Song [Mon, 28 Jul 2014 06:27:01 +0000 (15:27 +0900)]
ASoC: Samsung: i2s: Check whether other i2s_dai is NULL

If i2s don't have a secondary i2s dai, other i2s_dai is NULL.
So we need to check whether other i2s_dai is NULL before set
other->cdclk_out to i2s->cdclk_out in i2s_shutdown function.

Signed-off-by: Inha Song <ideal.song@samsung.com>
9 years agosound: soc/samsung: i2s: Add DT property to support NO_MUXPSR quirk
Tomasz Figa [Thu, 9 Jan 2014 16:20:17 +0000 (17:20 +0100)]
sound: soc/samsung: i2s: Add DT property to support NO_MUXPSR quirk

This patch adds property to samsung-i2s DT binding indicating that
controller does not have RCLK source selection bit in IISMOD register.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
9 years agosound: soc/samsung: i2s: Init clock hierarchy only for audio subsystem
Tomasz Figa [Wed, 8 Jan 2014 13:03:43 +0000 (14:03 +0100)]
sound: soc/samsung: i2s: Init clock hierarchy only for audio subsystem

Clock hierarchy needs to be initialized only for I2S that is a part of
Audio Subsystem. Remaining I2S do not need this, so this patch makes the
initialization conditional, based on presence of secondary DAI, which is
present only in Audio Subsystem I2S block.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
9 years agoASoC: ymu831: Add Yamaha YMU831 codec support
Inha Song [Fri, 11 Jul 2014 01:08:43 +0000 (10:08 +0900)]
ASoC: ymu831: Add Yamaha YMU831 codec support

Signed-off-by: Inha Song <ideal.song@samsung.com>
9 years agolocal/input: touchscreen: mms128: code clean and open/close callback
Beomho Seo [Mon, 28 Jul 2014 06:43:39 +0000 (15:43 +0900)]
local/input: touchscreen: mms128: code clean and open/close callback

This patch codeclean and add callback function.
- Add open/close callback function.
- Remove code about unused configuration, function and enum.

Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
9 years agoinput: misc: add regulator-haptic driver
Hyunhee Kim [Fri, 25 Jul 2014 06:47:42 +0000 (15:47 +0900)]
input: misc: add regulator-haptic driver

Haptic motor controlled by voltage in regulator. And driver support
force-feedback interface.

Signed-off-by: Hyunhee Kim <hyunhee.kim@samsung.com>
[code cleanup and add detailed description by Jaewon Kim]
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
9 years agoregulator: max14577: Add support for MAX77836 regulators
Krzysztof Kozlowski [Mon, 14 Apr 2014 09:17:20 +0000 (11:17 +0200)]
regulator: max14577: Add support for MAX77836 regulators

Add support for MAX77836 chipset and its additional two LDO regulators.
These LDO regulators are controlled by the PMIC block with additional
regmap (different I2C slave address).

The MAX77836 charger and safeout regulators are almost identical to
MAX14577. The registers layout is the same, except values for charger's
current. The patch adds simple mapping between device type and supported
current by the charger regulator.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Reviewed-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
9 years agoregulator: max14577: Fix invalid return value on DT parse success
Krzysztof Kozlowski [Fri, 21 Feb 2014 12:12:38 +0000 (13:12 +0100)]
regulator: max14577: Fix invalid return value on DT parse success

This fixes bug introduced in 667a6b7a (regulator: max14577: Add missing
of_node_put). The DTS parsing function returned number of matched
regulators as success status which then was compared against 0 in probe.

Result was a probe fail after successful parsing the DTS:
max14577-regulator: probe of max14577-regulator failed with error 2

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Reviwed-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
9 years agoregulator: max14577: Add missing of_node_put
Krzysztof Kozlowski [Wed, 5 Feb 2014 16:56:27 +0000 (17:56 +0100)]
regulator: max14577: Add missing of_node_put

Decrease the reference count for 'regulators' device_node, obtained by
of_get_child_by_name().

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
9 years agoregulator: max14577: Remove unused state container definition
Krzysztof Kozlowski [Tue, 28 Jan 2014 12:18:25 +0000 (13:18 +0100)]
regulator: max14577: Remove unused state container definition

Remove the "struct max14577_regulator" because this is not used
anywhere. It should be removed earlier along with changing the driver
after review on the mailing lists.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
9 years agoregulator: max14577: Add module alias to support module auto-loading
Axel Lin [Mon, 23 Dec 2013 06:50:53 +0000 (14:50 +0800)]
regulator: max14577: Add module alias to support module auto-loading

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
9 years agoregulator: max14577: Add regulator driver for Maxim 14577
Krzysztof Kozlowski [Fri, 6 Dec 2013 11:32:13 +0000 (12:32 +0100)]
regulator: max14577: Add regulator driver for Maxim 14577

MAX14577 chip is a multi-function device which includes MUIC,
charger and voltage regulator. The driver is located in drivers/mfd.

This patch adds regulator driver for MAX14577 chip. There are two
regulators in this chip:
1. Safeout LDO with constant voltage output of 4.9V. It can be only
   enabled or disabled.
2. Current regulator for the charger. It provides current from 90mA up
   to 950mA.
Driver supports Device Tree.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
9 years agopower: charger-manager: Add uevent_notify for cable notification
Jonghwa Lee [Wed, 16 Jul 2014 05:14:40 +0000 (14:14 +0900)]
power: charger-manager: Add uevent_notify for cable notification

Charger-manager works with cable notification from extcon sub system,
and it has to notify users when charging status is updated due to the
cable connection.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agopower: charger-manager: Notify chainging of battery soc to user
Jonghwa Lee [Wed, 16 Jul 2014 05:07:26 +0000 (14:07 +0900)]
power: charger-manager: Notify chainging of battery soc to user

Some system might want to notice changing of battery soc, so this patch
makes charger-manager to trigger uevent whenver battery soc changes.

It is configurable operation via setting flag, 'cm-poll-batt-soc', in dt.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
9 years agomisc: ice4_irda: add support for clock enable
Jaewon Kim [Fri, 18 Jul 2014 01:06:41 +0000 (10:06 +0900)]
misc: ice4_irda: add support for clock enable

ice4_irda need 24Mhz clock. But before this patch, ice_irda driver do not
control clock. So, This patch add clock enable function.

Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
9 years agomisc: add support for ice4_irda driver to use IrDA control
Jaewon Kim [Tue, 15 Jul 2014 06:53:48 +0000 (15:53 +0900)]
misc: add support for ice4_irda driver to use IrDA control

This patch add ice4_irda driver to use IrDA control. ice4 chip
communicates via SPI. due to lack of SPI in b2 board, SPI replaced to I2C

Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
9 years agosensorhub: add sensorhub driver
Jaewon Kim [Tue, 15 Jul 2014 07:05:25 +0000 (16:05 +0900)]
sensorhub: add sensorhub driver

This patch add sensorhub driver to communicate MCU called sensorhub. It
require firmware driver for MCU.

Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
9 years agoARM: dts: exynos3250: fix compatible string in hsotg
Jaewon Kim [Tue, 15 Jul 2014 05:43:35 +0000 (14:43 +0900)]
ARM: dts: exynos3250: fix compatible string in hsotg

This patch fix compatible string and phy-names in hsotg.

Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
9 years agodrivers: usb: s3c-hsotg: add support for usb core regulator
Marek Szyprowski [Wed, 30 Oct 2013 15:30:25 +0000 (16:30 +0100)]
drivers: usb: s3c-hsotg: add support for usb core regulator

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
9 years agodrivers: phy: exynos-usb2: add support for Exynos 3250
Marek Szyprowski [Mon, 14 Jul 2014 06:48:05 +0000 (15:48 +0900)]
drivers: phy: exynos-usb2: add support for Exynos 3250

This patch adds support for Exynos3250 SoC to Exynos2USB PHY driver.
Although Exynos3250 has only one device phy interface, the register
layout and all operations that are required to get it enabled are almost
same as on Exynos4x12. The only different is one more register
(REFCLKSEL) which need to be set and lack of MODE SWITCH register.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
9 years agousb: gadget: Use usb_put_function instead of usb_remove_function
Andrzej Pietrasiewicz [Wed, 11 Jun 2014 05:09:23 +0000 (14:09 +0900)]
usb: gadget: Use usb_put_function instead of usb_remove_function

When the gadget is disabled with writing "0" to the "enable" attribute,
usb_remove_config() is called, and it calls remove_config(), which in
turn removes a function (list_del(&f->list)) from a list of functions
in the configuration, then calls e.g. acm function's unbind
(acm_unbind()),
then calls slp_multi_unbind_config(), which
calls slp_multi_unbind_enabled_functions(), which, for the acm function,
calls acm_function_unbind_config() which then does usb_remove_config()
and the latter attempts to once again remove a function
(list_del(&f->list)) from a list of functions in the configuration.
Since the list_head of an already deleted entry has LIST_POISON1 and
LIST_POISON2 in its prev and next pointers, dereferencing them in
list_del() causes a page fault.
The fix is to use usb_put_function instead, because when it is called
the function is already removed.
This patch also cleans up
the places usb_get/put_function_instance() and usb_get/put_function()
are called.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
9 years agousb: gadget: slp: add an acm instance to default functions
Seung-Woo Kim [Thu, 6 Mar 2014 04:20:23 +0000 (13:20 +0900)]
usb: gadget: slp: add an acm instance to default functions

To enable acm function with default configuration, acm function
should be added default function list and instance number should
also be set as at least 1.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
9 years agousb: gadget: slp: add mtp function
Chanho Park [Fri, 17 Jan 2014 08:21:56 +0000 (17:21 +0900)]
usb: gadget: slp: add mtp function

This code is based on linux-3.4-exynos. I've only run a simple copy test from
host to target.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agothermal: samsung: Add TMU support for Exynos3250 SoC
Chanwoo Choi [Fri, 11 Jul 2014 01:06:11 +0000 (10:06 +0900)]
thermal: samsung: Add TMU support for Exynos3250 SoC

This patch adds the registers, bit fields and compatible strings
required to support for the 1 TMU channels on Exynos3250.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
[Add MUX address setting bits by Jonghwa Lee]
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
9 years agoinput: touchscreen: add mms128 touchscreen controller driver.
Beomho Seo [Tue, 24 Jun 2014 09:43:55 +0000 (18:43 +0900)]
input: touchscreen: add mms128 touchscreen controller driver.

This patch add melfas mms128 touchscreen controller driver.

Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
9 years agopm_qos: Add PM_QOS_CPU_FREQUENCY pm_qos to guarantee required CPU frequency
Chanwoo Choi [Fri, 11 Jul 2014 01:03:01 +0000 (10:03 +0900)]
pm_qos: Add PM_QOS_CPU_FREQUENCY pm_qos to guarantee required CPU frequency

This patch add PM_QOS_CPU_FREQUENCY to quarantee required CPU frequency.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
9 years agopm_qos: Add PM_QOS_BUS_FREQUENCY pm_qos to guarantee required memory bus frequency
Chanwoo Choi [Fri, 11 Jul 2014 01:02:06 +0000 (10:02 +0900)]
pm_qos: Add PM_QOS_BUS_FREQUENCY pm_qos to guarantee required memory bus frequency

This patch add PM_QOS_BUS_FREQUENCY pm_qos to guarantee required memory bus
frequency.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
9 years agodrm/gpu: mipi: Remove build error of drm_mipi_dsi.c
Chanwoo Choi [Thu, 10 Jul 2014 00:34:52 +0000 (09:34 +0900)]
drm/gpu: mipi: Remove build error of drm_mipi_dsi.c

This patch remove build error of drm_mipi_dsi.c as following log:

  CC      kernel/trace/trace.o
  drivers/gpu/drm/drm_mipi_dsi.c: In function ‘mipi_dsi_device_alloc’:
  drivers/gpu/drm/drm_mipi_dsi.c:78:3: error: implicit declaration of function ‘ERR_PTR’ [-Werror=implicit-function-declaration]
  drivers/gpu/drm/drm_mipi_dsi.c:78:3: warning: return makes pointer from integer without a cast [enabled by default]
  drivers/gpu/drm/drm_mipi_dsi.c: In function ‘of_mipi_dsi_device_add’:
  drivers/gpu/drm/drm_mipi_dsi.c:111:3: warning: return makes pointer from integer without a cast [enabled by default]
  drivers/gpu/drm/drm_mipi_dsi.c:117:3: warning: return makes pointer from integer without a cast [enabled by default]
  drivers/gpu/drm/drm_mipi_dsi.c:121:2: error: implicit declaration of function ‘IS_ERR’ [-Werror=implicit-function-declaration]
  drivers/gpu/drm/drm_mipi_dsi.c:123:4: error: implicit declaration of function ‘PTR_ERR’ [-Werror=implicit-function-declaration]
  drivers/gpu/drm/drm_mipi_dsi.c:123:4: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 4 has type ‘int’ [-Wformat]
  drivers/gpu/drm/drm_mipi_dsi.c:135:3: warning: return makes pointer from integer without a cast [enabled by default]
  cc1: some warnings being treated as errors
  make[3]: *** [drivers/gpu/drm/drm_mipi_dsi.o

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
9 years agoARM: exynos: Remove build error of sec-reboot.c
Chanwoo Choi [Thu, 10 Jul 2014 00:33:16 +0000 (09:33 +0900)]
ARM: exynos: Remove build error of sec-reboot.c

This patch remove build error of sec-reboot.c as following log:

  CC      arch/arm/mach-exynos/sec-reboot.o
  arch/arm/mach-exynos/sec-reboot.c: In function ‘sec_power_off’:
  arch/arm/mach-exynos/sec-reboot.c:72:3: error: implicit declaration of function ‘IS_ERR’ [-Werror=implicit-function-declaration]
  arch/arm/mach-exynos/sec-reboot.c: In function ‘sec_reboot_parse_dt’:
  arch/arm/mach-exynos/sec-reboot.c:210:3: error: implicit declaration of function ‘ERR_PTR’ [-Werror=implicit-function-declaration]
  arch/arm/mach-exynos/sec-reboot.c:210:3: warning: return makes pointer from integer without a cast [enabled by default]
  cc1: some warnings being treated as errors

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
9 years agoiio: adc: exynos_adc: Control special clock for ADC
Chanwoo Choi [Thu, 6 Feb 2014 04:13:23 +0000 (13:13 +0900)]
iio: adc: exynos_adc: Control special clock for ADC

This patch control special clock for ADC in Exynos series's FSYS block.
If special clock of ADC is registerd on clock list of common clk framework,
Exynos ADC drvier have to control this clock.

- 'adc' clock: bus clock for ADC
- 'sclk_tsadc' clock: special clock for ADC which provide clock to internal ADC

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
9 years agoinput: gpio_keys: Add IRQF_NO_SUSPEND flag to wake-up from freeze state
Chanwoo Choi [Thu, 10 Jul 2014 11:10:17 +0000 (20:10 +0900)]
input: gpio_keys: Add IRQF_NO_SUSPEND flag to wake-up from freeze state

This patch add IRQF_NO_SUSPEND flag before requesting interrupt handler
if button->wakeup is true. If ther interrupt of gpio-keys hasn't included
IRQF_NO_SUSPEND, wouldn't wake-up from freeze state when pressing button.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
9 years agocpufreq: Add exynos3250 cpufreq support
Chanwoo Choi [Thu, 10 Jul 2014 11:36:17 +0000 (20:36 +0900)]
cpufreq: Add exynos3250 cpufreq support

This patch add exynos3250 cpufreq driver to change voltage/frequency according
to required cpufreq level.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
9 years agoARM: dts: exynos4412-trats: Add extcon-port dt node to support legacy jack interface
Chanwoo Choi [Mon, 28 Jul 2014 08:26:29 +0000 (17:26 +0900)]
ARM: dts: exynos4412-trats: Add extcon-port dt node to support legacy jack interface

This patch add extcon-port dt node to support legacy jack interface which
notify jack vent to tizen platform.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
9 years agoextcon: port: Add DT support
Chanwoo Choi [Thu, 10 Jul 2014 10:54:39 +0000 (19:54 +0900)]
extcon: port: Add DT support

Add Device Tree support for extcon-port driver. Parse from DTS:
- name of MUIC/Jack/HDMI devices;
- port online properties;

This allows removal from extcon-port hard-coded MUIC driver names
(max14577, max77836).

Additionally a sysfs symlink is created to /sys/devices/platform/jack
for supporting platform requirements.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
9 years agoextcon: max14577: Add extcon-max14577/max77836 driver to support MUIC device
Chanwoo Choi [Thu, 10 Jul 2014 10:46:03 +0000 (19:46 +0900)]
extcon: max14577: Add extcon-max14577/max77836 driver to support MUIC device

This patch support Maxim MAX14577/MAX77836 MUIC(Micro USB Interface Controller) device
by using EXTCON subsystem to handle various external conntector. The max14577/max77836
device use regmap method for i2c communication and support irq domain.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
9 years agopower: max17040: Update MAX17040 fuel-gague device
Chanwoo Choi [Thu, 10 Jul 2014 11:07:14 +0000 (20:07 +0900)]
power: max17040: Update MAX17040 fuel-gague device

This patch update max17040 fuel-gague device as following:
- Use regmap instead of old i2c interface
- Normalize capacity and vcell values
- Add ID for MAX77836 fuel-gauge block
- Add basic support for pdata-less operation
- Add match table entry for MAX17048

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
9 years agopower: Add charger support for Maxim 14577/77836
Krzysztof Kozlowski [Thu, 10 Jul 2014 10:58:41 +0000 (19:58 +0900)]
power: Add charger support for Maxim 14577/77836

MAX14577/77836 chip is a multi-function device which includes MUIC, charger and
voltage regulator. The driver is located in drivers/mfd.

This patch supports battery charging control of MAX14577/77836 chip and provides
power supply class information to userspace.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
9 years agomfd: max14577: Add max14577/max77836 MFD driver to support muic/charger device
Chanwoo Choi [Thu, 10 Jul 2014 10:40:36 +0000 (19:40 +0900)]
mfd: max14577: Add max14577/max77836 MFD driver to support muic/charger device

This patch add max14577/max77836 core/irq driver to support MUIC(Micro USB IC) device
and fuelgague device and support irq domain method to control internal interrupt
of max14577/max77836 device.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
9 years agortc: s3c: Control RTC's source clock
Chanwoo Choi [Thu, 10 Jul 2014 09:07:32 +0000 (18:07 +0900)]
rtc: s3c: Control RTC's source clock

This patch control source clock(32.768KHz) for RTC block. If source clock of RTC
is registerd on clock list of common clk framework, Exynos RTC drvier have to
control this clock.

Clock list for s3c-rtc device:
- rtc : CLK_RTC of CLK_GATE_IP_PERIR is gate clock for RTC.
- rtc_src_clk : XrtcXTI is 32.768.kHz source clock for RTC.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
9 years agortc: s5m-rtc: add real-time clock driver for s5m8767/s2mps14
Sangbeom Kim [Thu, 10 Jul 2014 09:05:29 +0000 (18:05 +0900)]
rtc: s5m-rtc: add real-time clock driver for s5m8767/s2mps14

Add real-time clock driver for s5m8767/s2mps14.

Signed-off-by: Sangbeom Kim <sbkim73@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Lee Jones <lee.jones@linaro.org> [mfd parts]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
9 years agoclk: s2mps11: Add support for s2mps11/s2mps14
Yadwinder Singh Brar [Thu, 10 Jul 2014 09:00:51 +0000 (18:00 +0900)]
clk: s2mps11: Add support for s2mps11/s2mps14

This patch adds support to register three(AP/CP/BT) buffered 32.768 KHz
outputs of mfd-s2mps11 with common clock framework.

Signed-off-by: Yadwinder Singh Brar <yadi.brar@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
9 years agoregulator: s2mps11: Add support for S2MPS14 regulators
Krzysztof Kozlowski [Thu, 10 Jul 2014 08:22:34 +0000 (17:22 +0900)]
regulator: s2mps11: Add support for S2MPS14 regulators

Add support for S2MPS14 PMIC regulators to s2mps11 driver. The S2MPS14
has fewer BUCK-s and LDO-s than S2MPS11. It also does not support
controlling the BUCK ramp delay.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
9 years agomfd: sec-core: Add support for S2MPS14
Krzysztof Kozlowski [Thu, 10 Jul 2014 08:20:45 +0000 (17:20 +0900)]
mfd: sec-core: Add support for S2MPS14

Add support for S2MPS14 PMIC device to the MFD sec-core driver.
The S2MPS14 is similar to S2MPS11 but it has fewer regulators, two
clocks instead of three and a little different registers layout.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>