Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751773AbdCZU5N (ORCPT ); Sun, 26 Mar 2017 16:57:13 -0400 Received: from hera.aquilenet.fr ([141.255.128.1]:54360 "EHLO hera.aquilenet.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751493AbdCZU5F (ORCPT ); Sun, 26 Mar 2017 16:57:05 -0400 Date: Sun, 26 Mar 2017 22:47:36 +0200 From: Samuel Thibault To: Petr Mladek , Sergey Senozhatsky , Steven Rostedt Cc: Ming Lei , Aleksey Makarov , linux-serial@vger.kernel.org, Joe Perches , linux-kernel@vger.kernel.org Subject: [PATCHv2] braille-console: Fix value returned by _braille_console_setup Message-ID: <20170326204736.65jjbfrfvammgxqy@var.youpi.perso.aquilenet.fr> Mail-Followup-To: Samuel Thibault , Petr Mladek , Sergey Senozhatsky , Steven Rostedt , Ming Lei , Aleksey Makarov , linux-serial@vger.kernel.org, Joe Perches , linux-kernel@vger.kernel.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2613 Lines: 94 commit bbeddf52adc1 ("printk: move braille console support into separate braille.[ch] files") introduced _braille_console_setup() to outline the braille initialization code. There was however some confusion over the value it was supposed to return. commit 2cfe6c4ac7ee ("printk: Fix return of braille_register_console()") tried to fix it but failed to. This fixes and documents the returned value according to the use in printk.c: non-zero return means a parsing error, and thus this console configuration should be ignored. Signed-off-by: Samuel Thibault Cc: Aleksey Makarov Cc: Joe Perches Cc: Ming Lei Cc: Steven Rostedt Acked-by: Petr Mladek --- new in v2: - drop now-useless else Index: linux-4.10/kernel/printk/braille.c =================================================================== --- linux-4.10.orig/kernel/printk/braille.c +++ linux-4.10/kernel/printk/braille.c @@ -2,12 +2,13 @@ #include #include +#include #include #include "console_cmdline.h" #include "braille.h" -char *_braille_console_setup(char **str, char **brl_options) +int _braille_console_setup(char **str, char **brl_options) { if (!strncmp(*str, "brl,", 4)) { *brl_options = ""; @@ -15,14 +16,14 @@ char *_braille_console_setup(char **str, } else if (!strncmp(*str, "brl=", 4)) { *brl_options = *str + 4; *str = strchr(*brl_options, ','); - if (!*str) + if (!*str) { pr_err("need port name after brl=\n"); - else - *((*str)++) = 0; - } else - return NULL; + return -EINVAL; + } + *((*str)++) = 0; + } - return *str; + return 0; } int Index: linux-4.10/kernel/printk/braille.h =================================================================== --- linux-4.10.orig/kernel/printk/braille.h +++ linux-4.10/kernel/printk/braille.h @@ -9,7 +9,14 @@ braille_set_options(struct console_cmdli c->brl_options = brl_options; } -char * +/* + * Setup console according to braille options. + * Return -EINVAL on syntax error, 0 on success (or no braille option was + * actually given). + * Modifies str to point to the serial options + * Sets brl_options to the parsed braille options. + */ +int _braille_console_setup(char **str, char **brl_options); int @@ -25,10 +32,10 @@ braille_set_options(struct console_cmdli { } -static inline char * +static inline int _braille_console_setup(char **str, char **brl_options) { - return NULL; + return 0; } static inline int