Commit d0ccc8a3 authored by Olof Johansson's avatar Olof Johansson

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
...@@ -7,9 +7,9 @@ on-chip controllers onto these pads. ...@@ -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. ...@@ -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: ...@@ -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. ...@@ -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>
......
...@@ -48,13 +48,13 @@ combiner:interrupt-controller@10440000 { ...@@ -48,13 +48,13 @@ combiner:interrupt-controller@10440000 {
}; };
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 @@ wakup_eint: wakeup-interrupt-controller { ...@@ -66,7 +66,7 @@ wakup_eint: wakeup-interrupt-controller {
}; };
pinctrl_2: pinctrl@03860000 { pinctrl_2: pinctrl@03860000 {
compatible = "samsung,pinctrl-exynos4210"; compatible = "samsung,exynos4210-pinctrl";
reg = <0x03860000 0x1000>; reg = <0x03860000 0x1000>;
}; };
......
...@@ -37,13 +37,13 @@ combiner:interrupt-controller@10440000 { ...@@ -37,13 +37,13 @@ combiner:interrupt-controller@10440000 {
}; };
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 @@ wakup_eint: wakeup-interrupt-controller { ...@@ -55,14 +55,14 @@ wakup_eint: wakeup-interrupt-controller {
}; };
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>;
}; };
......
...@@ -86,7 +86,7 @@ spi { ...@@ -86,7 +86,7 @@ spi {
}; };
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 @@ pdma1: pdma@121B0000 { ...@@ -154,6 +154,6 @@ pdma1: pdma@121B0000 {
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>;
}; };
}; };
...@@ -299,6 +299,7 @@ void exynos4_restart(char mode, const char *cmd) ...@@ -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) ...@@ -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) ...@@ -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";
......
...@@ -197,7 +197,7 @@ static unsigned long s3c24xx_read_idcode_v4(void) ...@@ -197,7 +197,7 @@ static unsigned long s3c24xx_read_idcode_v4(void)
static void s3c24xx_default_idle(void) static void s3c24xx_default_idle(void)
{ {
unsigned long tmp; unsigned long tmp = 0;
int i; int i;
/* idle the system by using the idle mode which will wait for an /* idle the system by using the idle mode which will wait for an
......
...@@ -3023,9 +3023,9 @@ static __init int samsung_gpiolib_init(void) ...@@ -3023,9 +3023,9 @@ static __init int samsung_gpiolib_init(void)
*/ */
struct device_node *pctrl_np; struct device_node *pctrl_np;
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", },
{ .compatible = "samsung,pinctrl-exynos5440", }, { .compatible = "samsung,exynos5440-pinctrl", },
}; };
for_each_matching_node(pctrl_np, exynos_pinctrl_ids) for_each_matching_node(pctrl_np, exynos_pinctrl_ids)
if (pctrl_np && of_device_is_available(pctrl_np)) if (pctrl_np && of_device_is_available(pctrl_np))
......
...@@ -947,9 +947,9 @@ static int samsung_pinctrl_probe(struct platform_device *pdev) ...@@ -947,9 +947,9 @@ static int samsung_pinctrl_probe(struct platform_device *pdev)
} }
static const struct of_device_id samsung_pinctrl_dt_match[] = { static const struct of_device_id samsung_pinctrl_dt_match[] = {
{ .compatible = "samsung,pinctrl-exynos4210", { .compatible = "samsung,exynos4210-pinctrl",
.data = (void *)exynos4210_pin_ctrl }, .data = (void *)exynos4210_pin_ctrl },
{ .compatible = "samsung,pinctrl-exynos4x12", { .compatible = "samsung,exynos4x12-pinctrl",
.data = (void *)exynos4x12_pin_ctrl }, .data = (void *)exynos4x12_pin_ctrl },
{}, {},
}; };
......
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