From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0024c301.pphosted.com (mx0a-0024c301.pphosted.com [148.163.149.154]) (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 D21E432B9A5 for ; Thu, 15 Jan 2026 22:34:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.149.154 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768516488; cv=fail; b=soxt/9kMbn3QmMdFYySqJc8jeOflRJ12e2iu0tAW3ejwFNO+QvXHboCIiCLJ8kv4gMUJwyapqaVbUteZS3wtGdRyjLaNfXmuJaDjOuaquo2obBdHklWo5P6LwWGWPMwwaNv3ykOmC+emmsii6rdtNvRDws43k5v9nZS5diHpNso= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768516488; c=relaxed/simple; bh=MAtwzfyq9RPkCm0v1+Lpvz9jvYS0LhwvuZ5CipJzCrI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=dnWT3xEW4ezH6lGywBfg8BN1TYTPIExyr3eQW0/4sPiESgumfmafzU5nxoz35ucSf3uGgyxo2y/wclblxCGkr4kHUeW6SkLI5H9ISzc63TVutS6YcGfO3N6CwVcBGum60Hsis4pxmiu7nmkXcKzJpxWCc//VIAKbMIom6rwpCDI= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=silabs.com; spf=pass smtp.mailfrom=silabs.com; dkim=pass (2048-bit key) header.d=silabs.com header.i=@silabs.com header.b=WAZEAfr/; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b=Op9p6sZD; arc=fail smtp.client-ip=148.163.149.154 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=silabs.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=silabs.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=silabs.com header.i=@silabs.com header.b="WAZEAfr/"; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b="Op9p6sZD" Received: from pps.filterd (m0101743.ppops.net [127.0.0.1]) by mx0a-0024c301.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60FFjDcH816850; Thu, 15 Jan 2026 16:34:42 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pps12202023; bh=1d9bJYSPbzNlR7WKnyxMAn7V5+xTafwWB+lgtPyfOaA=; b=WAZEAfr/SfJO 277w34M+5p3OB10CI7+0V1360XvaSj0Fu7G/3qnedJ8OBMI/24TJ825c6KWaoh2C 22fnok2Z5paSbWfSbUv6Ww32kZnMRDc7oe3Rg8GRxlPTYuEXmGpwwaqo067m3MOS Ml3J357iinXnOS3YKMC9+wE00FjiZMD6ignJrdX39NZcFxWd4l1y1/GVf/jnj8ZO qBpaQgNFDN0C7ZZWuXdSa+Is1KrttPur3SR810nljsSu9f2JT2Tn+Unt8lfc3IBc dli1x4meynw2IKUoZF43egCaUNA9B1Aew0gOzRSe7JJost75Eq1Bdww5Io6os4Ln XOZo3ifYiQ== Received: from ph8pr06cu001.outbound.protection.outlook.com (mail-westus3azon11022129.outbound.protection.outlook.com [40.107.209.129]) by mx0a-0024c301.pphosted.com (PPS) with ESMTPS id 4bq35hrtyr-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Thu, 15 Jan 2026 16:34:41 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VewC1j8OooC8X1wkV8zNyRYK/jgRZmlgHukfPLH+F1xFHyoQggbOmz98OdSKMyUnVTzt1iHK+6V/5nVhBlEIK0SxiqDcgGthh7QUBttt/BFwjGtD9qTNexE5rLBGhyeQ1062q9JkqDCLqnGdmEeEyrP+7GhumrqKBiIP9hcDRdL8O8HJ7M6MIawPEU7FZQ/oYMm4/W1M0Tuor6b4FkigQTwJfEAw2Ip9deBWa8d0izaM7b2CTSBeBzTHXKsg/YDpphBP9CGQXJDpOzpfEQBe+mEQ91ZdsTnBL2XI/9V1fRCKccV8zwRHOzYHTGZsV65VQSbayMp4O6pileVbOvkn8g== 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=1d9bJYSPbzNlR7WKnyxMAn7V5+xTafwWB+lgtPyfOaA=; b=Crhb/DMPEXoPhAGhhTn0yGsLpWmEYQPp65GaOHJpQ8GZsJAjy/2Y9YoZTkUDaD4GOjBqp375/Lc28FRVnfFVP5uG3Vjs72lafw2N2UiEz/+hTRfsL4uLRMtToQNjNBXft71u2QYsCMte1KyTYLcvxR+QlY0PMkrftOrs8T5F+knSzzwdOW1lLs79enX42LfB57TEDtybuGPbsQrJTMV5QvHXCWfBlv0PXEBagYYvb3zU/aJiz2rASqjdVwSvFWeQ7WOvmRB5gIcs04cHP0Ap6itIWUJlD0t0+hVyshFrDd2pFDhXTl35WiTzMR4PcsZftsXlA3/38n2KQixfI5Bo5w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1d9bJYSPbzNlR7WKnyxMAn7V5+xTafwWB+lgtPyfOaA=; b=Op9p6sZDpYi+R7uSB1hGNbLLikV8xygW1m9xspktjJIwScHMSQaM7wYg1GPsGMYeupGoLj1IXTWpww79QeN7PbgvfL0tTAEdAimEpT6GYEe5dU0oHXeYCIwhpFlkMQpofMQITl5vdqSFXTuxo9gHgO7BggbessWAhxZcnbZ65c4= Received: from IA1PR11MB7773.namprd11.prod.outlook.com (2603:10b6:208:3f0::21) by MW4PR11MB5870.namprd11.prod.outlook.com (2603:10b6:303:187::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.5; Thu, 15 Jan 2026 22:34:38 +0000 Received: from IA1PR11MB7773.namprd11.prod.outlook.com ([fe80::acd3:fd18:5809:64c4]) by IA1PR11MB7773.namprd11.prod.outlook.com ([fe80::acd3:fd18:5809:64c4%3]) with mapi id 15.20.9520.005; Thu, 15 Jan 2026 22:34:38 +0000 From: =?UTF-8?B?SsOpcsO0bWU=?= Pouiller To: greybus-dev@lists.linaro.org, Johan Hovold , Alex Elder , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, Damien =?UTF-8?B?UmnDqWdlbA==?= Cc: Silicon Labs Kernel Team , Gabriel Beaulieu , Damien =?UTF-8?B?UmnDqWdlbA==?= Subject: Re: [PATCH v2 14/14] greybus: cpc: add CPC SDIO host driver Date: Thu, 15 Jan 2026 23:34:34 +0100 Message-ID: <7976899.0VBMTVartN@nb0018864> Organization: Silicon Labs In-Reply-To: <20260115155808.36102-15-damien.riegel@silabs.com> References: <20260115155808.36102-1-damien.riegel@silabs.com> <20260115155808.36102-15-damien.riegel@silabs.com> Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" X-ClientProxiedBy: PA7P264CA0532.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:3db::6) To IA1PR11MB7773.namprd11.prod.outlook.com (2603:10b6:208:3f0::21) 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: IA1PR11MB7773:EE_|MW4PR11MB5870:EE_ X-MS-Office365-Filtering-Correlation-Id: a510048d-9f8f-4f83-32ef-08de5486445f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|366016|10070799003|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?bGIyQ241eFFVZWdvQ0tTMEFvSDM5eVBIQVJoRXpHSkw0MFlibjgwL1hQWDBY?= =?utf-8?B?amhOZHdVSGtWL0c4bER4bk95Z3lCZHQ3LzkyajRZSEJqMkVhM1RwWThwYnNB?= =?utf-8?B?bCtJMU43ZjdYSHJFQVZHWjhPdkF1eEN1VHRFZ1pJb1IrY3A1SURwN1gyQXhx?= =?utf-8?B?bHZhang2SEVja29aOHF3L2kzZWJxeWRiLzJsbkxKMEVZRGxVTzJ1YTZ3UVdj?= =?utf-8?B?Sk81SkppV0phQWpETjhlcmxRUjg3blNSYlJHWmZuR3F5ckxGSDlFVjRBL01m?= =?utf-8?B?Q2VWRFVJSDVTRmgxUzZSaGxyNTk3QkhXZ2dLZUE3bXVDQmp5QzFOZkV4dG95?= =?utf-8?B?UktpSEVVTGVuTVR4UUJMOWI4UEI2MW9qV3JyRHpUODhNWktaajJQNG9FVmU2?= =?utf-8?B?RVdqQktKVkxQYU90bTBpaG53bThpOVV2b1dyL0xUSm9hNnRnK2RHbkxXT1ow?= =?utf-8?B?RElIRzdFVFBQZlpWc2o0OEpXcS93NlZjNXJSRExVOUd2Wjl6WHpEYWJtcDJV?= =?utf-8?B?REM1NmRPU0xRWXE4ZDU5bHJJUEo3c1N4L04wRno1V3BRRUdrVng5UTlzbGhS?= =?utf-8?B?WW9VNlVHUUZRQS84MmRtT2xWcVVEU3BDSS85TUlVN3NrWnNkR2dzUWNFZnh0?= =?utf-8?B?Ni9pK1FRaGNXUFVWcjJPaDUrTStmeXhKb1hIYTY1Q2VRTktIaDFpUnp2SUVS?= =?utf-8?B?NmJ6b3JLeCthaUFmaWs2V1gzb0VWZGY4a2dmU3NtWFlSOW9iTlpObytCT2lW?= =?utf-8?B?MVdXTi9HenBmR0k5cFJIb1JFaUJqcFpYTS85V3lEVENZaXQ2eit0bzcwaUhk?= =?utf-8?B?cUpSekswQkxDVko2WVB1Q0g1YWwwSGM5M3dKNXJPbXUyZ1lTWGgvalVrZWhY?= =?utf-8?B?U1FBS2NXY1JzbXNCeGRMZUdxTlZtbHRaQVorckV4QkY3YVN3K3ZmNlNQckNI?= =?utf-8?B?aHJMQVFtR2xOWXQvajdqbGVBYmxVcTE4MWVaWjNrN1hINjBwbGN4d0xFNWVE?= =?utf-8?B?bnd5S2VKenZORHVBNyt5Um8ybS92Q0VBQVRkdWpLemJSdUU5NVd0VDFiVE53?= =?utf-8?B?WjFrTFUrL0ozNGIrVDkxRk5SWEtTSjRNZ3dJWlBlbTgxMkxQaDR4OHFVM3lF?= =?utf-8?B?V2hyaDFLVVBRYTZ2V3czMWc2NFNYczIyTEd4WFBiYjBjc0NkSVIyR01oRzVp?= =?utf-8?B?WExpei9LeVVoRHNiYlFmQkNuSndsb0pycEJjL3lRQ3pxSmlJeWRrRzkwU2tu?= =?utf-8?B?OElvamRQUFNIUlRFd0NaaElYbGp6eENIU2RFYmF1UlVaOGFHNTRRMWRJM1Np?= =?utf-8?B?dy92L2lMSktOT2JNN2dZekROUWFzS04veFpxR3RacTlBeWhhU1k1cUVRNUFG?= =?utf-8?B?MTNpak5EdFppZWdtOGZQeVpsNXZ1OUJPbmFoeE1SNG80Mzh2TVdSRXNiMzFa?= =?utf-8?B?N2ZWaEpGeGtTUDluaXBMWW94MjdBTEZCQVV0Q3U4NStoTlNtekQxdytEYmtw?= =?utf-8?B?QTN4VlNhMmN2dE9ldVlHQXR6eFliWXVEMnMvbHhHQVo5Yjc0Q2RRWFNvQWtI?= =?utf-8?B?a3NHVWpBZHBZNzJnTCtZdVltRTloMERCbDcvM2NyRUdkYm5XR21GOGdPNEda?= =?utf-8?B?TFFYSGc0QzJNeU1HSllIMS9MWHdUVzFkUURQbmUvNUYzQ2FwL1dkY3BSay9u?= =?utf-8?B?Q3hiVE41bjFSMHF3eTJmVUQyY3J3K3V6bHhzZ2RUWERJclNIUVp2bndNUEFG?= =?utf-8?B?K1V6RjBxZVRqRi92S0M3ZXBmcElmWlpJdVVpN3JXNUxEWWRkalJaK0V4VExW?= =?utf-8?B?TW5LVTFOYVVtT3g4VkVZRzNMZnBKbE8zNGRLUEFBREN4akpHaDl0ZmhOUks2?= =?utf-8?B?cHIwaGlFdHpXZTl4b3ZDN0lTUkJtazE0WUlTaW5kS3ZWcnBhYWgzSEVHZTNr?= =?utf-8?B?NDNkTDc3dU96eW41TUFYYmVWRUJ5T0V5OUdjS1NoRkdxbStiVDR0UHAxdm5l?= =?utf-8?B?akVlbUo4Q0hINitlOXBsa0Q5dEpQejlDL2I0M3VYcWtzd1U5eGtMWFpIRVd2?= =?utf-8?B?azRWb0RjcFVwcVFtQW44Y0FhZnJJV1VzUm9kNWVJdVNxZ0YwUUVraFZTREx5?= =?utf-8?Q?kIAM=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA1PR11MB7773.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(366016)(10070799003)(1800799024)(376014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZEFMRWpITnhMemo1UGxnK0VpeEorWm41Q1hnN2Z6U3VQT2c4QzZZMXlxU2xJ?= =?utf-8?B?UzlJdERscmdqM1BkVUlCaEk1TWl2Z0JkN3FyNHowUjZIRmdNV2wzWW9oakht?= =?utf-8?B?VTlrVy9GeTk2bS9qMDYxV3ZoRndoT0NzN1hxK1pRYmxSbkxTbm1oQXIrSnJs?= =?utf-8?B?cE00eXhUUVlGOS82emJSZGxSdnk3Y2FwK1VWWVdIb1Q1eVRzSXZ1dTJjOXFB?= =?utf-8?B?V0VIcUNYdVdYR1UvZTNTRlpNR2RQK1lCOS8vei9mSXBQZXcrZVBpakkrdksz?= =?utf-8?B?MDBmSTBwVUtBZnYrWnZWRlUyWGlGNThqUmMyZ1RISFlLTWhoR2JLR3J6YmRk?= =?utf-8?B?TzRuQnh2UkcwZFlNQmdMVWFCNUxISWE5eDRXVmNNZkJCaW5Yc3N2eEpmbkRm?= =?utf-8?B?ZWtDSTBvYnFOOGtqZ0hSS29Ed1pZczV0a3hVTnFZTXJiaWtDNDNiVmlrVXBp?= =?utf-8?B?RlhndUNCa2NDTU1uRWp2NHNzaUFLUjY3bHpoVDlBUFdIUUFpOXYzbFk0cStS?= =?utf-8?B?YS9YcGt3VWhJbFcxU1Q4VThyTHQybVd4d0tST3dXa0dCTElHS1RsVXY3RUdD?= =?utf-8?B?ZlVLbkpBQU1tQzFkaUlVdWhCZjJpWXlKV1VRMHFTeDlad2VOYWZxRGlqYU9h?= =?utf-8?B?KzNIZ1VDT0R0L2xpcnlOUnBtcDBDK0FnRnJkUkJDWnlQNDI4SDE0MGtHMm04?= =?utf-8?B?YnZrYThBWWNRNHFPODd2N3BNSFhFMjNVbG4wUGZiMzFDRmI5ZUlKQ0JibWF0?= =?utf-8?B?UW15SUQ2M0tmNGJlc0padUNLTnNWMWhrcTJTUFJ0ZkNkSCtrSEh5YThiSmZD?= =?utf-8?B?cFRPVFFaUGRlbitOVE12YnZSQ1pidks3eEJLa2FtalpVTzVHZ2lwU1hCTnU4?= =?utf-8?B?SllyeDBFOXl5cWlubm5JQ0Z6b3d5cEVWaFpQMDBWRXd6WXBiSHhkZmI2VklD?= =?utf-8?B?aE9lWE53dkxheVR4SW80VWlPM0VXVEFUTkk1VlI5VERPbFU0VmgxYTV5TElm?= =?utf-8?B?cSs2dE5TYU5vSnBicWVxTnZvK1JHVWYvOWZUclV6cGhENlRYb0Mra01HSStN?= =?utf-8?B?NHJPdHBhK05YSHloWFJFL2FWWWFKWUxrdzhpUDNGbTlKUlpVMWpoRk1rTTVs?= =?utf-8?B?RWxRZGl6b29CNFJtYmtHalBDc2hNb2l5U0dZdkJ1YjVCTWs1czNDaVVkTFJT?= =?utf-8?B?d28zSlorc3N1MkpTeHJWWjlOVEd2bFRQaEdubUQ2T1JpOStkd01ZbGg0cHdw?= =?utf-8?B?VXhoaldBREhrRThSMEtmSC9YM1ZZVGd4a3FOTE9IcXVZcU1HWUdrc0ZaNkY1?= =?utf-8?B?dUN4S2xCRTYwYVpHN2FEN2xWU0IyVWNacjVzMDhFd1dwTWxPZkpqcEdNWFFr?= =?utf-8?B?SllWMjhpZTV2NTlYM2t2RHNqQjVhRDFhNWNQNUtSZ3B6aVEwNldOWGxaZHdm?= =?utf-8?B?VUlDamtaU3Zid1hTNllKOGVZbFJZMzBJRURtUWlWMXlqQ3JwaVVXU3hGY3V5?= =?utf-8?B?OS9tLzFycmh0UHNTbmVFVDZBaFBwZ0FjMCt0Q2Mydlk2Q2pzd09qMHdJU3BG?= =?utf-8?B?ZEdsWHlMWW5IWEc3bDNKVXFDb1kwM2MvUWRYZmpQdzZNcDRqR3Z3bW5HeHd0?= =?utf-8?B?NWJtMXdLeTdLVTVKVzBRTzl4NUlOd2ZNckd5ZmtzMmtvUkpwNCtXbitydUJy?= =?utf-8?B?eFdDSlVOK2lrbTI5VzFiSVBnaXBwRHNzYk9WZW5PRXZTajUzWHVUSmVGUjVu?= =?utf-8?B?N1RpbURYQ2lNZ2NFRjVaQlNvQzNBbzUzbXJuNzVBQWFpSHRUazVLTkdTbnh2?= =?utf-8?B?azVrbHU0NG1UNkZ1WGJtSlVvQ1FqSytzLzRoRis4TWdZTnpySHd4UVlBdFA0?= =?utf-8?B?aGNuT2lNQU5BQmtkTFZWWjJSbFZPUnFZdVRrU1M3K2FaWnY4WnZPa3pwcDc1?= =?utf-8?B?VCtibnVDRllZeFVDbHZyOE0rN1k4UFZSL1A3MkNxS0k5bitXVldWdUNIdUhp?= =?utf-8?B?cUZLcE1hbENzd09BR2hzTzY0andBc1lkSGk0aEtqekc3MUZEdncwS2NwSFpt?= =?utf-8?B?RmlnUWVzNUlNZG85YkttZ0xkY0YvU3p0VmlwRkhVa3NOVERMM2o4RGtTNkpE?= =?utf-8?B?ajBTZEFkSVBnSVFBMWROS1dQREtMQzduRno2SlFHeCs0T2pXTDJXK1hoZHZj?= =?utf-8?B?aVVUQUcwVjFSdnZhUDFyNFdmY2Qyc0g1OUdLdDFlWUtOTERhUmFLYVZpaEhm?= =?utf-8?B?SXFCSDhGZWlNT3d5K3ltT2xBVG5SNERqQ3c5SHpPWWY0b1R3bmF6czA2ay82?= =?utf-8?B?T01NcFRWV0QvaDYvRzVJTWRIUWl0MG5PdG0xbjBaN2VUU1hmUnIvNkpaQ1Zj?= =?utf-8?Q?9r7tF03InSio8sR2vDDvizbUSbfMPakfEdS2D19bSc4mI?= X-MS-Exchange-AntiSpam-MessageData-1: a+cjf3NmSd1Q/A== X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: a510048d-9f8f-4f83-32ef-08de5486445f X-MS-Exchange-CrossTenant-AuthSource: IA1PR11MB7773.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jan 2026 22:34:38.4374 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: H5lpX8iLo4pkJKkssyK0RrVo7xKSXHBtTkznAiq2xfGjtuicmYkhQL47NemXdWXeLw/RGfLdQNzsUL8gHsY6SQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR11MB5870 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTE1MDE3NyBTYWx0ZWRfXwEZ9P4OmXxZo nn7WsXkfNdtunAq99NqlgpoTl4wj97DV29gFO1IBMqlqiKvZrwv3HpNP3Hc5/gYJKSr9NRhO40N Urqzdu2eRjaqWSenecr5ENbejMfkdI40YqYNY31DrAPhj0p49dwLoUscVAC/dN04EW3ZcSlzQBw qBUeMvlVSrrdCsjM+CYxT2+BV/Zv3eK22mgtTKtLXa5F5k4WmJ21UZnZERqytxp9R+GrgL64NC2 s6Q4HmMeGiRHH9S5SFD1OQpVa0korb27EF57KuM6ZSAwIVfpphYTN98pYCcMz2uFCvnq9Oj/CZ1 v0WP/E96fzDTQxR3iEECvTyoCFagSZslmPttW1VIteg/Gq7t5GCusRpY0it1M5tMc78xntVsVee rwIGA7zjfnfTlb9sb5cuRrIVSa3gAqi9zrr4nCNxmKFy1JTCjyQUkIjKYO4HLPFNf13BGcEwg9P CU2F1U3P47+C9cc0KRg== X-Proofpoint-ORIG-GUID: IrvYmt0I_UoHkGSNjGIZLJWqm2pNNVUx X-Proofpoint-GUID: IrvYmt0I_UoHkGSNjGIZLJWqm2pNNVUx X-Authority-Analysis: v=2.4 cv=PcXyRyhd c=1 sm=1 tr=0 ts=69696b81 cx=c_pps a=6Bt0GI45FyvFQl6hnU1EVQ==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=vUbySO9Y5rIA:10 a=M51BFTxLslgA:10 a=i1IsUcr2s-wA:10 a=VkNPw1HP01LnGYTKEx00:22 a=2AEO0YjSAAAA:8 a=VwQbUJbxAAAA:8 a=jKHQODXA2kRhIKoQf8AA:9 a=QEXdDO2ut3YA:10 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2026-01-15_07,2026-01-15_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 spamscore=0 phishscore=0 impostorscore=0 bulkscore=0 lowpriorityscore=0 priorityscore=1501 suspectscore=0 clxscore=1015 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601150177 On Thursday 15 January 2026 16:58:07 Central European Standard Time Damien = Ri=C3=A9gel wrote: > From: Gabriel Beaulieu >=20 > This introduces a new module gb-cpc-sdio, in order to communicate with a > Greybus CPC device over SDIO. >=20 > Most of the complexity stems from aggregation: packets are aggregated to > minimize the number of CMD53s. In the first block, the first le32 is the > number of packets in this transfer. Immediately after that are all the > packet headers (CPC + Greybus). This lets the device process all the > headers in a single interrupt, and prepare the ADMA descriptors for all > the payloads in one go. >=20 > Payloads start at the beginning of the second block and are concatained. > Their lengths must be 32-bit aligned, so the driver takes care of adding > and removing padding if necessary. >=20 > Signed-off-by: Gabriel Beaulieu > Signed-off-by: Damien Ri=C3=A9gel > --- > Changes in v2: > - change formatting from %lu to %zu when printing size_t's > - remove "/**" kernel-doc marker for static functions not actually > using the kernel-doc format > - reduce header inclusion list > - use reverse christmas tree variable declarations consistently > - update aggregation functions to try to be more legible > - use define instead of constant value 0x0C for the address where to > read the number of bytes the device wants to send > - remove padding between headers and payloads when aggregating packets >=20 > drivers/greybus/cpc/Kconfig | 12 + > drivers/greybus/cpc/Makefile | 3 + > drivers/greybus/cpc/sdio.c | 533 +++++++++++++++++++++++++++++++++++ > 3 files changed, 548 insertions(+) > create mode 100644 drivers/greybus/cpc/sdio.c >=20 > diff --git a/drivers/greybus/cpc/Kconfig b/drivers/greybus/cpc/Kconfig > index ab96fedd0de..8223f56795f 100644 > --- a/drivers/greybus/cpc/Kconfig > +++ b/drivers/greybus/cpc/Kconfig > @@ -8,3 +8,15 @@ config GREYBUS_CPC > =20 > To compile this code as a module, chose M here: the module will be > called gb-cpc.ko > + > +config GREYBUS_CPC_SDIO > + tristate "Greybus CPC over SDIO" > + depends on GREYBUS_CPC && MMC Don't you think, this PR should also be sent to the SDIO maintainers (linux-mmc@vger.kernel.org)? > + help > + This driver provides Greybus CPC host support for devices > + connected via SDIO interface. For now, I believe only some Silicon Labs device provide this interface. Maybe it would help the user to mention that. > + > + To compile this driver as a module, choose M here: the module > + will be called gb-cpc-sdio. > + > + If unsure, say N. [...] > diff --git a/drivers/greybus/cpc/sdio.c b/drivers/greybus/cpc/sdio.c > new file mode 100644 > index 00000000000..aeeb8378dea > --- /dev/null > +++ b/drivers/greybus/cpc/sdio.c > @@ -0,0 +1,533 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * Copyright (c) 2025, Silicon Laboratories, Inc. > + */ > + > +#include > +#include > +#include > +#include > +#include > + > +#include "cpc.h" > +#include "header.h" > +#include "host.h" > + > +#define GB_CPC_SDIO_MSG_SIZE_MAX 4096 > +#define GB_CPC_SDIO_BLOCK_SIZE 256U What is the purpose of the "U"? > +#define GB_CPC_SDIO_FIFO_ADDR 0 > +#define GB_CPC_SDIO_RX_BYTES_CNT_ADDR 0x0C It took me a bit of time to understand the meaning of these two definitions. I suggest to separate them from the other defines and use a common prefix: #define GB_CPC_SDIO_ADDR_FIFO 0x00 #define GB_CPC_SDIO_ADDR_RX_BYTES_CNT 0x0c > +#define GB_CPC_SDIO_ALIGNMENT 4 > +#define GB_CPC_SDIO_DEFAULT_AGGREGATION 1 This number seems arbitrary and it used only once. I feel it just add one layer of indirection rather than improving the readability. > +#define CPC_FRAME_HEADER_SIZE (CPC_HEADER_SIZE + GREYBUS_HEADER_SIZE) > +#define GB_CPC_SDIO_MAX_AGGREGATION ((GB_CPC_SDIO_BLOCK_SIZE - sizeof(u3= 2)) / CPC_FRAME_HEADER_SIZE) Orphan? > + [...] > +static int gb_cpc_sdio_wake_tx(struct cpc_host_device *cpc_hd) > +{ > + struct cpc_sdio *ctx =3D cpc_hd_to_cpc_sdio(cpc_hd); > + > + if (test_bit(CPC_SDIO_FLAG_SHUTDOWN, &ctx->flags)) > + return 0; > + > + /* Use system workqueue for TX processing */ I wonder if these trivial comments are useful or rather pollute the code. [...] > +static const struct sdio_device_id sdio_ids[] =3D { > + { > + SDIO_DEVICE(0x0296, 0x5347), ^^^^^^ You have to add an entry in include/linux/mmc/sdio_ids.h. But, it seems there is a conflict with SDIO_VENDOR_ID_MICROCHIP_WILC. > + }, > + {}, > +}; [...] --=20 J=C3=A9r=C3=B4me Pouiller