From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-dl1-f53.google.com (mail-dl1-f53.google.com [74.125.82.53]) (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 C932734E75E for ; Thu, 7 May 2026 07:56:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.53 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778140614; cv=none; b=D3GopagI4mDdK25Ficf/9tkEkAvdbhVZDG8k5BYbkKpeoCR8PvjKdhxwskWkyKe1AS1dNP21AmOe5nRS7Qt0184W6ZFGzay83+5/Jpd3azCAmzL4DnWg23B1Qv+qZyz17sOZ4rBbkPnAt/V2yb4Pxg4QKmbOmRi/b7H5LO6IzX8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778140614; c=relaxed/simple; bh=TlR/xsfN/SsPRQlJrt9edJEjZ/kU37wAuFHlT5eEPJ0=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=ik+2hqw9uPxB7zL872bBvJ+3s8z7sLRAjEGD1kCQjzdvAMdPT0OCDgSoGYmCka1St9BB8yR8YA+jFqWur+X3JzjZlbdLvyQ2W8+V4S0Rxcl/ZA7FZLUKgkRKzIC5Oe1s12Ft6jhHUfLPPmXsY67uB65pNQNkBTP+UfKb68Luuwc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=wkennington.com; spf=none smtp.mailfrom=wkennington.com; dkim=pass (2048-bit key) header.d=wkennington-com.20251104.gappssmtp.com header.i=@wkennington-com.20251104.gappssmtp.com header.b=FCdL3ZFP; arc=none smtp.client-ip=74.125.82.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=wkennington.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=wkennington.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=wkennington-com.20251104.gappssmtp.com header.i=@wkennington-com.20251104.gappssmtp.com header.b="FCdL3ZFP" Received: by mail-dl1-f53.google.com with SMTP id a92af1059eb24-1309f4ee973so674190c88.1 for ; Thu, 07 May 2026 00:56:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wkennington-com.20251104.gappssmtp.com; s=20251104; t=1778140612; x=1778745412; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=UAC2r2pIGYK6BoP8vASKjfj1y1PElzocW+Rdg94M4Ug=; b=FCdL3ZFPWlYBtEdMmX3aqfIrvBsYBVicXkNsb/3BK6mBeFN70zrcSWtHVsngsGTpwW XMVV8PaNMvmEdbzJm3IAUDlXjNvgg6Ozv8sJvLHFZ0jdrs4tCYqJjmT1RcwTTimedUvo 9pnDVubkLx/kLDMXpTysUCItcPZZe+003EuoNlyG+xBsVAz4ebAxOEZ04WA4FEblT6N+ 4rR/RI4oFAS52YEt42QIFBbsgQ3yzM9MrHaawTLYhxlvqIBhlZF6YMtO4r1C31fMOQA0 soC0p1yKmFnYh3543V+2TsPH3bI6Wi1hSLRClrQZwKIcTWPGjak1R0nwNapgfDc0/ipO dw1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778140612; x=1778745412; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=UAC2r2pIGYK6BoP8vASKjfj1y1PElzocW+Rdg94M4Ug=; b=DEvU8zGwARczg9yvB1bMD6VIWdNHEYBsvotED4/36aLrIzdcMtA7RT3QAIH/feLJYK 8UOAiFEeUqcYiNCjlkdJLtj14Cd9+fQO4uanHxpdvDIvGl3gz5mA2PIxwtKr7bMZnIg2 iyQBKRgxt8UZNXycnLIetBb9T6Pp5pyn+p+/3/AGhRBK7ZcuhxDkUeGg/nbyJcLKUP3F 3wZFpnFFP4/sp95ua0D3oYqYm034E4E3MM3Foco9U9+YC/STMU+XrmVg+KSGPHM8v3iY vgygNshjGcG9r9nyCMlg7+vBFK2oxMjvAqNqOzTwk9DsyQ14tuXifgkjv/s5s3ngHnxi fK2g== X-Forwarded-Encrypted: i=1; AFNElJ89wXeluyuo7cSrPb+vVTAfCvMZbwpZZ640Op1Yn4338r/LV2Xh74ZSNdLm3pYrK/LcAC1CMd0tHXfRtb4=@vger.kernel.org X-Gm-Message-State: AOJu0YwlEgn+KBzlVtBA2p/Osb16AM3vQsyMPmCbExR+sAn4OhsLZeOk sQ4+CuZyNN02svZXTCmxupjRruZVUzbuFRSlItXaEO3bkGhdWbbnbv7jA8gBG+RkYak= X-Gm-Gg: AeBDieu1BqAyfyJ/M3PD1kjRcC9UMVTTepTFT7wTmLr7cFn/O0eHpqGC3Iso2CBNRn1 T6vAQ0O0W6mXJBVshT0ZHLzLaZAWCbRff1a4hTt1lORN4mTfsL9aWaBEdPXVLPsHs3fob1O61J0 Y3z+gPf+YoXQ62DeKfeIyD9+2gvQspAt4a6g+KqKCrGVGI8dXBU3mYMIjoBfTrCmGP1qp/Qkme1 vAyKl2KSRKFbX1EdmFBoxPXFX1nu19nHXykQyKLYFtJ5jJzjMyt1RSrhPEZ/99o17WXlT8cA2dG GCgYYZ/qQCWFsKMxL/oVOmisMgV3muA3geszGFP7t1BjXCulIVnzpgLyLq9v6qjoDZ5A+7hVY1B VkPfJI74SULG2VCyVDQtRIvBnsC6vpjnsjWEzPDDZvgazVKmmFFoAmt/Nu3X7cs4NaNmKGyvQQR 7+yKUTl3DUC4gZwsWUlFUhVpD0yPru4MZLTDFVst7vOm7ramgKKz72O1Qca7S821v7nyYdaqAD6 n1iLgAFkdrsrQQtelOKDcJF0w== X-Received: by 2002:a05:7300:72d1:b0:2ea:ed7c:8064 with SMTP id 5a478bee46e88-2f548895145mr3507115eec.3.1778140611874; Thu, 07 May 2026 00:56:51 -0700 (PDT) Received: from ?IPV6:2600:1700:5ae0:228c:e58:7bff:fe94:34ed? ([2600:1700:5ae0:228c:e58:7bff:fe94:34ed]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2f57038b096sm6269848eec.27.2026.05.07.00.56.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 07 May 2026 00:56:51 -0700 (PDT) Message-ID: <471722ab-a6f2-4e21-9b68-ef2050ec4e65@wkennington.com> Date: Thu, 7 May 2026 00:56:50 -0700 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 1/4] i2c: designware: Introduce shutdown exported function To: Andy Shevchenko Cc: Mika Westerberg , Jan Dabros , Andi Shyti , linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org References: <20260504-dw-i2c-v3-0-57e56135d602@wkennington.com> <20260504-dw-i2c-v3-1-57e56135d602@wkennington.com> Content-Language: en-US From: "William A. Kennington III" In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 5/5/26 00:29, Andy Shevchenko wrote: > On Mon, May 04, 2026 at 08:15:02PM +0000, William A. Kennington III wrote: >> Introduce an exported shutdown function to safely shutdown the >> DesignWare I2C controller. >> >> This shutdown hook gracefully sets the slave disable bit before disabling >> the controller. This guarantees that any incoming requests from the master >> are immediately NACKed during shutdown, preventing the bus from hanging. > ... Is this just language correction? > >> +void i2c_dw_shutdown(struct dw_i2c_dev *dev) >> +{ >> + unsigned int con; >> + >> + /* >> + * We only need to handle shutdown for slave mode to ensure >> + * we NACK any incoming master requests. Master mode cleanup >> + * is handled after each transfer in i2c_dw_xfer. > i2c_dw_xfer() > >> + */ > Since it's a newly added comment, can you switch to use inclusive language? > Same for the whole series related to the commit messages, comments, and > documentation. > >> + if (dev->mode != DW_IC_SLAVE) >> + return; >> + >> + /* >> + * To quickly NACK the master during shutdown, we set the slave >> + * disable bit while the controller is still enabled. >> + */ >> + regmap_read(dev->map, DW_IC_CON, &con); >> + con |= DW_IC_CON_SLAVE_DISABLE; >> + regmap_write(dev->map, DW_IC_CON, con); >> + >> + i2c_dw_disable(dev); >> +} >> +EXPORT_SYMBOL_GPL(i2c_dw_shutdown); > Can we use namespace? It already does use namespaces with `#define DEFAULT_SYMBOL_NAMESPACE    "I2C_DW_COMMON"` I assume I should just keep it consistent as-is? > ... > >> void __i2c_dw_disable(struct dw_i2c_dev *dev); >> void i2c_dw_disable(struct dw_i2c_dev *dev); >> +void i2c_dw_shutdown(struct dw_i2c_dev *dev); > Isn't more tighten to the probe/remove than this? Yes, can move it >> extern void i2c_dw_configure_master(struct dw_i2c_dev *dev); >> extern int i2c_dw_probe_master(struct dw_i2c_dev *dev);