Re: [PATCH v3] mmc: dw_mmc: let device core setup the default pin configuration
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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