From patchwork Tue Dec 21 20:11:06 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cosmin Tanislav X-Patchwork-Id: 12690553 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 22F03C433F5 for ; Tue, 21 Dec 2021 20:11:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232272AbhLUUL2 (ORCPT ); Tue, 21 Dec 2021 15:11:28 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41678 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229916AbhLUUL1 (ORCPT ); Tue, 21 Dec 2021 15:11:27 -0500 Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com [IPv6:2a00:1450:4864:20::52b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CDAABC061574; Tue, 21 Dec 2021 12:11:26 -0800 (PST) Received: by mail-ed1-x52b.google.com with SMTP id j21so52138888edt.9; Tue, 21 Dec 2021 12:11:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ZcYF0sJxfCsW5AbyQlpVqnAvfQ5ZjjzzRLMoH53YhLw=; b=Gi8L57PPvhuXcja1D3wFp2AkNoaB7TKIi4o+uOtS4L4ydvxYaxnP2EemQW46AGg2Pw kyBcv3YElHNDZ336eJoPGyG3TsGnxtFg33VDslZJdviFNZomjav9Fwty0n5Y5bWLlACC jnpT1yVQEtOsHdMHqetGLhmsqjmv9stC1sI3KpqxLh8dCRXksy9Wqjk74Lza3YZ4cRRl 52SwljS035GU7q5EhD5tnmc5OxCvWMGA99rcHAXT1cPL/6ZeXMDEOj8CC5JHzOgFP9p7 ABg8UpX3tZpw75zlZRumWgwaYyo6qNMG6h5k2flspqqVJEKL6eTM5DsITVV2CgJ4Pp9F Z/SQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ZcYF0sJxfCsW5AbyQlpVqnAvfQ5ZjjzzRLMoH53YhLw=; b=lc0N8jgPjGOo4QQ2VIqg6Ce2/QI/b8q9O5QuKw9yTpZrwdVeCwDr6amLMkscPCIw5D /5DFw0ZIepsnr4mruzsP7Jb28GHQm8q8KrEdALtzB9muthqm308I8fc1ESooRb9xTBf/ wYxr1Evft+DZVR/0Dq67xTSv+W/nZ+JWyCHXbr2+LQq9FeHaKJBDGPe88WelV6OWblce IQQtofydQs3s5miKXDU2Zv2iGQX5h+4Jt1iJqYeVsHSh5GkM0M+DkzpjU3txjHgKBEM1 1qpRXnHT7kH7boQy+bbTptCg9kgovOu0VNAFby5h22J6Gz93DBb9LJkq9Qb21thAY09r xQ9w== X-Gm-Message-State: AOAM5324MLnbhrVM1W9I9zUm0BsxkjPmui5r/xVE2AaYS4X/EDPhB+tX amz0HxefKX/1DfGPTXBOUOg= X-Google-Smtp-Source: ABdhPJwuuhZqAj3MyCbcWW64G3oL8Lkpm3t6gaNMjAWXD782vtRN81Ip/EO2HEcFUgAC5P09mYNZEw== X-Received: by 2002:aa7:de86:: with SMTP id j6mr4945878edv.1.1640117485317; Tue, 21 Dec 2021 12:11:25 -0800 (PST) Received: from demon-pc.localdomain ([188.24.42.157]) by smtp.gmail.com with ESMTPSA id b7sm8648418edj.24.2021.12.21.12.11.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Dec 2021 12:11:24 -0800 (PST) From: Cosmin Tanislav Cc: cosmin.tanislav@analog.com, demonsingur@gmail.com, Jean Delvare , Guenter Roeck , linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 1/8] hwmon: (adt7410) Pass name to core driver Date: Tue, 21 Dec 2021 22:11:06 +0200 Message-Id: <20211221201113.752827-1-demonsingur@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-hwmon@vger.kernel.org From: Cosmin Tanislav It will later be used to register hwmon device using hwmon_device_register_with_info. Signed-off-by: Cosmin Tanislav --- drivers/hwmon/adt7410.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/hwmon/adt7410.c b/drivers/hwmon/adt7410.c index 973db057427b..ef4b5af865e9 100644 --- a/drivers/hwmon/adt7410.c +++ b/drivers/hwmon/adt7410.c @@ -45,7 +45,7 @@ static int adt7410_i2c_probe(struct i2c_client *client) I2C_FUNC_SMBUS_BYTE_DATA | I2C_FUNC_SMBUS_WORD_DATA)) return -ENODEV; - return adt7x10_probe(&client->dev, NULL, client->irq, &adt7410_i2c_ops); + return adt7x10_probe(&client->dev, client->name, client->irq, &adt7410_i2c_ops); } static int adt7410_i2c_remove(struct i2c_client *client) From patchwork Tue Dec 21 20:11:07 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cosmin Tanislav X-Patchwork-Id: 12690555 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E6FF1C433EF for ; Tue, 21 Dec 2021 20:11:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232616AbhLUUL3 (ORCPT ); Tue, 21 Dec 2021 15:11:29 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41684 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232617AbhLUUL2 (ORCPT ); Tue, 21 Dec 2021 15:11:28 -0500 Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com [IPv6:2a00:1450:4864:20::536]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CCBB4C061574; Tue, 21 Dec 2021 12:11:27 -0800 (PST) Received: by mail-ed1-x536.google.com with SMTP id z5so56569098edd.3; Tue, 21 Dec 2021 12:11:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=TZKAtR6UT3uSpTIEo5wgVOep5oODFFJr46+sXEmJhnY=; b=m/de/yD2sHNNMg5WvFIFvr8GV7EWEddhE3u5XLi2Qy7uMleWXeTtM67bsyBLOr/Z0F wI/D0OollyRtvUqmzYRdOQAS4ZgQw+HKrM4LlV7YQyXTFILDJase3WA87e2HE6FrxAR+ W5E7h37cobYkBvvMsbpyVWJqw06upScj+K5tPVRSX0AhgsoA3Y5O0mh6EYpaH3p5RnPm U9AFjo3V/5KTFiDaxm9pVKjViKU4lWn+rTHez3U/rDSQboXd1cIHfxR3L/9/ssqXfwmI KPMwpBskFpIaJNU28wlLVXHnp7VFQOV0R5E36MyFeXLve8KHaCWzAfIhTbEwYWTtKyIa GUww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=TZKAtR6UT3uSpTIEo5wgVOep5oODFFJr46+sXEmJhnY=; b=Lu05q91Yi76+NWwMkAR3sX5It8KyWcOj5BSsTGmFs5FKhI19TUUjg+ZqPW66ftK55t zOdO4GoO4Z/NM6TI70MJ2lwVF1U8P8OD7cVyys3j+82v1banWqEwcyWIGmpDPAGo0y4z TybMA0ujgMh22EoxpYP25xgSwJNh6zjP8zeHUQn2/sCCeZbCYZ7lCe+QfkxCJsVLO7bO OsGb6iZX6wsHrPO8SA7+e2XFxZ+6pG44HQa/lYfvHsWpjHPslVDiQDf7Kf5SVfTE9D6M idfzbns13W0NQMhFxsXmetm+ML3NZzY2nB1f/bUS0jOPezNX7hl4jvUFlE07OGj8MWXH sqPg== X-Gm-Message-State: AOAM531go97H7Og8uRopk7gWRPtSqa2KqdOgSYhffboKIhnwtP9XrunJ NgISHjd30dDi3h2qUQja7o0= X-Google-Smtp-Source: ABdhPJxccYsYczsiZNqc2hpn7BGX9N1CsCcLoTMwYBpR9JY8irIG3Sx1o13Zg2tz8rvruE9+XFGA0A== X-Received: by 2002:a17:907:6d04:: with SMTP id sa4mr4258959ejc.526.1640117486494; Tue, 21 Dec 2021 12:11:26 -0800 (PST) Received: from demon-pc.localdomain ([188.24.42.157]) by smtp.gmail.com with ESMTPSA id b7sm8648418edj.24.2021.12.21.12.11.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Dec 2021 12:11:26 -0800 (PST) From: Cosmin Tanislav Cc: cosmin.tanislav@analog.com, demonsingur@gmail.com, Jean Delvare , Guenter Roeck , linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 2/8] hwmon: (adt7x10) Store bus_dev in private data Date: Tue, 21 Dec 2021 22:11:07 +0200 Message-Id: <20211221201113.752827-2-demonsingur@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20211221201113.752827-1-demonsingur@gmail.com> References: <20211221201113.752827-1-demonsingur@gmail.com> MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-hwmon@vger.kernel.org From: Cosmin Tanislav It will later be used to access the bus device because callbacks only provide the hwmon device. Signed-off-by: Cosmin Tanislav --- drivers/hwmon/adt7x10.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/hwmon/adt7x10.c b/drivers/hwmon/adt7x10.c index e9d33aa78a19..2439da9b64e6 100644 --- a/drivers/hwmon/adt7x10.c +++ b/drivers/hwmon/adt7x10.c @@ -56,6 +56,7 @@ struct adt7x10_data { const struct adt7x10_ops *ops; const char *name; struct device *hwmon_dev; + struct device *bus_dev; struct mutex update_lock; u8 config; u8 oldconfig; @@ -368,6 +369,7 @@ int adt7x10_probe(struct device *dev, const char *name, int irq, data->ops = ops; data->name = name; + data->bus_dev = dev; dev_set_drvdata(dev, data); mutex_init(&data->update_lock); From patchwork Tue Dec 21 20:11:08 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cosmin Tanislav X-Patchwork-Id: 12690557 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 58897C433FE for ; Tue, 21 Dec 2021 20:11:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232944AbhLUULa (ORCPT ); Tue, 21 Dec 2021 15:11:30 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41690 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232840AbhLUUL3 (ORCPT ); Tue, 21 Dec 2021 15:11:29 -0500 Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com [IPv6:2a00:1450:4864:20::52c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F16C6C06173F; Tue, 21 Dec 2021 12:11:28 -0800 (PST) Received: by mail-ed1-x52c.google.com with SMTP id z29so56386907edl.7; Tue, 21 Dec 2021 12:11:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=dJbcpdnDDMMTdDCFrmCCsQpcL+qTK/8WeB+Pk+8w5E4=; b=KD9YPs0vn5CRpbMzX23WzwSZW9pwp1o+e5tCJWGTnr0Z23o499M1S6CGKXGcymzYO8 Sq4+HZSSZDfQQVVw+hC8xpnVxAen+Z02nhZ7TKziTBox8nuUKttyyCftaZCIVI4S1QyD uDi5DKWnX1P+feIICgVTC7wdOatJe/YTMkjIemYuuM+4++roVPh51oELiAyt3b+AC/Yi qw51Ksupq/hdOPRkgGwH0bq32YH2DMYR+P8GAFdIoId0s07+/YwXAObx0V0xnvf0u3kD KkXjBR+5Pn34mMbMyMz6uwmSg4YeatDJYBHsPIH4uvCL6+HMN7ms5RIOnmFaA9RgLG2H 8fDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=dJbcpdnDDMMTdDCFrmCCsQpcL+qTK/8WeB+Pk+8w5E4=; b=QOO/uvB8iT5vxXQTtVxBpheKJUCmvvmJhYD0MBcPfnDcW4pc0RKcd1sH/LsZw1rze0 IlnNBEQrLrUFX+T+xfQk4LKJByK8cWD98KY+1b96OmN4sDRnC1MXMzDc2BS7FHIh2LsZ hauIeZH0/CRQJIztw35ITUMNi7ZL8V8T6yIN/oa5MTI8HLbB3sYyfP5XyFSqm90QEJn8 z4K5FV1XYRGuOkPBC7DfysYOi/VbMBsPSWGRa/yevgopRqXxJq9Tm/BkoT+IjGEQzoTV nYED2xvGen8QHo2f/EPL0n8839C+fPKKdlYyCSbMj2FwueyD8sCuLdkmrU/aVhTgOq9K 9bfA== X-Gm-Message-State: AOAM532icozctm1Z3DvsJpcBMnaEAvXQz4R+crChTBJDwlO2MMipLzW4 VEdebPhW60OmEOM8e+g2dCo= X-Google-Smtp-Source: ABdhPJxnsjb0s7EdEpBiQWUMRjRxqnwWdLFR5/GgF/cvO4lCZVutWZJsOYloxYw4vY3mjWuLro07lg== X-Received: by 2002:a17:907:7f8f:: with SMTP id qk15mr4180352ejc.455.1640117487563; Tue, 21 Dec 2021 12:11:27 -0800 (PST) Received: from demon-pc.localdomain ([188.24.42.157]) by smtp.gmail.com with ESMTPSA id b7sm8648418edj.24.2021.12.21.12.11.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Dec 2021 12:11:27 -0800 (PST) From: Cosmin Tanislav Cc: cosmin.tanislav@analog.com, demonsingur@gmail.com, Jean Delvare , Guenter Roeck , linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 3/8] hwmon: (adt7x10) Add device managed action for restoring config Date: Tue, 21 Dec 2021 22:11:08 +0200 Message-Id: <20211221201113.752827-3-demonsingur@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20211221201113.752827-1-demonsingur@gmail.com> References: <20211221201113.752827-1-demonsingur@gmail.com> MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-hwmon@vger.kernel.org From: Cosmin Tanislav To simplify the core driver remove function. Signed-off-by: Cosmin Tanislav --- drivers/hwmon/adt7x10.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/drivers/hwmon/adt7x10.c b/drivers/hwmon/adt7x10.c index 2439da9b64e6..e8a6c541a590 100644 --- a/drivers/hwmon/adt7x10.c +++ b/drivers/hwmon/adt7x10.c @@ -357,6 +357,17 @@ static const struct attribute_group adt7x10_group = { .attrs = adt7x10_attributes, }; +static void adt7x10_restore_config(void *private) +{ + struct adt7x10_data *data = private; + struct device *dev = data->bus_dev; + + if (data->oldconfig == data->config) + return; + + adt7x10_write_byte(dev, ADT7X10_CONFIG, data->oldconfig); +} + int adt7x10_probe(struct device *dev, const char *name, int irq, const struct adt7x10_ops *ops) { @@ -397,14 +408,18 @@ int adt7x10_probe(struct device *dev, const char *name, int irq, } dev_dbg(dev, "Config %02x\n", data->config); + ret = devm_add_action_or_reset(dev, adt7x10_restore_config, data); + if (ret) + return ret; + ret = adt7x10_fill_cache(dev); if (ret) - goto exit_restore; + return ret; /* Register sysfs hooks */ ret = sysfs_create_group(&dev->kobj, &adt7x10_group); if (ret) - goto exit_restore; + return ret; /* * The I2C device will already have it's own 'name' attribute, but for @@ -440,8 +455,6 @@ int adt7x10_probe(struct device *dev, const char *name, int irq, device_remove_file(dev, &dev_attr_name); exit_remove: sysfs_remove_group(&dev->kobj, &adt7x10_group); -exit_restore: - adt7x10_write_byte(dev, ADT7X10_CONFIG, data->oldconfig); return ret; } EXPORT_SYMBOL_GPL(adt7x10_probe); @@ -457,8 +470,6 @@ void adt7x10_remove(struct device *dev, int irq) if (data->name) device_remove_file(dev, &dev_attr_name); sysfs_remove_group(&dev->kobj, &adt7x10_group); - if (data->oldconfig != data->config) - adt7x10_write_byte(dev, ADT7X10_CONFIG, data->oldconfig); } EXPORT_SYMBOL_GPL(adt7x10_remove); From patchwork Tue Dec 21 20:11:09 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cosmin Tanislav X-Patchwork-Id: 12690559 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3C248C433EF for ; Tue, 21 Dec 2021 20:11:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233114AbhLUULb (ORCPT ); Tue, 21 Dec 2021 15:11:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41696 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232964AbhLUULa (ORCPT ); Tue, 21 Dec 2021 15:11:30 -0500 Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com [IPv6:2a00:1450:4864:20::52d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 322E5C061574; Tue, 21 Dec 2021 12:11:30 -0800 (PST) Received: by mail-ed1-x52d.google.com with SMTP id y22so56648170edq.2; Tue, 21 Dec 2021 12:11:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=3hzVVNNTwrq5MeJGsLzNhP86bxCeJA6LTvVaw5X/r10=; b=o8tS/B3OO8kO2j5AQ1El8Q3h+ueFMBpj067S8KR6LMufEcJKHB5wQeM2kJ5YH6Pv/w +PdnFyTKkUk8/7SlQ/2j2wLu7byU7XUbGWKozi3wY1DZ9gHeBMsoF/pcWfKeETpnamr9 A/+IWdJeQoVCw9Kw27WNTfIZSkH5241cNDRtAZGmN/DLbTz/ezXeyNpstcOFF7bniLee m919NyBBJdvNW2nathgyhJSCQclf1RWJNlYAw00ekgbdaCNryaUCDLYpuvq5Z4gwi158 a9UbVJGkD1QhwnRb2CMXmzww+JUgw7RMpm+Vn68N57H5tT+3dTfXgqBvYv8vVTec1Dkv BwuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=3hzVVNNTwrq5MeJGsLzNhP86bxCeJA6LTvVaw5X/r10=; b=pc5Ik0TjDg6aKqYjPYguw5WaPHEPj7MVdXMOVjuvXMnBxBzdvXIuXL6lNxyuujSExv qXwPf7Q+rO0ZGo9Gk+SrSq2mxelRNXZhMUbUhceWZvZbOl7mxk+xKx0Pg5tnKzMgIAFj SXttfcD1Q+HBJcAvE5lBDSOSqReU1ASZmiB/Y7TApSsAF3Ru6a2MC+TatdxyhjhbLijR x7vOctHJsfwj7bKn0SSLh3fK0N0iv9ko40/1PYKzDv79ierifHtJQLcCojITA1YpwO46 erxcubjVD3rgnw/1nYIaA9RASi4gYFy2++VrAhtNpiMYqC9oqyzA8kbikAZT8YD1OIz2 JIjg== X-Gm-Message-State: AOAM532WCE6kLW9WN/srb6C+4ExkhGd2vm3d18ScG/aq8e1AKdUdqc9b 3nmSyXgMP0QPkNHpXkSIqRg= X-Google-Smtp-Source: ABdhPJw6pks/0BDCFx2abWrru/lJlbTR/dTDV/suoou1SNYDViHxh9Ew+q1NbX6AxCJgsZglSdkoww== X-Received: by 2002:a17:906:4788:: with SMTP id cw8mr3922562ejc.22.1640117488664; Tue, 21 Dec 2021 12:11:28 -0800 (PST) Received: from demon-pc.localdomain ([188.24.42.157]) by smtp.gmail.com with ESMTPSA id b7sm8648418edj.24.2021.12.21.12.11.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Dec 2021 12:11:28 -0800 (PST) From: Cosmin Tanislav Cc: cosmin.tanislav@analog.com, demonsingur@gmail.com, Jean Delvare , Guenter Roeck , linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 4/8] hwmon: (adt7x10) Use devm_hwmon_device_register_with_info Date: Tue, 21 Dec 2021 22:11:09 +0200 Message-Id: <20211221201113.752827-4-demonsingur@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20211221201113.752827-1-demonsingur@gmail.com> References: <20211221201113.752827-1-demonsingur@gmail.com> MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-hwmon@vger.kernel.org From: Cosmin Tanislav Describe the only available channel, implement read, write and is_visible callbacks. Signed-off-by: Cosmin Tanislav --- drivers/hwmon/adt7x10.c | 233 ++++++++++++++++++++-------------------- 1 file changed, 114 insertions(+), 119 deletions(-) diff --git a/drivers/hwmon/adt7x10.c b/drivers/hwmon/adt7x10.c index e8a6c541a590..2e6e54bf1d15 100644 --- a/drivers/hwmon/adt7x10.c +++ b/drivers/hwmon/adt7x10.c @@ -54,8 +54,6 @@ /* Each client has this additional data */ struct adt7x10_data { const struct adt7x10_ops *ops; - const char *name; - struct device *hwmon_dev; struct device *bus_dev; struct mutex update_lock; u8 config; @@ -218,14 +216,11 @@ static int ADT7X10_REG_TO_TEMP(struct adt7x10_data *data, s16 reg) /* sysfs attributes for hwmon */ -static ssize_t adt7x10_temp_show(struct device *dev, - struct device_attribute *da, char *buf) +static int adt7x10_temp_read(struct adt7x10_data *data, int index, long *val) { - struct sensor_device_attribute *attr = to_sensor_dev_attr(da); - struct adt7x10_data *data = dev_get_drvdata(dev); - + struct device *dev = data->bus_dev; - if (attr->index == 0) { + if (index == 0) { int ret; ret = adt7x10_update_temp(dev); @@ -233,39 +228,28 @@ static ssize_t adt7x10_temp_show(struct device *dev, return ret; } - return sprintf(buf, "%d\n", ADT7X10_REG_TO_TEMP(data, - data->temp[attr->index])); + *val = ADT7X10_REG_TO_TEMP(data, data->temp[index]); + + return 0; } -static ssize_t adt7x10_temp_store(struct device *dev, - struct device_attribute *da, - const char *buf, size_t count) +static int adt7x10_temp_write(struct adt7x10_data *data, unsigned int nr, + long temp) { - struct sensor_device_attribute *attr = to_sensor_dev_attr(da); - struct adt7x10_data *data = dev_get_drvdata(dev); - int nr = attr->index; - long temp; + struct device *dev = data->bus_dev; int ret; - ret = kstrtol(buf, 10, &temp); - if (ret) - return ret; - mutex_lock(&data->update_lock); data->temp[nr] = ADT7X10_TEMP_TO_REG(temp); ret = adt7x10_write_word(dev, ADT7X10_REG_TEMP[nr], data->temp[nr]); - if (ret) - count = ret; mutex_unlock(&data->update_lock); - return count; + + return ret; } -static ssize_t adt7x10_t_hyst_show(struct device *dev, - struct device_attribute *da, char *buf) +static int adt7x10_hyst_read(struct adt7x10_data *data, unsigned int nr, + long *val) { - struct sensor_device_attribute *attr = to_sensor_dev_attr(da); - struct adt7x10_data *data = dev_get_drvdata(dev); - int nr = attr->index; int hyst; hyst = (data->hyst & ADT7X10_T_HYST_MASK) * 1000; @@ -276,85 +260,127 @@ static ssize_t adt7x10_t_hyst_show(struct device *dev, */ if (nr == 2) /* min has positive offset, others have negative */ hyst = -hyst; - return sprintf(buf, "%d\n", - ADT7X10_REG_TO_TEMP(data, data->temp[nr]) - hyst); + + *val = ADT7X10_REG_TO_TEMP(data, data->temp[nr]) - hyst; + + return 0; } -static ssize_t adt7x10_t_hyst_store(struct device *dev, - struct device_attribute *da, - const char *buf, size_t count) +static int adt7x10_hyst_write(struct adt7x10_data *data, long hyst) { - struct adt7x10_data *data = dev_get_drvdata(dev); - int limit, ret; - long hyst; + struct device *dev = data->bus_dev; + int limit; - ret = kstrtol(buf, 10, &hyst); - if (ret) - return ret; /* convert absolute hysteresis value to a 4 bit delta value */ limit = ADT7X10_REG_TO_TEMP(data, data->temp[1]); hyst = clamp_val(hyst, ADT7X10_TEMP_MIN, ADT7X10_TEMP_MAX); data->hyst = clamp_val(DIV_ROUND_CLOSEST(limit - hyst, 1000), - 0, ADT7X10_T_HYST_MASK); - ret = adt7x10_write_byte(dev, ADT7X10_T_HYST, data->hyst); - if (ret) - return ret; - - return count; + 0, ADT7X10_T_HYST_MASK); + return adt7x10_write_byte(dev, ADT7X10_T_HYST, data->hyst); } -static ssize_t adt7x10_alarm_show(struct device *dev, - struct device_attribute *da, char *buf) +static int adt7x10_alarm_read(struct adt7x10_data *data, unsigned int index, + long *val) { - struct sensor_device_attribute *attr = to_sensor_dev_attr(da); + struct device *dev = data->bus_dev; int ret; ret = adt7x10_read_byte(dev, ADT7X10_STATUS); if (ret < 0) return ret; - return sprintf(buf, "%d\n", !!(ret & attr->index)); + *val = !!(ret & index); + + return 0; +} + +static umode_t adt7x10_is_visible(const void *data, + enum hwmon_sensor_types type, + u32 attr, int channel) +{ + umode_t mode = 0444; + + switch (attr) { + case hwmon_temp_max: + case hwmon_temp_min: + case hwmon_temp_crit: + case hwmon_temp_max_hyst: + mode |= 0200; + break; + default: + break; + } + + return mode; +} + +static int adt7x10_read(struct device *dev, enum hwmon_sensor_types type, + u32 attr, int channel, long *val) +{ + struct adt7x10_data *data = dev_get_drvdata(dev); + + switch (attr) { + case hwmon_temp_input: + return adt7x10_temp_read(data, 0, val); + case hwmon_temp_max: + return adt7x10_temp_read(data, 1, val); + case hwmon_temp_min: + return adt7x10_temp_read(data, 2, val); + case hwmon_temp_crit: + return adt7x10_temp_read(data, 3, val); + case hwmon_temp_max_hyst: + return adt7x10_hyst_read(data, 1, val); + case hwmon_temp_min_hyst: + return adt7x10_hyst_read(data, 2, val); + case hwmon_temp_crit_hyst: + return adt7x10_hyst_read(data, 3, val); + case hwmon_temp_min_alarm: + return adt7x10_alarm_read(data, ADT7X10_STAT_T_LOW, val); + case hwmon_temp_max_alarm: + return adt7x10_alarm_read(data, ADT7X10_STAT_T_HIGH, val); + case hwmon_temp_crit_alarm: + return adt7x10_alarm_read(data, ADT7X10_STAT_T_CRIT, val); + default: + return -EOPNOTSUPP; + } } -static ssize_t name_show(struct device *dev, struct device_attribute *da, - char *buf) +static int adt7x10_write(struct device *dev, enum hwmon_sensor_types type, + u32 attr, int channel, long val) { struct adt7x10_data *data = dev_get_drvdata(dev); - return sprintf(buf, "%s\n", data->name); + switch (attr) { + case hwmon_temp_max: + return adt7x10_temp_write(data, 1, val); + case hwmon_temp_min: + return adt7x10_temp_write(data, 2, val); + case hwmon_temp_crit: + return adt7x10_temp_write(data, 3, val); + case hwmon_temp_max_hyst: + return adt7x10_hyst_write(data, val); + default: + return -EOPNOTSUPP; + } } -static SENSOR_DEVICE_ATTR_RO(temp1_input, adt7x10_temp, 0); -static SENSOR_DEVICE_ATTR_RW(temp1_max, adt7x10_temp, 1); -static SENSOR_DEVICE_ATTR_RW(temp1_min, adt7x10_temp, 2); -static SENSOR_DEVICE_ATTR_RW(temp1_crit, adt7x10_temp, 3); -static SENSOR_DEVICE_ATTR_RW(temp1_max_hyst, adt7x10_t_hyst, 1); -static SENSOR_DEVICE_ATTR_RO(temp1_min_hyst, adt7x10_t_hyst, 2); -static SENSOR_DEVICE_ATTR_RO(temp1_crit_hyst, adt7x10_t_hyst, 3); -static SENSOR_DEVICE_ATTR_RO(temp1_min_alarm, adt7x10_alarm, - ADT7X10_STAT_T_LOW); -static SENSOR_DEVICE_ATTR_RO(temp1_max_alarm, adt7x10_alarm, - ADT7X10_STAT_T_HIGH); -static SENSOR_DEVICE_ATTR_RO(temp1_crit_alarm, adt7x10_alarm, - ADT7X10_STAT_T_CRIT); -static DEVICE_ATTR_RO(name); - -static struct attribute *adt7x10_attributes[] = { - &sensor_dev_attr_temp1_input.dev_attr.attr, - &sensor_dev_attr_temp1_max.dev_attr.attr, - &sensor_dev_attr_temp1_min.dev_attr.attr, - &sensor_dev_attr_temp1_crit.dev_attr.attr, - &sensor_dev_attr_temp1_max_hyst.dev_attr.attr, - &sensor_dev_attr_temp1_min_hyst.dev_attr.attr, - &sensor_dev_attr_temp1_crit_hyst.dev_attr.attr, - &sensor_dev_attr_temp1_min_alarm.dev_attr.attr, - &sensor_dev_attr_temp1_max_alarm.dev_attr.attr, - &sensor_dev_attr_temp1_crit_alarm.dev_attr.attr, - NULL +static const struct hwmon_channel_info *adt7x10_info[] = { + HWMON_CHANNEL_INFO(temp, HWMON_T_INPUT | HWMON_T_MAX | HWMON_T_MIN | + HWMON_T_CRIT | HWMON_T_MAX_HYST | HWMON_T_MIN_HYST | + HWMON_T_CRIT_HYST | HWMON_T_MIN_ALARM | + HWMON_T_MAX_ALARM | HWMON_T_CRIT_ALARM), + NULL, +}; + +static const struct hwmon_ops adt7x10_hwmon_ops = { + .is_visible = adt7x10_is_visible, + .read = adt7x10_read, + .write = adt7x10_write, }; -static const struct attribute_group adt7x10_group = { - .attrs = adt7x10_attributes, +static const struct hwmon_chip_info adt7x10_chip_info = { + .ops = &adt7x10_hwmon_ops, + .info = adt7x10_info, }; static void adt7x10_restore_config(void *private) @@ -372,6 +398,7 @@ int adt7x10_probe(struct device *dev, const char *name, int irq, const struct adt7x10_ops *ops) { struct adt7x10_data *data; + struct device *hdev; int ret; data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL); @@ -379,7 +406,6 @@ int adt7x10_probe(struct device *dev, const char *name, int irq, return -ENOMEM; data->ops = ops; - data->name = name; data->bus_dev = dev; dev_set_drvdata(dev, data); @@ -416,26 +442,11 @@ int adt7x10_probe(struct device *dev, const char *name, int irq, if (ret) return ret; - /* Register sysfs hooks */ - ret = sysfs_create_group(&dev->kobj, &adt7x10_group); - if (ret) + hdev = devm_hwmon_device_register_with_info(dev, name, data, + &adt7x10_chip_info, NULL); + if (IS_ERR(hdev)) { + ret = PTR_ERR(hdev); return ret; - - /* - * The I2C device will already have it's own 'name' attribute, but for - * the SPI device we need to register it. name will only be non NULL if - * the device doesn't register the 'name' attribute on its own. - */ - if (name) { - ret = device_create_file(dev, &dev_attr_name); - if (ret) - goto exit_remove; - } - - data->hwmon_dev = hwmon_device_register(dev); - if (IS_ERR(data->hwmon_dev)) { - ret = PTR_ERR(data->hwmon_dev); - goto exit_remove_name; } if (irq > 0) { @@ -443,33 +454,17 @@ int adt7x10_probe(struct device *dev, const char *name, int irq, IRQF_TRIGGER_FALLING | IRQF_ONESHOT, dev_name(dev), dev); if (ret) - goto exit_hwmon_device_unregister; + return ret; } return 0; - -exit_hwmon_device_unregister: - hwmon_device_unregister(data->hwmon_dev); -exit_remove_name: - if (name) - device_remove_file(dev, &dev_attr_name); -exit_remove: - sysfs_remove_group(&dev->kobj, &adt7x10_group); - return ret; } EXPORT_SYMBOL_GPL(adt7x10_probe); void adt7x10_remove(struct device *dev, int irq) { - struct adt7x10_data *data = dev_get_drvdata(dev); - if (irq > 0) free_irq(irq, dev); - - hwmon_device_unregister(data->hwmon_dev); - if (data->name) - device_remove_file(dev, &dev_attr_name); - sysfs_remove_group(&dev->kobj, &adt7x10_group); } EXPORT_SYMBOL_GPL(adt7x10_remove); From patchwork Tue Dec 21 20:11:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cosmin Tanislav X-Patchwork-Id: 12690561 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E8DD7C433FE for ; Tue, 21 Dec 2021 20:11:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233162AbhLUULc (ORCPT ); Tue, 21 Dec 2021 15:11:32 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41700 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232617AbhLUULb (ORCPT ); Tue, 21 Dec 2021 15:11:31 -0500 Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com [IPv6:2a00:1450:4864:20::52e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 41EA2C061574; Tue, 21 Dec 2021 12:11:31 -0800 (PST) Received: by mail-ed1-x52e.google.com with SMTP id x15so56633161edv.1; Tue, 21 Dec 2021 12:11:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=86w3eyiKacs5uaGphCz79xA1hlTYBtSnubTIMb1PBmo=; b=C6NNhnaC5dQsip41C8bA79Pb6VEgDKG+PlB2pjm/+yDzAaZpn9T+tKxOA9AYTqCF+m BAnY6S3mKuFr/+0J4XMBpFP1KG6fzgnI6HOqlzef0qC6nvSWSkeLWAw3DPIL4hmsue9E j5gXWG8Jxc6YsMLUnzbcP29KjQAk3Bks+xfQonqJLqQowixlivU7BwZech7LWtqwbg/h fDVqROqgJmOkSDa7Qo/LCtUaIx8VVorq3v35yOpbIcVdYUdpJIldbJzSIFcb6kG4tLnp 6pbqur8YM3hhkUDfgS67IIFC/MOHv3RuiUKlIgRSgyYvVCLsbPdXoXbqCJbdJ7S4nSNQ kvEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=86w3eyiKacs5uaGphCz79xA1hlTYBtSnubTIMb1PBmo=; b=Nr6zGoVXpNGoAFz7phfAQHo6YLtqGYwwMqSObnf7MaRwBFIFLDWYxHZyO6zQtb1wci IKiMwXf9X7jaugLRrMOrwLn9YP5IvWHUdtjROjcuzkKRsnQdIUIJBek3yc0y9pqOAM05 FDYUlBEtCUCiwn5ePZLjRiDRMmsc7KYSIj/VP9MD2h/h8V+D1oCSEbcbnU8HIe9QElEs t5VzGDHhmRiSZG2kpj41K9TIbKKTDXd/Y8rfNqADy9SiDPlMMOK0G2CjVh6t0ttHGSRW ppy4rAZzVnsBAkK/v1cpVYeo8ygB0dJGbdSCdUXjb5J1vsF538D+X6FwVPF9FllHgMEM d6dA== X-Gm-Message-State: AOAM53208LG2EAbQRprY8rF/xNnfNn5c2bESvpFdjXvVAkezyiMfHsBx Ub7XK2EcXghIpObOp12PFek= X-Google-Smtp-Source: ABdhPJwHyi9UMUfHXV5nwZ+yYblHiXV94EW7QH/Ab6j80kL0vyUJNb9nggswXNFmDPlMe5OXHmpc+g== X-Received: by 2002:a17:907:72d1:: with SMTP id du17mr3947583ejc.3.1640117489628; Tue, 21 Dec 2021 12:11:29 -0800 (PST) Received: from demon-pc.localdomain ([188.24.42.157]) by smtp.gmail.com with ESMTPSA id b7sm8648418edj.24.2021.12.21.12.11.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Dec 2021 12:11:29 -0800 (PST) From: Cosmin Tanislav Cc: cosmin.tanislav@analog.com, demonsingur@gmail.com, Jean Delvare , Guenter Roeck , linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 5/8] hwmon: (adt7x10) Use devm_request_threaded_irq Date: Tue, 21 Dec 2021 22:11:10 +0200 Message-Id: <20211221201113.752827-5-demonsingur@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20211221201113.752827-1-demonsingur@gmail.com> References: <20211221201113.752827-1-demonsingur@gmail.com> MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-hwmon@vger.kernel.org From: Cosmin Tanislav To simplify the core driver remove function. Signed-off-by: Cosmin Tanislav --- drivers/hwmon/adt7x10.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/hwmon/adt7x10.c b/drivers/hwmon/adt7x10.c index 2e6e54bf1d15..84e8879d4ca7 100644 --- a/drivers/hwmon/adt7x10.c +++ b/drivers/hwmon/adt7x10.c @@ -450,9 +450,11 @@ int adt7x10_probe(struct device *dev, const char *name, int irq, } if (irq > 0) { - ret = request_threaded_irq(irq, NULL, adt7x10_irq_handler, - IRQF_TRIGGER_FALLING | IRQF_ONESHOT, - dev_name(dev), dev); + ret = devm_request_threaded_irq(dev, irq, NULL, + adt7x10_irq_handler, + IRQF_TRIGGER_FALLING | + IRQF_ONESHOT, + dev_name(dev), dev); if (ret) return ret; } @@ -463,8 +465,6 @@ EXPORT_SYMBOL_GPL(adt7x10_probe); void adt7x10_remove(struct device *dev, int irq) { - if (irq > 0) - free_irq(irq, dev); } EXPORT_SYMBOL_GPL(adt7x10_remove); From patchwork Tue Dec 21 20:11:11 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cosmin Tanislav X-Patchwork-Id: 12690563 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0FFF3C4332F for ; Tue, 21 Dec 2021 20:11:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233300AbhLUULd (ORCPT ); Tue, 21 Dec 2021 15:11:33 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41706 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233150AbhLUULc (ORCPT ); Tue, 21 Dec 2021 15:11:32 -0500 Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com [IPv6:2a00:1450:4864:20::52c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EC3C1C061574; Tue, 21 Dec 2021 12:11:31 -0800 (PST) Received: by mail-ed1-x52c.google.com with SMTP id b13so27962158edd.8; Tue, 21 Dec 2021 12:11:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=BA+v3goAVRURICMHVlSY017b1rgwX+hSP8YzYWtBDZY=; b=eYx0at8HNSAAuVnTdvx4KhFG0+3h2Gahlmw1DGbdUf9o1MPoEdK2OHsB+fr3Y01LgD vFWr6q97pdJwwl9+uAioOupL8/qt7WeyOrNS2io2HEw8VFsFbAGWPw/teXMxQdnvXW9X 87nmcLe+XXpbjwpJ43NEmoYaFuDPe+MCCgmkskW95Cxw45QZ+8sHQgf8IQ2dIDPL5V8f 41j1TS9p5WGCyb1ih6ZwpuQ0W/+bA8jDJ9mX7LuHg9EBkcDVtPph5w+L7/fXrf/AOsoQ fy8FzQqtpCKA+5ZKjIQCT964zm7Y/+JgCvvicerP0cH6rUWu+55PK+ZxlfOrKFI+93/0 Gk7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=BA+v3goAVRURICMHVlSY017b1rgwX+hSP8YzYWtBDZY=; b=G9umAMawYex90hpJg92/13M3i3DPANsXSpnqYx1uWzLVt+stXEeVTh6xWmr4QDHM5V 8YC9RCwzMeWNDROlZYz8dknq9QXRdUdTE3PwoW6kvBsptbdh7eN3Ly7+OlgvicVXgTgY IhZbL2ilhUCf2E5pkWI/N38QiBHNsRpZNyjNpkaRbJ6u6kRYf6nBnCqpfTQ5BmJ0vShv D4Ub0A9p/h7jLF72T5Hc52QmmFNELxaUupuVVl5KQId91ioprF51SSMRNP9TWu5+nO7Q 69lQOE9yMFxHDqWsii7+vNM6fJHVSOVUJVcgBwU4EmW3Xm4do4wZWHXZaaaO/9kFo+oS SxMQ== X-Gm-Message-State: AOAM533A4K9wQAkR1eb2r9C7fBWFgRn1PSk0GcRajKULOYVFmDzhTkl0 7PMv0OY3w5VOUcNwOz7vES0= X-Google-Smtp-Source: ABdhPJxoQTWDPiGl6u8xtB5wrijgR5K+mMDwmuzyTC3ohCw6pCzL0AdN9r9lmCB9Wk1Ki+L9mHVGxA== X-Received: by 2002:a17:906:d554:: with SMTP id cr20mr3952464ejc.356.1640117490633; Tue, 21 Dec 2021 12:11:30 -0800 (PST) Received: from demon-pc.localdomain ([188.24.42.157]) by smtp.gmail.com with ESMTPSA id b7sm8648418edj.24.2021.12.21.12.11.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Dec 2021 12:11:30 -0800 (PST) From: Cosmin Tanislav Cc: cosmin.tanislav@analog.com, demonsingur@gmail.com, Jean Delvare , Guenter Roeck , linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 6/8] hwmon: (adt7x10) Remove empty driver removal callback Date: Tue, 21 Dec 2021 22:11:11 +0200 Message-Id: <20211221201113.752827-6-demonsingur@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20211221201113.752827-1-demonsingur@gmail.com> References: <20211221201113.752827-1-demonsingur@gmail.com> MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-hwmon@vger.kernel.org From: Cosmin Tanislav Not used to do anything anymore. Signed-off-by: Cosmin Tanislav --- drivers/hwmon/adt7310.c | 7 ------- drivers/hwmon/adt7410.c | 7 ------- drivers/hwmon/adt7x10.c | 5 ----- drivers/hwmon/adt7x10.h | 1 - 4 files changed, 20 deletions(-) diff --git a/drivers/hwmon/adt7310.c b/drivers/hwmon/adt7310.c index c40cac16af68..4a69b394525b 100644 --- a/drivers/hwmon/adt7310.c +++ b/drivers/hwmon/adt7310.c @@ -88,12 +88,6 @@ static int adt7310_spi_probe(struct spi_device *spi) &adt7310_spi_ops); } -static int adt7310_spi_remove(struct spi_device *spi) -{ - adt7x10_remove(&spi->dev, spi->irq); - return 0; -} - static const struct spi_device_id adt7310_id[] = { { "adt7310", 0 }, { "adt7320", 0 }, @@ -107,7 +101,6 @@ static struct spi_driver adt7310_driver = { .pm = ADT7X10_DEV_PM_OPS, }, .probe = adt7310_spi_probe, - .remove = adt7310_spi_remove, .id_table = adt7310_id, }; module_spi_driver(adt7310_driver); diff --git a/drivers/hwmon/adt7410.c b/drivers/hwmon/adt7410.c index ef4b5af865e9..2ad79533a384 100644 --- a/drivers/hwmon/adt7410.c +++ b/drivers/hwmon/adt7410.c @@ -48,12 +48,6 @@ static int adt7410_i2c_probe(struct i2c_client *client) return adt7x10_probe(&client->dev, client->name, client->irq, &adt7410_i2c_ops); } -static int adt7410_i2c_remove(struct i2c_client *client) -{ - adt7x10_remove(&client->dev, client->irq); - return 0; -} - static const struct i2c_device_id adt7410_ids[] = { { "adt7410", 0 }, { "adt7420", 0 }, @@ -68,7 +62,6 @@ static struct i2c_driver adt7410_driver = { .pm = ADT7X10_DEV_PM_OPS, }, .probe_new = adt7410_i2c_probe, - .remove = adt7410_i2c_remove, .id_table = adt7410_ids, .address_list = I2C_ADDRS(0x48, 0x49, 0x4a, 0x4b), }; diff --git a/drivers/hwmon/adt7x10.c b/drivers/hwmon/adt7x10.c index 84e8879d4ca7..72d3a5de359e 100644 --- a/drivers/hwmon/adt7x10.c +++ b/drivers/hwmon/adt7x10.c @@ -463,11 +463,6 @@ int adt7x10_probe(struct device *dev, const char *name, int irq, } EXPORT_SYMBOL_GPL(adt7x10_probe); -void adt7x10_remove(struct device *dev, int irq) -{ -} -EXPORT_SYMBOL_GPL(adt7x10_remove); - #ifdef CONFIG_PM_SLEEP static int adt7x10_suspend(struct device *dev) diff --git a/drivers/hwmon/adt7x10.h b/drivers/hwmon/adt7x10.h index a1ae682eb32e..bde674e24ca0 100644 --- a/drivers/hwmon/adt7x10.h +++ b/drivers/hwmon/adt7x10.h @@ -26,7 +26,6 @@ struct adt7x10_ops { int adt7x10_probe(struct device *dev, const char *name, int irq, const struct adt7x10_ops *ops); -void adt7x10_remove(struct device *dev, int irq); #ifdef CONFIG_PM_SLEEP extern const struct dev_pm_ops adt7x10_dev_pm_ops; From patchwork Tue Dec 21 20:11:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cosmin Tanislav X-Patchwork-Id: 12690567 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id EBA78C43217 for ; Tue, 21 Dec 2021 20:11:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233233AbhLUULi (ORCPT ); Tue, 21 Dec 2021 15:11:38 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41712 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233294AbhLUULd (ORCPT ); Tue, 21 Dec 2021 15:11:33 -0500 Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com [IPv6:2a00:1450:4864:20::535]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0D16AC061574; Tue, 21 Dec 2021 12:11:33 -0800 (PST) Received: by mail-ed1-x535.google.com with SMTP id z29so56387526edl.7; Tue, 21 Dec 2021 12:11:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=4Jkv8qUJh2Qvz2gJBqyHxg6YZrouzoh2tHirL2oPEjY=; b=i7DlPC8hunO7b9Ca44FoAj4NTyiOe5HIz1Gox/5gJSMbPz2fPZqHAdAc1Bpk0iLaeP isEhr58ECcupjzJqCRDjRF7e8S1Jf2VTKz+kKsUDhT1rT10Z1I1GgP7hDp8gjLs7PWQ2 x8J5q0suZzmlGj1H/hu3TCPxy4LThURmBT8OQPqDg3nze3rUGi/B8q0a6wXug3stgsHr dSNdlpEJkq+lTE1sU04UremTCofRqGBBKKtTUZ2/lcoaDJbTcDX5xUqz2zIqa8GupROD ElW8BNNzrKGltyKR+w9Kz6SR7tymcDU7npMK2K0NvlS0uCDO5nUJ4ZjWPLJFdjzZQ7Xk UHiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=4Jkv8qUJh2Qvz2gJBqyHxg6YZrouzoh2tHirL2oPEjY=; b=jGzn6VDrPzsedn0gmaPnXbWsgfv/tn/aBnK+qChaP/qux5zsozylC5nk2t11xzTwVM 1qBL2HGzxR1GITKdBKXW+DhPoWom/hHLvupc+pJqfJyT+88pjXwQCiEkqY8hD1UEI6d9 VW/EOX7BSDHmALMMu4REo7/HI97naPUFiMuMYvKxF62MIEE2hEUTONlniI0MK0kxARZ3 UnzPzMMQJuCS4IFLF52f+DB4bcuFXxH3PXqq3RWMTYwpWICGXqVX9BCs0YbJaVJ6UVE/ +HekZPvmgzTwDuuf2lJXU+HLePSxjI7O1yIlcZGMTHWIFfJ4Yp3LE7LRk2HKqVkD7Qnn uwrw== X-Gm-Message-State: AOAM532TNFQGRkORM8I0LG5a2qv0vJ5mBygQPwDlzNu1ZrNoGQWIukPA 9O+15HeIBCnNbnXPHlxlLPY= X-Google-Smtp-Source: ABdhPJwWX6ueiELbbia9OPY/Ac0P/7wg0qodfLA+B+wmLR0+lP7vxpCPVRySSl4e9j0ejCKFJyTkTg== X-Received: by 2002:a17:907:7616:: with SMTP id jx22mr4130824ejc.119.1640117491688; Tue, 21 Dec 2021 12:11:31 -0800 (PST) Received: from demon-pc.localdomain ([188.24.42.157]) by smtp.gmail.com with ESMTPSA id b7sm8648418edj.24.2021.12.21.12.11.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Dec 2021 12:11:31 -0800 (PST) From: Cosmin Tanislav Cc: cosmin.tanislav@analog.com, demonsingur@gmail.com, Jean Delvare , Guenter Roeck , linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 7/8] hwmon: (adt7x10) Pass hwinfo dev to irq handler Date: Tue, 21 Dec 2021 22:11:12 +0200 Message-Id: <20211221201113.752827-7-demonsingur@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20211221201113.752827-1-demonsingur@gmail.com> References: <20211221201113.752827-1-demonsingur@gmail.com> MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-hwmon@vger.kernel.org From: Cosmin Tanislav The irq handler will need to trigger events on the hwmon device. Pass it so that we don't store it in private data. Signed-off-by: Cosmin Tanislav --- drivers/hwmon/adt7x10.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/hwmon/adt7x10.c b/drivers/hwmon/adt7x10.c index 72d3a5de359e..964cbe43de46 100644 --- a/drivers/hwmon/adt7x10.c +++ b/drivers/hwmon/adt7x10.c @@ -101,7 +101,9 @@ static const u8 ADT7X10_REG_TEMP[4] = { static irqreturn_t adt7x10_irq_handler(int irq, void *private) { - struct device *dev = private; + struct device *hdev = private; + struct adt7x10_data *d = dev_get_drvdata(hdev); + struct device *dev = d->bus_dev; int status; status = adt7x10_read_byte(dev, ADT7X10_STATUS); @@ -454,7 +456,7 @@ int adt7x10_probe(struct device *dev, const char *name, int irq, adt7x10_irq_handler, IRQF_TRIGGER_FALLING | IRQF_ONESHOT, - dev_name(dev), dev); + dev_name(dev), hdev); if (ret) return ret; } From patchwork Tue Dec 21 20:11:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cosmin Tanislav X-Patchwork-Id: 12690565 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 61C39C433EF for ; Tue, 21 Dec 2021 20:11:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233456AbhLUULh (ORCPT ); Tue, 21 Dec 2021 15:11:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41718 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233322AbhLUULe (ORCPT ); Tue, 21 Dec 2021 15:11:34 -0500 Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com [IPv6:2a00:1450:4864:20::529]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 169DFC06173F; Tue, 21 Dec 2021 12:11:34 -0800 (PST) Received: by mail-ed1-x529.google.com with SMTP id m21so943708edc.0; Tue, 21 Dec 2021 12:11:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=3Yt9Z3R3Mz6HQLD0UxdravpstVCwaJ2Fm/yBXqM+ku8=; b=bC5mDLBffrpjxhP74SsDcqbCtldL7iv5RMYhAojPGVYe3AfzmNgwr/aLOSd/av0I1g 3JDiU0LENFq/NWiuvkg2KIrIVavgltwj0jmGDqcW2QDuv4zTWGw2c33gitzujf2gcOGQ 7RS6vQsSHXfoDJN+xQYl8y5JNvL1y83d3ABH8PT+C0rDv2dss3nC0k4gvjv4GH9sGCRn saoAk541XLKhv64VKoaA23dECf6Hj/uSVd2X05PUqWGQpxzf7jmGi2UvZq1P/Sfzhuel +0WVRgiqEVj27Ij4Woy/K9TlDXjOI1rK8Kmzrktj2GbyUpdPn9ljw+YIcSUhipOFxTQ1 c0ag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=3Yt9Z3R3Mz6HQLD0UxdravpstVCwaJ2Fm/yBXqM+ku8=; b=eesWALFBtKxsA4Qv9t0ticRFRC+DdBq5LiY0YctR0AxUeM8Zg/5/jFqxY3HlKsqeKC VZFFjoVUsF8HPm2FfxLWAyjsiz6Um2U4CSz4+4RksZWU9u3XRerUG19ab8lxrONv6yJ0 b5ghXpReq2r5kA4qsYxTKyk2H8E6o4pAUgiw26Reif4igpkr1H+yVW81qnBhrJTJrvPA sGBFqNZpQzs51HoV56DsYLoGcBUdpB4/lrQ/2wxYg4IrMYagUIoD0zP0s28iwi7pne2X mt5GU9c/viDME6soZ/E+tqem+VScxEhWCfQ8WQF/GEWxH3NtvnGzSvs+opdTVTJ8gAFt od7g== X-Gm-Message-State: AOAM532zXkuCQey4oBjNabYpeC89iBE0vPV5aHngB/2AXnRvmHo+uY6h 7mapW1XmPgbY+JlpD5hlOPk= X-Google-Smtp-Source: ABdhPJxqBIF3l2S0ltYO5l0DH4DmRrWHmYEpRCiiiozmgYiU91cxkq2LKI7iWWLguVkqFAKTZnaj+w== X-Received: by 2002:a17:907:1c02:: with SMTP id nc2mr4174991ejc.333.1640117492694; Tue, 21 Dec 2021 12:11:32 -0800 (PST) Received: from demon-pc.localdomain ([188.24.42.157]) by smtp.gmail.com with ESMTPSA id b7sm8648418edj.24.2021.12.21.12.11.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Dec 2021 12:11:32 -0800 (PST) From: Cosmin Tanislav Cc: cosmin.tanislav@analog.com, demonsingur@gmail.com, Jean Delvare , Guenter Roeck , linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 8/8] hwmon: (adt7x10) Use hwmon_notify_event Date: Tue, 21 Dec 2021 22:11:13 +0200 Message-Id: <20211221201113.752827-8-demonsingur@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20211221201113.752827-1-demonsingur@gmail.com> References: <20211221201113.752827-1-demonsingur@gmail.com> MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-hwmon@vger.kernel.org From: Cosmin Tanislav The hwmon subsystem provides means of notifying userspace about events. Use it. Signed-off-by: Cosmin Tanislav --- drivers/hwmon/adt7x10.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/hwmon/adt7x10.c b/drivers/hwmon/adt7x10.c index 964cbe43de46..994160bd8901 100644 --- a/drivers/hwmon/adt7x10.c +++ b/drivers/hwmon/adt7x10.c @@ -111,11 +111,11 @@ static irqreturn_t adt7x10_irq_handler(int irq, void *private) return IRQ_HANDLED; if (status & ADT7X10_STAT_T_HIGH) - sysfs_notify(&dev->kobj, NULL, "temp1_max_alarm"); + hwmon_notify_event(hdev, hwmon_temp, hwmon_temp_max_alarm, 0); if (status & ADT7X10_STAT_T_LOW) - sysfs_notify(&dev->kobj, NULL, "temp1_min_alarm"); + hwmon_notify_event(hdev, hwmon_temp, hwmon_temp_min_alarm, 0); if (status & ADT7X10_STAT_T_CRIT) - sysfs_notify(&dev->kobj, NULL, "temp1_crit_alarm"); + hwmon_notify_event(hdev, hwmon_temp, hwmon_temp_crit_alarm, 0); return IRQ_HANDLED; }