Make CONFIG_RATP a selectable config option, so that the user can enable RATP support without explicitly needing to enable the full console support over RATP (e.g. only for RATP FS or built-in command support). The full console can still be explicitly enabled with CONFIG_CONSOLE_RATP. Signed-off-by: Aleksander Morgado <aleksander@xxxxxxxxxxxxx> --- common/Makefile | 1 - common/ratp/ratp.c | 7 +++++-- fs/Kconfig | 2 +- lib/Kconfig | 2 +- lib/readline.c | 2 +- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/common/Makefile b/common/Makefile index 90d5f19ec..8a0ce84e1 100644 --- a/common/Makefile +++ b/common/Makefile @@ -47,7 +47,6 @@ obj-$(CONFIG_SHELL_HUSH) += hush.o obj-$(CONFIG_SHELL_SIMPLE) += parser.o obj-$(CONFIG_STATE) += state/ obj-$(CONFIG_RATP) += ratp/ -obj-$(CONFIG_CONSOLE_RATP) += ratp/ obj-$(CONFIG_BOOTCHOOSER) += bootchooser.o obj-$(CONFIG_UIMAGE) += image.o uimage.o obj-$(CONFIG_FITIMAGE) += image-fit.o diff --git a/common/ratp/ratp.c b/common/ratp/ratp.c index b051fdee4..7c8a2f6f5 100644 --- a/common/ratp/ratp.c +++ b/common/ratp/ratp.c @@ -260,7 +260,7 @@ static int ratp_bb_dispatch(struct ratp_ctx *ctx, const void *buf, int len) switch (type) { case BB_RATP_TYPE_COMMAND: - if (ratp_command) + if (!IS_ENABLED(CONFIG_CONSOLE_RATP) || ratp_command) return 0; ratp_command = xmemdup_add_zero(&rbb->data, dlen); @@ -274,6 +274,8 @@ static int ratp_bb_dispatch(struct ratp_ctx *ctx, const void *buf, int len) break; case BB_RATP_TYPE_CONSOLEMSG: + if (!IS_ENABLED(CONFIG_CONSOLE_RATP)) + return 0; kfifo_put(ctx->console_recv_fifo, rbb->data, dlen); break; @@ -420,7 +422,8 @@ static void ratp_poller(struct poller_struct *poller) size_t len; void *buf; - ratp_queue_console_tx(ctx); + if (IS_ENABLED(CONFIG_CONSOLE_RATP)) + ratp_queue_console_tx(ctx); ret = ratp_poll(&ctx->ratp); if (ret == -EINTR) diff --git a/fs/Kconfig b/fs/Kconfig index 57f2676f4..351200055 100644 --- a/fs/Kconfig +++ b/fs/Kconfig @@ -94,7 +94,7 @@ source fs/squashfs/Kconfig config FS_RATP bool - depends on CONSOLE_RATP + depends on RATP prompt "RATP filesystem support" help This enables support for transferring files over RATP. A host can diff --git a/lib/Kconfig b/lib/Kconfig index 9562b1b8c..572985860 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -84,7 +84,7 @@ config STMP_DEVICE config RATP select CRC16 - bool + bool "RATP protocol support" help Reliable Asynchronous Transfer Protocol (RATP) is a protocol for reliably transferring packets over serial links described in RFC916. This implementation diff --git a/lib/readline.c b/lib/readline.c index 1e380abec..904a77639 100644 --- a/lib/readline.c +++ b/lib/readline.c @@ -202,7 +202,7 @@ int readline(const char *prompt, char *buf, int len) while (1) { while (!tstc()) { poller_call(); - if (IS_ENABLED(CONFIG_RATP)) + if (IS_ENABLED(CONFIG_CONSOLE_RATP)) barebox_ratp_command_run(); } -- 2.15.1 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox