diff options
author | Arnd Bergmann <arnd@arndb.de> | 2019-08-14 09:04:45 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2019-08-14 09:37:17 -0400 |
commit | a3950da161a6fdb8099a00b936dcf848639f7ab6 (patch) | |
tree | 99a51d70481bd7b85196a41a0f8f3585f0848fa4 | |
parent | a1f487d75c9be17421f1ab10172427dd16e5f56a (diff) | |
parent | 163ce24a435061f9ff7e1673fec5be0868bdb7d3 (diff) |
Merge tag 'ux500-v5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into arm/soc
This is a slew of Ux500 updates for the v5.4 kernel cycle:
- Stop populating the PRCMU devices from the core CPU
file, it works just fine at device_initcall() level.
- Add a missing of_node_put() in the core file.
- Simplify the debug UART code.
- Add myself to MAINTAINERS
* tag 'ux500-v5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
MAINTAINERS: add soc/ux500
ARM: ux500: simplify and move debug UART
ARM: ux500: add missing of_node_put()
ARM: ux500: Stop populating the PRCMU devices early
Link: https://lore.kernel.org/r/CACRpkdbH-h5fRwuidcpeOp8mtRoKUW65SAk8a4A==BCDzn3QMA@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r-- | MAINTAINERS | 1 | ||||
-rw-r--r-- | arch/arm/include/debug/ux500.S | 9 | ||||
-rw-r--r-- | arch/arm/mach-ux500/cpu-db8500.c | 1 | ||||
-rw-r--r-- | drivers/soc/ux500/ux500-soc-id.c | 5 |
4 files changed, 7 insertions, 9 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index a1ebe7956912..d37b752898a5 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
@@ -1953,6 +1953,7 @@ F: Documentation/devicetree/bindings/i2c/i2c-stu300.txt | |||
1953 | F: arch/arm/mach-nomadik/ | 1953 | F: arch/arm/mach-nomadik/ |
1954 | F: arch/arm/mach-u300/ | 1954 | F: arch/arm/mach-u300/ |
1955 | F: arch/arm/mach-ux500/ | 1955 | F: arch/arm/mach-ux500/ |
1956 | F: drivers/soc/ux500/ | ||
1956 | F: arch/arm/boot/dts/ste-* | 1957 | F: arch/arm/boot/dts/ste-* |
1957 | F: drivers/clk/clk-nomadik.c | 1958 | F: drivers/clk/clk-nomadik.c |
1958 | F: drivers/clk/clk-u300.c | 1959 | F: drivers/clk/clk-u300.c |
diff --git a/arch/arm/include/debug/ux500.S b/arch/arm/include/debug/ux500.S index c626f89b3e4a..c516900947bb 100644 --- a/arch/arm/include/debug/ux500.S +++ b/arch/arm/include/debug/ux500.S | |||
@@ -20,21 +20,16 @@ | |||
20 | #define U8500_UART0_PHYS_BASE (0x80120000) | 20 | #define U8500_UART0_PHYS_BASE (0x80120000) |
21 | #define U8500_UART1_PHYS_BASE (0x80121000) | 21 | #define U8500_UART1_PHYS_BASE (0x80121000) |
22 | #define U8500_UART2_PHYS_BASE (0x80007000) | 22 | #define U8500_UART2_PHYS_BASE (0x80007000) |
23 | #define U8500_UART0_VIRT_BASE (0xf8120000) | ||
24 | #define U8500_UART1_VIRT_BASE (0xf8121000) | ||
25 | #define U8500_UART2_VIRT_BASE (0xf8007000) | ||
26 | #define __UX500_PHYS_UART(n) U8500_UART##n##_PHYS_BASE | 23 | #define __UX500_PHYS_UART(n) U8500_UART##n##_PHYS_BASE |
27 | #define __UX500_VIRT_UART(n) U8500_UART##n##_VIRT_BASE | ||
28 | #endif | 24 | #endif |
29 | 25 | ||
30 | #if !defined(__UX500_PHYS_UART) || !defined(__UX500_VIRT_UART) | 26 | #if !defined(__UX500_PHYS_UART) |
31 | #error Unknown SOC | 27 | #error Unknown SOC |
32 | #endif | 28 | #endif |
33 | 29 | ||
34 | #define UX500_PHYS_UART(n) __UX500_PHYS_UART(n) | 30 | #define UX500_PHYS_UART(n) __UX500_PHYS_UART(n) |
35 | #define UX500_VIRT_UART(n) __UX500_VIRT_UART(n) | ||
36 | #define UART_PHYS_BASE UX500_PHYS_UART(CONFIG_UX500_DEBUG_UART) | 31 | #define UART_PHYS_BASE UX500_PHYS_UART(CONFIG_UX500_DEBUG_UART) |
37 | #define UART_VIRT_BASE UX500_VIRT_UART(CONFIG_UX500_DEBUG_UART) | 32 | #define UART_VIRT_BASE (0xfff07000) |
38 | 33 | ||
39 | .macro addruart, rp, rv, tmp | 34 | .macro addruart, rp, rv, tmp |
40 | ldr \rp, =UART_PHYS_BASE @ no, physical address | 35 | ldr \rp, =UART_PHYS_BASE @ no, physical address |
diff --git a/arch/arm/mach-ux500/cpu-db8500.c b/arch/arm/mach-ux500/cpu-db8500.c index 9580525102da..3875027ef8fc 100644 --- a/arch/arm/mach-ux500/cpu-db8500.c +++ b/arch/arm/mach-ux500/cpu-db8500.c | |||
@@ -110,7 +110,6 @@ static void ux500_restart(enum reboot_mode mode, const char *cmd) | |||
110 | static const struct of_device_id u8500_local_bus_nodes[] = { | 110 | static const struct of_device_id u8500_local_bus_nodes[] = { |
111 | /* only create devices below soc node */ | 111 | /* only create devices below soc node */ |
112 | { .compatible = "stericsson,db8500", }, | 112 | { .compatible = "stericsson,db8500", }, |
113 | { .compatible = "stericsson,db8500-prcmu", }, | ||
114 | { .compatible = "simple-bus"}, | 113 | { .compatible = "simple-bus"}, |
115 | { }, | 114 | { }, |
116 | }; | 115 | }; |
diff --git a/drivers/soc/ux500/ux500-soc-id.c b/drivers/soc/ux500/ux500-soc-id.c index ea5fd2e5e340..d64feeb51a40 100644 --- a/drivers/soc/ux500/ux500-soc-id.c +++ b/drivers/soc/ux500/ux500-soc-id.c | |||
@@ -203,10 +203,13 @@ static int __init ux500_soc_device_init(void) | |||
203 | ux500_setup_id(); | 203 | ux500_setup_id(); |
204 | 204 | ||
205 | soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL); | 205 | soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL); |
206 | if (!soc_dev_attr) | 206 | if (!soc_dev_attr) { |
207 | of_node_put(backupram); | ||
207 | return -ENOMEM; | 208 | return -ENOMEM; |
209 | } | ||
208 | 210 | ||
209 | soc_info_populate(soc_dev_attr, backupram); | 211 | soc_info_populate(soc_dev_attr, backupram); |
212 | of_node_put(backupram); | ||
210 | 213 | ||
211 | soc_dev = soc_device_register(soc_dev_attr); | 214 | soc_dev = soc_device_register(soc_dev_attr); |
212 | if (IS_ERR(soc_dev)) { | 215 | if (IS_ERR(soc_dev)) { |