Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

microblaze: consolidate GPIO reset handling

Now that platform.c only has the GPIO reset handling left, move the
initcall to reset.c and remove platform.c.

Cc: Michal Simek <monstr@monstr.eu>
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>

authored by

Rob Herring and committed by
Michal Simek
45df561a 2dbeb704

+7 -30
-2
arch/microblaze/include/asm/setup.h
··· 23 23 extern void mmu_reset(void); 24 24 # endif /* CONFIG_MMU */ 25 25 26 - extern void of_platform_reset_gpio_probe(void); 27 - 28 26 void time_init(void); 29 27 void init_IRQ(void); 30 28 void machine_early_init(const char *cmdline, unsigned int ram,
+1 -1
arch/microblaze/kernel/Makefile
··· 16 16 17 17 obj-y += dma.o exceptions.o \ 18 18 hw_exception_handler.o irq.o \ 19 - platform.o process.o prom.o ptrace.o \ 19 + process.o prom.o ptrace.o \ 20 20 reset.o setup.o signal.o sys_microblaze.o timer.o traps.o unwind.o 21 21 22 22 obj-y += cpu/
-22
arch/microblaze/kernel/platform.c
··· 1 - /* 2 - * Copyright 2008 Michal Simek <monstr@monstr.eu> 3 - * 4 - * based on virtex.c file 5 - * 6 - * Copyright 2007 Secret Lab Technologies Ltd. 7 - * 8 - * This file is licensed under the terms of the GNU General Public License 9 - * version 2. This program is licensed "as is" without any warranty of any 10 - * kind, whether express or implied. 11 - */ 12 - 13 - #include <linux/init.h> 14 - #include <linux/of_platform.h> 15 - #include <asm/setup.h> 16 - 17 - static int __init microblaze_device_probe(void) 18 - { 19 - of_platform_reset_gpio_probe(); 20 - return 0; 21 - } 22 - device_initcall(microblaze_device_probe);
+6 -5
arch/microblaze/kernel/reset.c
··· 18 18 static int handle; /* reset pin handle */ 19 19 static unsigned int reset_val; 20 20 21 - void of_platform_reset_gpio_probe(void) 21 + static int of_platform_reset_gpio_probe(void) 22 22 { 23 23 int ret; 24 24 handle = of_get_named_gpio(of_find_node_by_path("/"), ··· 27 27 if (!gpio_is_valid(handle)) { 28 28 pr_info("Skipping unavailable RESET gpio %d (%s)\n", 29 29 handle, "reset"); 30 - return; 30 + return -ENODEV; 31 31 } 32 32 33 33 ret = gpio_request(handle, "reset"); 34 34 if (ret < 0) { 35 35 pr_info("GPIO pin is already allocated\n"); 36 - return; 36 + return ret; 37 37 } 38 38 39 39 /* get current setup value */ ··· 51 51 52 52 pr_info("RESET: Registered gpio device: %d, current val: %d\n", 53 53 handle, reset_val); 54 - return; 54 + return 0; 55 55 err: 56 56 gpio_free(handle); 57 - return; 57 + return ret; 58 58 } 59 + device_initcall(of_platform_reset_gpio_probe); 59 60 60 61 61 62 static void gpio_system_reset(void)