Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 30a5c189 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'samsung-fixes-v4.1' of...

Merge tag 'samsung-fixes-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/fixes-non-critical

Merge "Samsung non-critical fixes for v4.1" from Kukjin Kim:

- mostly trivial build fixes with random configurations
  from Arnd Bergmann

  for s3c24xx:
  avoid a Kconfig warning and fix header file inclusions,
  and fix building without PM_SLEEP and use SAMSUNG_WAKEMASK

  for s3c64xx:
  fix __initdata section mismatch and add I2C dependencies,
  and fix building with PM_SLEEP

* tag 'samsung-fixes-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung

:
  ARM: S3C24XX: avoid a Kconfig warning
  ARM: S3C24XX: fix header file inclusions
  ARM: S3C24XX: fix building without PM_SLEEP
  ARM: S3C24XX: use SAMSUNG_WAKEMASK for s3c2416
  ARM: S3C64XX: fix __initdata section mismatch
  ARM: S3C64XX: fix building without CONFIG_PM_SLEEP
  ARM: S3C64XX: add I2C dependencies where needed

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 77e3c09e a11176e6
Loading
Loading
Loading
Loading
+10 −9
Original line number Diff line number Diff line
@@ -39,14 +39,14 @@ config CPU_S3C2412
	bool "SAMSUNG S3C2412"
	select CPU_ARM926T
	select S3C2412_COMMON_CLK
	select S3C2412_PM if PM
	select S3C2412_PM if PM_SLEEP
	help
	  Support for the S3C2412 and S3C2413 SoCs from the S3C24XX line

config CPU_S3C2416
	bool "SAMSUNG S3C2416/S3C2450"
	select CPU_ARM926T
	select S3C2416_PM if PM
	select S3C2416_PM if PM_SLEEP
	select S3C2443_COMMON_CLK
	help
	  Support for the S3C2416 SoC from the S3C24XX line
@@ -55,7 +55,7 @@ config CPU_S3C2440
	bool "SAMSUNG S3C2440"
	select CPU_ARM920T
	select S3C2410_COMMON_CLK
	select S3C2410_PM if PM
	select S3C2410_PM if PM_SLEEP
	help
	  Support for S3C2440 Samsung Mobile CPU based systems.

@@ -63,7 +63,7 @@ config CPU_S3C2442
	bool "SAMSUNG S3C2442"
	select CPU_ARM920T
	select S3C2410_COMMON_CLK
	select S3C2410_PM if PM
	select S3C2410_PM if PM_SLEEP
	help
	  Support for S3C2442 Samsung Mobile CPU based systems.

@@ -228,11 +228,6 @@ config H1940BT
	  This is a simple driver that is able to control
	  the state of built in bluetooth chip on h1940.

config PM_H1940
	bool
	help
	  Internal node for H1940 and related PM

config MACH_N30
	bool "Acer N30 family"
	select S3C_DEV_NAND
@@ -362,6 +357,7 @@ if CPU_S3C2416
config S3C2416_PM
	bool
	select S3C2412_PM_SLEEP
	select SAMSUNG_WAKEMASK
	help
	  Internal config node to apply S3C2416 power management

@@ -584,6 +580,11 @@ config MACH_SMDK2443

endif	# CPU_S3C2443

config PM_H1940
	bool
	help
	  Internal node for H1940 and related PM

endmenu	# SAMSUNG S3C24XX SoCs Support

endif	# ARCH_S3C24XX
+2 −1
Original line number Diff line number Diff line
@@ -32,7 +32,8 @@ obj-$(CONFIG_CPU_S3C2443) += s3c2443.o

# PM

obj-$(CONFIG_PM)		+= pm.o irq-pm.o sleep.o
obj-$(CONFIG_PM)		+= pm.o
obj-$(CONFIG_PM_SLEEP)		+= irq-pm.o sleep.o

# common code

+22 −2
Original line number Diff line number Diff line
@@ -10,6 +10,11 @@
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */
#include <linux/delay.h>
#include <linux/io.h>

#include "regs-clock.h"
#include "regs-irq.h"

static inline void s3c_pm_debug_init_uart(void)
{
@@ -42,8 +47,23 @@ static inline void s3c_pm_arch_stop_clocks(void)
	__raw_writel(0x00, S3C2410_CLKCON);  /* turn off clocks over sleep */
}

static void s3c_pm_show_resume_irqs(int start, unsigned long which,
				    unsigned long mask);
/* s3c2410_pm_show_resume_irqs
 *
 * print any IRQs asserted at resume time (ie, we woke from)
*/
static inline void s3c_pm_show_resume_irqs(int start, unsigned long which,
					   unsigned long mask)
{
	int i;

	which &= ~mask;

	for (i = 0; i <= 31; i++) {
		if (which & (1L<<i)) {
			S3C_PMDBG("IRQ %d asserted at resume\n", start+i);
		}
	}
}

static inline void s3c_pm_arch_show_resume_irqs(void)
{
+2 −1
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@

#include "s3c2412-power.h"

#ifdef CONFIG_PM_SLEEP
extern void s3c2412_sleep_enter(void);

static int s3c2416_cpu_suspend(unsigned long arg)
@@ -70,7 +71,7 @@ static __init int s3c2416_pm_init(void)
}

arch_initcall(s3c2416_pm_init);

#endif

static void s3c2416_pm_resume(void)
{
+4 −2
Original line number Diff line number Diff line
@@ -50,6 +50,7 @@

#define PFX "s3c24xx-pm: "

#ifdef CONFIG_PM_SLEEP
static struct sleep_save core_save[] = {
	/* we restore the timings here, with the proviso that the board
	 * brings the system up in an slower, or equal frequency setting
@@ -67,6 +68,7 @@ static struct sleep_save core_save[] = {
	SAVE_ITEM(S3C2410_BANKCON4),
	SAVE_ITEM(S3C2410_BANKCON5),
};
#endif

/* s3c_pm_check_resume_pin
 *
@@ -121,7 +123,7 @@ void s3c_pm_configure_extint(void)
	}
}


#ifdef CONFIG_PM_SLEEP
void s3c_pm_restore_core(void)
{
	s3c_pm_do_restore_core(core_save, ARRAY_SIZE(core_save));
@@ -131,4 +133,4 @@ void s3c_pm_save_core(void)
{
	s3c_pm_do_save(core_save, ARRAY_SIZE(core_save));
}
#endif
Loading