From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933528AbbLBRc7 (ORCPT ); Wed, 2 Dec 2015 12:32:59 -0500 Received: from mail-pa0-f46.google.com ([209.85.220.46]:36156 "EHLO mail-pa0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933411AbbLBRc4 (ORCPT ); Wed, 2 Dec 2015 12:32:56 -0500 Date: Wed, 2 Dec 2015 09:32:51 -0800 From: Dmitry Torokhov To: Thierry Reding Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] Input: sparcspkr - Use platform_register/unregister_drivers() Message-ID: <20151202173251.GB15531@dtor-ws> References: <1449073519-11768-1-git-send-email-thierry.reding@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1449073519-11768-1-git-send-email-thierry.reding@gmail.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Dec 02, 2015 at 05:25:19PM +0100, Thierry Reding wrote: > From: Thierry Reding > > These new helpers simplify implementing multi-driver modules and > properly handle failure to register one driver by unregistering all > previously registered drivers. > > Signed-off-by: Thierry Reding Applied, thank you. > --- > drivers/input/misc/sparcspkr.c | 18 +++++++----------- > 1 file changed, 7 insertions(+), 11 deletions(-) > > diff --git a/drivers/input/misc/sparcspkr.c b/drivers/input/misc/sparcspkr.c > index 6f997aa49183..4a5afc7fe96e 100644 > --- a/drivers/input/misc/sparcspkr.c > +++ b/drivers/input/misc/sparcspkr.c > @@ -345,23 +345,19 @@ static struct platform_driver grover_beep_driver = { > .shutdown = sparcspkr_shutdown, > }; > > +static struct platform_driver * const drivers[] = { > + &bbc_beep_driver, > + &grover_beep_driver, > +}; > + > static int __init sparcspkr_init(void) > { > - int err = platform_driver_register(&bbc_beep_driver); > - > - if (!err) { > - err = platform_driver_register(&grover_beep_driver); > - if (err) > - platform_driver_unregister(&bbc_beep_driver); > - } > - > - return err; > + return platform_register_drivers(drivers, ARRAY_SIZE(drivers)); > } > > static void __exit sparcspkr_exit(void) > { > - platform_driver_unregister(&bbc_beep_driver); > - platform_driver_unregister(&grover_beep_driver); > + platform_unregister_drivers(drivers, ARRAY_SIZE(drivers)); > } > > module_init(sparcspkr_init); > -- > 2.5.0 > -- Dmitry