ARM: S3C24XX: s3c2416 build fixes
Subsystems (5)
cover ARM: S3C24XX: s3c2416 build fixes
While testing Tomasz' timer series I came accross some small build problems in the new code for pinctrl and dt support on s3c24xx.
All 3 patches fix problems in the samsung tree, so should also go thru there.
Heiko Stuebner (3):
gpio: samsung: add PINCTRL_S3C24XX to exclude options
pinctrl: s3c24xx: use correct header for chained_irq functions
ARM: S3C24XX: update uart addresses in s3c2416-dt auxdata
arch/arm/mach-s3c24xx/mach-s3c2416-dt.c | 8 ++++---- drivers/gpio/gpio-samsung.c | 3 ++- drivers/pinctrl/pinctrl-s3c24xx.c | 3 +-- 3 files changed, 7 insertions(+), 7 deletions(-)
Signature · 1 line
1.7.10.4
PATCH 1/3 gpio: samsung: add PINCTRL_S3C24XX to exclude options
When a pinctrl driver is loaded legacy gpio support has to be disabled. The code checking for the pinctrl presence is contained in an #ifdef checking for the presence of a valid samsung pinctrl driver.
There the new PINCTRL_S3C24XX was missing resulting in the check never being run and the gpio being enabled breaking the pinctrl driver.
Fix this by adding the missing CONFIG_PINCTRL_S3C24XX
--- drivers/gpio/gpio-samsung.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/gpio/gpio-samsung.c +2 -1
@@ -2949,7 +2949,8 @@ static __init int samsung_gpiolib_init(void)int i, nr_chips;int group =0 ; -#if defined(CONFIG_PINCTRL_EXYNOS ) || defined(CONFIG_PINCTRL_EXYNOS5440 ) +#if defined(CONFIG_PINCTRL_EXYNOS ) || defined(CONFIG_PINCTRL_EXYNOS5440 ) || \ + defined(CONFIG_PINCTRL_S3C24XX )/* * This gpio driver includes support for device tree support and there * are platforms using it. In order to maintain compatibility with those
Signature · 1 line
1.7.10.4
PATCH 1/3 gpio: samsung: add PINCTRL_S3C24XX to exclude options
Quoted 29 lines · Heiko St?bner
When a pinctrl driver is loaded legacy gpio support has to be disabled. The code checking for the pinctrl presence is contained in an #ifdef checking for the presence of a valid samsung pinctrl driver.
There the new
PINCTRL_S3C24XXwas missing resulting in the check never being run and the gpio being enabled breaking the pinctrl driver.Fix this by adding the missing
CONFIG_PINCTRL_S3C24XXSigned-off-by Heiko Stuebner <[email protected]>--- drivers/gpio/gpio-samsung.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)drivers/gpio/gpio-samsung.c +2
-1@@ -2949,7 +2949,8 @@ static __init int samsung_gpiolib_init(void)int i, nr_chips;int group =0 ; -#if defined(CONFIG_PINCTRL_EXYNOS ) || defined(CONFIG_PINCTRL_EXYNOS5440 ) +#if defined(CONFIG_PINCTRL_EXYNOS ) || defined(CONFIG_PINCTRL_EXYNOS5440 ) || \ +defined (CONFIG_PINCTRL_S3C24XX )/* * This gpio driver includes support for device tree support and
Quoted 5 lines
there
* are platforms using it. In order to maintain compatibility with
those
--
1.7.10.4
Yeah, this is needed :-)
Linus, shall I take this into samsung tree? Or since the pinctrl-s3c24xx already merged into arm-soc, this could be picked into your tree...
Thanks,
- Kukjin
PATCH 1/3 gpio: samsung: add PINCTRL_S3C24XX to exclude options
Quoted 1 line · Kukjin Kim
Linus, shall I take this into samsung tree? Or since the pinctrl-s3c24xx already merged into arm-soc, this could be picked into your tree...
I'm not rebasing pinctrl agains the ARM SoC tree,
I only rebase to Torvalds tree.
So please take it through the Samsung tree...
Yours,
Linus Walleij
PATCH 1/3 gpio: samsung: add PINCTRL_S3C24XX to exclude options
In reply to Heiko StübnerHi Heiko,
Quoted 19 lines · On Friday 14 of June 2013 00:45:27 Heiko St?bner wrote:
When a pinctrl driver is loaded legacy gpio support has to be disabled. The code checking for the pinctrl presence is contained in an #ifdef checking for the presence of a valid samsung pinctrl driver.
There the new
PINCTRL_S3C24XXwas missing resulting in the check never being run and the gpio being enabled breaking the pinctrl driver.Fix this by adding the missing
CONFIG_PINCTRL_S3C24XXSigned-off-by Heiko Stuebner <[email protected]>--- drivers/gpio/gpio-samsung.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)drivers/gpio/gpio-samsung.c +0
-0
drivers/gpio/gpio-samsung.c static __init int samsung_gpiolib_init(void) · line 2953
Quoted 6 lines
drivers/gpio/gpio-samsung.c +1
-1@@ -2949,7 +2949,8 @@ static __init int samsung_gpiolib_init(void)int i, nr_chips;int group =0 ; -#if defined(CONFIG_PINCTRL_EXYNOS ) || defined(CONFIG_PINCTRL_EXYNOS5440 ) +#if defined(CONFIG_PINCTRL_EXYNOS ) || defined(CONFIG_PINCTRL_EXYNOS5440 ) || \ + defined(CONFIG_PINCTRL_S3C24XX)
I wonder if this wouldn't be simply covered by PINCTRL_SAMSUNG (except PINCTRL_EXYNOS5440 which doesn't use the common part).
Best regards,
Tomasz
Quoted 3 lines
drivers/gpio/gpio-samsung.c +0
-0/* * This gpio driver includes support for device tree support and there * are platforms using it. In order to maintain compatibility with those
PATCH 1/3 gpio: samsung: add PINCTRL_S3C24XX to exclude options
Quoted 25 lines · Tomasz Figa
Hi Heiko,
Quoted 22 lines · On Friday 14 of June 2013 00:45:27 Heiko St?bner wrote:
When a pinctrl driver is loaded legacy gpio support has to be disabled. The code checking for the pinctrl presence is contained in an #ifdef checking for the presence of a valid samsung pinctrl driver.
There the new
PINCTRL_S3C24XXwas missing resulting in the check never being run and the gpio being enabled breaking the pinctrl driver.Fix this by adding the missing
CONFIG_PINCTRL_S3C24XXSigned-off-by Heiko Stuebner<[email protected]>--- drivers/gpio/gpio-samsung.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)drivers/gpio/gpio-samsung.c +0
-0@@ -2949,7 +2949,8 @@ static __init int samsung_gpiolib_init(void)int i, nr_chips;int group =0 ;
Quoted 7 lines
drivers/gpio/gpio-samsung.c static __init int samsung_gpiolib_init(void) · line 2953
Quoted 3 lines
drivers/gpio/gpio-samsung.c +1
-1-#if defined(CONFIG_PINCTRL_EXYNOS ) || defined(CONFIG_PINCTRL_EXYNOS5440 ) +#if defined(CONFIG_PINCTRL_EXYNOS ) || defined(CONFIG_PINCTRL_EXYNOS5440 ) || \ + defined(CONFIG_PINCTRL_S3C24XX)I wonder if this wouldn't be simply covered by
PINCTRL_SAMSUNG(exceptPINCTRL_EXYNOS5440which doesn't use the common part).
Well, not added compatible for 's3c64xx-pinctrl' yet?
- Kukjin
PATCH 1/3 gpio: samsung: add PINCTRL_S3C24XX to exclude options
Quoted 28 lines · On Tuesday 18 of June 2013 00:43:41 Kukjin Kim wrote:
Quoted 27 lines · Tomasz Figa
Hi Heiko,
Quoted 24 lines · On Friday 14 of June 2013 00:45:27 Heiko St?bner wrote:
When a pinctrl driver is loaded legacy gpio support has to be disabled. The code checking for the pinctrl presence is contained in an #ifdef checking for the presence of a valid samsung pinctrl driver.
There the new
PINCTRL_S3C24XXwas missing resulting in the check never being run and the gpio being enabled breaking the pinctrl driver.Fix this by adding the missing
CONFIG_PINCTRL_S3C24XXSigned-off-by Heiko Stuebner<[email protected]>---
drivers/gpio/gpio-samsung.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)drivers/gpio/gpio-samsung.c +0
-0@@ -2949,7 +2949,8 @@ static __init int samsung_gpiolib_init(void)int i, nr_chips;int group =0 ;
Quoted 8 lines
Quoted 6 lines
drivers/gpio/gpio-samsung.c static __init int samsung_gpiolib_init(void) · line 2954
Quoted 3 lines
drivers/gpio/gpio-samsung.c +1
-1-#if defined(CONFIG_PINCTRL_EXYNOS ) || defined(CONFIG_PINCTRL_EXYNOS5440 ) +#if defined(CONFIG_PINCTRL_EXYNOS ) || defined(CONFIG_PINCTRL_EXYNOS5440 ) || \ + defined(CONFIG_PINCTRL_S3C24XX)I wonder if this wouldn't be simply covered by
PINCTRL_SAMSUNG(exceptPINCTRL_EXYNOS5440which doesn't use the common part).Well, not added compatible for 's3c64xx-pinctrl' yet?
Right, but this shouldn't have any effect on this code. PINCTRL_S3C64XX isn't selected by anything yet, so PINCTRL_SAMSUNG won't be selected when ARCH_S3C64XX is used.
As for s3c64xx DT support, I'm planning to finally post patches this week.
Best regards,
Tomasz
Quoted 5 lines
- Kukjin
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
PATCH 2/3 pinctrl: s3c24xx: use correct header for chained_irq functions
In reply to Heiko Stübnerchained_irq_enter and chained_irq_exit moved to a real header under linux/pinctrl instead of asm/.
Update the pinctrl driver to use the correct header and fix the build error.
--- drivers/pinctrl/pinctrl-s3c24xx.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
drivers/pinctrl/pinctrl-s3c24xx.c +1 -2
@@ -19,12 +19,11 @@#include <linux/irqdomain.h> #include <linux/irq.h> #include <linux/of_irq.h> +#include <linux/irqchip/chained_irq.h> #include <linux/io.h> #include <linux/slab.h> #include <linux/err.h> -#include <asm/mach/irq.h> -#include "pinctrl-samsung.h" #define NUM_EINT 24
Signature · 1 line
1.7.10.4
PATCH 2/3 pinctrl: s3c24xx: use correct header for chained_irq functions
Quoted 32 lines · Heiko St?bner
chained_irq_enterandchained_irq_exitmoved to a real header under linux/pinctrl instead of asm/.Update the pinctrl driver to use the correct header and fix the build error.
Signed-off-by Heiko Stuebner <[email protected]>--- drivers/pinctrl/pinctrl-s3c24xx.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)drivers/pinctrl/pinctrl- renamed from drivers/pinctrl/pinctrl-s3c24xx.c +0
-0
s3c24xx.c
index c8b0399..24446da 100644drivers/pinctrl/pinctrl-s3c24xx.c +1
-3@@ -19,12 +19,11 @@#include <linux/irqdomain.h> #include <linux/irq.h> #include <linux/of_irq.h> +#include <linux/irqchip/chained_irq.h> #include <linux/io.h> #include <linux/slab.h> #include <linux/err.h> -#include <asm/mach/irq.h> -#include "pinctrl-samsung.h" #define NUM_EINT 24 --
Quoted 1 line
1.7.10.4
Hmm, would be nice if I could take 1st and 2nd into samsung tree :-)
Linus, if any problems, please let me know.
Thanks,
- Kukjin
PATCH 2/3 pinctrl: s3c24xx: use correct header for chained_irq functions
Quoted 9 lines · Kukjin Kim
Quoted 8 lines · Heiko St?bner
chained_irq_enterandchained_irq_exitmoved to a real header under linux/pinctrl instead of asm/.Update the pinctrl driver to use the correct header and fix the build error.
Signed-off-by Heiko Stuebner <[email protected]>
(...)
Quoted 4 lines
Hmm, would be nice if I could take 1st and 2nd into samsung tree :-)
Linus, if any problems, please let me know.
No that should work fine. Nothing is touching pinctrl-s3c in my pinctrl tree so:
Yours,
Linus Walleij
Kukjin Kim
AppliedPATCH 2/3 pinctrl: s3c24xx: use correct header for chained_irq functions
Quoted 12 lines · Linus Walleij
Quoted 9 lines · Kukjin Kim
Quoted 8 lines · Heiko St?bner
chained_irq_enterandchained_irq_exitmoved to a real header under linux/pinctrl instead of asm/.Update the pinctrl driver to use the correct header and fix the build error.
Signed-off-by Heiko Stuebner<[email protected]>(...)
Quoted 1 line
Quoted 8 lines
Quoted 3 lines
Hmm, would be nice if I could take 1st and 2nd into samsung tree :-)
Linus, if any problems, please let me know.
No that should work fine. Nothing is touching pinctrl-s3c in my pinctrl tree so:
Acked-by Linus Walleij<[email protected]>
Thanks, applied with Linus' ack.
- Kukjin
PATCH 3/3 ARM: S3C24XX: update uart addresses in s3c2416-dt auxdata
In reply to Heiko StübnerCommit 9ee51f01eee8 (tty: serial/samsung: make register definitions global) removed the S3C2410_PA_UARTX defines that the newly merged s3c2416 dt support still expected.
So update mach-s3c2416-dt.c to use the S3C24XX_PA_UART constant until we have support for the common clock framework the the s3c2416-dt.
--- arch/arm/mach-s3c24xx/mach-s3c2416-dt.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
arch/arm/mach-s3c24xx/mach-s3c2416-dt.c +4 -4
@@ -43,13 +43,13 @@* data from the device tree. */ static const struct of_dev_auxdata s3c2416_auxdata_lookup[]__initconst = { -OF_DEV_AUXDATA ("samsung,s3c2440-uart" ,S3C2410_PA_UART0 , +OF_DEV_AUXDATA ("samsung,s3c2440-uart" ,S3C24XX_PA_UART ,"s3c2440-uart.0" ,NULL ), -OF_DEV_AUXDATA ("samsung,s3c2440-uart" ,S3C2410_PA_UART1 , +OF_DEV_AUXDATA ("samsung,s3c2440-uart" ,S3C24XX_PA_UART +0x4000 ,"s3c2440-uart.1" ,NULL ), -OF_DEV_AUXDATA ("samsung,s3c2440-uart" ,S3C2410_PA_UART2 , +OF_DEV_AUXDATA ("samsung,s3c2440-uart" ,S3C24XX_PA_UART +0x8000 ,"s3c2440-uart.2" ,NULL ), -OF_DEV_AUXDATA ("samsung,s3c2440-uart" ,S3C2443_PA_UART3 , +OF_DEV_AUXDATA ("samsung,s3c2440-uart" ,S3C24XX_PA_UART +0xC000 ,"s3c2440-uart.3" ,NULL ),OF_DEV_AUXDATA ("samsung,s3c6410-sdhci" ,S3C_PA_HSMMC0 ,"s3c-sdhci.0" ,NULL ),
Signature · 1 line
1.7.10.4
PATCH 3/3 ARM: S3C24XX: update uart addresses in s3c2416-dt auxdata
Quoted 7 lines · Heiko St?bner
Commit
9ee51f01eee8(tty: serial/samsung: make register definitions global) removed theS3C2410_PA_UARTXdefines that the newly merged s3c2416 dt support still expected.So update
mach-s3c2416-dt.cto use theS3C24XX_PA_UARTconstant until we have support for the common clock framework the the s3c2416-dt.
OK, applied.
Thanks,
- Kukjin
Quoted 27 lines
Signed-off-by Heiko Stuebner<[email protected]>--- arch/arm/mach-s3c24xx/mach-s3c2416-dt.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)arch/arm/mach-s3c24xx/mach-s3c2416-dt.c +4
-4@@ -43,13 +43,13 @@* data from the device tree. */ static const struct of_dev_auxdata s3c2416_auxdata_lookup[]__initconst = { -OF_DEV_AUXDATA ("samsung,s3c2440-uart" ,S3C2410_PA_UART0 , +OF_DEV_AUXDATA ("samsung,s3c2440-uart" ,S3C24XX_PA_UART ,"s3c2440-uart.0" ,NULL ), -OF_DEV_AUXDATA ("samsung,s3c2440-uart" ,S3C2410_PA_UART1 , +OF_DEV_AUXDATA ("samsung,s3c2440-uart" ,S3C24XX_PA_UART +0x4000 ,"s3c2440-uart.1" ,NULL ), -OF_DEV_AUXDATA ("samsung,s3c2440-uart" ,S3C2410_PA_UART2 , +OF_DEV_AUXDATA ("samsung,s3c2440-uart" ,S3C24XX_PA_UART +0x8000 ,"s3c2440-uart.2" ,NULL ), -OF_DEV_AUXDATA ("samsung,s3c2440-uart" ,S3C2443_PA_UART3 , +OF_DEV_AUXDATA ("samsung,s3c2440-uart" ,S3C24XX_PA_UART +0xC000 ,"s3c2440-uart.3" ,NULL ),OF_DEV_AUXDATA ("samsung,s3c6410-sdhci" ,S3C_PA_HSMMC0 ,"s3c-sdhci.0" ,NULL ),