Commit d2d08aba authored by Olof Johansson's avatar Olof Johansson

Merge tag 'samsung-soc-4.11' of...

Merge tag 'samsung-soc-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/soc

Samsung mach/soc update for v4.11. Mostly cleanups:
1. Removal of unused platform data in S3C24XX and S3C64xx as follow up of
   conversion to new DMA channel request API.
2. Adding const and __ro_after_init to various data in Samsung platforms.

* tag 'samsung-soc-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: s3c64xx: Constify wake_irqs
  ARM: s3c24xx: Constify wake_irqs
  ARM: SAMSUNG: Constify array of wake irqs passed to samsung_sync_wakemask
  ARM: s3c64xx: Annotate external clock frequencies __ro_after_init
  ARM: s3c24xx: Constify few integer tables
  ARM: EXYNOS: Annotate iomem and pm_data pointers __ro_after_init
  ARM: EXYNOS: Constify list of retention registers
  ARM: s3c24xx: Drop unused struct s3c_audio_pdata entries
  ARM: s3c64xx: Drop initialization of unused struct s3c_audio_pdata fields
Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents ddcb0a76 cda1a52d
...@@ -45,8 +45,8 @@ static struct platform_device exynos_cpuidle = { ...@@ -45,8 +45,8 @@ static struct platform_device exynos_cpuidle = {
.id = -1, .id = -1,
}; };
void __iomem *sysram_base_addr; void __iomem *sysram_base_addr __ro_after_init;
void __iomem *sysram_ns_base_addr; void __iomem *sysram_ns_base_addr __ro_after_init;
void __init exynos_sysram_init(void) void __init exynos_sysram_init(void)
{ {
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
#define EXYNOS5420_USE_ARM_CORE_DOWN_STATE BIT(29) #define EXYNOS5420_USE_ARM_CORE_DOWN_STATE BIT(29)
#define EXYNOS5420_USE_L2_COMMON_UP_STATE BIT(30) #define EXYNOS5420_USE_L2_COMMON_UP_STATE BIT(30)
static void __iomem *ns_sram_base_addr; static void __iomem *ns_sram_base_addr __ro_after_init;
/* /*
* The common v7_exit_coherency_flush API could not be used because of the * The common v7_exit_coherency_flush API could not be used because of the
......
...@@ -57,7 +57,7 @@ struct exynos_wkup_irq { ...@@ -57,7 +57,7 @@ struct exynos_wkup_irq {
struct exynos_pm_data { struct exynos_pm_data {
const struct exynos_wkup_irq *wkup_irq; const struct exynos_wkup_irq *wkup_irq;
unsigned int wake_disable_mask; unsigned int wake_disable_mask;
unsigned int *release_ret_regs; const unsigned int *release_ret_regs;
void (*pm_prepare)(void); void (*pm_prepare)(void);
void (*pm_resume_prepare)(void); void (*pm_resume_prepare)(void);
...@@ -66,7 +66,7 @@ struct exynos_pm_data { ...@@ -66,7 +66,7 @@ struct exynos_pm_data {
int (*cpu_suspend)(unsigned long); int (*cpu_suspend)(unsigned long);
}; };
static const struct exynos_pm_data *pm_data; static const struct exynos_pm_data *pm_data __ro_after_init;
static int exynos5420_cpu_state; static int exynos5420_cpu_state;
static unsigned int exynos_pmu_spare3; static unsigned int exynos_pmu_spare3;
...@@ -95,7 +95,7 @@ static const struct exynos_wkup_irq exynos5250_wkup_irq[] = { ...@@ -95,7 +95,7 @@ static const struct exynos_wkup_irq exynos5250_wkup_irq[] = {
{ /* sentinel */ }, { /* sentinel */ },
}; };
static unsigned int exynos_release_ret_regs[] = { static const unsigned int exynos_release_ret_regs[] = {
S5P_PAD_RET_MAUDIO_OPTION, S5P_PAD_RET_MAUDIO_OPTION,
S5P_PAD_RET_GPIO_OPTION, S5P_PAD_RET_GPIO_OPTION,
S5P_PAD_RET_UART_OPTION, S5P_PAD_RET_UART_OPTION,
...@@ -106,7 +106,7 @@ static unsigned int exynos_release_ret_regs[] = { ...@@ -106,7 +106,7 @@ static unsigned int exynos_release_ret_regs[] = {
REG_TABLE_END, REG_TABLE_END,
}; };
static unsigned int exynos3250_release_ret_regs[] = { static const unsigned int exynos3250_release_ret_regs[] = {
S5P_PAD_RET_MAUDIO_OPTION, S5P_PAD_RET_MAUDIO_OPTION,
S5P_PAD_RET_GPIO_OPTION, S5P_PAD_RET_GPIO_OPTION,
S5P_PAD_RET_UART_OPTION, S5P_PAD_RET_UART_OPTION,
...@@ -119,7 +119,7 @@ static unsigned int exynos3250_release_ret_regs[] = { ...@@ -119,7 +119,7 @@ static unsigned int exynos3250_release_ret_regs[] = {
REG_TABLE_END, REG_TABLE_END,
}; };
static unsigned int exynos5420_release_ret_regs[] = { static const unsigned int exynos5420_release_ret_regs[] = {
EXYNOS_PAD_RET_DRAM_OPTION, EXYNOS_PAD_RET_DRAM_OPTION,
EXYNOS_PAD_RET_MAUDIO_OPTION, EXYNOS_PAD_RET_MAUDIO_OPTION,
EXYNOS_PAD_RET_JTAG_OPTION, EXYNOS_PAD_RET_JTAG_OPTION,
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
/* table of ISA irq nos to the relevant mask... zero means /* table of ISA irq nos to the relevant mask... zero means
* the irq is not implemented * the irq is not implemented
*/ */
static unsigned char bast_pc104_irqmasks[] = { static const unsigned char bast_pc104_irqmasks[] = {
0, /* 0 */ 0, /* 0 */
0, /* 1 */ 0, /* 1 */
0, /* 2 */ 0, /* 2 */
...@@ -63,7 +63,7 @@ static unsigned char bast_pc104_irqmasks[] = { ...@@ -63,7 +63,7 @@ static unsigned char bast_pc104_irqmasks[] = {
0, /* 15 */ 0, /* 15 */
}; };
static unsigned char bast_pc104_irqs[] = { 3, 5, 7, 10 }; static const unsigned char bast_pc104_irqs[] = { 3, 5, 7, 10 };
static void static void
bast_pc104_mask(struct irq_data *data) bast_pc104_mask(struct irq_data *data)
......
...@@ -249,7 +249,7 @@ static int s3c2410_calc_bank(struct s3c_cpufreq_config *cfg, ...@@ -249,7 +249,7 @@ static int s3c2410_calc_bank(struct s3c_cpufreq_config *cfg,
return 0; return 0;
} }
static unsigned int tacc_tab[] = { static const unsigned int tacc_tab[] = {
[0] = 1, [0] = 1,
[1] = 2, [1] = 2,
[2] = 3, [2] = 3,
......
...@@ -53,7 +53,7 @@ static int s3c2412_cpu_suspend(unsigned long arg) ...@@ -53,7 +53,7 @@ static int s3c2412_cpu_suspend(unsigned long arg)
} }
/* mapping of interrupts to parts of the wakeup mask */ /* mapping of interrupts to parts of the wakeup mask */
static struct samsung_wakeup_mask wake_irqs[] = { static const struct samsung_wakeup_mask wake_irqs[] = {
{ .irq = IRQ_RTC, .bit = S3C2412_PWRCFG_RTC_MASKIRQ, }, { .irq = IRQ_RTC, .bit = S3C2412_PWRCFG_RTC_MASKIRQ, },
}; };
......
...@@ -56,7 +56,8 @@ ...@@ -56,7 +56,8 @@
#include "watchdog-reset.h" #include "watchdog-reset.h"
/* External clock frequency */ /* External clock frequency */
static unsigned long xtal_f = 12000000, xusbxti_f = 48000000; static unsigned long xtal_f __ro_after_init = 12000000;
static unsigned long xusbxti_f __ro_after_init = 48000000;
void __init s3c64xx_set_xtal_freq(unsigned long freq) void __init s3c64xx_set_xtal_freq(unsigned long freq)
{ {
......
...@@ -58,9 +58,6 @@ static struct resource s3c64xx_iis0_resource[] = { ...@@ -58,9 +58,6 @@ static struct resource s3c64xx_iis0_resource[] = {
static struct s3c_audio_pdata i2s0_pdata = { static struct s3c_audio_pdata i2s0_pdata = {
.cfg_gpio = s3c64xx_i2s_cfg_gpio, .cfg_gpio = s3c64xx_i2s_cfg_gpio,
.dma_filter = pl08x_filter_id,
.dma_playback = DMACH_I2S0_OUT,
.dma_capture = DMACH_I2S0_IN,
}; };
struct platform_device s3c64xx_device_iis0 = { struct platform_device s3c64xx_device_iis0 = {
...@@ -80,9 +77,6 @@ static struct resource s3c64xx_iis1_resource[] = { ...@@ -80,9 +77,6 @@ static struct resource s3c64xx_iis1_resource[] = {
static struct s3c_audio_pdata i2s1_pdata = { static struct s3c_audio_pdata i2s1_pdata = {
.cfg_gpio = s3c64xx_i2s_cfg_gpio, .cfg_gpio = s3c64xx_i2s_cfg_gpio,
.dma_filter = pl08x_filter_id,
.dma_playback = DMACH_I2S1_OUT,
.dma_capture = DMACH_I2S1_IN,
}; };
struct platform_device s3c64xx_device_iis1 = { struct platform_device s3c64xx_device_iis1 = {
...@@ -102,9 +96,6 @@ static struct resource s3c64xx_iisv4_resource[] = { ...@@ -102,9 +96,6 @@ static struct resource s3c64xx_iisv4_resource[] = {
static struct s3c_audio_pdata i2sv4_pdata = { static struct s3c_audio_pdata i2sv4_pdata = {
.cfg_gpio = s3c64xx_i2s_cfg_gpio, .cfg_gpio = s3c64xx_i2s_cfg_gpio,
.dma_filter = pl08x_filter_id,
.dma_playback = DMACH_HSI_I2SV40_TX,
.dma_capture = DMACH_HSI_I2SV40_RX,
.type = { .type = {
.i2s = { .i2s = {
.quirks = QUIRK_PRI_6CHAN, .quirks = QUIRK_PRI_6CHAN,
...@@ -153,9 +144,6 @@ static struct resource s3c64xx_pcm0_resource[] = { ...@@ -153,9 +144,6 @@ static struct resource s3c64xx_pcm0_resource[] = {
static struct s3c_audio_pdata s3c_pcm0_pdata = { static struct s3c_audio_pdata s3c_pcm0_pdata = {
.cfg_gpio = s3c64xx_pcm_cfg_gpio, .cfg_gpio = s3c64xx_pcm_cfg_gpio,
.dma_filter = pl08x_filter_id,
.dma_capture = DMACH_PCM0_RX,
.dma_playback = DMACH_PCM0_TX,
}; };
struct platform_device s3c64xx_device_pcm0 = { struct platform_device s3c64xx_device_pcm0 = {
...@@ -175,9 +163,6 @@ static struct resource s3c64xx_pcm1_resource[] = { ...@@ -175,9 +163,6 @@ static struct resource s3c64xx_pcm1_resource[] = {
static struct s3c_audio_pdata s3c_pcm1_pdata = { static struct s3c_audio_pdata s3c_pcm1_pdata = {
.cfg_gpio = s3c64xx_pcm_cfg_gpio, .cfg_gpio = s3c64xx_pcm_cfg_gpio,
.dma_filter = pl08x_filter_id,
.dma_playback = DMACH_PCM1_TX,
.dma_capture = DMACH_PCM1_RX,
}; };
struct platform_device s3c64xx_device_pcm1 = { struct platform_device s3c64xx_device_pcm1 = {
...@@ -209,10 +194,6 @@ static struct resource s3c64xx_ac97_resource[] = { ...@@ -209,10 +194,6 @@ static struct resource s3c64xx_ac97_resource[] = {
}; };
static struct s3c_audio_pdata s3c_ac97_pdata = { static struct s3c_audio_pdata s3c_ac97_pdata = {
.dma_playback = DMACH_AC97_PCMOUT,
.dma_filter = pl08x_filter_id,
.dma_capture = DMACH_AC97_PCMIN,
.dma_capture_mic = DMACH_AC97_MICIN,
}; };
static u64 s3c64xx_ac97_dmamask = DMA_BIT_MASK(32); static u64 s3c64xx_ac97_dmamask = DMA_BIT_MASK(32);
......
...@@ -285,7 +285,7 @@ static int s3c64xx_cpu_suspend(unsigned long arg) ...@@ -285,7 +285,7 @@ static int s3c64xx_cpu_suspend(unsigned long arg)
} }
/* mapping of interrupts to parts of the wakeup mask */ /* mapping of interrupts to parts of the wakeup mask */
static struct samsung_wakeup_mask wake_irqs[] = { static const struct samsung_wakeup_mask wake_irqs[] = {
{ .irq = IRQ_RTC_ALARM, .bit = S3C64XX_PWRCFG_RTC_ALARM_DISABLE, }, { .irq = IRQ_RTC_ALARM, .bit = S3C64XX_PWRCFG_RTC_ALARM_DISABLE, },
{ .irq = IRQ_RTC_TIC, .bit = S3C64XX_PWRCFG_RTC_TICK_DISABLE, }, { .irq = IRQ_RTC_TIC, .bit = S3C64XX_PWRCFG_RTC_TICK_DISABLE, },
{ .irq = IRQ_PENDN, .bit = S3C64XX_PWRCFG_TS_DISABLE, }, { .irq = IRQ_PENDN, .bit = S3C64XX_PWRCFG_TS_DISABLE, },
......
...@@ -77,15 +77,6 @@ static struct resource s3c_ac97_resource[] = { ...@@ -77,15 +77,6 @@ static struct resource s3c_ac97_resource[] = {
[1] = DEFINE_RES_IRQ(IRQ_S3C244X_AC97), [1] = DEFINE_RES_IRQ(IRQ_S3C244X_AC97),
}; };
static struct s3c_audio_pdata s3c_ac97_pdata = {
#ifdef CONFIG_S3C24XX_DMAC
.dma_filter = s3c24xx_dma_filter,
#endif
.dma_playback = (void *)DMACH_PCM_OUT,
.dma_capture = (void *)DMACH_PCM_IN,
.dma_capture_mic = (void *)DMACH_MIC_IN,
};
struct platform_device s3c_device_ac97 = { struct platform_device s3c_device_ac97 = {
.name = "samsung-ac97", .name = "samsung-ac97",
.id = -1, .id = -1,
...@@ -94,7 +85,6 @@ struct platform_device s3c_device_ac97 = { ...@@ -94,7 +85,6 @@ struct platform_device s3c_device_ac97 = {
.dev = { .dev = {
.dma_mask = &samsung_device_dma_mask, .dma_mask = &samsung_device_dma_mask,
.coherent_dma_mask = DMA_BIT_MASK(32), .coherent_dma_mask = DMA_BIT_MASK(32),
.platform_data = &s3c_ac97_pdata,
} }
}; };
#endif /* CONFIG_CPU_S3C2440 */ #endif /* CONFIG_CPU_S3C2440 */
...@@ -574,14 +564,6 @@ static struct resource s3c_iis_resource[] = { ...@@ -574,14 +564,6 @@ static struct resource s3c_iis_resource[] = {
[0] = DEFINE_RES_MEM(S3C24XX_PA_IIS, S3C24XX_SZ_IIS), [0] = DEFINE_RES_MEM(S3C24XX_PA_IIS, S3C24XX_SZ_IIS),
}; };
static struct s3c_audio_pdata s3c_iis_platdata = {
#ifdef CONFIG_S3C24XX_DMAC
.dma_filter = s3c24xx_dma_filter,
#endif
.dma_playback = (void *)DMACH_I2S_OUT,
.dma_capture = (void *)DMACH_I2S_IN,
};
struct platform_device s3c_device_iis = { struct platform_device s3c_device_iis = {
.name = "s3c24xx-iis", .name = "s3c24xx-iis",
.id = -1, .id = -1,
...@@ -590,7 +572,6 @@ struct platform_device s3c_device_iis = { ...@@ -590,7 +572,6 @@ struct platform_device s3c_device_iis = {
.dev = { .dev = {
.dma_mask = &samsung_device_dma_mask, .dma_mask = &samsung_device_dma_mask,
.coherent_dma_mask = DMA_BIT_MASK(32), .coherent_dma_mask = DMA_BIT_MASK(32),
.platform_data = &s3c_iis_platdata,
} }
}; };
#endif /* CONFIG_PLAT_S3C24XX */ #endif /* CONFIG_PLAT_S3C24XX */
......
...@@ -38,7 +38,7 @@ struct samsung_wakeup_mask { ...@@ -38,7 +38,7 @@ struct samsung_wakeup_mask {
* required to be correct before we enter sleep. * required to be correct before we enter sleep.
*/ */
extern void samsung_sync_wakemask(void __iomem *reg, extern void samsung_sync_wakemask(void __iomem *reg,
struct samsung_wakeup_mask *masks, const struct samsung_wakeup_mask *masks,
int nr_masks); int nr_masks);
#endif /* __PLAT_WAKEUP_MASK_H */ #endif /* __PLAT_WAKEUP_MASK_H */
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
#include <plat/pm.h> #include <plat/pm.h>
void samsung_sync_wakemask(void __iomem *reg, void samsung_sync_wakemask(void __iomem *reg,
struct samsung_wakeup_mask *mask, int nr_mask) const struct samsung_wakeup_mask *mask, int nr_mask)
{ {
struct irq_data *data; struct irq_data *data;
u32 val; u32 val;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment