From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f46.google.com (mail-pj1-f46.google.com [209.85.216.46]) (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 CE92A3B5DE9 for ; Wed, 27 May 2026 20:10:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.46 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779912617; cv=none; b=bBYKp6/FzEnIG0Oh49wR+5Ec+VetdbDUt6A9ykWaiLIsxy9QP4uaPHks+i/yQhSYurH+Nl+wj3FcVzOWuQWaa6LNSWPEf/vlDJWdQP5ZSTWaOvxZb9Eh6hfbJLV/3R+3rRVud2STCXymkbo07ASwYCq8dDHD0rxTEFwF+BMyboI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779912617; c=relaxed/simple; bh=znQoNKFpKH+T9cooha3b3mPmhi78mBH5UqoBp7OvjfU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=NZ/eOui/sT0ls9RLd4UeOFJAEXUn9kEbCabAhhUNJeujH83bmzkILF8jA8/6mRmJaNhz+myXslQ8HcNZ0g2f7UNBn0wxtUimRnlkf9ELC2Usbg67L3If3IvqnWJZeD+gDcS6FoBllTvtvj8QGN9Wg9Qgq+nXvlZSEzo9rh2hwDo= 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=VpHmx4Dt; arc=none smtp.client-ip=209.85.216.46 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="VpHmx4Dt" Received: by mail-pj1-f46.google.com with SMTP id 98e67ed59e1d1-3665a90bcd3so12971895a91.1 for ; Wed, 27 May 2026 13:10:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wkennington-com.20251104.gappssmtp.com; s=20251104; t=1779912615; x=1780517415; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=yJYlGop0TKEOKbzHRXHcyUDP0UgfdalyI8xtfUez22k=; b=VpHmx4DtHTGT53WkPw3KLtYau67nTgaoqKB8VbYXU0nIxCXB9G45C4dy95ykBFiqtt bpiB4xtPH31CcA7ckS/8E5MdGAMXrTZxQZMurc+c1JFnNevmsabFdMyb/f1yxWA9j4Qz u7izjEed2FXXSOaY03xyd1dj+boiYCRShJ+2w10PRLNTYHT3jXoCJf21DG3WpFpM03fK pgnkQJDVlIbZQSN3v/r2uM7n3wTyTJ3caNXISTAFOKFExQlp2OU66lFG5dLnLXWr3b7f xvGri7MPbtoKTIQDP8z5I9XIwVSijrmEl9LawNJGsIO2K5wySmIIh9eP2GAyJRqbgqjQ oCjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779912615; x=1780517415; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=yJYlGop0TKEOKbzHRXHcyUDP0UgfdalyI8xtfUez22k=; b=bFJSeli2mgLTTLQEKy2KIug2JJ61JyZzFpyQxEPDsv40hVlGNGyTi6Zk8kxNDMhcFu rXVrb8BBmmuFDWWaaAUuIPT3uVYyWEdQC7RgrjCrNBNW/FbpEDH6dYyaPKbwiQYY0rRa dw8DDQPUbJ1TXNSThDdmcKyzn3RQgNm4XMwH6ov342rl/iSpzPrl1JtW8EOBGaHkQiRy fpRMV5UWuisEqED/j72XcNXdRKKlDjSBIvWrj9NNW1LEc0h1LECCYxMN8X0UdAc46PhG XLnYrBjxL3YL2WfniEVFEF98mx+8Wi3Wwa6Se5nnE9fcOkBG+0kQe89dG0FeaYW8OMcb gAUg== X-Forwarded-Encrypted: i=1; AFNElJ/+8gJKPKeYguVzf8o0y1Eaq2OZIAEVsw79rzw9D4oJqVM9FZRh4WIR0dj5qooE+lXygfyVYpOSUYSdtr4=@vger.kernel.org X-Gm-Message-State: AOJu0Yx7v9tLtZgE5GmzFjqh6cJVvXXUvA3pSM+uh8Sbx294rXbiqqHC GUEyEBEVgTV3ydhQSnPyaOLzrxxXMXKU399j50p4nwyaKDppsV1bNdbRF2t3Xi/8kz8OOxuXoqQ TvxNkV6Ul3Q== X-Gm-Gg: Acq92OE3Sn7dT9UQfts5gyP/sNvW4Vir7Wcp+BpEso3BLOqVO272V/AEdRMMuqwEevv f7rfRaAv76ZtmbDfGW+F/Zd2fpsUAADSyZmo678wwRpOloWIPDVtJ4mpVWZPICsMZ48enAUcM2+ gTZz5CBva9tlMoa7E4EHuhd6nfzvi7bC4iy1jX+OjumMEcyD258eIg1ArJsbUS8LQlAKMPMIXTR O12ed1J48SydCwYnzwwlQNpWtBiCgMY0OkJKNEJWo66GsIgHml1Wb3RUl3r6uIcUesWAVqub9yM j21gToFAx+fNjR844IWv4xPaKjKiSZ782HV7eyE7T1/7SPyh1p6q/N41F/64bqkvw3euum3FgnA qAN/qqJAZT0hsJB2vrClzShcyXzhLsUv9hz90BvtnymDtGQs0ScVye6+rfHk8oS4DB6SFtygcUU ZfUKktUUya+KGVDekHq82iUW6gWBRpv9Ak+Nmc/8L/08yB98EpknRB0xqsaBsZJbq30uKjm++eA PJ/+h1o0CGeoFezMa4wURQeJ084JDfKog== X-Received: by 2002:a17:90b:4986:b0:36a:f623:83a4 with SMTP id 98e67ed59e1d1-36af6238686mr10835710a91.26.1779912615387; Wed, 27 May 2026 13:10:15 -0700 (PDT) Received: from wakbuild.c.googlers.com (27.117.125.34.bc.googleusercontent.com. [34.125.117.27]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-36a71d9416csm21875253a91.3.2026.05.27.13.10.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 May 2026 13:10:15 -0700 (PDT) From: "William A. Kennington III" Date: Wed, 27 May 2026 20:09:51 +0000 Subject: [PATCH RESEND v5 3/4] i2c: designware: Convert platform driver to use shutdown hook Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260527-dw-i2c-v5-3-3483057f8d67@wkennington.com> References: <20260527-dw-i2c-v5-0-3483057f8d67@wkennington.com> In-Reply-To: <20260527-dw-i2c-v5-0-3483057f8d67@wkennington.com> To: Mika Westerberg , Andy Shevchenko , Jan Dabros , Andi Shyti Cc: linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, "William A. Kennington III" X-Mailer: b4 0.14.3 Convert the platform driver to use the new i2c_dw_shutdown() hook, allowing the controller to gracefully NACK controllers requests during system shutdown. Signed-off-by: William A. Kennington III --- drivers/i2c/busses/i2c-designware-platdrv.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index 3351c4a9ef11..da2babd6188b 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c +++ b/drivers/i2c/busses/i2c-designware-platdrv.c @@ -289,9 +289,23 @@ static const struct platform_device_id dw_i2c_platform_ids[] = { }; MODULE_DEVICE_TABLE(platform, dw_i2c_platform_ids); +static void dw_i2c_plat_shutdown(struct platform_device *pdev) +{ + struct dw_i2c_dev *i_dev; + + i_dev = platform_get_drvdata(pdev); + if (!i_dev) + return; + + pm_runtime_disable(&pdev->dev); + if (!pm_runtime_status_suspended(&pdev->dev)) + i2c_dw_shutdown(i_dev); +} + static struct platform_driver dw_i2c_driver = { .probe = dw_i2c_plat_probe, .remove = dw_i2c_plat_remove, + .shutdown = dw_i2c_plat_shutdown, .driver = { .name = "i2c_designware", .of_match_table = dw_i2c_of_match, -- 2.54.0.794.g4f17f83d09-goog