From patchwork Fri Apr 13 16:36:46 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Hern=C3=A1n_Gonzalez?= X-Patchwork-Id: 10340453 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 18DBC604D4 for ; Fri, 13 Apr 2018 16:38:42 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0DDBA28922 for ; Fri, 13 Apr 2018 16:38:42 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 012DB28926; Fri, 13 Apr 2018 16:38:41 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A1D5828922 for ; Fri, 13 Apr 2018 16:38:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752654AbeDMQih (ORCPT ); Fri, 13 Apr 2018 12:38:37 -0400 Received: from mail-qt0-f193.google.com ([209.85.216.193]:38540 "EHLO mail-qt0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752774AbeDMQif (ORCPT ); Fri, 13 Apr 2018 12:38:35 -0400 Received: by mail-qt0-f193.google.com with SMTP id z23so8647156qti.5 for ; Fri, 13 Apr 2018 09:38:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vanguardiasur-com-ar.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=g7nGO8bR3Zc6fs6EfJAtMeq6spNuLwzu3LhfHYcCQRY=; b=WZAik8LOF2dzbXgrxHJRNxPplDUKARQ7vfFO1AJNp7lUogfHPi8ZetqXPe10vRs/y5 T2AqawBP3TC4y1GlQ7x8u7RIUuXQL/XL2zEduJhRi+xIUO2+vUA56so367PeSBx5LOYV 5jz96LEVKI1a/udOinW0P8ciLMTDMZyqeu+EFW8AnEZy+WojjPaNczNU8HqqOvLpP0Gz VXG5pPV4gwj+4ru2U89y6jX365K1IF//RJ9SN5HxekeMcMoE8Q26P+uTJNW1tAQgrR9B vC6AbcJxbTGf4lUs59Ceab4SwEhetlT4LgrNaH/R0pZwsbrFDbhizeTIj7pbxxehvsBz 503Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=g7nGO8bR3Zc6fs6EfJAtMeq6spNuLwzu3LhfHYcCQRY=; b=IAMl9NnrN0Ia8bkGAvvYt2mQZkwbwSni723GO5GOukCo/iLUN4ylo2Z8Qf5SoBE3Xg EABpkA8BMOEm0m6XN+wz2if5ILIulfsIsb2DrBSVQqdANzVh45/rO8FCQNQcx8lhJeWi o2QTj4YQLiMegfmZncnrCYP7/mKC92d48NIcZ8SsnSy975ivLGLDP7rIi1B1SnvIVemX 2Zj2nk1kPU/pBcQ8xjDa4jgWwf4O0Y5xK73ymk0N2CsgD43Lr4F0MHsFBjGgrdv9yzqT IEN17cCeHGu23Tcj1uqjmt9y+431vl9/DIs1OYC6FfTfjSfnxyqE6LlHKuNVj6ogjiOl QHqA== X-Gm-Message-State: ALQs6tDkteMU1FrXLH7t7wRVJr05jdEii6MBwgS8zpDFa5DrpERhUQ7K SskGNNPkyvMAgvYwEQV0NvrG7A== X-Google-Smtp-Source: AIpwx48x+4Huz3JKhhRp9Cc3xkuvOUiqFzK4XnzHXpRFw+y98q9EnENlHmQkDkZ2pmQiG8j+jtMfvA== X-Received: by 10.200.34.57 with SMTP id o54mr3823518qto.117.1523637515300; Fri, 13 Apr 2018 09:38:35 -0700 (PDT) Received: from localhost.localdomain ([190.210.56.45]) by smtp.gmail.com with ESMTPSA id t82sm5024687qke.52.2018.04.13.09.38.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 13 Apr 2018 09:38:34 -0700 (PDT) From: =?UTF-8?q?Hern=C3=A1n=20Gonzalez?= To: jic23@kernel.org, knaack.h@gmx.de, lars@metafoo.de, pmeerw@pmeerw.net, gregkh@linuxfoundation.org, Michael.Hennerich@analog.com, linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org Cc: =?UTF-8?q?Hern=C3=A1n=20Gonzalez?= Subject: [PATCH v2 09/14] staging: iio: ad7746: Add remove() Date: Fri, 13 Apr 2018 13:36:46 -0300 Message-Id: <1523637411-8531-10-git-send-email-hernan@vanguardiasur.com.ar> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1523637411-8531-1-git-send-email-hernan@vanguardiasur.com.ar> References: <1523637411-8531-1-git-send-email-hernan@vanguardiasur.com.ar> MIME-Version: 1.0 Sender: linux-iio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This allows the driver to be probed and removed as a module powering it down on remove(). Signed-off-by: HernĂ¡n Gonzalez --- drivers/staging/iio/cdc/ad7746.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/drivers/staging/iio/cdc/ad7746.c b/drivers/staging/iio/cdc/ad7746.c index c29a221..05506bf9 100644 --- a/drivers/staging/iio/cdc/ad7746.c +++ b/drivers/staging/iio/cdc/ad7746.c @@ -775,6 +775,31 @@ static int ad7746_probe(struct i2c_client *client, return 0; } +static int ad7746_remove(struct i2c_client *client) +{ + struct iio_dev *indio_dev = i2c_get_clientdata(client); + struct ad7746_chip_info *chip = iio_priv(indio_dev); + unsigned char regval; + int ret; + + mutex_lock(&chip->lock); + + regval = chip->config | AD7746_CONF_MODE_PWRDN; + ret = i2c_smbus_write_byte_data(chip->client, AD7746_REG_CFG, regval); + + mutex_unlock(&chip->lock); + + if (ret < 0) { + dev_warn(&client->dev, "Could NOT Power Down!\n"); + goto out; + } + + iio_device_unregister(indio_dev); + +out: + return ret; +} + static const struct i2c_device_id ad7746_id[] = { { "ad7745", 7745 }, { "ad7746", 7746 }, @@ -799,6 +824,7 @@ static struct i2c_driver ad7746_driver = { .of_match_table = of_match_ptr(ad7746_of_match), }, .probe = ad7746_probe, + .remove = ad7746_remove, .id_table = ad7746_id, }; module_i2c_driver(ad7746_driver);