Re: [PATCH v3] mmc: dw_mmc: let device core setup the default pin configuration

2013-04-09 Thread Thomas Abraham
On 8 April 2013 17:49, Seungwon Jeon tgih@samsung.com wrote:
 On Friday, April 05, 2013, Thomas Abraham wrote:
 With device core now able to setup the default pin configuration,
 the pin configuration code based on the deprecated Samsung specific
 gpio bindings is removed.

 Signed-off-by: Thomas Abraham thomas.abra...@linaro.org
 Acked-by: Seungwon Jeon tgih@samsung.com

 I hope that your another patch is merged.
  ARM: dts: add pinctrl nodes for Exynos5250 SoC
 I didn't check whether it is applied.

Hi Seungwon,

Thanks for your Ack. Yes, the pinctrl nodes for Exynos5250 have been
merged through kgene's tree.

Regards,
Thomas.


 Thanks,
 Seungwon Jeon

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3] mmc: dw_mmc: let device core setup the default pin configuration

2013-04-09 Thread Thomas Abraham
On 8 April 2013 21:38, Doug Anderson diand...@google.com wrote:
 Thomas,

 Since I commented on previous versions of this patch, I would have
 loved to have been CCed on this new version.  ;)

Hi Doug,

Sorry for missing out on CC'ing you in the v3 patch. It just slipped my mind.


 On Fri, Apr 5, 2013 at 6:53 AM, Thomas Abraham
 thomas.abra...@linaro.org wrote:
 With device core now able to setup the default pin configuration,
 the pin configuration code based on the deprecated Samsung specific
 gpio bindings is removed.

 Signed-off-by: Thomas Abraham thomas.abra...@linaro.org
 ---
 Changes since v2:
 - Changed patch subject from mmc: dwmmc: let... to mmc: dw_mmc: let...
 - Rebased to Chris's latest mmc-next branch.

  drivers/mmc/host/dw_mmc-exynos.c |   38 
 --
  drivers/mmc/host/dw_mmc.c|   12 ++--
  drivers/mmc/host/dw_mmc.h|3 ---
  3 files changed, 2 insertions(+), 51 deletions(-)

 This patch applies fine but fails to compile on linux-next
 next-20130408.  You lost the race with:
f2f942c mmc: dw_mmc: Check return value of regulator_enable

 ...that patch adds a goto err_setup_bus and you've renamed that
 label.  I guess you get another fun rebase.

 NOTE: this patch is even more urgent than it was before.  It looks
 like pincontrol stuff has now landed in linux-next which means that
 Exynos5 devices that need eMMC/SD will no longer boot until this patch
 goes in.

Ok. I have posted the v4 version of this patch taking care of this.
Thanks for pointing this out.

Regards,
Thomas.


 -Doug
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/6] pinctrl: samsung: Protect bank registers with a spinlock

2013-04-09 Thread Linus Walleij
On Mon, Mar 18, 2013 at 10:31 PM, Tomasz Figa tomasz.f...@gmail.com wrote:

 Certain pin control registers can be accessed from different contexts,
 i.e. pinctrl, gpio and irq functions. This makes the locking provided by
 pin control core insufficient.

 This patch adds necessary locking using a per bank spinlock as it was
 done in the old Samsung GPIO driver.

 Signed-off-by: Tomasz Figa tomasz.f...@gmail.com

OK no reaction from the other Samsung maintainers so now I start
applying these...

Patch applied!

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 2/6] pinctrl: samsung: Include pinctrl-exynos driver data conditionally

2013-04-09 Thread Linus Walleij
On Mon, Mar 18, 2013 at 10:38 PM, Tomasz Figa tomasz.f...@gmail.com wrote:
 On Monday 18 of March 2013 22:31:51 Tomasz Figa wrote:
 Since pinctrl-samsung is a common part of the pin control support for
 several Samsung SoCs, it can be compiled without Exynos support enabled.

 This patch surrounds Exynos-specific driver data with ifdefs to include
 them only when support for Exynos is enabled.

 Signed-off-by: Tomasz Figa tomasz.f...@gmail.com
 ---
  drivers/pinctrl/pinctrl-samsung.c | 2 ++
  1 file changed, 2 insertions(+)

 diff --git a/drivers/pinctrl/pinctrl-samsung.c
 b/drivers/pinctrl/pinctrl-samsung.c index b1d4ac8..f1fb562 100644
 --- a/drivers/pinctrl/pinctrl-samsung.c
 +++ b/drivers/pinctrl/pinctrl-samsung.c
 @@ -968,10 +968,12 @@ static int samsung_pinctrl_probe(struct
 platform_device *pdev) }

  static const struct of_device_id samsung_pinctrl_dt_match[] = {
 +#ifdef CONFIG_PINCTRL_EXYNOS4

 Oops... This should be CONFIG_PINCTRL_EXYNOS. It used to be EXYNOS4 in
 Kgene's tree (on which I usually base my patches) for some time, but it no
 longer is, but I forgot to change this during rebae.

 Linus, if remaining patches turned out to be OK, would you fix this when
 applying?

Fixed and applied.

Thanks!
Linus Walleij
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 3/6] pinctrl: samsung: Split pin bank description into two structures

2013-04-09 Thread Linus Walleij
On Mon, Mar 18, 2013 at 10:31 PM, Tomasz Figa tomasz.f...@gmail.com wrote:

 This patch splits pin bank description into two structures, one
 describing bank type (currently only bitfield widths), which can be
 shared across multiple banks and second containing bank-specific
 parameters including a pointer to a bank type struct.

 It is a prerequisite for further patch removing the statically hardcoded
 register offsets, making it impossible to support SoCs with different
 set and order of pin control registers.

 Signed-off-by: Tomasz Figa tomasz.f...@gmail.com

Patch applied.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 4/6] pinctrl: samsung: Remove hardcoded register offsets

2013-04-09 Thread Linus Walleij
On Mon, Mar 18, 2013 at 10:31 PM, Tomasz Figa tomasz.f...@gmail.com wrote:

 This patch replaces statically hardcoded register offsets of Exynos SoCs
 with an array of register offsets in samsung_pin_bank_type struct.

 Thanks to this change, support for SoCs with other set and order of
 registers can be added (e.g. S3C24xx and S3C64xx).

 Signed-off-by: Tomasz Figa tomasz.f...@gmail.com

Patch applied.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 5/6] pinctrl: samsung: Handle banks with two configuration registers

2013-04-09 Thread Linus Walleij
On Mon, Mar 18, 2013 at 10:31 PM, Tomasz Figa tomasz.f...@gmail.com wrote:

 This patch adds support for banks that have more than one function
 configuration registers, e.g. some of the banks of S3C64xx SoCs.

 Signed-off-by: Tomasz Figa tomasz.f...@gmail.com

Patch applied.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 6/6] pinctrl: Add pinctrl-s3c64xx driver

2013-04-09 Thread Linus Walleij
On Mon, Mar 18, 2013 at 10:31 PM, Tomasz Figa tomasz.f...@gmail.com wrote:

 This patch adds pinctrl-s3c64xx driver which implements pin control
 interface for Samsung S3C64xx SoCs.

 Signed-off-by: Tomasz Figa tomasz.f...@gmail.com

Yes it's long over due that we fix up the S3C family, thanks a lot
for doing this Tomasz, and sorry for taking so long to review the
patches.

Patch applied!

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/3] pinctrl: exynos5440: fix probe failure due to missing pin-list in config nodes

2013-04-09 Thread Linus Walleij
On Tue, Mar 26, 2013 at 4:12 PM, Kukjin Kim kgene@samsung.com wrote:

 From: Thomas Abraham thomas...@samsung.com

 The property 'samsung,exynos5440-pins' is optional in configuration nodes
 which are included in the Exynos5440 pin-controller device node. Fix the
 incorrect failure in driver probe if 'samsung,exynos5440-pins' property
 is not found in the configuration nodes.

 Signed-off-by: Thomas Abraham thomas...@samsung.com
 Cc: Linus Walleij linus.wall...@linaro.org
 Signed-off-by: Kukjin Kim kgene@samsung.com

Patch applied!

Thanks,
Linus Walleij
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 2/3] pinctrl: exynos5440: add gpio interrupt support

2013-04-09 Thread Linus Walleij
On Tue, Mar 26, 2013 at 4:12 PM, Kukjin Kim kgene@samsung.com wrote:

 From: Thomas Abraham thomas...@samsung.com

 Exynos5440 supports gpio interrupts on gpios 16 to 23. The eight interrupt 
 lines
 originating from the pin-controller are connected to the gic. Add irq-chip 
 support
 for these interrupts.

 Signed-off-by: Thomas Abraham thomas...@samsung.com
 Cc: Linus Walleij linus.wall...@linaro.org
 Signed-off-by: Kukjin Kim kgene@samsung.com

Basically really nice. Patch has been applied, but some comments
for future reference:

 +/* gpiolib gpio_to_irq callback function */
 +static int exynos5440_gpio_to_irq(struct gpio_chip *gc, unsigned offset)
 +{
 +   struct exynos5440_pinctrl_priv_data *priv = dev_get_drvdata(gc-dev);
 +   unsigned int virq;

I'm a bit annoyed by use of the abbreviation virq as if the IRQs were
virtual, they are not - this implies that the Linux IRQ numbers are not
real or something.

I use the nomenclature:

irq = Linux IRQ
hwirq = whatever offset that IRQ has in the hardware IRQ controller.

virq I think is confusing...

 +static irqreturn_t exynos5440_gpio_irq(int irq, void *data)
 +{
 +   struct exynos5440_gpio_intr_data *intd = data;
 +   struct exynos5440_pinctrl_priv_data *d = intd-priv;
 +   int virq;
 +
 +   virq = irq_linear_revmap(d-irq_domain, intd-gpio_int);
 +   if (!virq)
 +   return IRQ_NONE;
 +   generic_handle_irq(virq);
 +   return IRQ_HANDLED;
 +}

Same here. Actually, I guess irq_linear_revmap works here,
but irq_find_mapping(domain, hwirq) is more archaic, could
you test if that works as well and make a follow-up patch to
change it?

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 3/3] ARM: dts: list the interrupts generated by pin-controller on Exynos5440

2013-04-09 Thread Linus Walleij
On Tue, Mar 26, 2013 at 4:12 PM, Kukjin Kim kgene@samsung.com wrote:

 From: Thomas Abraham thomas...@samsung.com

 Exynos5440 pin-controller generates eight interrupts to support gpio
 interrupts. List those interrupt numbers in the pin-controller node.

 Signed-off-by: Thomas Abraham thomas...@samsung.com
 Cc: Linus Walleij linus.wall...@linaro.org
 Signed-off-by: Kukjin Kim kgene@samsung.com

Acked-by: Linus Walleij linus.wall...@linaro.org

I guess this will go into the Exynos tree?

Tell me if you want me to apply it to the pinctrl tree.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] usb: ehci-s5p: fix: Fix null pointer dereferencing

2013-04-09 Thread Vivek Gautam
7edb3da makes ehci-s5p as a separate driver. But,
it raised an issue with its driver data.
Now that 's5p_ehci_hcd' doesn't maintain pointer to 'usb_hcd'
and s5p_ehci is nothing but a pointer to hcd-priv;
add hcd to the driver data rather than s5p_ehci.

This fixes issues with null pointer dereferencing in
s5p_ehci_shutdown(), s5p_ehci_suspend(), s5p_ehci_resume().

Signed-off-by: Vivek Gautam gautam.vi...@samsung.com
CC: Manjunath Goudar manjunath.gou...@linaro.org
CC: Arnd Bergmann a...@arndb.de
CC: Jingoo Han jg1@samsung.com
---
 drivers/usb/host/ehci-s5p.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/usb/host/ehci-s5p.c b/drivers/usb/host/ehci-s5p.c
index d8cb0ca..580548a 100644
--- a/drivers/usb/host/ehci-s5p.c
+++ b/drivers/usb/host/ehci-s5p.c
@@ -173,7 +173,7 @@ static int s5p_ehci_probe(struct platform_device *pdev)
goto fail_add_hcd;
}
 
-   platform_set_drvdata(pdev, s5p_ehci);
+   platform_set_drvdata(pdev, hcd);
 
return 0;
 
-- 
1.7.6.5

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] i2c: s3c2410: Add SMBus emulation for block read

2013-04-09 Thread Wolfram Sang
On Tue, Mar 26, 2013 at 07:59:56PM +0530, Prasanna Kumar wrote:
 From: Jaemin Yoo jmin@samsung.com
 
 SMBus read and write are supported by the emulation layer of i2c
 framework if the controller doesn't have SMBus features.
 
 I2C_M_RECV_LEN flag is used to let i2c drivers know rx length is not
 yet determined but will be read to the first byte in rx buffer.
 
 s3c2410 doesn't handle this flag. So only one byte is read from slave.
 There fore following two features are added to the driver code.
 
 1. skip rx length check if I2C_M_RECV_LEN is set and the length is 1.
 2. add actual bytes to the rx length after reading first bytes if
I2C_M_RECV_LEN.
 
 I2C_M_RECV_LEN is only set for SMBus command. So this code does not
 affect legacy codes which only use i2c command for s3c2410.
 
 Signed-off-by: Jaemin Yoo jmin@samsung.com
 Tested-by: Prasanna Kumar prasanna...@samsung.com

Applied to for-next, thanks!

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH RFC] rtc: rtc-s3c: use clk_prepare_enable and clk_disable_unprepare

2013-04-09 Thread Vivek Gautam
Convert clk_enable/clk_disable to clk_prepare_enable/clk_disable_unprepare
calls as required by common clock framework, to get rid of
WARN_ON on prepare_count.

Signed-off-by: Vivek Gautam gautam.vi...@samsung.com
---

This fixes the warnings in the boot log coming out of enabling
the common clock framework in exynos platform.

However, on doing system suspend/resume using rtc wake mechanism
we still get following warning dump for the first time we suspend
using commands:
echo +10  /sys/class/rtc/rtc0/wakealarm
echo mem  /sys/power/state

[   12.53] [ cut here ]
[   12.53] WARNING: at kernel/mutex.c:199 
__mutex_lock_slowpath+0x2c0/0x340()
[   12.53] Modules linked in:
[   12.53] [80014c60] (unwind_backtrace+0x0/0xf8) from [8001ebd0] 
(warn_slowpath_common+0x54/0x68)
[   12.53] [8001ebd0] (warn_slowpath_common+0x54/0x68) from [8001ec00] 
(warn_slowpath_null+0x1c/0x24)
[   12.53] [8001ec00] (warn_slowpath_null+0x1c/0x24) from [8033f548] 
(__mutex_lock_slowpath+0x2c0/0x340)
[   12.53] [8033f548] (__mutex_lock_slowpath+0x2c0/0x340) from 
[8033f5d4] (mutex_lock+0xc/0x24)
[   12.53] [8033f5d4] (mutex_lock+0xc/0x24) from [80299e18] 
(clk_prepare+0x18/0x34)
[   12.53] [80299e18] (clk_prepare+0x18/0x34) from [802862d8] 
(s3c_rtc_alarmirq+0x1c/0x98)
[   12.53] [802862d8] (s3c_rtc_alarmirq+0x1c/0x98) from [8006ad78] 
(handle_irq_event_percpu+0x54/0x194)
[   12.53] [8006ad78] (handle_irq_event_percpu+0x54/0x194) from 
[8006aef4] (handle_irq_event+0x3c/0x5c)
[   12.53] [8006aef4] (handle_irq_event+0x3c/0x5c) from [8006db00] 
(handle_fasteoi_irq+0xa4/0x134)
[   12.53] [8006db00] (handle_fasteoi_irq+0xa4/0x134) from [8006a594] 
(generic_handle_irq+0x30/0x40)
[   12.53] [8006a594] (generic_handle_irq+0x30/0x40) from [8000f4fc] 
(handle_IRQ+0x40/0x90)
[   12.53] [8000f4fc] (handle_IRQ+0x40/0x90) from [80008544] 
(gic_handle_irq+0x38/0x68)
[   12.53] [80008544] (gic_handle_irq+0x38/0x68) from [8000e200] 
(__irq_svc+0x40/0x70)
[   12.53] Exception stack(0x8182be60 to 0x8182bea8)
[   12.53] be60:   000c  6013 8049fc50 
 80479a10
[   12.53] be80: 6013 ee97de98 804799c0 0001 000d 8182bea8 
803412dc 803412e0
[   12.53] bea0: 6013 
[   12.53] [8000e200] (__irq_svc+0x40/0x70) from [803412e0] 
(_raw_spin_unlock_irqrestore+0x10/0x38)
[   12.53] [803412e0] (_raw_spin_unlock_irqrestore+0x10/0x38) from 
[80070bc4] (resume_irqs+0x9c/0xb8)
[   12.53] [80070bc4] (resume_irqs+0x9c/0xb8) from [8021d528] 
(dpm_resume_start+0xc/0x18)
[   12.53] [8021d528] (dpm_resume_start+0xc/0x18) from [800544ac] 
(suspend_devices_and_enter+0x118/0x2e4)
[   12.53] [800544ac] (suspend_devices_and_enter+0x118/0x2e4) from 
[80054814] (pm_suspend+0x19c/0x214)
[   12.53] [80054814] (pm_suspend+0x19c/0x214) from [80053a58] 
(state_store+0x120/0x12c)
[   12.53] [80053a58] (state_store+0x120/0x12c) from [801ae9d8] 
(kobj_attr_store+0x14/0x20)
[   12.53] [801ae9d8] (kobj_attr_store+0x14/0x20) from [801092c8] 
(sysfs_write_file+0xfc/0x17c)
[   12.53] [801092c8] (sysfs_write_file+0xfc/0x17c) from [800b0d84] 
(vfs_write+0xa8/0x138)
[   12.53] [800b0d84] (vfs_write+0xa8/0x138) from [800b10e4] 
(sys_write+0x40/0x68)
[   12.53] [800b10e4] (sys_write+0x40/0x68) from [8000e600] 
(ret_fast_syscall+0x0/0x30)
[   12.53] ---[ end trace 8643216fba2e8cb5 ]---

 drivers/rtc/rtc-s3c.c |   58 
 1 files changed, 29 insertions(+), 29 deletions(-)

diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
index fb994e9..75637ad 100644
--- a/drivers/rtc/rtc-s3c.c
+++ b/drivers/rtc/rtc-s3c.c
@@ -65,12 +65,12 @@ static void s3c_rtc_alarm_clk_enable(bool enable)
spin_lock_irqsave(s3c_rtc_alarm_clk_lock, irq_flags);
if (enable) {
if (!alarm_clk_enabled) {
-   clk_enable(rtc_clk);
+   clk_prepare_enable(rtc_clk);
alarm_clk_enabled = true;
}
} else {
if (alarm_clk_enabled) {
-   clk_disable(rtc_clk);
+   clk_disable_unprepare(rtc_clk);
alarm_clk_enabled = false;
}
}
@@ -83,13 +83,13 @@ static irqreturn_t s3c_rtc_alarmirq(int irq, void *id)
 {
struct rtc_device *rdev = id;
 
-   clk_enable(rtc_clk);
+   clk_prepare_enable(rtc_clk);
rtc_update_irq(rdev, 1, RTC_AF | RTC_IRQF);
 
if (s3c_rtc_cpu_type == TYPE_S3C64XX)
writeb(S3C2410_INTP_ALM, s3c_rtc_base + S3C2410_INTP);
 
-   clk_disable(rtc_clk);
+   clk_disable_unprepare(rtc_clk);
 
s3c_rtc_alarm_clk_enable(false);
 
@@ -100,13 +100,13 @@ static irqreturn_t s3c_rtc_tickirq(int irq, void *id)
 {
struct rtc_device *rdev = id;
 
-   clk_enable(rtc_clk);
+   

Re: [PATCH RFC] rtc: rtc-s3c: use clk_prepare_enable and clk_disable_unprepare

2013-04-09 Thread Sylwester Nawrocki
On 04/09/2013 11:45 AM, Vivek Gautam wrote:
 Convert clk_enable/clk_disable to clk_prepare_enable/clk_disable_unprepare
 calls as required by common clock framework, to get rid of
 WARN_ON on prepare_count.

Hmm, do you think warnings like below are any better that WARN_ON() on wrong
clock's prepare_count value ? :)

 Signed-off-by: Vivek Gautam gautam.vi...@samsung.com
 ---
 
 This fixes the warnings in the boot log coming out of enabling
 the common clock framework in exynos platform.
 
 However, on doing system suspend/resume using rtc wake mechanism
 we still get following warning dump for the first time we suspend
 using commands:
 echo +10  /sys/class/rtc/rtc0/wakealarm
 echo mem  /sys/power/state
 
 [   12.53] [ cut here ]
 [   12.53] WARNING: at kernel/mutex.c:199 
 __mutex_lock_slowpath+0x2c0/0x340()
 [   12.53] Modules linked in:
 [   12.53] [80014c60] (unwind_backtrace+0x0/0xf8) from [8001ebd0] 
 (warn_slowpath_common+0x54/0x68)
 [   12.53] [8001ebd0] (warn_slowpath_common+0x54/0x68) from 
 [8001ec00] (warn_slowpath_null+0x1c/0x24)
 [   12.53] [8001ec00] (warn_slowpath_null+0x1c/0x24) from [8033f548] 
 (__mutex_lock_slowpath+0x2c0/0x340)
 [   12.53] [8033f548] (__mutex_lock_slowpath+0x2c0/0x340) from 
 [8033f5d4] (mutex_lock+0xc/0x24)
 [   12.53] [8033f5d4] (mutex_lock+0xc/0x24) from [80299e18] 
 (clk_prepare+0x18/0x34)
 [   12.53] [80299e18] (clk_prepare+0x18/0x34) from [802862d8] 
 (s3c_rtc_alarmirq+0x1c/0x98)
 [   12.53] [802862d8] (s3c_rtc_alarmirq+0x1c/0x98) from [8006ad78] 
 (handle_irq_event_percpu+0x54/0x194)
 [   12.53] [8006ad78] (handle_irq_event_percpu+0x54/0x194) from 
 [8006aef4] (handle_irq_event+0x3c/0x5c)
 [   12.53] [8006aef4] (handle_irq_event+0x3c/0x5c) from [8006db00] 
 (handle_fasteoi_irq+0xa4/0x134)
 [   12.53] [8006db00] (handle_fasteoi_irq+0xa4/0x134) from [8006a594] 
 (generic_handle_irq+0x30/0x40)
 [   12.53] [8006a594] (generic_handle_irq+0x30/0x40) from [8000f4fc] 
 (handle_IRQ+0x40/0x90)
 [   12.53] [8000f4fc] (handle_IRQ+0x40/0x90) from [80008544] 
 (gic_handle_irq+0x38/0x68)
 [   12.53] [80008544] (gic_handle_irq+0x38/0x68) from [8000e200] 
 (__irq_svc+0x40/0x70)
 [   12.53] Exception stack(0x8182be60 to 0x8182bea8)
 [   12.53] be60:   000c  6013 8049fc50 
  80479a10
 [   12.53] be80: 6013 ee97de98 804799c0 0001 000d 8182bea8 
 803412dc 803412e0
 [   12.53] bea0: 6013 
 [   12.53] [8000e200] (__irq_svc+0x40/0x70) from [803412e0] 
 (_raw_spin_unlock_irqrestore+0x10/0x38)
 [   12.53] [803412e0] (_raw_spin_unlock_irqrestore+0x10/0x38) from 
 [80070bc4] (resume_irqs+0x9c/0xb8)
 [   12.53] [80070bc4] (resume_irqs+0x9c/0xb8) from [8021d528] 
 (dpm_resume_start+0xc/0x18)
 [   12.53] [8021d528] (dpm_resume_start+0xc/0x18) from [800544ac] 
 (suspend_devices_and_enter+0x118/0x2e4)
 [   12.53] [800544ac] (suspend_devices_and_enter+0x118/0x2e4) from 
 [80054814] (pm_suspend+0x19c/0x214)
 [   12.53] [80054814] (pm_suspend+0x19c/0x214) from [80053a58] 
 (state_store+0x120/0x12c)
 [   12.53] [80053a58] (state_store+0x120/0x12c) from [801ae9d8] 
 (kobj_attr_store+0x14/0x20)
 [   12.53] [801ae9d8] (kobj_attr_store+0x14/0x20) from [801092c8] 
 (sysfs_write_file+0xfc/0x17c)
 [   12.53] [801092c8] (sysfs_write_file+0xfc/0x17c) from [800b0d84] 
 (vfs_write+0xa8/0x138)
 [   12.53] [800b0d84] (vfs_write+0xa8/0x138) from [800b10e4] 
 (sys_write+0x40/0x68)
 [   12.53] [800b10e4] (sys_write+0x40/0x68) from [8000e600] 
 (ret_fast_syscall+0x0/0x30)
 [   12.53] ---[ end trace 8643216fba2e8cb5 ]---
 
  drivers/rtc/rtc-s3c.c |   58 
  1 files changed, 29 insertions(+), 29 deletions(-)
 
 diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
 index fb994e9..75637ad 100644
 --- a/drivers/rtc/rtc-s3c.c
 +++ b/drivers/rtc/rtc-s3c.c
 @@ -65,12 +65,12 @@ static void s3c_rtc_alarm_clk_enable(bool enable)
   spin_lock_irqsave(s3c_rtc_alarm_clk_lock, irq_flags);
   if (enable) {
   if (!alarm_clk_enabled) {
 - clk_enable(rtc_clk);
 + clk_prepare_enable(rtc_clk);
   alarm_clk_enabled = true;
   }
   } else {
   if (alarm_clk_enabled) {
 - clk_disable(rtc_clk);
 + clk_disable_unprepare(rtc_clk);
   alarm_clk_enabled = false;
   }
   }
 @@ -83,13 +83,13 @@ static irqreturn_t s3c_rtc_alarmirq(int irq, void *id)
  {
   struct rtc_device *rdev = id;
  
 - clk_enable(rtc_clk);
 + clk_prepare_enable(rtc_clk);

The reason for the above failure is that clk_prepare is called from an interrupt
context. You are not supposed to use clk_prepare_enable()/clk_unprepare_disble()
like this. Instead, prepare the clock in s3c_rtc_probe() and unprepare in the

Re: [PATCH] usb: ehci-s5p: fix: Fix null pointer dereferencing

2013-04-09 Thread Arnd Bergmann
On Tuesday 09 April 2013, Vivek Gautam wrote:
 
 7edb3da makes ehci-s5p as a separate driver. But,
 it raised an issue with its driver data.
 Now that 's5p_ehci_hcd' doesn't maintain pointer to 'usb_hcd'
 and s5p_ehci is nothing but a pointer to hcd-priv;
 add hcd to the driver data rather than s5p_ehci.
 
 This fixes issues with null pointer dereferencing in
 s5p_ehci_shutdown(), s5p_ehci_suspend(), s5p_ehci_resume().

Right, sorry for not spotting this during review.

 Signed-off-by: Vivek Gautam gautam.vi...@samsung.com
 CC: Manjunath Goudar manjunath.gou...@linaro.org
 CC: Arnd Bergmann a...@arndb.de
 CC: Jingoo Han jg1@samsung.com

Acked-by: Arnd Bergmann a...@arndb.de
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [GIT PULL 10/10] devel-samsung for v3.10

2013-04-09 Thread Kukjin Kim
Sylwester Nawrocki wrote:

[...]

  Sylwester Nawrocki (2):
  ARM: SAMSUNG: Export MIPI CSIS/DSIM PHY control functions
 
 This one was supposed to be a fix for 3.8-rc IIRC. But anyway the whole

If so, this should be sent to stable 3.8 tree, but I'm not sure this is
really bug fix.

 file this patch touches is going to be removed in 3.11.
 
It means it is still needed for v3.10 :-)

  ARM: S3C24XX: Correct NR_IRQS definition for s3c2440
 
 And this one is needed for 3.9, sorry for not mentioning it in the patch's
 description. Together with [1] it makes my s3c2440 SoC based test board
 booting again with 3.9-rc6.
 
 [1] http://www.spinics.net/lists/arm-kernel/msg236643.html
 
OK, let me drop it in this branch.

Arnd and Olof, please hold on pulling for this branch. I will sort out soon.

Thanks.

- Kukjin

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [PATCH] ARM: EXYNOS: no more support non-DT for EXYNOS SoCs

2013-04-09 Thread Kukjin Kim
Kukjin Kim wrote:
 
 
 As we discussed in mailing list, non-DT for EXYNOS SoCs will not be
 supported from v3.10. This patch removes regarding files for non-DT
 including board files.
 
 Signed-off-by: Kukjin Kim kgene@samsung.com
 ---
  arch/arm/configs/exynos4_defconfig |   68 --
  arch/arm/mach-exynos/Kconfig   |  303 +-
  arch/arm/mach-exynos/Makefile  |   26 -
  arch/arm/mach-exynos/common.c  |9 +-
  arch/arm/mach-exynos/dev-ahci.c|  255 -
  arch/arm/mach-exynos/dev-ohci.c|   52 --
  arch/arm/mach-exynos/dma.c |  322 ---
  arch/arm/mach-exynos/mach-armlex4210.c |  206 -
  arch/arm/mach-exynos/mach-nuri.c   | 1387
 
  arch/arm/mach-exynos/mach-origen.c |  822 -
  arch/arm/mach-exynos/mach-smdk4x12.c   |  395 
  arch/arm/mach-exynos/mach-smdkv310.c   |  443 -
  arch/arm/mach-exynos/mach-universal_c210.c | 1159 ---
  arch/arm/mach-exynos/pm_domains.c  |7 -
  arch/arm/mach-exynos/setup-fimc.c  |   44 -
  arch/arm/mach-exynos/setup-fimd0.c |   43 -
  arch/arm/mach-exynos/setup-i2c1.c  |   23 -
  arch/arm/mach-exynos/setup-i2c2.c  |   23 -
  arch/arm/mach-exynos/setup-i2c3.c  |   23 -
  arch/arm/mach-exynos/setup-i2c4.c  |   23 -
  arch/arm/mach-exynos/setup-i2c5.c  |   23 -
  arch/arm/mach-exynos/setup-i2c6.c  |   23 -
  arch/arm/mach-exynos/setup-i2c7.c  |   23 -
  arch/arm/mach-exynos/setup-keypad.c|   36 -
  arch/arm/mach-exynos/setup-sdhci-gpio.c|  152 ---
  arch/arm/mach-exynos/setup-spi.c   |   45 -
  arch/arm/mach-exynos/setup-usb-phy.c   |  223 -
  27 files changed, 3 insertions(+), 6155 deletions(-)
  delete mode 100644 arch/arm/configs/exynos4_defconfig
  delete mode 100644 arch/arm/mach-exynos/dev-ahci.c
  delete mode 100644 arch/arm/mach-exynos/dev-ohci.c
  delete mode 100644 arch/arm/mach-exynos/dma.c
  delete mode 100644 arch/arm/mach-exynos/mach-armlex4210.c
  delete mode 100644 arch/arm/mach-exynos/mach-nuri.c
  delete mode 100644 arch/arm/mach-exynos/mach-origen.c
  delete mode 100644 arch/arm/mach-exynos/mach-smdk4x12.c
  delete mode 100644 arch/arm/mach-exynos/mach-smdkv310.c
  delete mode 100644 arch/arm/mach-exynos/mach-universal_c210.c
  delete mode 100644 arch/arm/mach-exynos/setup-fimc.c
  delete mode 100644 arch/arm/mach-exynos/setup-fimd0.c
  delete mode 100644 arch/arm/mach-exynos/setup-i2c1.c
  delete mode 100644 arch/arm/mach-exynos/setup-i2c2.c
  delete mode 100644 arch/arm/mach-exynos/setup-i2c3.c
  delete mode 100644 arch/arm/mach-exynos/setup-i2c4.c
  delete mode 100644 arch/arm/mach-exynos/setup-i2c5.c
  delete mode 100644 arch/arm/mach-exynos/setup-i2c6.c
  delete mode 100644 arch/arm/mach-exynos/setup-i2c7.c
  delete mode 100644 arch/arm/mach-exynos/setup-keypad.c
  delete mode 100644 arch/arm/mach-exynos/setup-sdhci-gpio.c
  delete mode 100644 arch/arm/mach-exynos/setup-spi.c
  delete mode 100644 arch/arm/mach-exynos/setup-usb-phy.c
 
One more, as you know, we cannot support all features non-DT did only with
DT exynos. But I think, if required, some of them can be kept in samsung
tree temporarily.

Note, original patch couldn't submitted to linux arm kernel ml due to size.
And please ignore useless line wrapped due to e-mail client problem :-(

Thanks.

- Kukjin

[...]

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] ARM: EXYNOS: no more support non-DT for EXYNOS SoCs

2013-04-09 Thread Arnd Bergmann
On Tuesday 09 April 2013, Kukjin Kim wrote:
 One more, as you know, we cannot support all features non-DT did only with
 DT exynos. But I think, if required, some of them can be kept in samsung
 tree temporarily.

Which are the features that are going to be missing? Is it possible to
add the ones that people are likely to miss using auxdata?
 
 Note, original patch couldn't submitted to linux arm kernel ml due to size.
 And please ignore useless line wrapped due to e-mail client problem :-(

You might be able to send it when you create the patch using 'git format-patch 
-M -D', which will leave out deleted files.

Arnd
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL 10/10] devel-samsung for v3.10

2013-04-09 Thread Sylwester Nawrocki
On 04/09/2013 01:20 PM, Kukjin Kim wrote:
 Sylwester Nawrocki wrote:
 
 [...]
 
 Sylwester Nawrocki (2):
 ARM: SAMSUNG: Export MIPI CSIS/DSIM PHY control functions

 This one was supposed to be a fix for 3.8-rc IIRC. But anyway the whole
 
 If so, this should be sent to stable 3.8 tree, but I'm not sure this is
 really bug fix.

It prevents build error when MIPI-CSIS driver is build as a loadable module.
That means with some valid kernel configuration the kernel cannot be build.
Hence IMHO it is a bug fix, and sending it to 3.8+ stable indeed seems a
good idea.

 file this patch touches is going to be removed in 3.11.

 It means it is still needed for v3.10 :-)

Yeah, true. :) Just wanted to note that I have already some RFC patches
for the MIPI CSI-2/DSI DPHY driver using the generic PHY framework.
However this framework is not settled yet, I assume it would be completed
for 3.11.

 ARM: S3C24XX: Correct NR_IRQS definition for s3c2440

 And this one is needed for 3.9, sorry for not mentioning it in the patch's
 description. Together with [1] it makes my s3c2440 SoC based test board
 booting again with 3.9-rc6.

 [1] http://www.spinics.net/lists/arm-kernel/msg236643.html

 OK, let me drop it in this branch.

Thanks!

 Arnd and Olof, please hold on pulling for this branch. I will sort out soon.
 
 Thanks.
 
 - Kukjin

Regards,
Sylwester
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] i2c: s3c2410: Add SMBus emulation for block read

2013-04-09 Thread Uwe Kleine-König
Hello,

On Tue, Mar 26, 2013 at 07:59:56PM +0530, Prasanna Kumar wrote:
 diff --git a/drivers/i2c/busses/i2c-s3c2410.c 
 b/drivers/i2c/busses/i2c-s3c2410.c
 index 17c5c37..e4ab9ea 100644
 --- a/drivers/i2c/busses/i2c-s3c2410.c
 +++ b/drivers/i2c/busses/i2c-s3c2410.c
 @@ -309,6 +309,12 @@ static inline int is_lastmsg(struct s3c24xx_i2c *i2c)
  
  static inline int is_msglast(struct s3c24xx_i2c *i2c)
  {
 + /* msg-len is always 1 for the first byte of smbus block read.
 +  * Actual length will be read from slave. More bytes will be
 +  * read according to the length then. */
 + if (i2c-msg-flags  I2C_M_RECV_LEN  i2c-msg-len == 1)
 + return 0;
 +
   return i2c-msg_ptr == i2c-msg-len-1;
  }
  
 @@ -448,6 +454,9 @@ static int i2c_s3c_irq_nextbyte(struct s3c24xx_i2c *i2c, 
 unsigned long iicstat)
   byte = readb(i2c-regs + S3C2410_IICDS);
   i2c-msg-buf[i2c-msg_ptr++] = byte;
  
 + /* Add actual length to read for smbus block read */
 + if (i2c-msg-flags  I2C_M_RECV_LEN  i2c-msg-len == 1)
 + i2c-msg-len += byte;
   prepare_read:
   if (is_msglast(i2c)) {
I don't know if that can happen, but if the block has length 0 (that is,
only consists of a single byte that is read as 0) the is_msglast() test
returns 0 which might be wrong. Maybe even if it cannot regularily
happen handle it in a sane way?

Also I wonder if error checking for byte  I2C_SMBUS_BLOCK_MAX would be
needed to prevent a buffer overrun?

Best regards
Uwe

-- 
Pengutronix e.K.   | Uwe Kleine-König|
Industrial Linux Solutions | http://www.pengutronix.de/  |
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] usb: ehci-s5p: fix: Fix null pointer dereferencing

2013-04-09 Thread Sergei Shtylyov

Hello.

On 09-04-2013 13:21, Vivek Gautam wrote:


7edb3da makes ehci-s5p as a separate driver. But,


   Please also provide the summary line of that commit in parens.


it raised an issue with its driver data.
Now that 's5p_ehci_hcd' doesn't maintain pointer to 'usb_hcd'
and s5p_ehci is nothing but a pointer to hcd-priv;
add hcd to the driver data rather than s5p_ehci.



This fixes issues with null pointer dereferencing in
s5p_ehci_shutdown(), s5p_ehci_suspend(), s5p_ehci_resume().



Signed-off-by: Vivek Gautam gautam.vi...@samsung.com
CC: Manjunath Goudar manjunath.gou...@linaro.org
CC: Arnd Bergmann a...@arndb.de
CC: Jingoo Han jg1@samsung.com


WBR, Sergei


--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH RFC] rtc: rtc-s3c: use clk_prepare_enable and clk_disable_unprepare

2013-04-09 Thread Vivek Gautam
Hi Sylwester,


On Tue, Apr 9, 2013 at 3:39 PM, Sylwester Nawrocki
s.nawro...@samsung.com wrote:
 On 04/09/2013 11:45 AM, Vivek Gautam wrote:
 Convert clk_enable/clk_disable to clk_prepare_enable/clk_disable_unprepare
 calls as required by common clock framework, to get rid of
 WARN_ON on prepare_count.

 Hmm, do you think warnings like below are any better that WARN_ON() on wrong
 clock's prepare_count value ? :)

 Signed-off-by: Vivek Gautam gautam.vi...@samsung.com
 ---

 This fixes the warnings in the boot log coming out of enabling
 the common clock framework in exynos platform.

 However, on doing system suspend/resume using rtc wake mechanism
 we still get following warning dump for the first time we suspend
 using commands:
 echo +10  /sys/class/rtc/rtc0/wakealarm
 echo mem  /sys/power/state

 [   12.53] [ cut here ]
 [   12.53] WARNING: at kernel/mutex.c:199 
 __mutex_lock_slowpath+0x2c0/0x340()
 [   12.53] Modules linked in:
 [   12.53] [80014c60] (unwind_backtrace+0x0/0xf8) from [8001ebd0] 
 (warn_slowpath_common+0x54/0x68)
 [   12.53] [8001ebd0] (warn_slowpath_common+0x54/0x68) from 
 [8001ec00] (warn_slowpath_null+0x1c/0x24)
 [   12.53] [8001ec00] (warn_slowpath_null+0x1c/0x24) from [8033f548] 
 (__mutex_lock_slowpath+0x2c0/0x340)
 [   12.53] [8033f548] (__mutex_lock_slowpath+0x2c0/0x340) from 
 [8033f5d4] (mutex_lock+0xc/0x24)
 [   12.53] [8033f5d4] (mutex_lock+0xc/0x24) from [80299e18] 
 (clk_prepare+0x18/0x34)
 [   12.53] [80299e18] (clk_prepare+0x18/0x34) from [802862d8] 
 (s3c_rtc_alarmirq+0x1c/0x98)
 [   12.53] [802862d8] (s3c_rtc_alarmirq+0x1c/0x98) from [8006ad78] 
 (handle_irq_event_percpu+0x54/0x194)
 [   12.53] [8006ad78] (handle_irq_event_percpu+0x54/0x194) from 
 [8006aef4] (handle_irq_event+0x3c/0x5c)
 [   12.53] [8006aef4] (handle_irq_event+0x3c/0x5c) from [8006db00] 
 (handle_fasteoi_irq+0xa4/0x134)
 [   12.53] [8006db00] (handle_fasteoi_irq+0xa4/0x134) from 
 [8006a594] (generic_handle_irq+0x30/0x40)
 [   12.53] [8006a594] (generic_handle_irq+0x30/0x40) from [8000f4fc] 
 (handle_IRQ+0x40/0x90)
 [   12.53] [8000f4fc] (handle_IRQ+0x40/0x90) from [80008544] 
 (gic_handle_irq+0x38/0x68)
 [   12.53] [80008544] (gic_handle_irq+0x38/0x68) from [8000e200] 
 (__irq_svc+0x40/0x70)
 [   12.53] Exception stack(0x8182be60 to 0x8182bea8)
 [   12.53] be60:   000c  6013 8049fc50 
  80479a10
 [   12.53] be80: 6013 ee97de98 804799c0 0001 000d 8182bea8 
 803412dc 803412e0
 [   12.53] bea0: 6013 
 [   12.53] [8000e200] (__irq_svc+0x40/0x70) from [803412e0] 
 (_raw_spin_unlock_irqrestore+0x10/0x38)
 [   12.53] [803412e0] (_raw_spin_unlock_irqrestore+0x10/0x38) from 
 [80070bc4] (resume_irqs+0x9c/0xb8)
 [   12.53] [80070bc4] (resume_irqs+0x9c/0xb8) from [8021d528] 
 (dpm_resume_start+0xc/0x18)
 [   12.53] [8021d528] (dpm_resume_start+0xc/0x18) from [800544ac] 
 (suspend_devices_and_enter+0x118/0x2e4)
 [   12.53] [800544ac] (suspend_devices_and_enter+0x118/0x2e4) from 
 [80054814] (pm_suspend+0x19c/0x214)
 [   12.53] [80054814] (pm_suspend+0x19c/0x214) from [80053a58] 
 (state_store+0x120/0x12c)
 [   12.53] [80053a58] (state_store+0x120/0x12c) from [801ae9d8] 
 (kobj_attr_store+0x14/0x20)
 [   12.53] [801ae9d8] (kobj_attr_store+0x14/0x20) from [801092c8] 
 (sysfs_write_file+0xfc/0x17c)
 [   12.53] [801092c8] (sysfs_write_file+0xfc/0x17c) from [800b0d84] 
 (vfs_write+0xa8/0x138)
 [   12.53] [800b0d84] (vfs_write+0xa8/0x138) from [800b10e4] 
 (sys_write+0x40/0x68)
 [   12.53] [800b10e4] (sys_write+0x40/0x68) from [8000e600] 
 (ret_fast_syscall+0x0/0x30)
 [   12.53] ---[ end trace 8643216fba2e8cb5 ]---

  drivers/rtc/rtc-s3c.c |   58 
 
  1 files changed, 29 insertions(+), 29 deletions(-)

 diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
 index fb994e9..75637ad 100644
 --- a/drivers/rtc/rtc-s3c.c
 +++ b/drivers/rtc/rtc-s3c.c
 @@ -65,12 +65,12 @@ static void s3c_rtc_alarm_clk_enable(bool enable)
   spin_lock_irqsave(s3c_rtc_alarm_clk_lock, irq_flags);
   if (enable) {
   if (!alarm_clk_enabled) {
 - clk_enable(rtc_clk);
 + clk_prepare_enable(rtc_clk);
   alarm_clk_enabled = true;
   }
   } else {
   if (alarm_clk_enabled) {
 - clk_disable(rtc_clk);
 + clk_disable_unprepare(rtc_clk);
   alarm_clk_enabled = false;
   }
   }
 @@ -83,13 +83,13 @@ static irqreturn_t s3c_rtc_alarmirq(int irq, void *id)
  {
   struct rtc_device *rdev = id;

 - clk_enable(rtc_clk);
 + clk_prepare_enable(rtc_clk);

 The reason for the above failure is that clk_prepare is called from an 
 interrupt
 context. You are not supposed to use 
 

Re: [PATCH] usb: ehci-s5p: fix: Fix null pointer dereferencing

2013-04-09 Thread Vivek Gautam
Hi,


On Tue, Apr 9, 2013 at 6:01 PM, Sergei Shtylyov
sergei.shtyl...@cogentembedded.com wrote:
 Hello.


 On 09-04-2013 13:21, Vivek Gautam wrote:

 7edb3da makes ehci-s5p as a separate driver. But,


Please also provide the summary line of that commit in parens.

Sure, will add the commit line of that patch.



 it raised an issue with its driver data.
 Now that 's5p_ehci_hcd' doesn't maintain pointer to 'usb_hcd'
 and s5p_ehci is nothing but a pointer to hcd-priv;
 add hcd to the driver data rather than s5p_ehci.


 This fixes issues with null pointer dereferencing in
 s5p_ehci_shutdown(), s5p_ehci_suspend(), s5p_ehci_resume().


 Signed-off-by: Vivek Gautam gautam.vi...@samsung.com
 CC: Manjunath Goudar manjunath.gou...@linaro.org
 CC: Arnd Bergmann a...@arndb.de
 CC: Jingoo Han jg1@samsung.com


 WBR, Sergei



-- 
Thanks  Regards
Vivek
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2] usb: ehci-s5p: fix: Fix null pointer dereferencing

2013-04-09 Thread Vivek Gautam
7edb3da: (USB: EHCI: make ehci-s5p a separate driver)
raised an issue with ehci-s5p's driver data.
Now that 's5p_ehci_hcd' doesn't maintain pointer to 'usb_hcd'
and s5p_ehci is nothing but a pointer to hcd-priv;
add hcd to the driver data rather than s5p_ehci.

This fixes issues with null pointer dereferencing in
s5p_ehci_shutdown(), s5p_ehci_suspend(), s5p_ehci_resume().

Signed-off-by: Vivek Gautam gautam.vi...@samsung.com
CC: Manjunath Goudar manjunath.gou...@linaro.org
CC: Arnd Bergmann a...@arndb.de
CC: Jingoo Han jg1@samsung.com
---

Based on 'usb-next'

 drivers/usb/host/ehci-s5p.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/usb/host/ehci-s5p.c b/drivers/usb/host/ehci-s5p.c
index d8cb0ca..580548a 100644
--- a/drivers/usb/host/ehci-s5p.c
+++ b/drivers/usb/host/ehci-s5p.c
@@ -173,7 +173,7 @@ static int s5p_ehci_probe(struct platform_device *pdev)
goto fail_add_hcd;
}
 
-   platform_set_drvdata(pdev, s5p_ehci);
+   platform_set_drvdata(pdev, hcd);
 
return 0;
 
-- 
1.7.6.5

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH RFC] rtc: rtc-s3c: use clk_prepare_enable and clk_disable_unprepare

2013-04-09 Thread Vivek Gautam
Hi Sylwester,


On Tue, Apr 9, 2013 at 6:21 PM, Vivek Gautam gautamvivek1...@gmail.com wrote:
 Hi Sylwester,


 On Tue, Apr 9, 2013 at 3:39 PM, Sylwester Nawrocki
 s.nawro...@samsung.com wrote:
 On 04/09/2013 11:45 AM, Vivek Gautam wrote:
 Convert clk_enable/clk_disable to clk_prepare_enable/clk_disable_unprepare
 calls as required by common clock framework, to get rid of
 WARN_ON on prepare_count.

 Hmm, do you think warnings like below are any better that WARN_ON() on wrong
 clock's prepare_count value ? :)

 Signed-off-by: Vivek Gautam gautam.vi...@samsung.com
 ---

 This fixes the warnings in the boot log coming out of enabling
 the common clock framework in exynos platform.

 However, on doing system suspend/resume using rtc wake mechanism
 we still get following warning dump for the first time we suspend
 using commands:
 echo +10  /sys/class/rtc/rtc0/wakealarm
 echo mem  /sys/power/state

 [   12.53] [ cut here ]
 [   12.53] WARNING: at kernel/mutex.c:199 
 __mutex_lock_slowpath+0x2c0/0x340()
 [   12.53] Modules linked in:
 [   12.53] [80014c60] (unwind_backtrace+0x0/0xf8) from [8001ebd0] 
 (warn_slowpath_common+0x54/0x68)
 [   12.53] [8001ebd0] (warn_slowpath_common+0x54/0x68) from 
 [8001ec00] (warn_slowpath_null+0x1c/0x24)
 [   12.53] [8001ec00] (warn_slowpath_null+0x1c/0x24) from 
 [8033f548] (__mutex_lock_slowpath+0x2c0/0x340)
 [   12.53] [8033f548] (__mutex_lock_slowpath+0x2c0/0x340) from 
 [8033f5d4] (mutex_lock+0xc/0x24)
 [   12.53] [8033f5d4] (mutex_lock+0xc/0x24) from [80299e18] 
 (clk_prepare+0x18/0x34)
 [   12.53] [80299e18] (clk_prepare+0x18/0x34) from [802862d8] 
 (s3c_rtc_alarmirq+0x1c/0x98)
 [   12.53] [802862d8] (s3c_rtc_alarmirq+0x1c/0x98) from [8006ad78] 
 (handle_irq_event_percpu+0x54/0x194)
 [   12.53] [8006ad78] (handle_irq_event_percpu+0x54/0x194) from 
 [8006aef4] (handle_irq_event+0x3c/0x5c)
 [   12.53] [8006aef4] (handle_irq_event+0x3c/0x5c) from [8006db00] 
 (handle_fasteoi_irq+0xa4/0x134)
 [   12.53] [8006db00] (handle_fasteoi_irq+0xa4/0x134) from 
 [8006a594] (generic_handle_irq+0x30/0x40)
 [   12.53] [8006a594] (generic_handle_irq+0x30/0x40) from 
 [8000f4fc] (handle_IRQ+0x40/0x90)
 [   12.53] [8000f4fc] (handle_IRQ+0x40/0x90) from [80008544] 
 (gic_handle_irq+0x38/0x68)
 [   12.53] [80008544] (gic_handle_irq+0x38/0x68) from [8000e200] 
 (__irq_svc+0x40/0x70)
 [   12.53] Exception stack(0x8182be60 to 0x8182bea8)
 [   12.53] be60:   000c  6013 8049fc50 
  80479a10
 [   12.53] be80: 6013 ee97de98 804799c0 0001 000d 8182bea8 
 803412dc 803412e0
 [   12.53] bea0: 6013 
 [   12.53] [8000e200] (__irq_svc+0x40/0x70) from [803412e0] 
 (_raw_spin_unlock_irqrestore+0x10/0x38)
 [   12.53] [803412e0] (_raw_spin_unlock_irqrestore+0x10/0x38) from 
 [80070bc4] (resume_irqs+0x9c/0xb8)
 [   12.53] [80070bc4] (resume_irqs+0x9c/0xb8) from [8021d528] 
 (dpm_resume_start+0xc/0x18)
 [   12.53] [8021d528] (dpm_resume_start+0xc/0x18) from [800544ac] 
 (suspend_devices_and_enter+0x118/0x2e4)
 [   12.53] [800544ac] (suspend_devices_and_enter+0x118/0x2e4) from 
 [80054814] (pm_suspend+0x19c/0x214)
 [   12.53] [80054814] (pm_suspend+0x19c/0x214) from [80053a58] 
 (state_store+0x120/0x12c)
 [   12.53] [80053a58] (state_store+0x120/0x12c) from [801ae9d8] 
 (kobj_attr_store+0x14/0x20)
 [   12.53] [801ae9d8] (kobj_attr_store+0x14/0x20) from [801092c8] 
 (sysfs_write_file+0xfc/0x17c)
 [   12.53] [801092c8] (sysfs_write_file+0xfc/0x17c) from [800b0d84] 
 (vfs_write+0xa8/0x138)
 [   12.53] [800b0d84] (vfs_write+0xa8/0x138) from [800b10e4] 
 (sys_write+0x40/0x68)
 [   12.53] [800b10e4] (sys_write+0x40/0x68) from [8000e600] 
 (ret_fast_syscall+0x0/0x30)
 [   12.53] ---[ end trace 8643216fba2e8cb5 ]---

  drivers/rtc/rtc-s3c.c |   58 
 
  1 files changed, 29 insertions(+), 29 deletions(-)

 diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
 index fb994e9..75637ad 100644
 --- a/drivers/rtc/rtc-s3c.c
 +++ b/drivers/rtc/rtc-s3c.c
 @@ -65,12 +65,12 @@ static void s3c_rtc_alarm_clk_enable(bool enable)
   spin_lock_irqsave(s3c_rtc_alarm_clk_lock, irq_flags);
   if (enable) {
   if (!alarm_clk_enabled) {
 - clk_enable(rtc_clk);
 + clk_prepare_enable(rtc_clk);
   alarm_clk_enabled = true;
   }
   } else {
   if (alarm_clk_enabled) {
 - clk_disable(rtc_clk);
 + clk_disable_unprepare(rtc_clk);
   alarm_clk_enabled = false;
   }
   }
 @@ -83,13 +83,13 @@ static irqreturn_t s3c_rtc_alarmirq(int irq, void *id)
  {
   struct rtc_device *rdev = id;

 - clk_enable(rtc_clk);
 + clk_prepare_enable(rtc_clk);

 The reason for the above failure is that 

Re: [GIT PULL 01/10] cleanup-samsung for v3.10

2013-04-09 Thread Arnd Bergmann
On Monday 08 April 2013, Kukjin Kim wrote:
 The following changes since commit a937538b868b8369b98967929045f1df54234323:
 
Linux 3.9-rc3 (2013-03-17 15:59:32 -0700)
 
 are available in the git repository at:
 
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git 
 tags/cleanup-samsung-for-v3.10
 
 for you to fetch changes up to fe72e27368265a99f6a0a189a5d593aac320a59d:
 
ARM: EXYNOS: remove config EXYNOS_DEV_DRM (2013-04-09 00:32:38 +0900)

Pulled into next/cleanup, thanks!

Arnd
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH RFC] rtc: rtc-s3c: use clk_prepare_enable and clk_disable_unprepare

2013-04-09 Thread Sylwester Nawrocki
On 04/09/2013 03:34 PM, Vivek Gautam wrote:
 Aah !! actually missed a similar patch from Thomas Abraham :(
  doing the same as suggested by you.
  Its available at:
  http://patchwork.ozlabs.org/patch/188687/
 There's a change required in the above mentioned patch, so possibly
 Thomas can go ahead and post the next version
 of that.

Why not make that change yourself if you need it ? That patch is
really old, maybe Thomas is busy with other things now.

Thanks,
Sylwester
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH RFC] rtc: rtc-s3c: use clk_prepare_enable and clk_disable_unprepare

2013-04-09 Thread Vivek Gautam
On Tue, Apr 9, 2013 at 7:29 PM, Sylwester Nawrocki
s.nawro...@samsung.com wrote:
 On 04/09/2013 03:34 PM, Vivek Gautam wrote:
 Aah !! actually missed a similar patch from Thomas Abraham :(
  doing the same as suggested by you.
  Its available at:
  http://patchwork.ozlabs.org/patch/188687/
 There's a change required in the above mentioned patch, so possibly
 Thomas can go ahead and post the next version
 of that.

 Why not make that change yourself if you need it ? That patch is
 really old, maybe Thomas is busy with other things now.

Sure, will post a patch fixing this. :-)


-- 
Thanks  Regards
Vivek
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] rtc: rtc-s3c: use clk_prepare_enable and clk_disable_unprepare

2013-04-09 Thread Vivek Gautam
From: Thomas Abraham thomas.abra...@linaro.org

Convert clk_enable/clk_disable to clk_prepare_enable/clk_disable_unprepare
calls as required by common clock framework.

Signed-off-by: Thomas Abraham thomas.abra...@linaro.org
Signed-off-by: Vivek Gautam gautam.vi...@samsung.com
---

The v1 of this patch is pretty old, but the change needs to be merged to
avoid getting those needless WARN_ON() dumps on console.

Changes from v1:
 - Not using clk_disable_unprepare() at the end of s3c_rtc_probe(), since
   this will unprepare the rtc clock which is again getting used in other
   funtions later.
 - Using clk_unprepare() at the remove() instead to fix things up.

 drivers/rtc/rtc-s3c.c |5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
index fb994e9..e3528c9 100644
--- a/drivers/rtc/rtc-s3c.c
+++ b/drivers/rtc/rtc-s3c.c
@@ -430,6 +430,7 @@ static int s3c_rtc_remove(struct platform_device *dev)
 
s3c_rtc_setaie(dev-dev, 0);
 
+   clk_unprepare(rtc_clk);
rtc_clk = NULL;
 
return 0;
@@ -498,7 +499,7 @@ static int s3c_rtc_probe(struct platform_device *pdev)
return ret;
}
 
-   clk_enable(rtc_clk);
+   clk_prepare_enable(rtc_clk);
 
/* check to see if everything is setup correctly */
 
@@ -578,7 +579,7 @@ static int s3c_rtc_probe(struct platform_device *pdev)
 
  err_nortc:
s3c_rtc_enable(pdev, 0);
-   clk_disable(rtc_clk);
+   clk_disable_unprepare(rtc_clk);
 
return ret;
 }
-- 
1.7.6.5

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL 06/10] 2nd pinctrl-exynos for v3.10

2013-04-09 Thread Kukjin Kim

On 04/09/13 03:19, Kukjin Kim wrote:

The following changes since commit
97916777d6904e24b86eac77da58ef7cb09d539d:

ARM: EXYNOS: skip wakeup interrupt registration for exynos5250 if
pinctrl is enabled (2013-03-05 20:59:12 +0900)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
tags/pinctrl-exynos-for-v3.10

for you to fetch changes up to 790af0a51bdcbf504814be2673f96facfdd74981:

pinctrl: exynos5440: add gpio interrupt support (2013-04-08 23:55:41 +0900)


add support gpio interrupt for exynos5440


Thomas Abraham (2):
pinctrl: exynos5440: fix probe failure due to missing pin-list in config
nodes
pinctrl: exynos5440: add gpio interrupt support

drivers/pinctrl/pinctrl-exynos5440.c | 151
++-
1 file changed, 148 insertions(+), 3 deletions(-)



Hi Arnd, Olof

Please hold on this pulling because this already merged into pinctrl tree.

Thanks.

- Kukjin
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 3/3] ARM: dts: list the interrupts generated by pin-controller on Exynos5440

2013-04-09 Thread Kukjin Kim

On 04/09/13 17:24, Linus Walleij wrote:

On Tue, Mar 26, 2013 at 4:12 PM, Kukjin Kimkgene@samsung.com  wrote:


From: Thomas Abrahamthomas...@samsung.com

Exynos5440 pin-controller generates eight interrupts to support gpio
interrupts. List those interrupt numbers in the pin-controller node.

Signed-off-by: Thomas Abrahamthomas...@samsung.com
Cc: Linus Walleijlinus.wall...@linaro.org
Signed-off-by: Kukjin Kimkgene@samsung.com


Acked-by: Linus Walleijlinus.wall...@linaro.org

I guess this will go into the Exynos tree?


Yeah, it would be nice to us.


Tell me if you want me to apply it to the pinctrl tree.


Thanks but let me take this into samsung tree.

- Kukjin
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] ARM: S3C24XX: Fix interrupt pending register offset of the EINT controller

2013-04-09 Thread Kukjin Kim

On 04/09/13 05:25, Heiko Stübner wrote:

Am Montag, 8. April 2013, 21:53:07 schrieb Sylwester Nawrocki:

The external pending interrupt register address (EINTPEND) offset is
0xa8, not 0x08. Without this patch the external interrupts are not
properly acknowledged, which may lead to an interrupt storm and the
system hang as soon as any external interrupt is requested.

Signed-off-by: Sylwester Nawrockis.nawro...@samsung.com

yep, I unintentionally introduced a typo there and the register really is
0xa8, so thanks (again) for the fix

Reviewed-by: Heiko Stuebnerhe...@sntech.de


Applied into fixes for v3.9.

Thanks.

- Kukjin
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH RESEND] ARM: EXYNOS: no more support non-DT for EXYNOS SoCs

2013-04-09 Thread kgene . kim
From: Kukjin Kim kgene@samsung.com

As we discussed in mailing list, non-DT for EXYNOS SoCs will not be
supported from v3.10. This patch removes regarding files for non-DT
including board files.

Signed-off-by: Kukjin Kim kgene@samsung.com
---
Recreated as per Arnd's suggestion with using -D option :-)

Thanks, Arnd.

 arch/arm/configs/exynos4_defconfig |   68 --
 arch/arm/mach-exynos/Kconfig   |  303 +-
 arch/arm/mach-exynos/Makefile  |   26 -
 arch/arm/mach-exynos/common.c  |9 +-
 arch/arm/mach-exynos/dev-ahci.c|  255 -
 arch/arm/mach-exynos/dev-ohci.c|   52 --
 arch/arm/mach-exynos/dma.c |  322 ---
 arch/arm/mach-exynos/mach-armlex4210.c |  206 -
 arch/arm/mach-exynos/mach-nuri.c   | 1387 
 arch/arm/mach-exynos/mach-origen.c |  822 -
 arch/arm/mach-exynos/mach-smdk4x12.c   |  395 
 arch/arm/mach-exynos/mach-smdkv310.c   |  443 -
 arch/arm/mach-exynos/mach-universal_c210.c | 1159 ---
 arch/arm/mach-exynos/pm_domains.c  |7 -
 arch/arm/mach-exynos/setup-fimc.c  |   44 -
 arch/arm/mach-exynos/setup-fimd0.c |   43 -
 arch/arm/mach-exynos/setup-i2c1.c  |   23 -
 arch/arm/mach-exynos/setup-i2c2.c  |   23 -
 arch/arm/mach-exynos/setup-i2c3.c  |   23 -
 arch/arm/mach-exynos/setup-i2c4.c  |   23 -
 arch/arm/mach-exynos/setup-i2c5.c  |   23 -
 arch/arm/mach-exynos/setup-i2c6.c  |   23 -
 arch/arm/mach-exynos/setup-i2c7.c  |   23 -
 arch/arm/mach-exynos/setup-keypad.c|   36 -
 arch/arm/mach-exynos/setup-sdhci-gpio.c|  152 ---
 arch/arm/mach-exynos/setup-spi.c   |   45 -
 arch/arm/mach-exynos/setup-usb-phy.c   |  223 -
 27 files changed, 3 insertions(+), 6155 deletions(-)
 delete mode 100644 arch/arm/configs/exynos4_defconfig
 delete mode 100644 arch/arm/mach-exynos/dev-ahci.c
 delete mode 100644 arch/arm/mach-exynos/dev-ohci.c
 delete mode 100644 arch/arm/mach-exynos/dma.c
 delete mode 100644 arch/arm/mach-exynos/mach-armlex4210.c
 delete mode 100644 arch/arm/mach-exynos/mach-nuri.c
 delete mode 100644 arch/arm/mach-exynos/mach-origen.c
 delete mode 100644 arch/arm/mach-exynos/mach-smdk4x12.c
 delete mode 100644 arch/arm/mach-exynos/mach-smdkv310.c
 delete mode 100644 arch/arm/mach-exynos/mach-universal_c210.c
 delete mode 100644 arch/arm/mach-exynos/setup-fimc.c
 delete mode 100644 arch/arm/mach-exynos/setup-fimd0.c
 delete mode 100644 arch/arm/mach-exynos/setup-i2c1.c
 delete mode 100644 arch/arm/mach-exynos/setup-i2c2.c
 delete mode 100644 arch/arm/mach-exynos/setup-i2c3.c
 delete mode 100644 arch/arm/mach-exynos/setup-i2c4.c
 delete mode 100644 arch/arm/mach-exynos/setup-i2c5.c
 delete mode 100644 arch/arm/mach-exynos/setup-i2c6.c
 delete mode 100644 arch/arm/mach-exynos/setup-i2c7.c
 delete mode 100644 arch/arm/mach-exynos/setup-keypad.c
 delete mode 100644 arch/arm/mach-exynos/setup-sdhci-gpio.c
 delete mode 100644 arch/arm/mach-exynos/setup-spi.c
 delete mode 100644 arch/arm/mach-exynos/setup-usb-phy.c

diff --git a/arch/arm/configs/exynos4_defconfig 
b/arch/arm/configs/exynos4_defconfig
deleted file mode 100644
index bffe68e..000
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index a62d979..b93d221 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -80,314 +80,13 @@ config SOC_EXYNOS5440
help
  Enable EXYNOS5440 SoC support
 
-config EXYNOS_DEV_DMA
-   bool
-   help
- Compile in amba device definitions for DMA controller
-
-config EXYNOS4_DEV_AHCI
-   bool
-   help
- Compile in platform device definitions for AHCI
-
-config EXYNOS4_SETUP_FIMD0
-   bool
-   help
- Common setup code for FIMD0.
-
-config EXYNOS4_DEV_USB_OHCI
-   bool
-   help
- Compile in platform device definition for USB OHCI
-
-config EXYNOS4_SETUP_I2C1
-   bool
-   help
- Common setup code for i2c bus 1.
-
-config EXYNOS4_SETUP_I2C2
-   bool
-   help
- Common setup code for i2c bus 2.
-
-config EXYNOS4_SETUP_I2C3
-   bool
-   help
- Common setup code for i2c bus 3.
-
-config EXYNOS4_SETUP_I2C4
-   bool
-   help
- Common setup code for i2c bus 4.
-
-config EXYNOS4_SETUP_I2C5
-   bool
-   help
- Common setup code for i2c bus 5.
-
-config EXYNOS4_SETUP_I2C6
-   bool
-   help
- Common setup code for i2c bus 6.
-
-config EXYNOS4_SETUP_I2C7
-   bool
-   help
- Common setup code for i2c bus 7.
-
-config EXYNOS4_SETUP_KEYPAD
-   bool
-   help
- Common setup code for keypad.
-
-config EXYNOS4_SETUP_SDHCI
-   bool
-   select EXYNOS4_SETUP_SDHCI_GPIO
-   help
- Internal helper functions for EXYNOS4 based SDHCI systems.
-
-config 

Re: [PATCH] ARM: EXYNOS: no more support non-DT for EXYNOS SoCs

2013-04-09 Thread Kukjin Kim

On 04/09/13 20:48, Arnd Bergmann wrote:

On Tuesday 09 April 2013, Kukjin Kim wrote:

One more, as you know, we cannot support all features non-DT did only with
DT exynos. But I think, if required, some of them can be kept in samsung
tree temporarily.


Which are the features that are going to be missing? Is it possible to
add the ones that people are likely to miss using auxdata?


AFAIK, some of them such as sata, usb phy is on-going and...


Note, original patch couldn't submitted to linux arm kernel ml due to size.
And please ignore useless line wrapped due to e-mail client problem :-(


You might be able to send it when you create the patch using 'git format-patch
-M -D', which will leave out deleted files.


Thanks, I did as per your suggestion.

- Kukjin
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[GIT PULL] Samsung fixes-2 for v3.9

2013-04-09 Thread Kukjin Kim

The following changes since commit 31880c37c11e28cb81c70757e38392b42e695dc6:

  Linux 3.9-rc6 (2013-04-07 20:49:54 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git 
tags/samsung-fixes-for-v3.9


for you to fetch changes up to 646dd2f0a980949b05042792fbadd72b735c3eda:

  ARM: S3C24XX: Fix interrupt pending register offset of the EINT 
controller (2013-04-10 00:09:30 +0900)



samsung fixes can support s3c24xx for v3.9


Sylwester Nawrocki (2):
  ARM: S3C24XX: Correct NR_IRQS definition for s3c2440
  ARM: S3C24XX: Fix interrupt pending register offset of the EINT 
controller


 arch/arm/mach-s3c24xx/include/mach/irqs.h | 4 +---
 arch/arm/mach-s3c24xx/irq.c   | 2 +-
 2 files changed, 2 insertions(+), 4 deletions(-)

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL] Samsung fixes-2 for v3.9

2013-04-09 Thread Arnd Bergmann
On Tuesday 09 April 2013, Kukjin Kim wrote:
 The following changes since commit 31880c37c11e28cb81c70757e38392b42e695dc6:
 
Linux 3.9-rc6 (2013-04-07 20:49:54 -0700)
 
 are available in the git repository at:
 
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git 
 tags/samsung-fixes-for-v3.9
 
 for you to fetch changes up to 646dd2f0a980949b05042792fbadd72b735c3eda:
 
ARM: S3C24XX: Fix interrupt pending register offset of the EINT 
 controller (2013-04-10 00:09:30 +0900)
 
 
 samsung fixes can support s3c24xx for v3.9

Pulled into fixes branch, thanks!

Arnd
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[GIT PULL v2 10/10] devel-samsung for v3.10

2013-04-09 Thread Kukjin Kim

Hi Arnd, Olof

Note, this is re-sending because of missed including fixes in previous 
pull-request [10/10]. Thanks.


- Kukjin

The following changes since commit 6dbe51c251a327e012439c4772097a13df43c5b8:

  Linux 3.9-rc1 (2013-03-03 15:11:05 -0800)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git 
tags/devel-samsung-for-v3.10


for you to fetch changes up to 329afd264592f8d0e40fa063c089b35fba0014cc:

  ARM: EXYNOS: replace cpumask by the corresponding macro (2013-04-10 
00:12:27 +0900)



including various development for samsung for v3.10


Charles Keepax (2):
  ARM: S3C64XX: Clear DMA flags on channel request
  ARM: S3C64XX: Slow down mic detection rate for wm5102

Daniel Lezcano (3):
  ARM: EXYNOS: factor out the idle states
  ARM: EXYNOS: handle properly the return values
  ARM: EXYNOS: replace cpumask by the corresponding macro

Inderpal Singh (2):
  ARM: EXYNOS: Add support for rtc wakeup
  ARM: SAMSUNG: check processor type before cache restoration in resume

Jonathan Kliegman (2):
  ARM: EXYNOS: Remove hardcode wakeup unmask for EINT_0
  ARM: EXYNOS: Clear ENABLE_WAKEUP_SW bit when entering suspend

Sylwester Nawrocki (1):
  ARM: SAMSUNG: Export MIPI CSIS/DSIM PHY control functions

 arch/arm/mach-exynos/common.c|  2 +
 arch/arm/mach-exynos/cpuidle.c   | 58 
+---

 arch/arm/mach-exynos/include/mach/pm-core.h  |  9 +
 arch/arm/mach-s3c64xx/dma.c  |  1 +
 arch/arm/mach-s3c64xx/mach-crag6410-module.c |  1 +
 arch/arm/plat-samsung/s5p-sleep.S|  9 +
 arch/arm/plat-samsung/setup-mipiphy.c|  3 ++
 7 files changed, 44 insertions(+), 39 deletions(-)
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL 10/10] devel-samsung for v3.10

2013-04-09 Thread Kukjin Kim

On 04/09/13 21:09, Sylwester Nawrocki wrote:

On 04/09/2013 01:20 PM, Kukjin Kim wrote:

Sylwester Nawrocki wrote:

[...]


Sylwester Nawrocki (2):
ARM: SAMSUNG: Export MIPI CSIS/DSIM PHY control functions


This one was supposed to be a fix for 3.8-rc IIRC. But anyway the whole


If so, this should be sent to stable 3.8 tree, but I'm not sure this is
really bug fix.


It prevents build error when MIPI-CSIS driver is build as a loadable module.
That means with some valid kernel configuration the kernel cannot be build.
Hence IMHO it is a bug fix, and sending it to 3.8+ stable indeed seems a
good idea.


OK.


file this patch touches is going to be removed in 3.11.


It means it is still needed for v3.10 :-)


Yeah, true. :) Just wanted to note that I have already some RFC patches
for the MIPI CSI-2/DSI DPHY driver using the generic PHY framework.
However this framework is not settled yet, I assume it would be completed
for 3.11.


I see.


ARM: S3C24XX: Correct NR_IRQS definition for s3c2440


And this one is needed for 3.9, sorry for not mentioning it in the patch's
description. Together with [1] it makes my s3c2440 SoC based test board
booting again with 3.9-rc6.

[1] http://www.spinics.net/lists/arm-kernel/msg236643.html


OK, let me drop it in this branch.


Thanks!


You're welcome :-)


Arnd and Olof, please hold on pulling for this branch. I will sort out soon.


I re-sent pull-request instead of this.

Thanks.

- Kukjin
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL] Samsung fixes-2 for v3.9

2013-04-09 Thread Arnd Bergmann
On Tuesday 09 April 2013, Kukjin Kim wrote:
 The following changes since commit 31880c37c11e28cb81c70757e38392b42e695dc6:

 
 Sylwester Nawrocki (2):
ARM: S3C24XX: Correct NR_IRQS definition for s3c2440
ARM: S3C24XX: Fix interrupt pending register offset of the EINT 
 controller


I got a conflict merging this into the for-next branch, which has earlier
patches. Please confirm that the resolution below is correct.

Arnd

diff --cc arch/arm/mach-s3c24xx/irq.c
index 8296d94,d8ba9be..7f56a93
--- a/arch/arm/mach-s3c24xx/irq.c
+++ b/arch/arm/mach-s3c24xx/irq.c
@@@ -498,9 -500,10 +498,9 @@@ struct s3c_irq_intc *s3c24xx_init_intc(
base = (void *)0xfd00;
  
intc-reg_mask = base + 0xa4;
-   intc-reg_pending = base + 0x08;
+   intc-reg_pending = base + 0xa8;
 -  irq_num = 20;
 +  irq_num = 24;
irq_start = S3C2410_IRQ(32);
 -  irq_offset = 4;
break;
default:
pr_err(irq: unsupported controller address\n);

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL 02/10] 2nd irq-s3c24xx for v3.10

2013-04-09 Thread Arnd Bergmann
On Monday 08 April 2013, Kukjin Kim wrote:
 s3c24xx irq cleanup and move into drivers/irqchip

I had a little trouble applying this because of the interface change to
CLOCKSOURCE_OF_DECLARE. This is the rather complex merge I did. Please
check that it still works.

Arnd

commit 682f619ef995c6bc7e07b356451b8d762caefc5e
Merge: 894b738 354599f
Author: Arnd Bergmann a...@arndb.de
Date:   Tue Apr 9 22:07:37 2013 +0200

Merge tag 'mct-exynos-for-v3.10' of 
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into 
next/drivers

From Kukjin Kim kgene@samsung.com:

add support exynos mct device tree and move into drivers/clocksource

* tag 'mct-exynos-for-v3.10' of 
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  clocksource: mct: Add terminating entry for exynos_mct_ids table
  clocksource: mct: Add missing semicolons in exynos_mct.c
  ARM: EXYNOS: move mct driver to drivers/clocksource
  ARM: EXYNOS: remove static io-remapping of mct registers for Exynos5
  ARM: dts: add mct device tree node for all supported Exynos SoC's
  ARM: EXYNOS: allow dt based discovery of mct controller using 
clocksource_of_init
  ARM: EXYNOS: add device tree support for MCT controller driver
  ARM: EXYNOS: prepare an array of MCT interrupt numbers and use it
  ARM: EXYNOS: add a register base address variable in mct controller driver

Conflicts:
drivers/clocksource/Makefile
drivers/clocksource/exynos_mct.c

Signed-off-by: Arnd Bergmann a...@arndb.de

diff --cc drivers/clocksource/Makefile
index e74c8ce,1c1b15d..cd1f09c
--- a/drivers/clocksource/Makefile
+++ b/drivers/clocksource/Makefile
@@@ -19,7 -19,7 +19,8 @@@ obj-$(CONFIG_ARCH_BCM2835)+= bcm2835_t
  obj-$(CONFIG_SUNXI_TIMER) += sunxi_timer.o
  obj-$(CONFIG_ARCH_TEGRA)  += tegra20_timer.o
  obj-$(CONFIG_VT8500_TIMER)+= vt8500_timer.o
- obj-$(CONFIG_CADENCE_TTC_TIMER)   += cadence_ttc_timer.o
++obj-$(CONFIG_CADENCE_TTC_TIMER)   += cadence_ttc_timer.o
+ obj-$(CONFIG_CLKSRC_EXYNOS_MCT)   += exynos_mct.o
  
  obj-$(CONFIG_ARM_ARCH_TIMER)  += arm_arch_timer.o
  obj-$(CONFIG_CLKSRC_METAG_GENERIC)+= metag_generic.o
diff --cc drivers/clocksource/exynos_mct.c
index c9d6650,d3f1327..957af86
--- a/drivers/clocksource/exynos_mct.c
+++ b/drivers/clocksource/exynos_mct.c
@@@ -445,13 -477,17 +477,17 @@@ static struct local_timer_ops exynos4_m
  };
  #endif /* CONFIG_LOCAL_TIMERS */
  
- static void __init exynos4_timer_resources(void)
 -static void __init exynos4_timer_resources(struct device_node *np)
++static void __init exynos4_timer_resources(void __iomem *base)
  {
struct clk *mct_clk;
mct_clk = clk_get(NULL, xtal);
  
clk_rate = clk_get_rate(mct_clk);
  
 -  reg_base = np ? of_iomap(np, 0) : S5P_VA_SYSTIMER;
++  reg_base = base;
+   if (!reg_base)
+   panic(%s: unable to ioremap mct address space\n, __func__);
+ 
  #ifdef CONFIG_LOCAL_TIMERS
if (mct_int_type == MCT_INT_PPI) {
int err;
@@@ -467,19 -503,49 +503,54 @@@
  #endif /* CONFIG_LOCAL_TIMERS */
  }
  
- void __init exynos4_timer_init(void)
 -static const struct of_device_id exynos_mct_ids[] = {
 -  { .compatible = samsung,exynos4210-mct, .data = (void *)MCT_INT_SPI },
 -  { .compatible = samsung,exynos4412-mct, .data = (void *)MCT_INT_PPI },
 -  { }
 -};
 -
+ void __init mct_init(void)
  {
-   if (soc_is_exynos5440()) {
-   arch_timer_of_register();
-   return;
 -  struct device_node *np = NULL;
 -  const struct of_device_id *match;
 -  u32 nr_irqs, i;
 -
 -#ifdef CONFIG_OF
 -  np = of_find_matching_node_and_match(NULL, exynos_mct_ids, match);
 -#endif
 -  if (np) {
 -  mct_int_type = (u32)(match-data);
 -
 -  /* This driver uses only one global timer interrupt */
 -  mct_irqs[MCT_G0_IRQ] = irq_of_parse_and_map(np, MCT_G0_IRQ);
 -
 -  /*
 -   * Find out the number of local irqs specified. The local
 -   * timer irqs are specified after the four global timer
 -   * irqs are specified.
 -   */
 -#ifdef CONFIG_OF
 -  nr_irqs = of_irq_count(np);
 -#endif
 -  for (i = MCT_L0_IRQ; i  nr_irqs; i++)
 -  mct_irqs[i] = irq_of_parse_and_map(np, i);
 -  } else if (soc_is_exynos4210()) {
++  if (soc_is_exynos4210()) {
+   mct_irqs[MCT_G0_IRQ] = EXYNOS4_IRQ_MCT_G0;
+   mct_irqs[MCT_L0_IRQ] = EXYNOS4_IRQ_MCT_L0;
+   mct_irqs[MCT_L1_IRQ] = EXYNOS4_IRQ_MCT_L1;
+   mct_int_type = MCT_INT_SPI;
+   } else {
+   panic(unable to determine mct controller type\n);
}
  
-   if ((soc_is_exynos4210()) || (soc_is_exynos5250()))
-   mct_int_type = MCT_INT_SPI;
-   else
-   mct_int_type = 

Re: [GIT PULL 02/10] 2nd irq-s3c24xx for v3.10

2013-04-09 Thread Arnd Bergmann
On Tuesday 09 April 2013, Arnd Bergmann wrote:
 On Monday 08 April 2013, Kukjin Kim wrote:
  s3c24xx irq cleanup and move into drivers/irqchip
 
 I had a little trouble applying this because of the interface change to
 CLOCKSOURCE_OF_DECLARE. This is the rather complex merge I did. Please
 check that it still works.

The reply should have been for patch 3/10. I've merged both into the
next/drivers branch.

Arnd
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL 04/10] clk-exynos for v3.10

2013-04-09 Thread Arnd Bergmann
On Monday 08 April 2013, Kukjin Kim wrote:
 The following changes since commit 07961ac7c0ee8b546658717034fe692fd12eefa9:
 
Linux 3.9-rc5 (2013-03-31 15:12:43 -0700)
 
 are available in the git repository at:
 
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git 
 tags/clk-exynos-for-v3.10
 
 for you to fetch changes up to da821eb7d42935b0f7056d98c75fd1150f6636f4:
 
Merge commit 'v3.9-rc5' into next/clk-exynos (2013-04-09 01:10:13 +0900)
 
 
 
 add suppport common clock framework for exynos

I got a build warning, probably because of this patch:

   ARM: dts: Add MSHC node for exynos4412-origen DT

Fixed up as below, please check.

Pulled into the next/drivers tree.

Arnd

diff --git a/arch/arm/boot/dts/exynos4412-odroidx.dts 
b/arch/arm/boot/dts/exynos4412-odroidx.dts
index 15dc0a3..53bc8bf 100644
--- a/arch/arm/boot/dts/exynos4412-odroidx.dts
+++ b/arch/arm/boot/dts/exynos4412-odroidx.dts
@@ -39,6 +39,8 @@
};
 
mshc@1255 {
+   #address-cells = 1;
+   #size-cells = 0;
pinctrl-0 = sd4_clk sd4_cmd sd4_bus4 sd4_bus8;
pinctrl-names = default;
status = okay;
diff --git a/arch/arm/boot/dts/exynos4412-origen.dts 
b/arch/arm/boot/dts/exynos4412-origen.dts
index a5478bd..1fecf76 100644
--- a/arch/arm/boot/dts/exynos4412-origen.dts
+++ b/arch/arm/boot/dts/exynos4412-origen.dts
@@ -45,6 +45,8 @@
};
 
mshc@1255 {
+   #address-cells = 1;
+   #size-cells = 0;
pinctrl-0 = sd4_clk sd4_cmd sd4_bus4 sd4_bus8;
pinctrl-names = default;
status = okay;

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL 05/10] dt-exynos for v3.10

2013-04-09 Thread Arnd Bergmann
On Monday 08 April 2013, Kukjin Kim wrote:
 The following changes since commit da821eb7d42935b0f7056d98c75fd1150f6636f4:
 
Merge commit 'v3.9-rc5' into next/clk-exynos (2013-04-09 01:10:13 +0900)
 
 are available in the git repository at:
 
 
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git 
 tags/dt-exynos-for-v3.10
 
 for you to fetch changes up to 58a7bbf75442ea439a4d3b7993ad87023e406063:
 
ARM: dts: add PDMA0 changes for exynos5440 (2013-04-09 01:39:27 +0900)

Pulled into next/dt2 because of the dependency. This will likely get
sent out in the second batch of pull requests to Linus.

Arnd
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL 09/10] 2nd timer-samsung for v3.10

2013-04-09 Thread Arnd Bergmann
On Monday 08 April 2013, Kukjin Kim wrote:
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git 
 tags/timer-samsung-for-v3.10
 
 for you to fetch changes up to 536504309c3c2da5a755263c7179ffe1b2e5b3dd:
 
ARM: SAMSUNG: change GENERIC_GPIO to ARCH_REQUIRE_GPIOLIB (2013-04-04 
 09:36:24 +0900)

Pulled into next/drivers, thanks!

Arnd
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL 07/10] pmu-exynos for v3.10

2013-04-09 Thread Arnd Bergmann
On Monday 08 April 2013, Kukjin Kim wrote:
 The following changes since commit da821eb7d42935b0f7056d98c75fd1150f6636f4:
 
Merge commit 'v3.9-rc5' into next/clk-exynos (2013-04-09 01:10:13 +0900)
 
 are available in the git repository at:
 
 
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git 
 tags/pmu-exynos-for-v3.10
 
 for you to fetch changes up to db35234ec7a7a10145cf472f68e1c73fbd48f79c:
 
ARM: EXYNOS: Add arm-pmu DT binding for exynos421x (2013-04-09 
 01:49:16 +0900)
 
 
 add support arm-pmu for exynos4 and exynos5250

Pulled into next/drivers, thanks!

Arnd
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL 08/10] secure-exynos for v3.10

2013-04-09 Thread Arnd Bergmann
On Monday 08 April 2013, Kukjin Kim wrote:
 
 The following changes since commit da821eb7d42935b0f7056d98c75fd1150f6636f4:
 
Merge commit 'v3.9-rc5' into next/clk-exynos (2013-04-09 01:10:13 +0900)
 
 are available in the git repository at:
 
 
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git 
 tags/secure-exynos-for-v3.10
 
 for you to fetch changes up to beddf63fc8e01f06799bd6d7a2dd879885bbc9c6:
 
ARM: EXYNOS: Add secure firmware support to secondary CPU bring-up 
 (2013-04-09 01:52:30 +0900)

I've created a separate top-level branch next/firmware for this, since
we are waiting for a similar pull request from Broadcom.

Arnd
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL v2 10/10] devel-samsung for v3.10

2013-04-09 Thread Arnd Bergmann
On Tuesday 09 April 2013, Kukjin Kim wrote:
 Note, this is re-sending because of missed including fixes in previous 
 pull-request [10/10]. Thanks.
 
 - Kukjin
 
 The following changes since commit 6dbe51c251a327e012439c4772097a13df43c5b8:
 
Linux 3.9-rc1 (2013-03-03 15:11:05 -0800)
 
 are available in the git repository at:
 
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git 
 tags/devel-samsung-for-v3.10
 

Pulled into next/soc now, thanks!

Arnd
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL 0/10] Samsung stuff for v3.10

2013-04-09 Thread Arnd Bergmann
On Monday 08 April 2013, Kukjin Kim wrote:
 
 Hi Arnd, Olof
 
 This is 2nd pull-request for Samsung stuff for v3.10.
 
 If any problems, please kindly let me know.

I managed to pull them all in, aside from the 6/10, since you asked us
to defer that one. There were a lot more small mistakes, and I think
I've managed to fix them all up, but please check if the for-next
branch now actually works.

A few more requests for the future:

* Please send branches earlier. You already sent a number of them
very early, but then we saw very little until now. I'd rather
get a number of follow-on pull requests than getting everything
at once, which has lead to stuff getting rejected in the past
when things break, as you remember. I've been waiting for
ages now to rebase my multiplatform series on the things you
have in your tree, I hope we can still make it in time.

* Half a sentence of tag description is not really enough for
a long series. Please explain in the tag what the purpose of
the series is, as you do for a patch.

* Mention interdependencies between branches explicitly. It
causes us a lot of extra work having to find out what patches
are actually new in a series when you have based them on earlier
patches.

* Look at the patches that are already merged and test them.
I've had to fix up build errors now that have been present
in linux-next for multiple weeks.

Arnd
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL 08/10] secure-exynos for v3.10

2013-04-09 Thread Rob Herring
On Mon, Apr 8, 2013 at 1:19 PM, Kukjin Kim kgene@samsung.com wrote:
 The following changes since commit da821eb7d42935b0f7056d98c75fd1150f6636f4:

   Merge commit 'v3.9-rc5' into next/clk-exynos (2013-04-09 01:10:13 +0900)

 are available in the git repository at:


   git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
 tags/secure-exynos-for-v3.10

 for you to fetch changes up to beddf63fc8e01f06799bd6d7a2dd879885bbc9c6:

   ARM: EXYNOS: Add secure firmware support to secondary CPU bring-up
 (2013-04-09 01:52:30 +0900)

 
 add support secure firmware for exynos

 
 Tomasz Figa (5):
   ARM: Add interface for registering and calling firmware-specific
 operations

I missed the original series, but looking at this patch now I'm not
convinced this is all that generic despite the name. Should PSCI be
using this for example?

Also, a comment from Barry Song that firmware_ops is too generic for
global name was not addressed.

Rob

   ARM: EXYNOS: Add support for secure monitor calls
   ARM: EXYNOS: Add support for Exynos secure firmware
   ARM: EXYNOS: Add IO mapping for non-secure SYSRAM.
   ARM: EXYNOS: Add secure firmware support to secondary CPU bring-up

  Documentation/arm/firmware.txt | 88
 ++
  .../devicetree/bindings/arm/samsung-boards.txt | 10 +++
  arch/arm/common/Makefile   |  2 +
  arch/arm/common/firmware.c | 18 +
  arch/arm/include/asm/firmware.h| 66 
  arch/arm/mach-exynos/Makefile  |  6 ++
  arch/arm/mach-exynos/common.c  | 35 +
  arch/arm/mach-exynos/common.h  |  2 +
  arch/arm/mach-exynos/exynos-smc.S  | 22 ++
  arch/arm/mach-exynos/firmware.c| 70 +
  arch/arm/mach-exynos/include/mach/map.h|  3 +
  arch/arm/mach-exynos/mach-exynos4-dt.c |  1 +
  arch/arm/mach-exynos/platsmp.c | 32 ++--
  arch/arm/mach-exynos/smc.h | 31 
  arch/arm/plat-samsung/include/plat/map-s5p.h   |  1 +
  15 files changed, 382 insertions(+), 5 deletions(-)
  create mode 100644 Documentation/arm/firmware.txt
  create mode 100644 arch/arm/common/firmware.c
  create mode 100644 arch/arm/include/asm/firmware.h
  create mode 100644 arch/arm/mach-exynos/exynos-smc.S
  create mode 100644 arch/arm/mach-exynos/firmware.c
  create mode 100644 arch/arm/mach-exynos/smc.h

 --
 Thanks.

 Best regards,
 Kgene.
 --
 Kukjin Kim kgene@samsung.com, Senior Engineer,
 SW Solution Development Team, Samsung Electronics Co., Ltd.

 ___
 linux-arm-kernel mailing list
 linux-arm-ker...@lists.infradead.org
 http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] thermal: exynos: fix handling of invalid frequency table entries

2013-04-09 Thread Andrew Bresticker
Similar to the error described in thermal: cpu_cooling: fix handling
of invalid frequency table entries, exynos_get_frequency_level() will
enter an infinite loop if any CPU frequency table entries are invalid.
This patch fixes the handling of invalid frequency entries so that
there is no infinite loop and the correct level is returned.

Signed-off-by: Andrew Bresticker abres...@chromium.org
---
 drivers/thermal/exynos_thermal.c | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/thermal/exynos_thermal.c b/drivers/thermal/exynos_thermal.c
index d5e6267..524b2a0 100644
--- a/drivers/thermal/exynos_thermal.c
+++ b/drivers/thermal/exynos_thermal.c
@@ -237,7 +237,7 @@ static int exynos_get_crit_temp(struct thermal_zone_device 
*thermal,
 
 static int exynos_get_frequency_level(unsigned int cpu, unsigned int freq)
 {
-   int i = 0, ret = -EINVAL;
+   int i, level = 0, ret = -EINVAL;
struct cpufreq_frequency_table *table = NULL;
 #ifdef CONFIG_CPU_FREQ
table = cpufreq_frequency_get_table(cpu);
@@ -245,12 +245,12 @@ static int exynos_get_frequency_level(unsigned int cpu, 
unsigned int freq)
if (!table)
return ret;
 
-   while (table[i].frequency != CPUFREQ_TABLE_END) {
+   for (i = 0; table[i].frequency != CPUFREQ_TABLE_END; i++) {
if (table[i].frequency == CPUFREQ_ENTRY_INVALID)
continue;
if (table[i].frequency == freq)
-   return i;
-   i++;
+   return level;
+   level++;
}
return ret;
 }
-- 
1.8.1.3

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4] mmc: dw_mmc: let device core setup the default pin configuration

2013-04-09 Thread Doug Anderson
Thomas,

On Mon, Apr 8, 2013 at 10:59 PM, Thomas Abraham
thomas.abra...@linaro.org wrote:
 @@ -2002,7 +1994,7 @@ static int dw_mci_init_slot(struct dw_mci *host, 
 unsigned int id)
 if (ret) {
 dev_err(host-dev,
 failed to enable regulator: %d\n, ret);
 -   goto err_setup_bus;
 +   return ret;

It seems like you'd need a mmc_free_host(mmc); in this case don't
you?  AKA: this should be a goto and not a return.

-Doug
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] pinctrl: Add pinctrl-s3c24xx driver

2013-04-09 Thread Heiko Stübner
The s3c24xx pins follow a similar pattern as the other Samsung SoCs and
can therefore reuse the already introduced infrastructure.

The s3c24xx SoCs have one design oddity in that the first 4 external
interrupts do not reside in the eint pending register but in the main
interrupt controller instead. We solve this by forwarding the external
interrupt from the main controller into the irq domain of the pin bank.
The masking/acking of these interrupts is handled in the same way.

Furthermore the S3C2412/2413 SoCs contain another oddity in that they
keep the same 4 eints in the main interrupt controller and eintpend
register and requiring ack operations to happen in both. To solve this
a ctrl_type enum is introduced which can keep the type of controller
in the samsung_pin_ctrl struct for later retrieval.

The ctrl_type enum contains only S3C24XX and S3C2412 types, as the
eint-speciality is currently the only use-case. But it can be expaned
if other SoCs gain special handling requirements later on.

Signed-off-by: Heiko Stuebner he...@sntech.de
---
Depends on the s3c64xx pinctrl work from Tomasz Figa.

It also does not yet contain the pin-definitions for all s3c24xx SoCs,
as I don't have datasheets for them.

Tested on a s3c2416 based board.

 .../bindings/pinctrl/samsung-pinctrl.txt   |4 +
 drivers/gpio/gpio-samsung.c|4 +
 drivers/pinctrl/Kconfig|5 +
 drivers/pinctrl/Makefile   |1 +
 drivers/pinctrl/pinctrl-s3c24xx.c  |  603 
 drivers/pinctrl/pinctrl-samsung.c  |   10 +
 drivers/pinctrl/pinctrl-samsung.h  |   16 +
 7 files changed, 643 insertions(+), 0 deletions(-)
 create mode 100644 drivers/pinctrl/pinctrl-s3c24xx.c

diff --git a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt 
b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
index c70fca1..1d8fc3c 100644
--- a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
@@ -7,6 +7,10 @@ on-chip controllers onto these pads.
 
 Required Properties:
 - compatible: should be one of the following.
+  - samsung,s3c2413-pinctrl: for S3C64xx-compatible pin-controller,
+  - samsung,s3c2416-pinctrl: for S3C64xx-compatible pin-controller,
+  - samsung,s3c2440-pinctrl: for S3C64xx-compatible pin-controller,
+  - samsung,s3c2450-pinctrl: for S3C64xx-compatible pin-controller,
   - samsung,s3c64xx-pinctrl: for S3C64xx-compatible pin-controller,
   - samsung,exynos4210-pinctrl: for Exynos4210 compatible pin-controller.
   - samsung,exynos4x12-pinctrl: for Exynos4x12 compatible pin-controller.
diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c
index dc06a6f..73017b9 100644
--- a/drivers/gpio/gpio-samsung.c
+++ b/drivers/gpio/gpio-samsung.c
@@ -3026,6 +3026,10 @@ static __init int samsung_gpiolib_init(void)
*/
struct device_node *pctrl_np;
static const struct of_device_id exynos_pinctrl_ids[] = {
+   { .compatible = samsung,s3c2413-pinctrl, },
+   { .compatible = samsung,s3c2416-pinctrl, },
+   { .compatible = samsung,s3c2440-pinctrl, },
+   { .compatible = samsung,s3c2450-pinctrl, },
{ .compatible = samsung,s3c64xx-pinctrl, },
{ .compatible = samsung,exynos4210-pinctrl, },
{ .compatible = samsung,exynos4x12-pinctrl, },
diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
index 7402ac9..58d73ac 100644
--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
@@ -226,6 +226,11 @@ config PINCTRL_EXYNOS5440
select PINMUX
select PINCONF
 
+config PINCTRL_S3C24XX
+   bool Samsung S3C24XX SoC pinctrl driver
+   depends on ARCH_S3C24XX
+   select PINCTRL_SAMSUNG
+
 config PINCTRL_S3C64XX
bool Samsung S3C64XX SoC pinctrl driver
depends on ARCH_S3C64XX
diff --git a/drivers/pinctrl/Makefile b/drivers/pinctrl/Makefile
index 21d34c2..1ccdfd8 100644
--- a/drivers/pinctrl/Makefile
+++ b/drivers/pinctrl/Makefile
@@ -45,6 +45,7 @@ obj-$(CONFIG_PINCTRL_COH901)  += pinctrl-coh901.o
 obj-$(CONFIG_PINCTRL_SAMSUNG)  += pinctrl-samsung.o
 obj-$(CONFIG_PINCTRL_EXYNOS)   += pinctrl-exynos.o
 obj-$(CONFIG_PINCTRL_EXYNOS5440)   += pinctrl-exynos5440.o
+obj-$(CONFIG_PINCTRL_S3C24XX)  += pinctrl-s3c24xx.o
 obj-$(CONFIG_PINCTRL_S3C64XX)  += pinctrl-s3c64xx.o
 obj-$(CONFIG_PINCTRL_XWAY) += pinctrl-xway.o
 obj-$(CONFIG_PINCTRL_LANTIQ)   += pinctrl-lantiq.o
diff --git a/drivers/pinctrl/pinctrl-s3c24xx.c 
b/drivers/pinctrl/pinctrl-s3c24xx.c
new file mode 100644
index 000..6b05519
--- /dev/null
+++ b/drivers/pinctrl/pinctrl-s3c24xx.c
@@ -0,0 +1,603 @@
+/*
+ * Exynos specific support for Samsung pinctrl/gpiolib driver with eint 
support.
+ *
+ * Copyright (c) 2012 Samsung Electronics Co., Ltd.
+ * http://www.samsung.com
+ * 

Re: [PATCH] thermal: exynos: fix handling of invalid frequency table entries

2013-04-09 Thread Zhang Rui
Hi, Andrew,

can you please verify
commit  fc35b35cbe24ef021ea9acfba21e54da958df747
commit 57df8106932b57427df1eaaa13871857f75b1194
at
http://git.kernel.org/cgit/linux/kernel/git/rzhang/linux.git/log/?h=thermal
fixes the problem for you?

thanks,
rui 

On Tue, 2013-04-09 at 14:59 -0700, Andrew Bresticker wrote:
 Similar to the error described in thermal: cpu_cooling: fix handling
 of invalid frequency table entries, exynos_get_frequency_level() will
 enter an infinite loop if any CPU frequency table entries are invalid.
 This patch fixes the handling of invalid frequency entries so that
 there is no infinite loop and the correct level is returned.
 
 Signed-off-by: Andrew Bresticker abres...@chromium.org
 ---
  drivers/thermal/exynos_thermal.c | 8 
  1 file changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/drivers/thermal/exynos_thermal.c 
 b/drivers/thermal/exynos_thermal.c
 index d5e6267..524b2a0 100644
 --- a/drivers/thermal/exynos_thermal.c
 +++ b/drivers/thermal/exynos_thermal.c
 @@ -237,7 +237,7 @@ static int exynos_get_crit_temp(struct 
 thermal_zone_device *thermal,
  
  static int exynos_get_frequency_level(unsigned int cpu, unsigned int freq)
  {
 - int i = 0, ret = -EINVAL;
 + int i, level = 0, ret = -EINVAL;
   struct cpufreq_frequency_table *table = NULL;
  #ifdef CONFIG_CPU_FREQ
   table = cpufreq_frequency_get_table(cpu);
 @@ -245,12 +245,12 @@ static int exynos_get_frequency_level(unsigned int cpu, 
 unsigned int freq)
   if (!table)
   return ret;
  
 - while (table[i].frequency != CPUFREQ_TABLE_END) {
 + for (i = 0; table[i].frequency != CPUFREQ_TABLE_END; i++) {
   if (table[i].frequency == CPUFREQ_ENTRY_INVALID)
   continue;
   if (table[i].frequency == freq)
 - return i;
 - i++;
 + return level;
 + level++;
   }
   return ret;
  }


--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PULL 04/10] clk-exynos for v3.10

2013-04-09 Thread Sachin Kamat
On 10 April 2013 02:01, Arnd Bergmann a...@arndb.de wrote:
 On Monday 08 April 2013, Kukjin Kim wrote:
 The following changes since commit 07961ac7c0ee8b546658717034fe692fd12eefa9:

Linux 3.9-rc5 (2013-03-31 15:12:43 -0700)

 are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
 tags/clk-exynos-for-v3.10

 for you to fetch changes up to da821eb7d42935b0f7056d98c75fd1150f6636f4:

Merge commit 'v3.9-rc5' into next/clk-exynos (2013-04-09 01:10:13 +0900)

 

 add suppport common clock framework for exynos

 I got a build warning, probably because of this patch:


IIRC, the patch at [1] was supposed to fix the build warning. Kukjin
had mentioned it was applied [1].

[1] https://patchwork.kernel.org/patch/2010691/


-- 
With warm regards,
Sachin
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html