The call to of_platform_bus_probe has no effect because the DT core
already probes default buses like "simple-bus" before this call.
Michal Simek said 'xlnx,compound' hasn't been used in a long time, so
that match entry isn't needed.
Cc: Michal Simek <[email protected]>
Signed-off-by: Rob Herring <[email protected]>
---
arch/microblaze/kernel/platform.c | 7 -------
1 file changed, 7 deletions(-)
diff --git a/arch/microblaze/kernel/platform.c b/arch/microblaze/kernel/platform.c
index 2540d60610d9..b9a414552d9b 100644
--- a/arch/microblaze/kernel/platform.c
+++ b/arch/microblaze/kernel/platform.c
@@ -14,15 +14,8 @@
#include <linux/of_platform.h>
#include <asm/setup.h>
-static struct of_device_id xilinx_of_bus_ids[] __initdata = {
- { .compatible = "simple-bus", },
- { .compatible = "xlnx,compound", },
- {}
-};
-
static int __init microblaze_device_probe(void)
{
- of_platform_bus_probe(NULL, xilinx_of_bus_ids, NULL);
of_platform_reset_gpio_probe();
return 0;
}
--
2.17.1
Now that platform.c only has the GPIO reset handling left, move the
initcall to reset.c and remove platform.c.
Cc: Michal Simek <[email protected]>
Signed-off-by: Rob Herring <[email protected]>
---
arch/microblaze/include/asm/setup.h | 2 --
arch/microblaze/kernel/Makefile | 2 +-
arch/microblaze/kernel/platform.c | 22 ----------------------
arch/microblaze/kernel/reset.c | 11 ++++++-----
4 files changed, 7 insertions(+), 30 deletions(-)
delete mode 100644 arch/microblaze/kernel/platform.c
diff --git a/arch/microblaze/include/asm/setup.h b/arch/microblaze/include/asm/setup.h
index d5384f6f36f7..86d2663d3fd0 100644
--- a/arch/microblaze/include/asm/setup.h
+++ b/arch/microblaze/include/asm/setup.h
@@ -26,8 +26,6 @@ void microblaze_setup_heartbeat(void);
extern void mmu_reset(void);
# endif /* CONFIG_MMU */
-extern void of_platform_reset_gpio_probe(void);
-
void time_init(void);
void init_IRQ(void);
void machine_early_init(const char *cmdline, unsigned int ram,
diff --git a/arch/microblaze/kernel/Makefile b/arch/microblaze/kernel/Makefile
index 7e99cf6984a1..6c4c54826aae 100644
--- a/arch/microblaze/kernel/Makefile
+++ b/arch/microblaze/kernel/Makefile
@@ -17,7 +17,7 @@ extra-y := head.o vmlinux.lds
obj-y += dma.o exceptions.o \
hw_exception_handler.o irq.o \
- platform.o process.o prom.o ptrace.o \
+ process.o prom.o ptrace.o \
reset.o setup.o signal.o sys_microblaze.o timer.o traps.o unwind.o
obj-y += cpu/
diff --git a/arch/microblaze/kernel/platform.c b/arch/microblaze/kernel/platform.c
deleted file mode 100644
index b9a414552d9b..000000000000
--- a/arch/microblaze/kernel/platform.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright 2008 Michal Simek <[email protected]>
- *
- * based on virtex.c file
- *
- * Copyright 2007 Secret Lab Technologies Ltd.
- *
- * This file is licensed under the terms of the GNU General Public License
- * version 2. This program is licensed "as is" without any warranty of any
- * kind, whether express or implied.
- */
-
-#include <linux/init.h>
-#include <linux/of_platform.h>
-#include <asm/setup.h>
-
-static int __init microblaze_device_probe(void)
-{
- of_platform_reset_gpio_probe();
- return 0;
-}
-device_initcall(microblaze_device_probe);
diff --git a/arch/microblaze/kernel/reset.c b/arch/microblaze/kernel/reset.c
index bab4c8330ef4..fcbe1daf6316 100644
--- a/arch/microblaze/kernel/reset.c
+++ b/arch/microblaze/kernel/reset.c
@@ -18,7 +18,7 @@
static int handle; /* reset pin handle */
static unsigned int reset_val;
-void of_platform_reset_gpio_probe(void)
+static int of_platform_reset_gpio_probe(void)
{
int ret;
handle = of_get_named_gpio(of_find_node_by_path("/"),
@@ -27,13 +27,13 @@ void of_platform_reset_gpio_probe(void)
if (!gpio_is_valid(handle)) {
pr_info("Skipping unavailable RESET gpio %d (%s)\n",
handle, "reset");
- return;
+ return -ENODEV;
}
ret = gpio_request(handle, "reset");
if (ret < 0) {
pr_info("GPIO pin is already allocated\n");
- return;
+ return ret;
}
/* get current setup value */
@@ -51,11 +51,12 @@ void of_platform_reset_gpio_probe(void)
pr_info("RESET: Registered gpio device: %d, current val: %d\n",
handle, reset_val);
- return;
+ return 0;
err:
gpio_free(handle);
- return;
+ return ret;
}
+device_initcall(of_platform_reset_gpio_probe);
static void gpio_system_reset(void)
--
2.17.1
On 19.6.2018 23:36, Rob Herring wrote:
> The call to of_platform_bus_probe has no effect because the DT core
> already probes default buses like "simple-bus" before this call.
> Michal Simek said 'xlnx,compound' hasn't been used in a long time, so
> that match entry isn't needed.
>
> Cc: Michal Simek <[email protected]>
> Signed-off-by: Rob Herring <[email protected]>
> ---
> arch/microblaze/kernel/platform.c | 7 -------
> 1 file changed, 7 deletions(-)
>
> diff --git a/arch/microblaze/kernel/platform.c b/arch/microblaze/kernel/platform.c
> index 2540d60610d9..b9a414552d9b 100644
> --- a/arch/microblaze/kernel/platform.c
> +++ b/arch/microblaze/kernel/platform.c
> @@ -14,15 +14,8 @@
> #include <linux/of_platform.h>
> #include <asm/setup.h>
>
> -static struct of_device_id xilinx_of_bus_ids[] __initdata = {
> - { .compatible = "simple-bus", },
> - { .compatible = "xlnx,compound", },
> - {}
> -};
> -
> static int __init microblaze_device_probe(void)
> {
> - of_platform_bus_probe(NULL, xilinx_of_bus_ids, NULL);
> of_platform_reset_gpio_probe();
> return 0;
> }
>
Applied.
Thanks,
Michal
--
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: http://www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Xilinx Microblaze
Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP SoCs
On 19.6.2018 23:36, Rob Herring wrote:
> Now that platform.c only has the GPIO reset handling left, move the
> initcall to reset.c and remove platform.c.
>
> Cc: Michal Simek <[email protected]>
> Signed-off-by: Rob Herring <[email protected]>
> ---
> arch/microblaze/include/asm/setup.h | 2 --
> arch/microblaze/kernel/Makefile | 2 +-
> arch/microblaze/kernel/platform.c | 22 ----------------------
> arch/microblaze/kernel/reset.c | 11 ++++++-----
> 4 files changed, 7 insertions(+), 30 deletions(-)
> delete mode 100644 arch/microblaze/kernel/platform.c
>
> diff --git a/arch/microblaze/include/asm/setup.h b/arch/microblaze/include/asm/setup.h
> index d5384f6f36f7..86d2663d3fd0 100644
> --- a/arch/microblaze/include/asm/setup.h
> +++ b/arch/microblaze/include/asm/setup.h
> @@ -26,8 +26,6 @@ void microblaze_setup_heartbeat(void);
> extern void mmu_reset(void);
> # endif /* CONFIG_MMU */
>
> -extern void of_platform_reset_gpio_probe(void);
> -
> void time_init(void);
> void init_IRQ(void);
> void machine_early_init(const char *cmdline, unsigned int ram,
> diff --git a/arch/microblaze/kernel/Makefile b/arch/microblaze/kernel/Makefile
> index 7e99cf6984a1..6c4c54826aae 100644
> --- a/arch/microblaze/kernel/Makefile
> +++ b/arch/microblaze/kernel/Makefile
> @@ -17,7 +17,7 @@ extra-y := head.o vmlinux.lds
>
> obj-y += dma.o exceptions.o \
> hw_exception_handler.o irq.o \
> - platform.o process.o prom.o ptrace.o \
> + process.o prom.o ptrace.o \
> reset.o setup.o signal.o sys_microblaze.o timer.o traps.o unwind.o
>
> obj-y += cpu/
> diff --git a/arch/microblaze/kernel/platform.c b/arch/microblaze/kernel/platform.c
> deleted file mode 100644
> index b9a414552d9b..000000000000
> --- a/arch/microblaze/kernel/platform.c
> +++ /dev/null
> @@ -1,22 +0,0 @@
> -/*
> - * Copyright 2008 Michal Simek <[email protected]>
> - *
> - * based on virtex.c file
> - *
> - * Copyright 2007 Secret Lab Technologies Ltd.
> - *
> - * This file is licensed under the terms of the GNU General Public License
> - * version 2. This program is licensed "as is" without any warranty of any
> - * kind, whether express or implied.
> - */
> -
> -#include <linux/init.h>
> -#include <linux/of_platform.h>
> -#include <asm/setup.h>
> -
> -static int __init microblaze_device_probe(void)
> -{
> - of_platform_reset_gpio_probe();
> - return 0;
> -}
> -device_initcall(microblaze_device_probe);
> diff --git a/arch/microblaze/kernel/reset.c b/arch/microblaze/kernel/reset.c
> index bab4c8330ef4..fcbe1daf6316 100644
> --- a/arch/microblaze/kernel/reset.c
> +++ b/arch/microblaze/kernel/reset.c
> @@ -18,7 +18,7 @@
> static int handle; /* reset pin handle */
> static unsigned int reset_val;
>
> -void of_platform_reset_gpio_probe(void)
> +static int of_platform_reset_gpio_probe(void)
> {
> int ret;
> handle = of_get_named_gpio(of_find_node_by_path("/"),
> @@ -27,13 +27,13 @@ void of_platform_reset_gpio_probe(void)
> if (!gpio_is_valid(handle)) {
> pr_info("Skipping unavailable RESET gpio %d (%s)\n",
> handle, "reset");
> - return;
> + return -ENODEV;
> }
>
> ret = gpio_request(handle, "reset");
> if (ret < 0) {
> pr_info("GPIO pin is already allocated\n");
> - return;
> + return ret;
> }
>
> /* get current setup value */
> @@ -51,11 +51,12 @@ void of_platform_reset_gpio_probe(void)
>
> pr_info("RESET: Registered gpio device: %d, current val: %d\n",
> handle, reset_val);
> - return;
> + return 0;
> err:
> gpio_free(handle);
> - return;
> + return ret;
> }
> +device_initcall(of_platform_reset_gpio_probe);
>
>
> static void gpio_system_reset(void)
>
Applied.
Thanks,
Michal
--
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: http://www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Xilinx Microblaze
Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP SoCs