Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757621Ab0FPKHZ (ORCPT ); Wed, 16 Jun 2010 06:07:25 -0400 Received: from mailout2.w1.samsung.com ([210.118.77.12]:53344 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752978Ab0FPKHV (ORCPT ); Wed, 16 Jun 2010 06:07:21 -0400 Date: Wed, 16 Jun 2010 12:07:56 +0200 From: Michal Nazarewicz Subject: [PATCHv5 01/11] USB: gadget: g_mass_storage: static data instead of dynamic allocation In-reply-to: To: linux-usb@vger.kernel.org Cc: David Brownell , Greg KH , Kyungmin Park , Marek Szyprowski , linux-kernel@vger.kernel.org Message-id: <7131891c93ac20a3360068e2f4b8fff0de7dfafb.1276681840.git.m.nazarewicz@samsung.com> MIME-version: 1.0 X-Mailer: git-send-email 1.7.1 Content-type: TEXT/PLAIN Content-transfer-encoding: 7BIT References: <20100615185527.GA22803@kroah.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1644 Lines: 52 This patch changes msg_do_config() function so that it uses a static object for a fsg_common structure instead of dynamically allocated. This is a micro-optimisation. Signed-off-by: Michal Nazarewicz Signed-off-by: Kyungmin Park --- drivers/usb/gadget/mass_storage.c | 15 +++++++++------ 1 files changed, 9 insertions(+), 6 deletions(-) diff --git a/drivers/usb/gadget/mass_storage.c b/drivers/usb/gadget/mass_storage.c index 705cc1f..e68c00e 100644 --- a/drivers/usb/gadget/mass_storage.c +++ b/drivers/usb/gadget/mass_storage.c @@ -143,7 +143,9 @@ static int msg_thread_exits(struct fsg_common *common) static int __init msg_do_config(struct usb_configuration *c) { - struct fsg_common *common; + static struct fsg_common common; + + struct fsg_common *retp; struct fsg_config config; int ret; @@ -154,12 +156,13 @@ static int __init msg_do_config(struct usb_configuration *c) fsg_config_from_params(&config, &mod_data); config.thread_exits = msg_thread_exits; - common = fsg_common_init(0, c->cdev, &config); - if (IS_ERR(common)) - return PTR_ERR(common); - ret = fsg_add(c->cdev, c, common); - fsg_common_put(common); + retp = fsg_common_init(&common, c->cdev, &config); + if (IS_ERR(retp)) + return PTR_ERR(retp); + + ret = fsg_add(c->cdev, c, &common); + fsg_common_put(&common); return ret; } -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/