From patchwork Sun Oct 1 15:01:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Biju Das X-Patchwork-Id: 147116 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2a8e:b0:403:3b70:6f57 with SMTP id in14csp915804vqb; Sun, 1 Oct 2023 08:03:03 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG9Nsn4isjU97oGbDVKwKf9C++5ZyZa1My46e2b8hQjdfJQWOIFesYYHOLa8wutDjHxGH3j X-Received: by 2002:a17:902:ed44:b0:1c3:83e2:d0c6 with SMTP id y4-20020a170902ed4400b001c383e2d0c6mr6849214plb.52.1696172582297; Sun, 01 Oct 2023 08:03:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696172582; cv=none; d=google.com; s=arc-20160816; b=RB/zHZy4+5fz+mvU0VVt15VlkMT6sVjHIrpB3//V9jxhp7ZIUZwIPhhfcuFpkULzYR /12F2LYP3yIfcpQ8JwMtMvkDPKVrLapSXVQ5UtzzQM3vZqyUpSk1VQoDngAghQvpkvSn jcbxz+QWXqoniVU6S3w3X7Rms75P3pIgrZVhgN3cyRd5H4g/J3xRps/VOT8InFCzGYo6 Yf3lJdfw82ZgghpEbXB14U22fO2HWYxseqmonZCopNNkctL6zUr9o0z1TnReHlZJHFyT kXduXlCLrryUIMy+ilOZX5pLseID7lQMWUJupODTP6F9l7boMDgAocZRpbttcX8OHmOM 6ZIQ== 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; bh=cn2xQ6DJ9L4oBwAtmv8P4EKwMl2dFrw3/NmNWoFisXE=; fh=xeSrQ7kCdgcCVb2zAn5rBkDAdtmCo24cOODwKpU9NDo=; b=yAOPErd9TiA0WGvd5+P629xXdCHOyAGVmfGrVo97jjgkuhTCuPMZq0c9YuXFoWmvzR smFUz2EYKStJytR3JlEGinaolCbQEmZX1hPGjTnfKqBrNgFPSDZ+vx9QC+4FUZGXH6be OXdbqWbSYMMOb/z3F2wYZqYaVIXJZ53DS0DAZVCu/2Jn3pwx8XPkJdSu3sW62XWX+4BS T/syKmrPo8f2wF01gV/WpuNdsFW2gs13jely0Y7IuREkRTlrsbt7F2bydBr8PAFSC6qB HsdTCZsyMgQfnHRnPypwlt/MsK6jfkn6UhcrAYKQ46w9ngoZtLV19J6AdXwXOjlIcaJU 5dsQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=renesas.com Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id s17-20020a170902ea1100b001bf01fee6bcsi18879138plg.610.2023.10.01.08.03.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 01 Oct 2023 08:03:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=renesas.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 365088092203; Sun, 1 Oct 2023 08:01:43 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235138AbjJAPB1 (ORCPT + 18 others); Sun, 1 Oct 2023 11:01:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51688 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235132AbjJAPB0 (ORCPT ); Sun, 1 Oct 2023 11:01:26 -0400 Received: from relmlie5.idc.renesas.com (relmlor1.renesas.com [210.160.252.171]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 6D059D8; Sun, 1 Oct 2023 08:01:23 -0700 (PDT) X-IronPort-AV: E=Sophos;i="6.03,191,1694703600"; d="scan'208";a="177808876" Received: from unknown (HELO relmlir6.idc.renesas.com) ([10.200.68.152]) by relmlie5.idc.renesas.com with ESMTP; 02 Oct 2023 00:01:22 +0900 Received: from localhost.localdomain (unknown [10.226.92.25]) by relmlir6.idc.renesas.com (Postfix) with ESMTP id 9B45D420635B; Mon, 2 Oct 2023 00:01:20 +0900 (JST) From: Biju Das To: Linus Walleij Cc: Biju Das , linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, Biju Das , Andy Shevchenko Subject: [PATCH v4 1/3] pinctrl: mcp23s08_i2c: Extend match support for OF tables Date: Sun, 1 Oct 2023 16:01:11 +0100 Message-Id: <20231001150113.7752-2-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231001150113.7752-1-biju.das.jz@bp.renesas.com> References: <20231001150113.7752-1-biju.das.jz@bp.renesas.com> MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_BLOCKED,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-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Sun, 01 Oct 2023 08:01:43 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778565861522349239 X-GMAIL-MSGID: 1778565861522349239 The driver has OF match table, still it uses ID lookup table for retrieving match data. Currently the driver is working on the assumption that a I2C device registered via OF will always match a legacy I2C device ID. The correct approach is to have an OF device ID table using of_device_match_data() if the devices are registered via OF. Signed-off-by: Biju Das Reviewed-by: Andy Shevchenko --- v3->v4: * No change. v2->v3: * Added Rb tag from Andy. v1->v2: * Arranged variable declaration in reverse xmas tree. --- drivers/pinctrl/pinctrl-mcp23s08_i2c.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/pinctrl/pinctrl-mcp23s08_i2c.c b/drivers/pinctrl/pinctrl-mcp23s08_i2c.c index 3dd1bd8e73eb..41ea2650a7e4 100644 --- a/drivers/pinctrl/pinctrl-mcp23s08_i2c.c +++ b/drivers/pinctrl/pinctrl-mcp23s08_i2c.c @@ -10,16 +10,16 @@ static int mcp230xx_probe(struct i2c_client *client) { - const struct i2c_device_id *id = i2c_client_get_device_id(client); struct device *dev = &client->dev; - unsigned int type = id->driver_data; struct mcp23s08 *mcp; + unsigned int type; int ret; mcp = devm_kzalloc(dev, sizeof(*mcp), GFP_KERNEL); if (!mcp) return -ENOMEM; + type = (uintptr_t)i2c_get_match_data(client); switch (type) { case MCP_TYPE_008: mcp->regmap = devm_regmap_init_i2c(client, &mcp23x08_regmap);