From patchwork Mon Apr 28 10:25:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cosmin Tanislav X-Patchwork-Id: 885605 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1D27426159B; Mon, 28 Apr 2025 10:25:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745835930; cv=none; b=LchptBlsqgPg+mhmIUCU8xQP+bYb+u09BVaYaWtPY0jrlKZqXruT6nf3vfZk9jyDiVICrcGssQNZd8A/mW6Z74naV2lLtgFsiRf5TLymyoELSDB6wV9Xikno2yHwVrvZW9UuVWk8FsKtxYT1Znplf372XltuexJOUTUk5SJ0/P8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745835930; c=relaxed/simple; bh=+AQ0SV4y9SOynEjrUKoCWXryMwMdnBPwBDQOwExX91w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LzUWFw2Nd4Q6gJsS8ttbmAq4uKNbcb2ebC+RSrbnQPrj5fmPW82lsQDr1ntXmNmWYt2pgqkBATwu6Qj2KKGJjNDGGYBz25ZPCX+hHaAB0NXf2nAp+SJ4LbCoNryYsWHYmryui3XS/8wWFT/dKDukPW2GPp6oIa9jj2ji48EQjiA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=AvpAt4pj; arc=none smtp.client-ip=209.85.128.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="AvpAt4pj" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-43d0618746bso33051265e9.2; Mon, 28 Apr 2025 03:25:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745835927; x=1746440727; darn=vger.kernel.org; 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=64HdmDgSJzT3obYsv1Sc9fPDQRvmKtwbW3ohFuTxJ+w=; b=AvpAt4pjSw8bjkRZ+sFacm0tJsAw7WKvlmYJkM6hfkgK8WiQTy46TluXYFXT/rsDti ZwA1SG+UHlH520BnDQ/WSrXmH99lmObdvafzrmN0a4pip22RDgNeCgVSKvc/xupo6WQo uAyGv7UQbqU9bFENSK6tIuKzkM2NFkRzxYZBmIMeoevITUBTiBpcSgdLvdjTI98cFuqh et37rPZh+z/e8EaSkDUwsUK1reOxtkzqcFQ8CNYGGdLQYu+X5MM7faEpEUdXZk6sxrZA 6d+5M71kjpboo7ZAaqdcZxnEkOe5wJzi0GPXeZwJiEpxHpHP2rAaethfdtnhhmFq4a8g mNRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745835927; x=1746440727; 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=64HdmDgSJzT3obYsv1Sc9fPDQRvmKtwbW3ohFuTxJ+w=; b=OAFtccmSsIuqCobIpqupQfw80vZ4dyraSRI+MHcXHX/AkroB92bojT8XhkIy8kVJuC WLows3c4ZpBCdiF9MHKHYFOvVOMZmBJByVLzqj/wUSSfZ8VukZIl/b/SMYes7CeWqdws ZTwSBGs+G+5TSahd/0Ryrh28o1FWCg/Rf8lBfDLyA3yECBxD9xJP/zG2AAgQtFTTzfP5 O2IKuneT9Hxa8680rSVxQumG6RhwjH1rey/bY6OHzN01QqpHuUZkFMxenBUvv+WwGEBt YKLziV//vQgo120Phf+JhgrjLfgDnyCDIz+Quj3rH3huFb6KoiZbpiA2wJ4Pg8H08eHO ePOQ== X-Forwarded-Encrypted: i=1; AJvYcCUDrMG7EI0IMppEgn8j4REBrY4Zs1fh/Tuene7jsSNFLFnaeNDSMyhRYmSp4K1deYehGJViQl5l8v3zfj8=@vger.kernel.org, AJvYcCWd6VCOcgXeBVUpDRcWFaEPMUNGDZyYGWVb8rzDGKmUvDNR0LxfXX9iW8XsQGw0AgLHdo2fYcTxk/TUdY65@vger.kernel.org, AJvYcCWjSkzPQx6jK54/8/PK1HAWdxLRJn9EmZBXTPKJi5sRBIle74vwjjHYjYQOlBKfel0tRoAX6k2wkZE=@vger.kernel.org X-Gm-Message-State: AOJu0Ywun5oQOR3v6u2HKM7koKs/GhkIvus6Ns6GbShuR7Mof/xm1D7+ cqdVEVaK5Bp0dstYQQMTAHoV7ZyTkcWZEGL6XXx4nQcezG2sPDoF0Z1EZA== X-Gm-Gg: ASbGncvoL0I8gCcf/5Ise3axBA+FFU463/8JSWet42cNIHVIEotU8d7ikA8DUoBcwS3 zGzbTOckfHFewOroZrJSsHRJqe5nuuyaAGMz8XWFHU81g1zxQpscH3eO/yjCXmikBHm8WWnK/D7 NoCzRtCbR62iKrR1FqxGdIU7iNqUle1n5GO07E5Lk1Z37tnCdMC2AwnAKJj+o8SifL+nxMWxRul DxNON7VmraOJwh3pBdA/oM4yV+EyBK3U8K1SOZH6yWJVQz9KdadK8698ERevuEMVQfflx5ukniX wtZuPy3jOrmFGhnwA/YW6mQ30UKIMtFjngct1R856CRm0muW1mTI X-Google-Smtp-Source: AGHT+IH7c9EYNf2PsbHIDdFvLQS3jair3TtOnzOUM1G1gWQjTFtEtlVk0ndSqjG9bgLstniU3NGWPA== X-Received: by 2002:a05:600c:1d20:b0:43d:ea:51d2 with SMTP id 5b1f17b1804b1-440ab7b279fmr71033455e9.14.1745835927104; Mon, 28 Apr 2025 03:25:27 -0700 (PDT) Received: from demon-pc.localdomain ([188.27.128.5]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-440a5310ad2sm118825295e9.21.2025.04.28.03.25.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Apr 2025 03:25:26 -0700 (PDT) From: Cosmin Tanislav To: Cc: Tomi Valkeinen , Luca Ceresoli , Wolfram Sang , Mauro Carvalho Chehab , Romain Gantois , Arnd Bergmann , Greg Kroah-Hartman , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, Cosmin Tanislav Subject: [PATCH v4 2/9] i2c: atr: find_mapping() -> get_mapping() Date: Mon, 28 Apr 2025 13:25:07 +0300 Message-ID: <20250428102516.933571-3-demonsingur@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250428102516.933571-1-demonsingur@gmail.com> References: <20250428102516.933571-1-demonsingur@gmail.com> Precedence: bulk X-Mailing-List: linux-i2c@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 A find operation implies that a null result is not an error. Use get naming to clarify things and to prepare for splitting up the logic inside this function. Signed-off-by: Cosmin Tanislav --- drivers/i2c/i2c-atr.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/i2c/i2c-atr.c b/drivers/i2c/i2c-atr.c index a79ca87e8bbd..939fb95fe781 100644 --- a/drivers/i2c/i2c-atr.c +++ b/drivers/i2c/i2c-atr.c @@ -241,7 +241,7 @@ static void i2c_atr_release_alias(struct i2c_atr_alias_pool *alias_pool, u16 ali /* Must be called with alias_pairs_lock held */ static struct i2c_atr_alias_pair * -i2c_atr_find_mapping_by_addr(struct i2c_atr_chan *chan, u16 addr) +i2c_atr_get_mapping_by_addr(struct i2c_atr_chan *chan, u16 addr) { struct i2c_atr *atr = chan->atr; struct i2c_atr_alias_pair *c2a; @@ -339,7 +339,7 @@ static int i2c_atr_map_msgs(struct i2c_atr_chan *chan, struct i2c_msg *msgs, for (i = 0; i < num; i++) { chan->orig_addrs[i] = msgs[i].addr; - c2a = i2c_atr_find_mapping_by_addr(chan, msgs[i].addr); + c2a = i2c_atr_get_mapping_by_addr(chan, msgs[i].addr); if (!c2a) { dev_err(atr->dev, "client 0x%02x not mapped!\n", @@ -432,7 +432,7 @@ static int i2c_atr_smbus_xfer(struct i2c_adapter *adap, u16 addr, mutex_lock(&chan->alias_pairs_lock); - c2a = i2c_atr_find_mapping_by_addr(chan, addr); + c2a = i2c_atr_get_mapping_by_addr(chan, addr); if (!c2a) { dev_err(atr->dev, "client 0x%02x not mapped!\n", addr); @@ -540,7 +540,7 @@ static void i2c_atr_detach_addr(struct i2c_adapter *adapter, mutex_lock(&chan->alias_pairs_lock); - c2a = i2c_atr_find_mapping_by_addr(chan, addr); + c2a = i2c_atr_get_mapping_by_addr(chan, addr); if (!c2a) { /* This should never happen */ dev_warn(atr->dev, "Unable to find address mapping\n"); From patchwork Mon Apr 28 10:25:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cosmin Tanislav X-Patchwork-Id: 885604 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EBE8C26388C; Mon, 28 Apr 2025 10:25:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745835933; cv=none; b=fPUO4MTluXMgukpODZCtJ03p322Oj2kVvqq1P3B7Q2r+tZc7HLXj0r8z5pSINXWxFi+uiPMArbPNFR2pbMvc94oBqSisODFBS0eTUkaOy408J2B6e2AFdRcJdud1/yBZuVs3/6x39C36OF7siSlOtVbHMPtZ4gPonyJab9mphhM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745835933; c=relaxed/simple; bh=0kcbAxwd8E1vqD0enMwHz5quvSlqwAaIoFmQEO7bxhQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=EFZkqEsWam0DF70Wle2kP1FPtJkRKiAsnNU9k80Zoz3j0dVh5o/LwagPi5iYF15MkjjJlBYBtqIb4DunVwJupZpr8c5C9PHlt78xVzAmGOJttzB8LfmsCCOyvZCa1mKQI9sQMwjFvn0etwC9RTr4L1nsaiSTTsH2B5dvEnmfykM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=jOCw92Ph; arc=none smtp.client-ip=209.85.128.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="jOCw92Ph" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-43cef035a3bso32300525e9.1; Mon, 28 Apr 2025 03:25:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745835930; x=1746440730; darn=vger.kernel.org; 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=yzQhB6yv6bflyojSC8ndRi8NdMdA/83LHNB2aBviQgU=; b=jOCw92PhRasXvZkWW77tbcQWJh6UbGO5k8HqqDxvEEN0r90WNv5DmPjhKrIVFFdqm2 dE2MsxFH4LUuwO+tH2m26ij+GSm63gCmrw/rOowiyociGHu84oMNlE0kkYP5UvPpqJUq KupEuwSPbXKjS4lGuOeIssO7/MoUYK938Qj3B2r6TULbRP+lvhdwD+YpG4/jBsiK6bfH bEH6KhPQL/E3phZix/8mmeBKn51303ngDZeQwFPkMH0wlkDEfSX1IPKcLOcbOM7FEETe taIFosXOZlDp8rIRZC1nSRCx86OKopJR8eAihysaxpoRWKNDVGk8thAyfXbwSJOTRmwi YfGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745835930; x=1746440730; 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=yzQhB6yv6bflyojSC8ndRi8NdMdA/83LHNB2aBviQgU=; b=SFrGfE9BXweYcMZoP6OLWJh4wSLVvMSLA4DqXXAefAdkBTynu8lNdRafVztGNTfmcV Rqr0iJJStLp4ClYV54sx4cI4AluI0+dl2m2JAyeJQSK1R0jGTPNc+qr5oN2MCvh8KFFQ uC7/6dGdOKPmKpGvc2QkrstArziBkTvYBne4yLOYXnaaJk+xB8Y0T8Eo0tDlhEq/sAH2 0KgiMlCnYu1sdbEGTfZn8RUsTX0O/1zGPO8rnkfPox6uM3tqRDHxkGx2+2S2QW8PWFhx I3dTOmncbjHlz7jigW2fD6QQFHoe921lC4M8n+IVVjIkjurdNN7GXrGzyJYzTBx9VQLN EDzw== X-Forwarded-Encrypted: i=1; AJvYcCU1WmmoeQMy5EbznNB7YEtpbU5iAMhJuxxoBBIw3AZ/Fel57SNereudTcwL0d9LjRAHGEBpiyZKyQn3NIs=@vger.kernel.org, AJvYcCVTF+lAI096CXOKvQYdU4vgzEYHsC3Y+c/QKDpJ8Si3rXildTkDpPf7ypuZJaceemO/n5iVXFAXZGfeJ2SM@vger.kernel.org, AJvYcCWP7JqFC+FaA8NrNT9NpaB53bzgWFKMkiSqG+w0/HELiUcr96O+TkVALpXVNn4Vpbxx40veANcLHnA=@vger.kernel.org X-Gm-Message-State: AOJu0YwPvkryRGvlukBmjBwcF48Ma+6oTdITRgkYIg+UMRChkolmyjgB 0Mh7SumRn6oppKrBiMWsbFXWxS58Hm2i4/zmKyRxdXbZ8wvWZw2dbEns7g== X-Gm-Gg: ASbGnctcy+0wwp6wPoEM6aTerulDNREUZjEIFx7wA7+zjbTWJYqDLLFf7GGKI1Lru7U 60Dle/I6N39hLTixVQpzJOKMck4mNk4LXia3PyWbDSUmOewqNSR8nnPZqqytXGDIFFCyon9l+Is aDbX+2GBtSSPRdl+w929X0cwM6FHEpnuBJ/vSPg3BHChZ/VCREgi/Q0LyB1jhJYjqbx2e18Ic6d ZAzpOhw4ycehcWsxCBeqD/hgG9ZY97k/+c4+cmYUirn5OPJh/YzVEGb9bBzHfxfwDCDTdUDm5rF +vx87SlbstW3E8Vta17iU5ueBvxj9OaO3mx5WJ83u/ykprqcFsZ9 X-Google-Smtp-Source: AGHT+IFdb8kKclIXB9d1ll1/iIMloEUIy56Z99b90c4Kas/qik58m139GAAOK9qNBmOST//eRVq8AA== X-Received: by 2002:a05:600c:1e04:b0:43c:eeee:b70a with SMTP id 5b1f17b1804b1-440ab846cecmr64922305e9.22.1745835930203; Mon, 28 Apr 2025 03:25:30 -0700 (PDT) Received: from demon-pc.localdomain ([188.27.128.5]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-440a5310ad2sm118825295e9.21.2025.04.28.03.25.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Apr 2025 03:25:29 -0700 (PDT) From: Cosmin Tanislav To: Cc: Tomi Valkeinen , Luca Ceresoli , Wolfram Sang , Mauro Carvalho Chehab , Romain Gantois , Arnd Bergmann , Greg Kroah-Hartman , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, Cosmin Tanislav Subject: [PATCH v4 4/9] i2c: atr: do not create mapping in detach_addr() Date: Mon, 28 Apr 2025 13:25:09 +0300 Message-ID: <20250428102516.933571-5-demonsingur@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250428102516.933571-1-demonsingur@gmail.com> References: <20250428102516.933571-1-demonsingur@gmail.com> Precedence: bulk X-Mailing-List: linux-i2c@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 It is useless to create a new mapping just to detach it immediately. Use the newly added i2c_atr_find_mapping_by_addr() function to avoid it, and exit without logging an error if not found. Signed-off-by: Cosmin Tanislav --- drivers/i2c/i2c-atr.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/i2c/i2c-atr.c b/drivers/i2c/i2c-atr.c index 184c57c31e60..42f433846f63 100644 --- a/drivers/i2c/i2c-atr.c +++ b/drivers/i2c/i2c-atr.c @@ -586,10 +586,8 @@ static void i2c_atr_detach_addr(struct i2c_adapter *adapter, mutex_lock(&chan->alias_pairs_lock); - c2a = i2c_atr_get_mapping_by_addr(chan, addr); + c2a = i2c_atr_find_mapping_by_addr(chan, addr); if (!c2a) { - /* This should never happen */ - dev_warn(atr->dev, "Unable to find address mapping\n"); mutex_unlock(&chan->alias_pairs_lock); return; } From patchwork Mon Apr 28 10:25:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cosmin Tanislav X-Patchwork-Id: 885603 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C7848266B51; Mon, 28 Apr 2025 10:25:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745835937; cv=none; b=riJzlBr3HLRPaN3qSxyrJof2ww5lLhsQnhBkBLlgzUE63oCH/RztaAgGxgWrMS8JXbjSZzgBEAZzLb0Be3IHmpJ9fSQP7g5moz63O/oas4OcwKfSSxlPF/N0GwzyvR72yH2dX/4RoK2lk94NLrlAexojE7KjI/uvcjLRgy0A4Pw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745835937; c=relaxed/simple; bh=lwACmgXhQD+tzgJ0hc6gipEhe/kru3W3qwZuI/ILClo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nnJRrMfyB3NWsv8Z9IsSFMPibQYJvHPOrkXcr3/V7imFp+D2IuHQL+R0NbkLqs0olwAQBtU0pXbfG0/E6kFdcfAWfsNP96hPavDhdCujKTRkdoUKchN8ZewFJSx1rLdNvXBloi0HyyMLji8rKl6q/STzRrseJZ88wjKtCFMznAE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=M/fXyNrp; arc=none smtp.client-ip=209.85.128.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="M/fXyNrp" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-440685d6afcso45486235e9.0; Mon, 28 Apr 2025 03:25:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745835934; x=1746440734; darn=vger.kernel.org; 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=sbTF6ua32Y722MNUPKroCHG5m/IpTQogIDHP4rO2RZw=; b=M/fXyNrpNG5nojuqINyfPCjUJLGjs3kas4+M3/cJFdGXu0xFqktnB3uxBeXPKonm4d xIlHzATy9WboLQYCdO5VRL+rUi13MM5jbfe+XmvX/glj0nLslq/U0D++3gxqdO/pWE76 uf1S1B8o73q9ugEZvh8t0kf2srG9zsq8l2OzuJ9XIqXdTorAPChxZTESYw78OrHle8gP MBu3mTLJJ8X8lZVYCE4xGn6ByPAccnEHVqPduPs8EzWV/rPGAfPw9SyTcdJAvlQpIn6w OsCCZmy4DodqeWT2Fxp8tM8dQM7JKfMs17ir1yZFMetlWoPDvq7GeM7B/3XV62h6pVwl WGsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745835934; x=1746440734; 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=sbTF6ua32Y722MNUPKroCHG5m/IpTQogIDHP4rO2RZw=; b=Z9AJ7/0H+6hqqZZHpE4QDbQKCFaK1KppehRBw/m+1dlAu0sYVIJQs67HLJ4A2q9s4S g8knMyM0dowi0t+WsH2po4XIZXFgbsdCq8pLzWVJ9+mvCrEl9KUuoqWWAcSZAsEA74Oj IHW1lWficLGOcF+YmBGLjV+h9nSrHnjreUtSHlU74dhgp5CJO3VBMYz/Ou3U9/D5Pt30 Syv+sbUIWBdMlmKXWZcG3N9ru0N8MzjMN0fFqy/PwJhlVN7zVpDXwfn9FVpGsZ3j7UFz PYrLcOkDEkgpo21t8ppHTC7XLL01A5b/4BLCJgM4epRu8NS/5QBIB0rTBngfSKHdwbzu OKRQ== X-Forwarded-Encrypted: i=1; AJvYcCUrO5XN7FTQbCLdR5FIoHiiBmsQ68TNjjg9PByACIe0kLCWuUaREYS5qwTiTmecUIQPmZ3wyIf2NGc9nT4=@vger.kernel.org, AJvYcCUu85x7jEheUkQcvW59Wq8lS+DbwKgtgck1s2qM+2NIKYutlB8Dx1xuMGzPZTNVaYVkcaJHDAEg3Pk=@vger.kernel.org, AJvYcCWhN9dPr3ODb5shseX0TTO/BCSK1Z+80cKXvJE+BhzS3SmGjHMIBQpCwqrw6p99BKBUQFpCdZFXBwK01dfV@vger.kernel.org X-Gm-Message-State: AOJu0YwdrhRoLjlogoVG610xnbufTmFdQJB01cfPgM3VGTs75I/8vChN oL5JyYDf7EhFt0AYp8jKIs8wny5D4/s161g6ji1+RRPLveEMvchh X-Gm-Gg: ASbGncsXxfUHyTnaHTrzehnr9biFbc3u+X8bmy1HHs9zSixbo+7BiN79rdLwD5ui5sq +5IY4HpFnGV3na+jgUH6+49WvhvMwmZqSj38xzpszzsknar20mCIeMkQsvoAIUgTNATuwf2v1J4 CYmMabgUXIX1nEeMsug/TKPS7RVj6ZAagspxqIfAzSNhmddeB6aOdTWNUQ0MMFBfvRPsdeq3mO2 +zfjfde21kJ1/uwiR8ioFdjtd21UY7qpGN/o+ClEGkRSQ860sqwvN6N38TaJZ3bqcDowFDFMkT5 RSHu7CYb+610VXPjuQyhpLWR4TzIdc5cACpeVZPrlKu5tZz33ffj X-Google-Smtp-Source: AGHT+IFEAJ/VB+ejxYIPdRRIC1nA3G1qjQfI79CFFUukorfMXL1K4EJe/ml/69E45V+o8vhZOPPJMA== X-Received: by 2002:a05:600c:4590:b0:43d:fa59:be39 with SMTP id 5b1f17b1804b1-440ab87d118mr63426845e9.33.1745835934049; Mon, 28 Apr 2025 03:25:34 -0700 (PDT) Received: from demon-pc.localdomain ([188.27.128.5]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-440a5310ad2sm118825295e9.21.2025.04.28.03.25.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Apr 2025 03:25:33 -0700 (PDT) From: Cosmin Tanislav To: Cc: Tomi Valkeinen , Luca Ceresoli , Wolfram Sang , Mauro Carvalho Chehab , Romain Gantois , Arnd Bergmann , Greg Kroah-Hartman , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, Cosmin Tanislav Subject: [PATCH v4 6/9] i2c: atr: allow replacing mappings in attach_addr() Date: Mon, 28 Apr 2025 13:25:11 +0300 Message-ID: <20250428102516.933571-7-demonsingur@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250428102516.933571-1-demonsingur@gmail.com> References: <20250428102516.933571-1-demonsingur@gmail.com> Precedence: bulk X-Mailing-List: linux-i2c@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 It is possible for aliases to be exhausted while we are still attaching children. Allow replacing mapping on attach by calling i2c_atr_replace_mapping_by_addr() if i2c_atr_create_mapping_by_addr() fails. Signed-off-by: Cosmin Tanislav --- drivers/i2c/i2c-atr.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/i2c/i2c-atr.c b/drivers/i2c/i2c-atr.c index bf7b2ac5e9cf..7214a59ddf15 100644 --- a/drivers/i2c/i2c-atr.c +++ b/drivers/i2c/i2c-atr.c @@ -543,6 +543,9 @@ static int i2c_atr_attach_addr(struct i2c_adapter *adapter, mutex_lock(&chan->alias_pairs_lock); c2a = i2c_atr_create_mapping_by_addr(chan, addr); + if (!c2a) + c2a = i2c_atr_replace_mapping_by_addr(chan, addr); + if (!c2a) { dev_err(atr->dev, "failed to find a free alias\n"); ret = -EBUSY; From patchwork Mon Apr 28 10:25:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cosmin Tanislav X-Patchwork-Id: 885602 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E47922676CF; Mon, 28 Apr 2025 10:25:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745835940; cv=none; b=hbEiMOmLX+flApm6vc2oLWL2jGEGzgoSJ3dLxRPQBdfgXr2t+lWaDBXInETDPZJRDK27hUnO+W1wjxthAp1bhKMeCAVjPVzKV7kzj0ljpY4aWMnCZ0tDmOBibSCbY6Puf+6F7ooWNMpzEiYAUtM2VNItrpUwsMD+kVfT7U2lc4M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745835940; c=relaxed/simple; bh=5f3lIdzZo5QBxN2OkhODVNYCc7xZacb7TJSK4Zl4+GY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nLw5eKDu7q9K8Aj7qapiOCO0FgAJalnrTivw6XCEO4WutbMg7KrP36wkDITOzzqdShKkxS4GaHzil4J+xlsQxUTQXe/CizjU9LH0zo/qLMa+KrnRyeO2DBGm4JhNlUwAQI364Iz4a1BLgAzXJypuDVFOafwGFpVlVfQomgrH3jQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Yld4XMe2; arc=none smtp.client-ip=209.85.128.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Yld4XMe2" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-43cf06eabdaso41099995e9.2; Mon, 28 Apr 2025 03:25:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745835937; x=1746440737; darn=vger.kernel.org; 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=sR+4IcQa19Yw7axS7f98CW/quiDY/S4+FIxh+Zej2/I=; b=Yld4XMe2EiFLeV7W+RsquZlvt32ghgs8dMN43zE5vV5VfWE3+srG68Ef1lAvW18kfx 2llRqkB8yGngAYiyD3+NvnGwj258kn2Pm5IYE2ZiSCnTASwbZ5MgVpdiIyeOEQ6cxNyp Hu3+aFHJ+uYMy9xo1whsstyAWYBI2yELUprHQzZiFAZkBWGKrj3T8xjnrWx2MM1Ns+AJ aQR7B6MFJITNl9JYGCCB7cLHrFX3XLb9iY+zlLwyVAJ8JEPinOBFiw3v4ha2P144eLgR GywQsIo48K67/dMlQoR4BxGARAVfq9i66hZ40O08TY8qcwUtAiFfSHBOD34SiqpBcF8Y N+vg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745835937; x=1746440737; 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=sR+4IcQa19Yw7axS7f98CW/quiDY/S4+FIxh+Zej2/I=; b=ZbQ5ec8MfV6B5L7XGYICQPmuqnnOW7u65Gvv8GlRTBGhkoSAm6X/Ig93QvdcMCysjI vHJJ56D1WPndxa3i4DmoI09g5Wjc8BPNatDQF3cijWVseXcGBobBGV6pp/2VKcPyPuTJ Llyq+aagYQVqFq/ePmJcW97VjvA5++uxUiuYRpCKwVHK0KRLS4JOU3xKwAOAnFJ+Qp/P BN5tkDBPm2Mh3JAAhCt7IqREh5y7b7ccevFu7SosE3hjAWDzCTadO86EHdTcSll4j3eo 7nIPhy3vHqXBXXpVICyhUV3QWyj7Zw8uMGS/M33xHq+KagN9en3ZJ8E4mW8sWaF3wsto Yw0A== X-Forwarded-Encrypted: i=1; AJvYcCU9IzHlTQp2/Z2yt8E2ACl0TXIs7SVp2II9c6zOT2lHo0K9Q0Y1wvWYcYoAJtANt6aejZA4wEXJBKw=@vger.kernel.org, AJvYcCV4FCN2Ed00phZvXafgZiOweRcF4ZrJeSRpUztoUifb4x/76C6rRufFTOqFUJSezf0jb08Kjapp8drnAGk=@vger.kernel.org, AJvYcCX72MucFtprT6T3yzxzfDWDMfPWglB0z7ofvu3gQCTZrzO/uB9AQ4yIziH06Eoa2TiZRxCk2XUGpv4e/0a2@vger.kernel.org X-Gm-Message-State: AOJu0YxshrOXVxhLuPblbXiCzljndtP8+Fb2msKWrC9zpxQKvuSdvmgs 6CmnR9621hVRj3/6VZ7t6sC8ZvXbhbAQVStYn2JOzEk4RzqjkwFx X-Gm-Gg: ASbGncud2f0QvSzYWJ/vy0UkhsYI7HVu4VzyYvyK5He+agdg1/UPntC+96rorUQTjs3 1ZY7arVw/Fd5dkzHD1MFqe996/6o7Q9se5N5QQ7PEiNl3p3qUSUy+Ck+JBT/8VwyfbzClXUEnA3 nrwQvZrgjLSD6hhErB76TnIfA+IAV5lAjjO+WpijebzvXdBKClLLPRE4VaAvUR8f6Gs0pd2rK9X v5gHggn9S3j3EDDX0LH8McddcbN03cCdMSwG+4R4dxPwa/xPEoNldOHK2jgUVMEjcrJ70wWXyYp 151IBt4zKMC2MrVALBCPeCDcSkwXAxCcXhAuagaSLYc4b1qCswDG X-Google-Smtp-Source: AGHT+IEFNbcnZf3R8IkyRTJKxfZ19fo6znhbgZ6oXmeQ/PdJfLfA9dofuZxxW6koajZc6kojtKVT6w== X-Received: by 2002:a05:600c:4e51:b0:43c:ec28:d31b with SMTP id 5b1f17b1804b1-440ab79f582mr89351575e9.10.1745835937187; Mon, 28 Apr 2025 03:25:37 -0700 (PDT) Received: from demon-pc.localdomain ([188.27.128.5]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-440a5310ad2sm118825295e9.21.2025.04.28.03.25.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Apr 2025 03:25:36 -0700 (PDT) From: Cosmin Tanislav To: Cc: Tomi Valkeinen , Luca Ceresoli , Wolfram Sang , Mauro Carvalho Chehab , Romain Gantois , Arnd Bergmann , Greg Kroah-Hartman , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, Cosmin Tanislav Subject: [PATCH v4 8/9] i2c: atr: add static flag Date: Mon, 28 Apr 2025 13:25:13 +0300 Message-ID: <20250428102516.933571-9-demonsingur@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250428102516.933571-1-demonsingur@gmail.com> References: <20250428102516.933571-1-demonsingur@gmail.com> Precedence: bulk X-Mailing-List: linux-i2c@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Some I2C ATRs do not support dynamic remapping, only static mapping of direct children. Add a new flag that prevents old mappings to be replaced or new mappings to be created in the alias finding code paths. Signed-off-by: Cosmin Tanislav --- drivers/i2c/i2c-atr.c | 6 +++++- include/linux/i2c-atr.h | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/i2c/i2c-atr.c b/drivers/i2c/i2c-atr.c index e2350fcf3d68..721dd680f2ac 100644 --- a/drivers/i2c/i2c-atr.c +++ b/drivers/i2c/i2c-atr.c @@ -341,12 +341,16 @@ i2c_atr_create_mapping_by_addr(struct i2c_atr_chan *chan, u16 addr) static struct i2c_atr_alias_pair * i2c_atr_get_mapping_by_addr(struct i2c_atr_chan *chan, u16 addr) { + struct i2c_atr *atr = chan->atr; struct i2c_atr_alias_pair *c2a; c2a = i2c_atr_find_mapping_by_addr(chan, addr); if (c2a) return c2a; + if (atr->flags & I2C_ATR_F_STATIC) + return NULL; + c2a = i2c_atr_create_mapping_by_addr(chan, addr); if (c2a) return c2a; @@ -545,7 +549,7 @@ static int i2c_atr_attach_addr(struct i2c_adapter *adapter, mutex_lock(&chan->alias_pairs_lock); c2a = i2c_atr_create_mapping_by_addr(chan, addr); - if (!c2a) + if (!c2a && !(atr->flags & I2C_ATR_F_STATIC)) c2a = i2c_atr_replace_mapping_by_addr(chan, addr); if (!c2a) { diff --git a/include/linux/i2c-atr.h b/include/linux/i2c-atr.h index 5082f4dd0e23..7c6a9627191d 100644 --- a/include/linux/i2c-atr.h +++ b/include/linux/i2c-atr.h @@ -20,8 +20,11 @@ struct i2c_atr; /** * enum i2c_atr_flags - Flags for an I2C ATR driver + * + * @I2C_ATR_F_STATIC: ATR does not support dynamic mapping, use static mapping */ enum i2c_atr_flags { + I2C_ATR_F_STATIC = BIT(0), }; /**