From patchwork Wed Dec 2 16:24:20 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thierry Reding X-Patchwork-Id: 7748381 Return-Path: X-Original-To: patchwork-dri-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id BCD94BEEE1 for ; Wed, 2 Dec 2015 16:24:27 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id DD9B32058C for ; Wed, 2 Dec 2015 16:24:26 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id 2330620524 for ; Wed, 2 Dec 2015 16:24:25 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 22FA96EA3F; Wed, 2 Dec 2015 08:24:24 -0800 (PST) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-wm0-f42.google.com (mail-wm0-f42.google.com [74.125.82.42]) by gabe.freedesktop.org (Postfix) with ESMTPS id 400666EA3F for ; Wed, 2 Dec 2015 08:24:23 -0800 (PST) Received: by wmww144 with SMTP id w144so64038528wmw.0 for ; Wed, 02 Dec 2015 08:24:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=1JBusF43IDYslxtO705OuwTdXcvcwVKmI5JQBGgx25I=; b=LcUYpLP6SzrSr/PIPi1V+zXerB9uYzFIqeBa5N2PzK4nBQrfyw1Z/8BetpnKHeETuJ SR4rbPExnEUsdafQe9Xc/2twvHrQrE+vjChfLtJFJXmlIsiFhchiSWzIcvgMrvqxLXiM lFMgWwTZmKBDLWLwpoFME1MaxXPG9qmIgvoNg8Dp1kGajvqo9BJ036BxsExtgvb6fwfS M9my/qwwmDLtS1F53rTqLRJjdvgmIuny8w8UOcoQm04dFJiDjaskR6X2oW+0PzWR7ekp zfvfb+dUcpNJB5nvniTOOne/A9nStogs6qI1JiPCJyOCfBAItajlmKBVOm9ClAzeuktu nmzQ== X-Received: by 10.28.47.8 with SMTP id v8mr45959648wmv.30.1449073461728; Wed, 02 Dec 2015 08:24:21 -0800 (PST) Received: from localhost (port-973.pppoe.wtnet.de. [84.46.3.208]) by smtp.gmail.com with ESMTPSA id ej10sm3450440wjd.32.2015.12.02.08.24.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 02 Dec 2015 08:24:20 -0800 (PST) From: Thierry Reding To: Thierry Reding Subject: [PATCH] gpu: host1x: Use platform_register/unregister_drivers() Date: Wed, 2 Dec 2015 17:24:20 +0100 Message-Id: <1449073460-11652-1-git-send-email-thierry.reding@gmail.com> X-Mailer: git-send-email 2.5.0 Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_MED, T_DKIM_INVALID, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP 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 --- drivers/gpu/host1x/dev.c | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c index 53d3d1d45b48..64d9b707ee1a 100644 --- a/drivers/gpu/host1x/dev.c +++ b/drivers/gpu/host1x/dev.c @@ -212,6 +212,11 @@ static struct platform_driver tegra_host1x_driver = { .remove = host1x_remove, }; +static struct platform_driver * const drivers[] = { + &tegra_host1x_driver, + &tegra_mipi_driver, +}; + static int __init tegra_host1x_init(void) { int err; @@ -220,28 +225,17 @@ static int __init tegra_host1x_init(void) if (err < 0) return err; - err = platform_driver_register(&tegra_host1x_driver); - if (err < 0) - goto unregister_bus; - - err = platform_driver_register(&tegra_mipi_driver); + err = platform_register_drivers(drivers, ARRAY_SIZE(drivers)); if (err < 0) - goto unregister_host1x; + bus_unregister(&host1x_bus_type); - return 0; - -unregister_host1x: - platform_driver_unregister(&tegra_host1x_driver); -unregister_bus: - bus_unregister(&host1x_bus_type); return err; } module_init(tegra_host1x_init); static void __exit tegra_host1x_exit(void) { - platform_driver_unregister(&tegra_mipi_driver); - platform_driver_unregister(&tegra_host1x_driver); + platform_unregister_drivers(drivers, ARRAY_SIZE(drivers)); bus_unregister(&host1x_bus_type); } module_exit(tegra_host1x_exit);