Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752071AbdCSPoa (ORCPT ); Sun, 19 Mar 2017 11:44:30 -0400 Received: from mail-lf0-f41.google.com ([209.85.215.41]:35369 "EHLO mail-lf0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751731AbdCSPo1 (ORCPT ); Sun, 19 Mar 2017 11:44:27 -0400 Subject: Re: [PATCH] braille-console: Fix value returned by _braille_console_setup To: Samuel Thibault References: <20170319143726.p6motwasbc2lfdao@var.youpi.perso.aquilenet.fr> Cc: Steven Rostedt , Petr Mladek , Ming Lei , linux-serial@vger.kernel.org, Joe Perches , linux-kernel@vger.kernel.org From: Aleksey Makarov Message-ID: <0e1043b5-c585-5f4a-cde7-1afd60c0db56@linaro.org> Date: Sun, 19 Mar 2017 18:44:23 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <20170319143726.p6motwasbc2lfdao@var.youpi.perso.aquilenet.fr> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2959 Lines: 101 On 03/19/2017 05:37 PM, Samuel Thibault wrote: > 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. Did you test the code on real braille hardware? I am asking because there could also be other problems with the code that have not been run for 3 years since it was changed. Thank you Aleksey Makarov > Signed-off-by: Samuel Thibault > Cc: Aleksey Makarov > Cc: Joe Perches > Cc: Ming Lei > Cc: Steven Rostedt > Cc: Petr Mladek > > 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,15 @@ 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"); > + return -EINVAL; > + } > else > *((*str)++) = 0; > - } else > - return NULL; > + } > > - 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 >