ARM: samsung: allow serial driver to be disabled
If CONFIG_SERIAL_SAMSUNG is disabled, we run into build errors with some samsung platforms. This adds a couple of #ifdef statements to hopefully deal with this more gracefully. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Kukjin Kim <kgene.kim@samsung.com> Cc: Tomasz Figa <tomasz.figa@gmail.com> Cc: Ben Dooks <ben-linux@fluff.org>
This commit is contained in:
parent
943fa72629
commit
0443a65398
|
@ -55,7 +55,13 @@ static struct irq_grp_save {
|
|||
u32 mask;
|
||||
} eint_grp_save[5];
|
||||
|
||||
static u32 irq_uart_mask[CONFIG_SERIAL_SAMSUNG_UARTS];
|
||||
#ifndef CONFIG_SERIAL_SAMSUNG_UARTS
|
||||
#define SERIAL_SAMSUNG_UARTS 0
|
||||
#else
|
||||
#define SERIAL_SAMSUNG_UARTS CONFIG_SERIAL_SAMSUNG_UARTS
|
||||
#endif
|
||||
|
||||
static u32 irq_uart_mask[SERIAL_SAMSUNG_UARTS];
|
||||
|
||||
static int s3c64xx_irq_pm_suspend(void)
|
||||
{
|
||||
|
@ -66,7 +72,7 @@ static int s3c64xx_irq_pm_suspend(void)
|
|||
|
||||
s3c_pm_do_save(irq_save, ARRAY_SIZE(irq_save));
|
||||
|
||||
for (i = 0; i < CONFIG_SERIAL_SAMSUNG_UARTS; i++)
|
||||
for (i = 0; i < SERIAL_SAMSUNG_UARTS; i++)
|
||||
irq_uart_mask[i] = __raw_readl(S3C_VA_UARTx(i) + S3C64XX_UINTM);
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(eint_grp_save); i++, grp++) {
|
||||
|
@ -87,7 +93,7 @@ static void s3c64xx_irq_pm_resume(void)
|
|||
|
||||
s3c_pm_do_restore(irq_save, ARRAY_SIZE(irq_save));
|
||||
|
||||
for (i = 0; i < CONFIG_SERIAL_SAMSUNG_UARTS; i++)
|
||||
for (i = 0; i < SERIAL_SAMSUNG_UARTS; i++)
|
||||
__raw_writel(irq_uart_mask[i], S3C_VA_UARTx(i) + S3C64XX_UINTM);
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(eint_grp_save); i++, grp++) {
|
||||
|
|
|
@ -34,7 +34,9 @@ static struct irq_grp_save {
|
|||
u32 mask;
|
||||
} eint_grp_save[4];
|
||||
|
||||
#ifdef CONFIG_SERIAL_SAMSUNG
|
||||
static u32 irq_uart_mask[CONFIG_SERIAL_SAMSUNG_UARTS];
|
||||
#endif
|
||||
|
||||
static int s5p64x0_irq_pm_suspend(void)
|
||||
{
|
||||
|
@ -45,8 +47,10 @@ static int s5p64x0_irq_pm_suspend(void)
|
|||
|
||||
s3c_pm_do_save(irq_save, ARRAY_SIZE(irq_save));
|
||||
|
||||
#ifdef CONFIG_SERIAL_SAMSUNG
|
||||
for (i = 0; i < CONFIG_SERIAL_SAMSUNG_UARTS; i++)
|
||||
irq_uart_mask[i] = __raw_readl(S3C_VA_UARTx(i) + S3C64XX_UINTM);
|
||||
#endif
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(eint_grp_save); i++, grp++) {
|
||||
grp->con = __raw_readl(S5P64X0_EINT12CON + (i * 4));
|
||||
|
@ -66,8 +70,10 @@ static void s5p64x0_irq_pm_resume(void)
|
|||
|
||||
s3c_pm_do_restore(irq_save, ARRAY_SIZE(irq_save));
|
||||
|
||||
#ifdef CONFIG_SERIAL_SAMSUNG
|
||||
for (i = 0; i < CONFIG_SERIAL_SAMSUNG_UARTS; i++)
|
||||
__raw_writel(irq_uart_mask[i], S3C_VA_UARTx(i) + S3C64XX_UINTM);
|
||||
#endif
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(eint_grp_save); i++, grp++) {
|
||||
__raw_writel(grp->con, S5P64X0_EINT12CON + (i * 4));
|
||||
|
|
|
@ -97,7 +97,9 @@ void __init s3c24xx_init_clocks(int xtal)
|
|||
#if IS_ENABLED(CONFIG_SAMSUNG_ATAGS)
|
||||
static int nr_uarts __initdata = 0;
|
||||
|
||||
#ifdef CONFIG_SERIAL_SAMSUNG_UARTS
|
||||
static struct s3c2410_uartcfg uart_cfgs[CONFIG_SERIAL_SAMSUNG_UARTS];
|
||||
#endif
|
||||
|
||||
/* s3c24xx_init_uartdevs
|
||||
*
|
||||
|
@ -112,6 +114,7 @@ void __init s3c24xx_init_uartdevs(char *name,
|
|||
struct s3c24xx_uart_resources *res,
|
||||
struct s3c2410_uartcfg *cfg, int no)
|
||||
{
|
||||
#ifdef CONFIG_SERIAL_SAMSUNG_UARTS
|
||||
struct platform_device *platdev;
|
||||
struct s3c2410_uartcfg *cfgptr = uart_cfgs;
|
||||
struct s3c24xx_uart_resources *resp;
|
||||
|
@ -134,6 +137,7 @@ void __init s3c24xx_init_uartdevs(char *name,
|
|||
}
|
||||
|
||||
nr_uarts = no;
|
||||
#endif
|
||||
}
|
||||
|
||||
void __init s3c24xx_init_uarts(struct s3c2410_uartcfg *cfg, int no)
|
||||
|
|
Loading…
Reference in New Issue