]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
Merge tag 'ux500-v5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw...
authorArnd Bergmann <arnd@arndb.de>
Wed, 14 Aug 2019 13:04:45 +0000 (15:04 +0200)
committerArnd Bergmann <arnd@arndb.de>
Wed, 14 Aug 2019 13:37:17 +0000 (15:37 +0200)
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>
MAINTAINERS
arch/arm/include/debug/ux500.S
arch/arm/mach-ux500/cpu-db8500.c
drivers/soc/ux500/ux500-soc-id.c

index a1ebe79569126bebd5da292e45cffef6c6da1279..d37b752898a583d5273fe24fff1fd07a00ce5220 100644 (file)
@@ -1953,6 +1953,7 @@ F:        Documentation/devicetree/bindings/i2c/i2c-stu300.txt
 F:     arch/arm/mach-nomadik/
 F:     arch/arm/mach-u300/
 F:     arch/arm/mach-ux500/
+F:     drivers/soc/ux500/
 F:     arch/arm/boot/dts/ste-*
 F:     drivers/clk/clk-nomadik.c
 F:     drivers/clk/clk-u300.c
index c626f89b3e4a5f84983a4cbcb0857be3aa30df8e..c516900947bb4e39dc7d28c88e1a93d2d2f37ec1 100644 (file)
 #define U8500_UART0_PHYS_BASE  (0x80120000)
 #define U8500_UART1_PHYS_BASE  (0x80121000)
 #define U8500_UART2_PHYS_BASE  (0x80007000)
-#define U8500_UART0_VIRT_BASE  (0xf8120000)
-#define U8500_UART1_VIRT_BASE  (0xf8121000)
-#define U8500_UART2_VIRT_BASE  (0xf8007000)
 #define __UX500_PHYS_UART(n)   U8500_UART##n##_PHYS_BASE
-#define __UX500_VIRT_UART(n)   U8500_UART##n##_VIRT_BASE
 #endif
 
-#if !defined(__UX500_PHYS_UART) || !defined(__UX500_VIRT_UART)
+#if !defined(__UX500_PHYS_UART)
 #error Unknown SOC
 #endif
 
 #define UX500_PHYS_UART(n)     __UX500_PHYS_UART(n)
-#define UX500_VIRT_UART(n)     __UX500_VIRT_UART(n)
 #define UART_PHYS_BASE UX500_PHYS_UART(CONFIG_UX500_DEBUG_UART)
-#define UART_VIRT_BASE UX500_VIRT_UART(CONFIG_UX500_DEBUG_UART)
+#define UART_VIRT_BASE (0xfff07000)
 
        .macro  addruart, rp, rv, tmp
        ldr     \rp, =UART_PHYS_BASE            @ no, physical address
index 9580525102dab810e944a1af441209baa82e2653..3875027ef8fcbb644ac26a25ce93603cec008654 100644 (file)
@@ -110,7 +110,6 @@ static void ux500_restart(enum reboot_mode mode, const char *cmd)
 static const struct of_device_id u8500_local_bus_nodes[] = {
        /* only create devices below soc node */
        { .compatible = "stericsson,db8500", },
-       { .compatible = "stericsson,db8500-prcmu", },
        { .compatible = "simple-bus"},
        { },
 };
index ea5fd2e5e340d32ff70ce4269fd2676d7d6f99af..d64feeb51a4064ae1cb52f50797cbcacceeb9112 100644 (file)
@@ -203,10 +203,13 @@ static int __init ux500_soc_device_init(void)
        ux500_setup_id();
 
        soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL);
-       if (!soc_dev_attr)
+       if (!soc_dev_attr) {
+               of_node_put(backupram);
                return -ENOMEM;
+       }
 
        soc_info_populate(soc_dev_attr, backupram);
+       of_node_put(backupram);
 
        soc_dev = soc_device_register(soc_dev_attr);
        if (IS_ERR(soc_dev)) {