From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753674AbaIYPlx (ORCPT ); Thu, 25 Sep 2014 11:41:53 -0400 Received: from mga11.intel.com ([192.55.52.93]:38793 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753592AbaIYPlv (ORCPT ); Thu, 25 Sep 2014 11:41:51 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.04,597,1406617200"; d="scan'208";a="605317619" From: Octavian Purdila To: sameo@linux.intel.com, lee.jones@linaro.org Cc: linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, johan@kernel.org, Octavian Purdila Subject: [PATCH v4 2/3] mfd: viperboard: switch to devm_ allocation Date: Thu, 25 Sep 2014 18:41:36 +0300 Message-Id: <1411659697-27258-3-git-send-email-octavian.purdila@intel.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1411659697-27258-1-git-send-email-octavian.purdila@intel.com> References: <1411659697-27258-1-git-send-email-octavian.purdila@intel.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Switch to using devm_ allocation to simplify the error path. Also remove a redundant OOM error message. Signed-off-by: Octavian Purdila --- drivers/mfd/viperboard.c | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/drivers/mfd/viperboard.c b/drivers/mfd/viperboard.c index 5f62f4e..0d46d05 100644 --- a/drivers/mfd/viperboard.c +++ b/drivers/mfd/viperboard.c @@ -58,17 +58,14 @@ static int vprbrd_probe(struct usb_interface *interface, int pipe, ret; /* allocate memory for our device state and initialize it */ - vb = kzalloc(sizeof(*vb), GFP_KERNEL); - if (vb == NULL) { - dev_err(&interface->dev, "Out of memory\n"); + vb = devm_kzalloc(&interface->dev, sizeof(*vb), GFP_KERNEL); + if (vb == NULL) return -ENOMEM; - } - vb->buf = kzalloc(sizeof(struct vprbrd_i2c_write_msg), GFP_KERNEL); - if (vb->buf == NULL) { - ret = -ENOMEM; - goto error; - } + vb->buf = devm_kzalloc(&interface->dev, + sizeof(struct vprbrd_i2c_write_msg), GFP_KERNEL); + if (vb->buf == NULL) + return -ENOMEM; mutex_init(&vb->lock); @@ -109,11 +106,7 @@ static int vprbrd_probe(struct usb_interface *interface, return 0; error: - if (vb) { - usb_put_dev(vb->usb_dev); - kfree(vb->buf); - kfree(vb); - } + usb_put_dev(vb->usb_dev); return ret; } @@ -125,8 +118,6 @@ static void vprbrd_disconnect(struct usb_interface *interface) mfd_remove_devices(&interface->dev); usb_set_intfdata(interface, NULL); usb_put_dev(vb->usb_dev); - kfree(vb->buf); - kfree(vb); dev_dbg(&interface->dev, "disconnected\n"); } -- 1.9.1