From patchwork Wed Jul 24 23:05:02 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fabio Estevam X-Patchwork-Id: 2833108 Return-Path: X-Original-To: patchwork-linux-input@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 7191AC0319 for ; Wed, 24 Jul 2013 23:05:15 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 7C1F6201E9 for ; Wed, 24 Jul 2013 23:05:14 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 666A8201E1 for ; Wed, 24 Jul 2013 23:05:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752805Ab3GXXFM (ORCPT ); Wed, 24 Jul 2013 19:05:12 -0400 Received: from mail-gg0-f174.google.com ([209.85.161.174]:43899 "EHLO mail-gg0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752518Ab3GXXFL (ORCPT ); Wed, 24 Jul 2013 19:05:11 -0400 Received: by mail-gg0-f174.google.com with SMTP id y3so208830ggc.33 for ; Wed, 24 Jul 2013 16:05:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer; bh=a7lKcRY9JwqbApm28UrLjbxlKkhEt/uqzZvdo6QbIrA=; b=POgvO9R6eZqHjwKFgNMFrjsb4K6XF2P00c/oSq6J2L8ySK3iezUVjTQSQnRbBFR7r3 7Zv0H6aNTtTaYUaeGls7JZ6jQ6LDHvmd/14z//EkMCFczfuiBs+4Qjb68fzNQcu8bgo+ hLJldSRFZFd74QforoBzxQGy8xcfgyYDLRpCf3heVU/lRScYp9rEdtelcSaQMHrzJS8G s5pdQSAERmqCnGL+abVLF1tZWZ6MvzE0pWoYaFFWW7jmdMKpb9vEqA6JGYOE/Yjkz2Zi APqw0u4j+Xa+pGK9/HiFWCO+mk/4uK53HRhF7XKPKFG7ulMyIqLZmUawUc+KaG3aJYgq 7hPA== X-Received: by 10.236.71.8 with SMTP id q8mr18345253yhd.181.1374707110904; Wed, 24 Jul 2013 16:05:10 -0700 (PDT) Received: from localhost.localdomain ([177.194.44.29]) by mx.google.com with ESMTPSA id a62sm54883785yhk.4.2013.07.24.16.05.09 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 24 Jul 2013 16:05:10 -0700 (PDT) From: Fabio Estevam To: dmitry.torokhov@gmail.com Cc: linux-input@vger.kernel.org, Fabio Estevam Subject: [PATCH] Input: max11801_ts - convert to devm Date: Wed, 24 Jul 2013 20:05:02 -0300 Message-Id: <1374707102-5461-1-git-send-email-festevam@gmail.com> X-Mailer: git-send-email 1.8.1.2 Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=ham 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: Fabio Estevam Converting to devm functions can make the code smaller and cleaner. Signed-off-by: Fabio Estevam --- drivers/input/touchscreen/max11801_ts.c | 37 ++++++++------------------------- 1 file changed, 9 insertions(+), 28 deletions(-) diff --git a/drivers/input/touchscreen/max11801_ts.c b/drivers/input/touchscreen/max11801_ts.c index 00bc6ca..9f84fcd 100644 --- a/drivers/input/touchscreen/max11801_ts.c +++ b/drivers/input/touchscreen/max11801_ts.c @@ -181,12 +181,11 @@ static int max11801_ts_probe(struct i2c_client *client, struct input_dev *input_dev; int error; - data = kzalloc(sizeof(struct max11801_data), GFP_KERNEL); - input_dev = input_allocate_device(); + data = devm_kzalloc(&client->dev, sizeof(*data), GFP_KERNEL); + input_dev = devm_input_allocate_device(&client->dev); if (!data || !input_dev) { dev_err(&client->dev, "Failed to allocate memory\n"); - error = -ENOMEM; - goto err_free_mem; + return -ENOMEM; } data->client = client; @@ -205,38 +204,21 @@ static int max11801_ts_probe(struct i2c_client *client, max11801_ts_phy_init(data); - error = request_threaded_irq(client->irq, NULL, max11801_ts_interrupt, - IRQF_TRIGGER_LOW | IRQF_ONESHOT, - "max11801_ts", data); + error = devm_request_threaded_irq(&client->dev, client->irq, NULL, + max11801_ts_interrupt, + IRQF_TRIGGER_LOW | IRQF_ONESHOT, + "max11801_ts", data); if (error) { dev_err(&client->dev, "Failed to register interrupt\n"); - goto err_free_mem; + return error; } error = input_register_device(data->input_dev); if (error) - goto err_free_irq; + return error; i2c_set_clientdata(client, data); return 0; - -err_free_irq: - free_irq(client->irq, data); -err_free_mem: - input_free_device(input_dev); - kfree(data); - return error; -} - -static int max11801_ts_remove(struct i2c_client *client) -{ - struct max11801_data *data = i2c_get_clientdata(client); - - free_irq(client->irq, data); - input_unregister_device(data->input_dev); - kfree(data); - - return 0; } static const struct i2c_device_id max11801_ts_id[] = { @@ -252,7 +234,6 @@ static struct i2c_driver max11801_ts_driver = { }, .id_table = max11801_ts_id, .probe = max11801_ts_probe, - .remove = max11801_ts_remove, }; module_i2c_driver(max11801_ts_driver);