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

Commit d0ccc8a3 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge branch 'v3.8-samsung-fixes-4' of...

Merge branch 'v3.8-samsung-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes

From Kukjin Kim:
This fixes compatible values for exynos pinctrl and crash on soft reset,
tick and alarm irq numbers on exynos5440 and uninitialized variable on
s3c24xx.

* 'v3.8-samsung-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung

:
  ARM: EXYNOS: Fix crash on soft reset on EXYNOS5440
  ARM: dts: fix tick and alarm irq numbers for exynos5440
  ARM: dts: fix compatible value for exynos pinctrl
  ARM: dts: Fix compatible value of pinctrl module on EXYNOS5440
  ARM: S3C24XX: fix uninitialized variable warning

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents e065d3d4 60db7e5f
Loading
Loading
Loading
Loading
+6 −6
Original line number Original line Diff line number Diff line
@@ -7,9 +7,9 @@ on-chip controllers onto these pads.


Required Properties:
Required Properties:
- compatible: should be one of the following.
- compatible: should be one of the following.
  - "samsung,pinctrl-exynos4210": for Exynos4210 compatible pin-controller.
  - "samsung,exynos4210-pinctrl": for Exynos4210 compatible pin-controller.
  - "samsung,pinctrl-exynos4x12": for Exynos4x12 compatible pin-controller.
  - "samsung,exynos4x12-pinctrl": for Exynos4x12 compatible pin-controller.
  - "samsung,pinctrl-exynos5250": for Exynos5250 compatible pin-controller.
  - "samsung,exynos5250-pinctrl": for Exynos5250 compatible pin-controller.


- reg: Base address of the pin controller hardware module and length of
- reg: Base address of the pin controller hardware module and length of
  the address space it occupies.
  the address space it occupies.
@@ -142,7 +142,7 @@ the following format 'pinctrl{n}' where n is a unique number for the alias.
Example: A pin-controller node with pin banks:
Example: A pin-controller node with pin banks:


	pinctrl_0: pinctrl@11400000 {
	pinctrl_0: pinctrl@11400000 {
		compatible = "samsung,pinctrl-exynos4210";
		compatible = "samsung,exynos4210-pinctrl";
		reg = <0x11400000 0x1000>;
		reg = <0x11400000 0x1000>;
		interrupts = <0 47 0>;
		interrupts = <0 47 0>;


@@ -185,7 +185,7 @@ Example: A pin-controller node with pin banks:
Example 1: A pin-controller node with pin groups.
Example 1: A pin-controller node with pin groups.


	pinctrl_0: pinctrl@11400000 {
	pinctrl_0: pinctrl@11400000 {
		compatible = "samsung,pinctrl-exynos4210";
		compatible = "samsung,exynos4210-pinctrl";
		reg = <0x11400000 0x1000>;
		reg = <0x11400000 0x1000>;
		interrupts = <0 47 0>;
		interrupts = <0 47 0>;


@@ -230,7 +230,7 @@ Example 1: A pin-controller node with pin groups.
Example 2: A pin-controller node with external wakeup interrupt controller node.
Example 2: A pin-controller node with external wakeup interrupt controller node.


	pinctrl_1: pinctrl@11000000 {
	pinctrl_1: pinctrl@11000000 {
		compatible = "samsung,pinctrl-exynos4210";
		compatible = "samsung,exynos4210-pinctrl";
		reg = <0x11000000 0x1000>;
		reg = <0x11000000 0x1000>;
		interrupts = <0 46 0>
		interrupts = <0 46 0>


+3 −3
Original line number Original line Diff line number Diff line
@@ -48,13 +48,13 @@
	};
	};


	pinctrl_0: pinctrl@11400000 {
	pinctrl_0: pinctrl@11400000 {
		compatible = "samsung,pinctrl-exynos4210";
		compatible = "samsung,exynos4210-pinctrl";
		reg = <0x11400000 0x1000>;
		reg = <0x11400000 0x1000>;
		interrupts = <0 47 0>;
		interrupts = <0 47 0>;
	};
	};


	pinctrl_1: pinctrl@11000000 {
	pinctrl_1: pinctrl@11000000 {
		compatible = "samsung,pinctrl-exynos4210";
		compatible = "samsung,exynos4210-pinctrl";
		reg = <0x11000000 0x1000>;
		reg = <0x11000000 0x1000>;
		interrupts = <0 46 0>;
		interrupts = <0 46 0>;


@@ -66,7 +66,7 @@
	};
	};


	pinctrl_2: pinctrl@03860000 {
	pinctrl_2: pinctrl@03860000 {
		compatible = "samsung,pinctrl-exynos4210";
		compatible = "samsung,exynos4210-pinctrl";
		reg = <0x03860000 0x1000>;
		reg = <0x03860000 0x1000>;
	};
	};


+4 −4
Original line number Original line Diff line number Diff line
@@ -37,13 +37,13 @@
	};
	};


	pinctrl_0: pinctrl@11400000 {
	pinctrl_0: pinctrl@11400000 {
		compatible = "samsung,pinctrl-exynos4x12";
		compatible = "samsung,exynos4x12-pinctrl";
		reg = <0x11400000 0x1000>;
		reg = <0x11400000 0x1000>;
		interrupts = <0 47 0>;
		interrupts = <0 47 0>;
	};
	};


	pinctrl_1: pinctrl@11000000 {
	pinctrl_1: pinctrl@11000000 {
		compatible = "samsung,pinctrl-exynos4x12";
		compatible = "samsung,exynos4x12-pinctrl";
		reg = <0x11000000 0x1000>;
		reg = <0x11000000 0x1000>;
		interrupts = <0 46 0>;
		interrupts = <0 46 0>;


@@ -55,14 +55,14 @@
	};
	};


	pinctrl_2: pinctrl@03860000 {
	pinctrl_2: pinctrl@03860000 {
		compatible = "samsung,pinctrl-exynos4x12";
		compatible = "samsung,exynos4x12-pinctrl";
		reg = <0x03860000 0x1000>;
		reg = <0x03860000 0x1000>;
		interrupt-parent = <&combiner>;
		interrupt-parent = <&combiner>;
		interrupts = <10 0>;
		interrupts = <10 0>;
	};
	};


	pinctrl_3: pinctrl@106E0000 {
	pinctrl_3: pinctrl@106E0000 {
		compatible = "samsung,pinctrl-exynos4x12";
		compatible = "samsung,exynos4x12-pinctrl";
		reg = <0x106E0000 0x1000>;
		reg = <0x106E0000 0x1000>;
		interrupts = <0 72 0>;
		interrupts = <0 72 0>;
	};
	};
+2 −2
Original line number Original line Diff line number Diff line
@@ -86,7 +86,7 @@
	};
	};


	pinctrl {
	pinctrl {
		compatible = "samsung,pinctrl-exynos5440";
		compatible = "samsung,exynos5440-pinctrl";
		reg = <0xE0000 0x1000>;
		reg = <0xE0000 0x1000>;
		interrupt-controller;
		interrupt-controller;
		#interrupt-cells = <2>;
		#interrupt-cells = <2>;
@@ -154,6 +154,6 @@
	rtc {
	rtc {
		compatible = "samsung,s3c6410-rtc";
		compatible = "samsung,s3c6410-rtc";
		reg = <0x130000 0x1000>;
		reg = <0x130000 0x1000>;
		interrupts = <0 16 0>, <0 17 0>;
		interrupts = <0 17 0>, <0 16 0>;
	};
	};
};
};
+6 −4
Original line number Original line Diff line number Diff line
@@ -299,6 +299,7 @@ void exynos4_restart(char mode, const char *cmd)


void exynos5_restart(char mode, const char *cmd)
void exynos5_restart(char mode, const char *cmd)
{
{
	struct device_node *np;
	u32 val;
	u32 val;
	void __iomem *addr;
	void __iomem *addr;


@@ -306,8 +307,9 @@ void exynos5_restart(char mode, const char *cmd)
		val = 0x1;
		val = 0x1;
		addr = EXYNOS_SWRESET;
		addr = EXYNOS_SWRESET;
	} else if (of_machine_is_compatible("samsung,exynos5440")) {
	} else if (of_machine_is_compatible("samsung,exynos5440")) {
		val = (0x10 << 20) | (0x1 << 16);
		np = of_find_compatible_node(NULL, NULL, "samsung,exynos5440-clock");
		addr = EXYNOS5440_SWRESET;
		addr = of_iomap(np, 0) + 0xcc;
		val = (0xfff << 20) | (0x1 << 16);
	} else {
	} else {
		pr_err("%s: cannot support non-DT\n", __func__);
		pr_err("%s: cannot support non-DT\n", __func__);
		return;
		return;
@@ -1031,8 +1033,8 @@ static int __init exynos_init_irq_eint(void)
	 * interrupt support code here can be completely removed.
	 * interrupt support code here can be completely removed.
	 */
	 */
	static const struct of_device_id exynos_pinctrl_ids[] = {
	static const struct of_device_id exynos_pinctrl_ids[] = {
		{ .compatible = "samsung,pinctrl-exynos4210", },
		{ .compatible = "samsung,exynos4210-pinctrl", },
		{ .compatible = "samsung,pinctrl-exynos4x12", },
		{ .compatible = "samsung,exynos4x12-pinctrl", },
	};
	};
	struct device_node *pctrl_np, *wkup_np;
	struct device_node *pctrl_np, *wkup_np;
	const char *wkup_compat = "samsung,exynos4210-wakeup-eint";
	const char *wkup_compat = "samsung,exynos4210-wakeup-eint";
Loading