From nobody Fri Apr 3 06:22:36 2026 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010023.outbound.protection.outlook.com [52.101.84.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 72978305046 for ; Thu, 19 Feb 2026 20:58:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.84.23 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771534699; cv=fail; b=hi8AQWQ0B4/SFtfu5tUIEF2ZUyKTYcOOXA+YrToOx9YaTD1QnXFXWvrDfYUImwfpUd/+VrYUwmlsLrH/1epEMGzICHOtpgvbM8rAjD0H+nX6OVrfsoYvMK7k4C4hr9ZB6a9ULBHRFwS8czjszgiOjhPpC0r4U9dqoKCblfgNwSA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771534699; c=relaxed/simple; bh=/wH92RdZ/UeXwL6meJUagwjWB5h30MiBEwKi/PLWN44=; h=From:Date:Subject:Content-Type:Message-Id:To:Cc:MIME-Version; b=VVRC++YXX9Wl0uR3tQ4HzE+cm7pcFavttB7Lyd69B6FMAvJO0Efj84XxUcXe7sMWgVAlMLuXkK6F+7EHPsYmArKIkl/7br/L5anfLRIeTdUPtlccc6Gx+5Qpl+3Mr0Nx8u35SIELdv4/FMrFrh+s9E4XLlM5Hyu4fCV0Q1TTe4I= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=est.tech; spf=pass smtp.mailfrom=est.tech; dkim=pass (2048-bit key) header.d=est.tech header.i=@est.tech header.b=lgt6Dmii; arc=fail smtp.client-ip=52.101.84.23 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=est.tech Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=est.tech Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=est.tech header.i=@est.tech header.b="lgt6Dmii" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GY9uDEsp3uYvNTEwUQXRYirxmLpZgAMV9MnZWsCPR6kN85P6lTIMfnA62EdJAKKHjAMZk4PE7EW0ry6K+qTsuu7wFMtwwJGZ0FL1OHbiMPs4NLGeSe/JbroqWOP0t4HmwepZhx3UbPcx6nR74E5jZxoq/dh+MZpuuxoB2FW1z7bvmqUfPCs7vhqgEgy9/1JKCmQNbtlXof2him4q/UhhlsQFOJSidw76ivyubo9UpJQBgIVfmLMRSbakPB3aUUjEIRxC6U+I15nLCbYOH9yovGl4Uuq1ts4wJXu+oAu9vPsrgXwjR9T4Y9094V5AHzICRgQBn5MU64coYtnPLHZNwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Bi9ceintS4HTZ8iJMchBM86H/2a03Mhnivg95s4fm9w=; b=c9cwLobyF4xZxpomGSmlJj5Lcnfl1CzBy0xTeK79msDdiHUI6lP36A01C6Ge3Yy+0vetkZ1ll9Ktsvv6DB5phbpe6rfkKmDK2hLqc1H+3Mg9X3T4+iWAF09/7DdQYveZPWLgFeqRcOkuiGcDoJO9lfb57V64yurocG+sc9FYK0yvS4D0yMUCbNyX015RSXx2JitGskvkW3zSjySZevNQPq/ErOFfPliLnehj3oIEkITSOpYYBJwZ9A1JxwnGaD7N31CBC+PLicr29IuM0bfFmcGB7ddnaeGklxZY/ebC9ocm8n3HGrn4L0ecthqit9Sm7+q5KAc4NPRrCXlsul0rdg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=est.tech; dmarc=pass action=none header.from=est.tech; dkim=pass header.d=est.tech; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=est.tech; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Bi9ceintS4HTZ8iJMchBM86H/2a03Mhnivg95s4fm9w=; b=lgt6DmiiaC1/eI1Uwx5+x6nCwy0vGcegQnMzeA+rwJ2U+AQqQYgv1zvrtbKQ5PkkimBBBdWd/dV576z3KSwoGPyi95IlUlko+2TvEeoLE8FPGrBhvrmYYN0a7ozHGpE9SJCzwy04+Zn7T4GqTtQJXj49bA7V6mFJWj6p/GfN8ZJ/uusmfJEWGzAum/8VXGcS25fEJXMKXMhWBc/c49TqO1U3ULdnJpibzVaRggpuF89UH8zaGInvQKXkQbLFBMQcx8RddJdQcahZfkbE04xn6lFufi9CFxex3zSXSeFwIYKbcXJ/HTZv1UAnU0YA6qrTY7gK1hIMXYNDLmjuMhPnTg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=est.tech; Received: from BESP189MB3241.EURP189.PROD.OUTLOOK.COM (2603:10a6:b10:f3::19) by VI6PPF19229A49E.EURP189.PROD.OUTLOOK.COM (2603:10a6:808:1::18b) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.15; Thu, 19 Feb 2026 20:58:13 +0000 Received: from BESP189MB3241.EURP189.PROD.OUTLOOK.COM ([fe80::49f:4bc1:672f:45c8]) by BESP189MB3241.EURP189.PROD.OUTLOOK.COM ([fe80::49f:4bc1:672f:45c8%4]) with mapi id 15.20.9632.010; Thu, 19 Feb 2026 20:58:13 +0000 From: =?utf-8?q?David_Nystr=C3=B6m?= Date: Thu, 19 Feb 2026 21:58:03 +0100 Subject: [PATCH v6] i3c: master: Add sysfs option to rescan bus via entdaa Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260219-i3c_rescan-v6-1-b81d6cc3cb30@est.tech> X-B4-Tracking: v=1; b=H4sIAFp5l2kC/3XQ0UrEMBAF0F9Z8mxkZjJNW5/8j0UkSac2PnQlq WVl6b+broJtwccLc+6FuaksKUpWT6ebSjLHHC9jCfbhpMLgxjfRsStZEZAFRKujCa9JcnCj5pa wA8/oAFQBH0n6eL2XnV9+cv707xKmtWG9GGKeLunrvjbjevdbTLQtnlGjhoA11ChkyD9Lnh4nC YNae2f6X1KRDYeaHTemB3OQZivNTpp1kyxT2zsItjpI3srdG2Yu0npTVW3XkPPhIKs/SdjuZFU kEwN3nqDDZiOXZfkGpiurz50BAAA= X-Change-ID: 20260116-i3c_rescan-4921d0b41a00 To: Alexandre Belloni , Frank Li Cc: linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org, Joshua Yeong , Meagan Lloyd , =?utf-8?q?David_Nystr=C3=B6m?= X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=ed25519-sha256; t=1771534690; l=4091; i=david.nystrom@est.tech; s=20251215; h=from:subject:message-id; bh=/wH92RdZ/UeXwL6meJUagwjWB5h30MiBEwKi/PLWN44=; b=BMDqFO1uvw5GdJeC0etzNCx7dLFB43hbnNzR5NF4SeFC1+mtr30yPDw2HybSKP2IWkveJ8xu8 PeqzAHZzV8RAd+W2BTIjra8wbieJ7Cpu2drTLI564w3lvvOJbeTIa1/ X-Developer-Key: i=david.nystrom@est.tech; a=ed25519; pk=4E3iRjA+3w+a4ykfCHDoL5z4ONs9OcY4IN3pTwIG7Bs= X-ClientProxiedBy: LO0P265CA0004.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:355::14) To BESP189MB3241.EURP189.PROD.OUTLOOK.COM (2603:10a6:b10:f3::19) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BESP189MB3241:EE_|VI6PPF19229A49E:EE_ X-MS-Office365-Filtering-Correlation-Id: 2e496c6e-d1e8-434d-3ac0-08de6ff998e8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?B?dFlIeUxGRjlCd0JieXE5ZWpONUtvTDNtdUF1b0o0bGV1b25RUzBhUjF6b0xy?= =?utf-8?B?WEZSRWUxa0VEREFjcGNIbmY5RkVxdHA1eXJaTGkvSk5oT1FzeVl0WlFOMEEx?= =?utf-8?B?NW9QOXM5U3BhODcreFVCeW5mbDgxSkszdWo1dFF1NzdrY3BaYUloQUFGc1Ru?= =?utf-8?B?dmxjbnpjcGNjMjM1OVBXQ0Q1VlAwY3dsZkRJLzUxU3FuNlNXTUdUZ2xVRXV2?= =?utf-8?B?WkFQemNDbEpvZHpkSVc2cm8vTXhtRHlIMU5CdzlVcElIY1c4T3dSeDNTRVVD?= =?utf-8?B?NVlONTc5b01ESXViK2YycEJNWGxFYXovd20vZ1o2T25UMkFvd1lMUk0zTGxY?= =?utf-8?B?RnJHRFdkWXVYOVowckQxM0tIR0FNY3N0bW9HVTBISDc2MVN3S2FSWUVnbnpE?= =?utf-8?B?V29VQUYyeXhUdEhWQkcxNjc0a29vbGhxdEZKT1Bvc0c1bTI4VlFSR1RKa1BK?= =?utf-8?B?WGplbWIxd210OFNBOStiVTdqbWFCT21wUStJVWZ6Nlg1eXJCbVFmd2V0RU0y?= =?utf-8?B?RTg3bS80b1Jjc2s3Z2o5U3crMktsZWd5eWVhdXpzNy9zOHlndGVNbTVjaEtz?= =?utf-8?B?U3RybTFodzA5bWpBZjRhaHpSejd2WGE2VmxxQ3NZSjl3OXI5dHNTYWtibm5i?= =?utf-8?B?Z05XbEUwYk43Z2NyZWNjdXkwbFpJaDVUTDJtNHRjM0Jxb0svSUo0ak8zeGJQ?= =?utf-8?B?TXVqRE00L3d4ZEdScW5zWVBnZFdpeG1kbXhyWWxqUW9sZ2hRMlhmTjRhTEwz?= =?utf-8?B?MlRGNVV6bWNWdW40Tzg0TEFwMmJWMmlkNVRUS1FyOVQyWENxMHJ1cFVLQlQ3?= =?utf-8?B?dk4zdlJiaHY3bm41UjdLNGlnSW9LUmdCQ0xUcVpPMmZCSUp3dFhwR0tvV3ph?= =?utf-8?B?YVpoTFhHN2lLZnRJbVZOdEI0YXRIZUFEdzZpY3ZEYkkrM3RlbEpHUmhpQlV1?= =?utf-8?B?R01rMFl4NjRBSWdNTS94dWg4KzE2QUw2QW9CU0Fpc2MrYmh4S1dUMU9EOFlz?= =?utf-8?B?NG5NMlMwNkhIWHFTYjYyWG50b1BOQVc1SVRuRjZFQXBTdzN3MVJSMmFLeUxJ?= =?utf-8?B?WDhqMGpqZWpmYWZPQi90YnQ3a1dCN2JleDVXUG5qYzBaVkNRTTBiYzd6cXdU?= =?utf-8?B?eVh6cmpKak1Zcnl1bXlxeSt2NFhQN1RTRnFNRVhNRWRHeWtQM1pMRW1VMTla?= =?utf-8?B?enJ2VitjRW95QURrK01jeXZrUGNnSHJZQkc2aGpFSTBSUkc5MzhxMVhrNmwr?= =?utf-8?B?ekFpdnlsdUNvTndpcTZDaWpSNzVsM3JieGI3UXZNZ1dpMkdLQlc3ZlRoNDBB?= =?utf-8?B?WFg0My9jaFN4YnZsRnRhbHZucWloUzJjbkpkNmZCN2tENU14aE9LelVkSUtu?= =?utf-8?B?bmxNVGNwdTkwWmJidVFTSm1FcUVURFdYK1NhMnptR296d3YwTWZiZkVtalFZ?= =?utf-8?B?RmRHaWxyR1JlMkpEeXdUUW1WL1p3bUtXdGUzd2VSL0JqUGp5UW9XeTFLaXhL?= =?utf-8?B?UmVqRU9uUjU3OG1teTY0Y2wrdGJjQ1hhM0NjQ1RQMlJUK3l0MWkyT3FYNmd6?= =?utf-8?B?QXBzWEFqRnY5aUhac1o3RjRTWUt5UG8xSHlmN0hYRHdwZVlhMVpneW9Ya0Mv?= =?utf-8?B?a3BwSDhsc3RHSU1oWEh1bXJRaVFuc2lzckM0KzEya2xWSEdleEtNVEJBSUhS?= =?utf-8?B?R2ZqblBSLzE2QWs1V3dMMzVCWFdkYUNRSjRlSXlTT3htdk9Vbm9XN2ViYjJ1?= =?utf-8?B?djNZbEY5QTVLRTNUaVFyclZXcURsZE1TUVlobmpJUmt6K3ZBRG5VMlUzbXR6?= =?utf-8?B?Y0VvTmlRZXdaVW80R0MrSThqbTU3SWo0azgrb3RmbEdKNzNyMlhWQ2grcTJL?= =?utf-8?B?V0Y1UE9CdUpQKytiZ2pBQ05rLzNyNGNkNU9ielczU0llZWJ5THJ6VURCTGlR?= =?utf-8?B?TVdNQ1I4SnFxUEYvbk01RnIxQjg2aWU5SEx2NXZ3ZnVncEZZZzg3cHBNSy9p?= =?utf-8?B?N1JwaFlDRWhLZ3NraGtWU1VXMnR2dnhqVnN2ZnJPNFpSdENSN0x2ZUNYbHdl?= =?utf-8?Q?3o7QiF?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BESP189MB3241.EURP189.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bkpRVmNjU1k0ZEdBMHVoanZIWENESHd1T3hjQWdzdVBnenhkVW9KRjRNTHd2?= =?utf-8?B?ejc5U1JPYzZwZ3VqcjJpeUZtMkE3aHY3aU9ud2xPZU03N1FGcGRwUm1vRDQy?= =?utf-8?B?aDR1am83S3A2YlhBandNcVM2YnlsRkRzMEk2MEp5NEZ4cUt2RXBFVStNSmlK?= =?utf-8?B?c3JIenJzV1pWYnYrVy84Qmg2VmFkMEJGVnFPY2pIS3EvbnJHc3p0YzFPbCtG?= =?utf-8?B?ZEN6OE1NNXc1bmVSNVhiU25rWXJEeXNOMDl5NzRkSTBZYldyRmJYVE9JWXN0?= =?utf-8?B?ZC9Rb2toYWNVZHdQc0VaR2tIL2djdnFnOXc1MnlqMlA5emlFQ0dYbDdsanBX?= =?utf-8?B?WVBtNGpPZnJ4dVBrRW8rbGNheXVOU2RDTHphejhaVjhIMkw0dkVkRlc5Mjhq?= =?utf-8?B?YmxGcnJIMHJ0L0ZnODJaTTQzZWR0clNKOEVBMlp6U1hHYnFVRjRlejg2ZTVE?= =?utf-8?B?MTVDZ0xhSDBCS2I3Vi9MbnR2MUI1L0N6K1VhU09JT2VYbllYRURIVFNoeHZU?= =?utf-8?B?TXByMi9JcUxnZm82TFRrbGZ0ZUk5YTVPQ25IdVpzem9zbHNxbnErNTFvbU1N?= =?utf-8?B?Y2RJbFl3Wkg1cXE5Zzh6b2dRR2xrd3hjOG95M05vWCt2MDJvSE55b2loN3Yr?= =?utf-8?B?NmlGR0dPZlVhZWc4STVVbTV4VXNZZUZyK0JIdnNpbk50Yk5YdzI2TEU4ZGtt?= =?utf-8?B?V2tBd0lITmphSXJTSnhMZERwYzE5czd3Q0Yvem04dVNQcVk1cEtwcitpcUo0?= =?utf-8?B?ZGgrK09IQnB4YWh1RG9JT1VKUEZlc3cwcU9BSUNXREhSTExueXVuaTVRbmxV?= =?utf-8?B?WFVmL1ZDK055VVZ4VC9GRi9Memd1YnROVVNEOEF0d2MxVUNWUnoxVDN6cWh1?= =?utf-8?B?R0N0ZUVOQkY4NTRCaFZKUHNTSTZmTVB2bWN2UEVYNjhjV2NwemxtRFBCWFZ2?= =?utf-8?B?RjNqUzhVQ1FEcEpuKzd5L2ozZDhjZXhTVmhJcm9SZm1MUng5SGRtL3ZCcmd1?= =?utf-8?B?S3MvbTQ2Qlh2QTEyNVdjLzduVnBVOFNuMW1YTCt4dGpyMlcyRXFzU29NTkdG?= =?utf-8?B?RENicm5DVWlKVFZuQVhHeFF0VHVTVnNveExmZkFMMlZRR0YzS2dyZEJHQ3BW?= =?utf-8?B?aDdDbDFkZUVKWEJ0NkJ3RmNpUEFVc3lmanFxdHBqaDUzeXZJZnV0NDJjT0ZR?= =?utf-8?B?ZmZOU2hsYXl0Y3poNGpwUkZ6V3lXeFd5V1hZNXArS3JYY2lVTDRhQ1ROT1R3?= =?utf-8?B?WG9iSlJxczZpbHNzS29TTitNeDJpcWlYN0hqWUY5cmNUOGJIUkJZQlltQ016?= =?utf-8?B?bnlBMEJQVFRobFdVMjdneUx6Z0J1OHpXTFVpUzdFMXJlclBYNi8yK29qTDZL?= =?utf-8?B?aDkwR0ZOd1hWdHhydzhvNUFZSWlZeVljTU1lZHVXZXFtM0kvWFhCd29ZekVK?= =?utf-8?B?dzYvRmhlTXpBSE43WWZsOW5LaE4xTmxUWlowM2lXUllxSnphOEpSUTdaVEhT?= =?utf-8?B?ckdZa3ZoR1dRNWozQW1ZNzlQallxVVZ6dGs2RjdZcWg2K0VhWkpzWCtsRzVB?= =?utf-8?B?MDZueGQyeDYwNHlBVk5iY1hvdU50Ni93VnBKcTNhS0RuMjNjdGFUVlAvcWV2?= =?utf-8?B?bWlPVUdEWStXSkhkczJYQlpKeXdkSzBnMlp2bGFqdW4zK3AwZ1pRUUFwZmtV?= =?utf-8?B?K3J3dXZFY0hydzNIb3hwbWxreHhpclRVR3NkcUI0dzR3NWxRZUxZb1liQVlS?= =?utf-8?B?NjRoQ1d4dis3dk10WERWOEpsQXViajN6b0hsMnJRWWZMQ2Rwd2MzcG1LQUlS?= =?utf-8?B?UVRtM3QzQm9LNk1MN0FTbURJNWQ0cWxsajkxVUgwOTVUd3VhY2txMVRqL1g5?= =?utf-8?B?elFSN0hMeG9DVzhkUlhud2gvMUxIenk5Q0RiZzFZTURUOG04Wmt4M0VLckwr?= =?utf-8?B?cE1WOVc5QmZuZXcyQ21uWXNEbGRGYnFsVnZ2Qk40WEhxbkRkQXg1aFNzZHdm?= =?utf-8?B?enFwZFF1eUNYQVdlK0huS1NVZG5kWVkvMzRVYXVackxnN1BCVGdBWURLM2t3?= =?utf-8?B?VnFlaFJUVXNSblBNVzNERFk2Q1NYV3ZodGRqSmlWblgyR25DVmVES2xoRGJY?= =?utf-8?B?OHh4WWVHQkltdXB0NytOWTVTbVFjcXoxM0RObDlSRndPSS92eUlmK244SzA3?= =?utf-8?B?MmRtMTAxNkkzNGxhT1g0ZmNBOVdZYlU4VUpidThUSmZoOHl5UXB1RVNUNjBv?= =?utf-8?B?OHI0K1orQXhoVnd3SytUVTdmMlk3YTBWYVl1TGYySDlRUHZ2OURkaTVpSUhi?= =?utf-8?B?ZHBsRW8zelV5THJTNHBGTVhzV0VBWjRmeTZDdDhncFhIN09nRVFqQT09?= X-OriginatorOrg: est.tech X-MS-Exchange-CrossTenant-Network-Message-Id: 2e496c6e-d1e8-434d-3ac0-08de6ff998e8 X-MS-Exchange-CrossTenant-AuthSource: BESP189MB3241.EURP189.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Feb 2026 20:58:13.7386 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d2585e63-66b9-44b6-a76e-4f4b217d97fd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: q3l8bxfWJnNDLOhglfLGkKJ9uIChXKroshXXcs09MH+LHVGo4i5fqChXD/2t0CQy94xUvhg8UUDHKRiVZbzIKQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI6PPF19229A49E Allow userspace to request dynamic address assignment, which is useful for i3cdev devices with broken hot-join support. This will assign dynamic addresses to all devices on the I3C bus which are currently unassigned. Signed-off-by: David Nystr=C3=B6m Reviewed-by: Frank Li Reviewed-by: Meagan Lloyd --- Changes in v6: - Add check for init_done to close race with init. - Link to v5: https://patch.msgid.link/20260219-i3c_rescan-v5-1-42404db20d1= 8@est.tech Changes in v5: - Change sysfs interface to boolean. Comment: Meagan Lloyd - Change sysfs entry name to do_daa: Comment Megan Lloyd, Frank Li - Link to v4: https://patch.msgid.link/20260126-i3c_rescan-v4-1-6b3559d82ab= c@est.tech Changes in v4: - Improved commit message, once more. Comment: Frank Li - Added required documentation for sysfs addition. Comment: Frank Li - Link to v3: https://patch.msgid.link/20260123-i3c_rescan-v3-1-026429fa0c6= 5@est.tech Changes in v3: - Rename sysfs entry from rescan to entdda, Comment: Joshua Yeong - Link to v2: https://patch.msgid.link/20260122-i3c_rescan-v2-1-84c74a483f0= 3@est.tech Changes in v2: - Improved the commit message with why. - Link to v1: https://patch.msgid.link/20260122-i3c_rescan-v1-1-0c17071e232= b@est.tech --- Documentation/ABI/testing/sysfs-bus-i3c | 20 ++++++++++++++++++++ drivers/i3c/master.c | 27 +++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) diff --git a/Documentation/ABI/testing/sysfs-bus-i3c b/Documentation/ABI/te= sting/sysfs-bus-i3c index c1e048957a01..19f5cf8b1b11 100644 --- a/Documentation/ABI/testing/sysfs-bus-i3c +++ b/Documentation/ABI/testing/sysfs-bus-i3c @@ -172,3 +172,23 @@ Description: the automatic retries. Exist only when I3C constroller supports this retry on nack feature. =20 +What: /sys/bus/i3c/devices/i3c-/do_daa +KernelVersion: 7.0 +Contact: linux-i3c@vger.kernel.org +Description: + Write-only attribute that triggers a Dynamic Address Assignment + (DAA) procedure which discovers new I3C devices on the bus. + Writing a boolean true value (1, y, yes, true, on) to this + attribute causes the master controller to perform DAA, which + includes broadcasting an ENTDAA (Enter Dynamic Address Assignment) + Common Command Code (CCC) on the bus. Writing a false value + returns -EINVAL. + + This is useful for discovering I3C devices that were not present + during initial bus initialization and are unable to issue + Hot-Join. Only devices without a currently assigned dynamic address + will respond to the ENTDAA broadcast and be assigned addresses. + + Note that this mechanism is distinct from Hot-Join, since this is + controller-initiated discovery, while Hot-Join is device-initiated + method to provoke controller discovery procedure. diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c index 0eae19b3823d..8f49d4ad473d 100644 --- a/drivers/i3c/master.c +++ b/drivers/i3c/master.c @@ -758,6 +758,32 @@ static ssize_t dev_nack_retry_count_store(struct devic= e *dev, =20 static DEVICE_ATTR_RW(dev_nack_retry_count); =20 +static ssize_t do_daa_store(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t count) +{ + struct i3c_master_controller *master =3D dev_to_i3cmaster(dev); + bool val; + int ret; + + if (kstrtobool(buf, &val)) + return -EINVAL; + + if (!val) + return -EINVAL; + + if (!master->init_done) + return -EAGAIN; + + ret =3D i3c_master_do_daa(master); + if (ret) + return ret; + + return count; +} + +static DEVICE_ATTR_WO(do_daa); + static struct attribute *i3c_masterdev_attrs[] =3D { &dev_attr_mode.attr, &dev_attr_current_master.attr, @@ -769,6 +795,7 @@ static struct attribute *i3c_masterdev_attrs[] =3D { &dev_attr_dynamic_address.attr, &dev_attr_hdrcap.attr, &dev_attr_hotjoin.attr, + &dev_attr_do_daa.attr, NULL, }; ATTRIBUTE_GROUPS(i3c_masterdev); --- base-commit: 44982d352c33767cd8d19f8044e7e1161a587ff7 change-id: 20260116-i3c_rescan-4921d0b41a00 Best regards, -- =20 David Nystr=C3=B6m