From patchwork Mon Apr 1 09:49:34 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jingoo Han X-Patchwork-Id: 232714 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from mail-pb0-f61.google.com (mail-pb0-f61.google.com [209.85.160.61]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority" (not verified)) by ozlabs.org (Postfix) with ESMTPS id BB2132C00C4 for ; Mon, 1 Apr 2013 20:49:38 +1100 (EST) Received: by mail-pb0-f61.google.com with SMTP id ro8sf922311pbb.6 for ; Mon, 01 Apr 2013 02:49:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20120806; h=x-received:x-beenthere:x-received:received-spf:x-auditid:from:to:cc :references:in-reply-to:subject:date:message-id:mime-version :x-mailer:thread-index:x-brightmail-tracker:x-brightmail-tracker :dlp-filter:x-mtr:x-cfilter-loop:x-original-sender :x-original-authentication-results:reply-to:precedence:mailing-list :list-id:x-google-group-id:list-post:list-help:list-archive:sender :list-subscribe:list-unsubscribe:content-type:content-language; bh=z77gX6Sf7nWgPmZcVlaofdDwq66pBPxyMRR0ioqaM7k=; b=d2wne5eJ/sBZ5zp6SkhyVZJpw5Dc7A/sRWllXSXzup8ppLyfWNvIq/4lN+z27KzHp8 B2Tn/vMkSFizN5oGS2nidn6MSJVV+abHeer/gtFGO/z//4fZwiF010/qSry4IVARJGKQ G8ghWAAcV8IYIfDaj3lhVYIje1arWpdRz7vvxoLpdHd9sKpcsEUkl4ZZtlJPD0ZyBFGY jZWUUmGwQpDx9Icxm62l4nJiWZXCAMQW4fGajprMAXekvjWobRs692L3IMwNLhUUsuUF 9ymDahaou+D3+cdfDj3ziu93pTbTjGDgNw+kqcPKjk9a9wWek02FLzxolrUr1Gxn4IrG 45cw== X-Received: by 10.50.5.197 with SMTP id u5mr825642igu.0.1364809776303; Mon, 01 Apr 2013 02:49:36 -0700 (PDT) X-BeenThere: rtc-linux@googlegroups.com Received: by 10.50.53.148 with SMTP id b20ls897446igp.27.gmail; Mon, 01 Apr 2013 02:49:36 -0700 (PDT) X-Received: by 10.68.196.134 with SMTP id im6mr2236054pbc.5.1364809775957; Mon, 01 Apr 2013 02:49:35 -0700 (PDT) Received: from mailout4.samsung.com (mailout4.samsung.com. [203.254.224.34]) by gmr-mx.google.com with ESMTP id p12si2153523pby.2.2013.04.01.02.49.35; Mon, 01 Apr 2013 02:49:35 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of jg1.han@samsung.com designates 203.254.224.34 as permitted sender) client-ip=203.254.224.34; Received: from epcpsbgr1.samsung.com (u141.gpu120.samsung.co.kr [203.254.230.141]) by mailout4.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MKK00KRPLYKWGY0@mailout4.samsung.com> for rtc-linux@googlegroups.com; Mon, 01 Apr 2013 18:49:35 +0900 (KST) Received: from epcpsbgm2.samsung.com ( [203.254.230.48]) by epcpsbgr1.samsung.com (EPCPMTA) with SMTP id 16.A4.20872.F2859515; Mon, 01 Apr 2013 18:49:35 +0900 (KST) X-AuditID: cbfee68d-b7f786d000005188-22-5159582e0953 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id 53.58.13494.E2859515; Mon, 01 Apr 2013 18:49:34 +0900 (KST) Received: from DOJG1HAN02 ([12.23.120.99]) by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MKK00BRULYMNO30@mmp1.samsung.com>; Mon, 01 Apr 2013 18:49:34 +0900 (KST) From: Jingoo Han To: 'Andrew Morton' Cc: linux-kernel@vger.kernel.org, 'Alessandro Zummo' , rtc-linux@googlegroups.com, 'Jingoo Han' References: <000c01ce2ebd$2a1307f0$7e3917d0$%han@samsung.com> In-reply-to: <000c01ce2ebd$2a1307f0$7e3917d0$%han@samsung.com> Subject: [rtc-linux] [PATCH 23/27] rtc: rtc-rs5c372: use devm_*() functions Date: Mon, 01 Apr 2013 18:49:34 +0900 Message-id: <002201ce2ebe$37558ae0$a600a0a0$%han@samsung.com> MIME-version: 1.0 X-Mailer: Microsoft Office Outlook 12.0 Thread-index: Ac4uvSmu8Ej3RSKpRZmzfFm2iz9KEwAAQP+w X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrBIsWRmVeSWpSXmKPExsVy+t8zA139iMhAgyPNzBZLLl5lt5izfg2b xeWFl1gtLu+aw2axv7OD0YHVY8/Ek2weJ2b8ZvHo27KK0WP6vJ9MHp83yQWwRnHZpKTmZJal FunbJXBlvPmzlbVgnnDF/E8NLA2MK/m7GDk5JARMJM5ve88OYYtJXLi3nq2LkYtDSGAZo8S0 7j2MMEWnn85ihEgsYpR48W0xC4Tzi1Hi1ZH5TCBVbAJqEl++HAYaxcEhIqAv0daiAVLDLNDL KHGmdzfYCiEBW4kfZ78zg9icAnYSbxbOA9sgLGAv0bRqGVgNi4CqxMnv58HivED1D6ZvYIWw BSV+TL7HAmIzC2hJrN95nAnClpfYvOYtM8heCQF1iUd/dUHCIgJGEh0/uhghSkQk9r14B/aA hMAjdokdzSfZIHYJSHybfIgFoldWYtMBZoiHJSUOrrjBMoFRYhaSzbOQbJ6FZPMsJCsWMLKs YhRNLUguKE5KLzLUK07MLS7NS9dLzs/dxAiJ1d4djLcPWB9iTAZaP5FZSjQ5HxjreSXxhsZm RhamJqbGRuaWZqQJK4nzqrVYBwoJpCeWpGanphakFsUXleakFh9iZOLglGpgnBmhvX9fyU+1 xs+sD1//zzftcw060jHtUZS18Dy/yw5cK2YFlDuGTXm+0uDut0o33/3KE2L5Vn+csHbXSuaU n08vbhdf2/ohW3nl5rYZLB25O1W16lKEdtpZbD49b2Hm5cu7Trw/kbj/+p6/jtX3JR6mLL2p klU7wV/0lqnV5+LIa4G3WBkLvyixFGckGmoxFxUnAgCn9vnx6wIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrKKsWRmVeSWpSXmKPExsVy+t9jAV29iMhAg6NvrSyWXLzKbjFn/Ro2 i8sLL7FaXN41h81if2cHowOrx56JJ9k8Tsz4zeLRt2UVo8f0eT+ZPD5vkgtgjWpgtMlITUxJ LVJIzUvOT8nMS7dV8g6Od443NTMw1DW0tDBXUshLzE21VXLxCdB1y8wB2q6kUJaYUwoUCkgs LlbSt8M0ITTETdcCpjFC1zckCK7HyAANJKxjzHjzZytrwTzhivmfGlgaGFfydzFyckgImEic fjqLEcIWk7hwbz1bFyMXh5DAIkaJF98Ws0A4vxglXh2ZzwRSxSagJvHly2H2LkYODhEBfYm2 Fg2QGmaBXkaJM7272UFqhARsJX6c/c4MYnMK2Em8WTgPbIOwgL1E06plYDUsAqoSJ7+fB4vz AtU/mL6BFcIWlPgx+R4LiM0soCWxfudxJghbXmLzmrfMIHslBNQlHv3VBQmLCBhJdPzoYoQo EZHY9+Id4wRGoVlIJs1CMmkWkkmzkLQsYGRZxSiaWpBcUJyUnmukV5yYW1yal66XnJ+7iRGc CJ5J72Bc1WBxiFGAg1GJhzfiQkSgEGtiWXFl7iFGCQ5mJRFen29AId6UxMqq1KL8+KLSnNTi Q4zJQI9OZJYSTc4HJqm8knhDYxMzI0sjMwsjE3Nz0oSVxHkPtloHCgmkJ5akZqemFqQWwWxh 4uCUamCsDv+Tf9hb3OhWiuB3xYOysrOufGx4w3H4/WqeQMXJa/VOLAm2tRXc1WV48bCzz8JM wYcsH46dnLrvzo2E+WGd/+8dKfs936/dT3lihfiq7P4l1R/CbFpE9i3yYv63IJDTuZHLf8Ov MuuEiknJ3B1npQXi0zUFNmm4HYxfq3Zvf9KcvgufytOUWIozEg21mIuKEwEXN0JESAMAAA== DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected X-Original-Sender: jg1.han@samsung.com X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: best guess record for domain of jg1.han@samsung.com designates 203.254.224.34 as permitted sender) smtp.mail=jg1.han@samsung.com Reply-To: rtc-linux@googlegroups.com Precedence: list Mailing-list: list rtc-linux@googlegroups.com; contact rtc-linux+owners@googlegroups.com List-ID: X-Google-Group-Id: 712029733259 List-Post: , List-Help: , List-Archive: Sender: rtc-linux@googlegroups.com List-Subscribe: , List-Unsubscribe: , Content-type: text/plain; charset=ISO-8859-1 Content-language: ko Use devm_*() functions to make cleanup paths simpler. Signed-off-by: Jingoo Han --- drivers/rtc/rtc-rs5c372.c | 30 +++++++++++------------------- 1 files changed, 11 insertions(+), 19 deletions(-) diff --git a/drivers/rtc/rtc-rs5c372.c b/drivers/rtc/rtc-rs5c372.c index 581739f..224d634 100644 --- a/drivers/rtc/rtc-rs5c372.c +++ b/drivers/rtc/rtc-rs5c372.c @@ -579,7 +579,9 @@ static int rs5c372_probe(struct i2c_client *client, } } - if (!(rs5c372 = kzalloc(sizeof(struct rs5c372), GFP_KERNEL))) { + rs5c372 = devm_kzalloc(&client->dev, sizeof(struct rs5c372), + GFP_KERNEL); + if (!rs5c372) { err = -ENOMEM; goto exit; } @@ -594,7 +596,7 @@ static int rs5c372_probe(struct i2c_client *client, err = rs5c_get_regs(rs5c372); if (err < 0) - goto exit_kfree; + goto exit; /* clock may be set for am/pm or 24 hr time */ switch (rs5c372->type) { @@ -617,7 +619,7 @@ static int rs5c372_probe(struct i2c_client *client, break; default: dev_err(&client->dev, "unknown RTC type\n"); - goto exit_kfree; + goto exit; } /* if the oscillator lost power and no other software (like @@ -629,7 +631,7 @@ static int rs5c372_probe(struct i2c_client *client, err = rs5c_oscillator_setup(rs5c372); if (unlikely(err < 0)) { dev_err(&client->dev, "setup error\n"); - goto exit_kfree; + goto exit; } if (rs5c372_get_datetime(client, &tm) < 0) @@ -648,38 +650,28 @@ static int rs5c372_probe(struct i2c_client *client, ); /* REVISIT use client->irq to register alarm irq ... */ - - rs5c372->rtc = rtc_device_register(rs5c372_driver.driver.name, - &client->dev, &rs5c372_rtc_ops, THIS_MODULE); + rs5c372->rtc = devm_rtc_device_register(&client->dev, + rs5c372_driver.driver.name, + &rs5c372_rtc_ops, THIS_MODULE); if (IS_ERR(rs5c372->rtc)) { err = PTR_ERR(rs5c372->rtc); - goto exit_kfree; + goto exit; } err = rs5c_sysfs_register(&client->dev); if (err) - goto exit_devreg; + goto exit; return 0; -exit_devreg: - rtc_device_unregister(rs5c372->rtc); - -exit_kfree: - kfree(rs5c372); - exit: return err; } static int rs5c372_remove(struct i2c_client *client) { - struct rs5c372 *rs5c372 = i2c_get_clientdata(client); - - rtc_device_unregister(rs5c372->rtc); rs5c_sysfs_unregister(&client->dev); - kfree(rs5c372); return 0; }