From patchwork Sun Oct 30 17:52:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Angel Iglesias X-Patchwork-Id: 13029 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp1900472wru; Sun, 30 Oct 2022 10:56:33 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7OOX/TKS4Vn5Hy9tJEqXUTvTxlLaYEf3Dh1Itgya/OYTfghbE1YcSZgG6GO8MPsWI/QDUu X-Received: by 2002:a17:903:1251:b0:17f:7f78:e71c with SMTP id u17-20020a170903125100b0017f7f78e71cmr10333580plh.147.1667152593210; Sun, 30 Oct 2022 10:56:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667152593; cv=none; d=google.com; s=arc-20160816; b=FVGXE53ZInyFUgCYHOO1BRsziiyWwMQH7Zw1jG0FxApVAEQS2Js9AL0MxFLzjlBx+g NjfCOW/MTi3zcagJyetO6Ib4MTG5TymK2TcRtHrZo8P5GYpnkyvuqFb7m9+enUoeKSgF kGLJj2Mhz22zG0CJ0IaODTxqH7oycoTvP8PJW656GvcZNZ/1qnqlW/YEgjexTmsjZFo1 IE+dW/Ko7pCMaKJHEwlWu/Qkk6w7jRmhzxbJVUYlqdkwrZ1awbzReGMhoZqKKU53tjRP 2txWVQgNDkl+fIPrBqKJgz5an8QulVVZVaMq9QQ5jkNu7/fsfH8hHQKmT52B9dyL1n+U kw8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=28Iwy7WKJjysP3FQcTD5YLfwHgdLEiUyOzIwRxaeXuY=; b=QquLUOA/B/QbEQbtVnGqvuewcg1YtFyUoA5JAOeXov3VMoEaRW+6gHawfTiBtGvIwU /qMAisT6ayH2/cl3GRz3c235NFbHuShpomG9RAC2ZPM+D6vGP2i5D5kjdUVyI+oeUIzJ X//tUjLGrFuhPZwJZ6TlfoK3jYdlQicp52YBYUwyeTnh0ZAz4KDNwbrlAZMItbdNaurr mVY4lhGABLHkKB92ZYAC1OPWVl4BSVgrdZ27n0q7Uk8uKtz07d7hootGUEApqEb29RIi xIFThgwuGBInQ2bIvs0Y/k7rDIeJJLEsh3k20lEm9Ir7MzynV3Zfj86knCeY/fgwyHT7 EHcQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=UHI2eGkx; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id em13-20020a17090b014d00b0020dbd4207fasi5325197pjb.46.2022.10.30.10.56.21; Sun, 30 Oct 2022 10:56:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=UHI2eGkx; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229674AbiJ3Rws (ORCPT + 99 others); Sun, 30 Oct 2022 13:52:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43316 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229441AbiJ3Rwr (ORCPT ); Sun, 30 Oct 2022 13:52:47 -0400 Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com [IPv6:2a00:1450:4864:20::434]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6294FA465; Sun, 30 Oct 2022 10:52:46 -0700 (PDT) Received: by mail-wr1-x434.google.com with SMTP id j15so13093897wrq.3; Sun, 30 Oct 2022 10:52:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=28Iwy7WKJjysP3FQcTD5YLfwHgdLEiUyOzIwRxaeXuY=; b=UHI2eGkxHl4aC1YV3nhvbQT8zM5JFKOSbltNjzKAW2i+nPhDjx5ApRDTLz5LtYuObJ oo94xgCk31E76rnXugf46SP5rzis++enI0d7swa9X4pxJXZEGSsJjuWKU4CSM4gz9U8V 2RAYOnUUfKYsLty66lpzo2pWHyETXq0HTp9GI6QvGaM2AATcoDyYapdImddSTha/mdIY moI5LzDdRlGPeSFRF5N5u8oYrUk+kmE1RhnvYKENZvwZR63qVem/Bfm9AdCuJjAr1N/E 9jKjgXjLd6enEQNUPZSyCzwOlvhsTxTM1dXdE/hT/+Rq7m7vYgaxwEK7PrkhWhptq0fm jj6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=28Iwy7WKJjysP3FQcTD5YLfwHgdLEiUyOzIwRxaeXuY=; b=ZTYV1P7TXRUEU9IR7ZVisn5dQm35Ibp04JwIFS3pFdhgOUVFeZOaEPPcBeGoVfGLNZ uj43N4cqnl/MTrJu+O2wZQpgjciXjDJndX0Q6J643+HpOidu2DTbIPoU9Z4D0+DKbBVO pdKsLXPUybm1hQGIdaqbzdmjoRQELrMPJLFrMgONEmHep9sKDSfwrN0GMHqcR8o1HhEw EWX6hCkduYlyPbY+XPhYxfnZq2KXE7KEs6BU4G+nTR2DNF1P4fgUb3kSfnv71rsN5a7P EB6PZInaQhKwdOv10CAYOrugwitoxprDJeZ3fgqkds4FZGmFYkytz1NUNetVNusvEIu/ PshA== X-Gm-Message-State: ACrzQf0GRctzX86gJ3PFF1am0eSTSaDbNCAlpC3iUS8E9qTqlfWi5G0J MtlA0CWGqSmtdaozRX1DqigZdAM6uj8= X-Received: by 2002:adf:a31c:0:b0:236:ba0d:246b with SMTP id c28-20020adfa31c000000b00236ba0d246bmr3615120wrb.448.1667152364691; Sun, 30 Oct 2022 10:52:44 -0700 (PDT) Received: from localhost.localdomain (188.red-83-35-57.dynamicip.rima-tde.net. [83.35.57.188]) by smtp.gmail.com with ESMTPSA id l13-20020adfe58d000000b002366f300e57sm4815074wrm.23.2022.10.30.10.52.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 30 Oct 2022 10:52:44 -0700 (PDT) From: Angel Iglesias To: linux-iio@vger.kernel.org Cc: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Andy Shevchenko , =?utf-8?q?Nuno_S=C3=A1?= , Jonathan Cameron , Angel Iglesias , Wolfram Sang , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [RFC PATCH 1/2] i2c: core: Introduce i2c_client_get_device_id helper function Date: Sun, 30 Oct 2022 18:52:18 +0100 Message-Id: X-Mailer: git-send-email 2.38.1 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1748136197369100502?= X-GMAIL-MSGID: =?utf-8?q?1748136197369100502?= Introduces new helper function to aid in .probe_new() refactors. In order to use existing i2c_get_device_id() on the probe callback, the device match table needs to be accessible in that function, which would require bigger refactors in some drivers using the deprecated .probe callback. This issue was discussed in more detail in the IIO mailing list. Link: https://lore.kernel.org/all/20221023132302.911644-11-u.kleine-koenig@pengutronix.de/ Suggested-by: Nuno Sá Suggested-by: Andy Shevchenko Suggested-by: Jonathan Cameron Signed-off-by: Angel Iglesias --- drivers/i2c/i2c-core-base.c | 15 +++++++++++++++ include/linux/i2c.h | 1 + 2 files changed, 16 insertions(+) diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c index b4edf10e8fd0..e6623226e393 100644 --- a/drivers/i2c/i2c-core-base.c +++ b/drivers/i2c/i2c-core-base.c @@ -2236,6 +2236,21 @@ int i2c_get_device_id(const struct i2c_client *client, } EXPORT_SYMBOL_GPL(i2c_get_device_id); +/** + * i2c_client_get_device_id - get the driver match table entry of a device + * @client: the device to query + * + * Returns a pointer to the matching entry if found, NULL otherwise. + */ +const struct i2c_device_id *i2c_client_get_device_id(const struct i2c_client *client) +{ + const struct i2c_driver *drv = to_i2c_driver(client->dev.driver); + + return i2c_match_id(drv->id_table, client); + +} +EXPORT_SYMBOL_GPL(i2c_client_get_device_id); + /* ---------------------------------------------------- * the i2c address scanning function * Will not work for 10-bit addresses! diff --git a/include/linux/i2c.h b/include/linux/i2c.h index f7c49bbdb8a1..d84e0e99f084 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h @@ -189,6 +189,7 @@ s32 i2c_smbus_read_i2c_block_data_or_emulated(const struct i2c_client *client, u8 *values); int i2c_get_device_id(const struct i2c_client *client, struct i2c_device_identity *id); +const struct i2c_device_id *i2c_client_get_device_id(const struct i2c_client *client); #endif /* I2C */ /** From patchwork Sun Oct 30 17:53:11 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Angel Iglesias X-Patchwork-Id: 13030 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp1900577wru; Sun, 30 Oct 2022 10:56:51 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6+Lf9Gl3WQsvvoJMT4ILsFE3w9fA5akpAZ2j1TLrwabTdkG4/tps0eavWtcrReikHtBRiU X-Received: by 2002:aa7:9212:0:b0:562:b5f6:f7d7 with SMTP id 18-20020aa79212000000b00562b5f6f7d7mr10331739pfo.70.1667152610884; Sun, 30 Oct 2022 10:56:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667152610; cv=none; d=google.com; s=arc-20160816; b=uj/k8ZcvyJ6tXjcbz5gQQQJlL/luL/SzvsEA7yz1Na9ox7iDZT5hwaiguvPHVPOnz1 7q00BE4/0z8WMPsLOxDV7Z5GKvpTzcnLw+Nv8qsax5FvTnJo2tZnJGBRoYrrgS+dMH6N hdwqC35U5TllwFGQwyqKUYc8XLSEbe4k4O97Q/rMSLr7D55ff6Oj/s3LghhOotCcltg6 NG6h9wm5WrHMdzbt+ZtJv7eVvt2ZgA9SeB7d/N/vtb5st+FXQY33RoWcOIc1tPTP6lVa ixTPh5KzRrcmxqwZzB6wI6gxd88pWnrBqPa3QggKT0nKgGF4jjKtG77wci/Xpqt+fhy1 wUjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=uh99+98k9DjiwRCEQNWBVpY/+xrac0K5mOZC2PhRLgk=; b=Cph4LPLa6/2k0MJ5/hJ5dWJRzVQBjDoMzoBYcOL/6C66HvpXjt4+e7qOkev8+RBtk5 7Wff3X0pKWxR94Ts1NSXyVf/aXY8HBBGvS2XNI37/w/Tq3BTep46Fom0KYi28E/abKg7 U9UXO23WWkK58yhiz06A9wESETYq/+Y7U6OSq0qqwEin3OBQDj6qYz7l4B8RHUb5R7+Q /MFr3GgBqJJtnVUJx8w/SQcGwI4tAPK42SYbgp6iqJUYiFkDWxsP8nClTWxX9hvMXn9w 5MC4DL3vEjb5NtSMxhF8KJOGrfzyT7eXojw4bknOzid0hugH9MHbHR2ecv6GW/kAel6c cG7g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=ejW67cUc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b1-20020a631b41000000b0046004666d82si5941504pgm.497.2022.10.30.10.56.38; Sun, 30 Oct 2022 10:56:50 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=ejW67cUc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229692AbiJ3Rxr (ORCPT + 99 others); Sun, 30 Oct 2022 13:53:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43784 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229441AbiJ3Rxp (ORCPT ); Sun, 30 Oct 2022 13:53:45 -0400 Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com [IPv6:2a00:1450:4864:20::42c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E7537A462; Sun, 30 Oct 2022 10:53:44 -0700 (PDT) Received: by mail-wr1-x42c.google.com with SMTP id cl5so1435601wrb.9; Sun, 30 Oct 2022 10:53:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=uh99+98k9DjiwRCEQNWBVpY/+xrac0K5mOZC2PhRLgk=; b=ejW67cUc978YaFYovxPuidvFmLZpzJiHzXjm5a2qGRTyOBt2JXcH9CJJgBz862Xo0o Bvc2yA/T92e8xjkoS0JWE6YyS6vtQ4i/hqmm30/q6/sDPBe8/bkb/3GLFv7v/3uegzwD 09PDOS/S5/G+LcwBAXNLuExYOJKzV+HD1FXzCMWlaetC9AR9pA9FVPyMkbvcWfCtXBQP 0zdLGOtD5IJ/ORuqGaHmKiJ8JqsVKKVj41Q931KZg6F//Pje/y9iH17AwuOAtggjH1MJ n7hdVbKxfLni/gknE4n/5PXhrWnp6PN4OMjf2dpxLqjGveJXilVwPCIZw1nfxMAS8BTs tlYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uh99+98k9DjiwRCEQNWBVpY/+xrac0K5mOZC2PhRLgk=; b=dLxuaVSxkL6K6IaDAPxMifVyfYo0Xf5AiTYHxZNzZ2rJCSGFKvjQAym+xUT0dUUIYr cy49tSLS7xvOaVS3LDKhYvxBWghGgtZC2JVd2nVa3Z8I0yCUR+pcGDSgiXggbBLnBx3Y ulop5ai6usz05nfLEgHzt/fvyAuOT1n4oZN9Cilb9odE1Xgt0Q4jSCzFq1lYXTSlZrEC pcan3YP97ZfVd1K7oSDIuNSuJqeDVQGzt7KNIcLiIAbE9UbGafiqYg+f8YXHHqIFtZAD MUYVx08jtRAIR9iyHpYcMvmoqcxpnzb3/e/2UrdYfpmRsAgEr150jmBz8mbOM1I6R8ls nb+A== X-Gm-Message-State: ACrzQf0ivusPPKHB3Kt4Vw7SkUE/xVh5F+YOqk2062krlIBajiuEFfka WQyGK+8+PRshrtj2M9zvxHiepR5Q2Xc= X-Received: by 2002:adf:e405:0:b0:236:6e0d:6ed2 with SMTP id g5-20020adfe405000000b002366e0d6ed2mr5661404wrm.338.1667152423307; Sun, 30 Oct 2022 10:53:43 -0700 (PDT) Received: from localhost.localdomain (188.red-83-35-57.dynamicip.rima-tde.net. [83.35.57.188]) by smtp.gmail.com with ESMTPSA id be7-20020a05600c1e8700b003a83ca67f73sm5111182wmb.3.2022.10.30.10.53.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 30 Oct 2022 10:53:43 -0700 (PDT) From: Angel Iglesias To: linux-iio@vger.kernel.org Cc: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Andy Shevchenko , =?utf-8?q?Nuno_S=C3=A1?= , Jonathan Cameron , Angel Iglesias , Lars-Peter Clausen , Ulf Hansson , Paul Cercueil , "Rafael J. Wysocki" , linux-kernel@vger.kernel.org Subject: [RFC PATCH 2/2] iio: pressure: bmp280: convert to i2c's .probe_new() Date: Sun, 30 Oct 2022 18:53:11 +0100 Message-Id: X-Mailer: git-send-email 2.38.1 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1748136216341056499?= X-GMAIL-MSGID: =?utf-8?q?1748136216341056499?= Use i2c_client_get_device_id() to get the i2c_device_id* parameter in the .new_probe() callback. Signed-off-by: Angel Iglesias --- drivers/iio/pressure/bmp280-i2c.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/iio/pressure/bmp280-i2c.c b/drivers/iio/pressure/bmp280-i2c.c index 0c27211f3ea0..20073b09b3e3 100644 --- a/drivers/iio/pressure/bmp280-i2c.c +++ b/drivers/iio/pressure/bmp280-i2c.c @@ -5,11 +5,11 @@ #include "bmp280.h" -static int bmp280_i2c_probe(struct i2c_client *client, - const struct i2c_device_id *id) +static int bmp280_i2c_probe(struct i2c_client *client) { - struct regmap *regmap; + const struct i2c_device_id *id = i2c_client_get_device_id(client); const struct regmap_config *regmap_config; + struct regmap *regmap; switch (id->driver_data) { case BMP180_CHIP_ID: @@ -65,7 +65,7 @@ static struct i2c_driver bmp280_i2c_driver = { .of_match_table = bmp280_of_i2c_match, .pm = pm_ptr(&bmp280_dev_pm_ops), }, - .probe = bmp280_i2c_probe, + .probe_new = bmp280_i2c_probe, .id_table = bmp280_i2c_id, }; module_i2c_driver(bmp280_i2c_driver);