From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (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 69DC31F419A for ; Sat, 21 Feb 2026 07:53:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771660416; cv=none; b=aKcgw0fotugP+BPpLJXZ732RWbkwiF7xm0gMi9XYX1ej0Z9O8F/m9QnsbY2zuVFAym44+CczJBxrlh0uVFU13CM1vQW0342wUKhLRZloBD2lSZ7Ni1MMA/cLJOgQ/nloRkDbqbPFf9Tgo5M5SK7VLdSG6rbfxuQ2tp9tcdup5vc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771660416; c=relaxed/simple; bh=IG0VGK1MN6bXh9q2rLcPMocIH9bzvLqqvluMM4PXWYM=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=hHbDk1HMkqbt0mqTKS8+S09PVxVq6ICzk+BYqejAFnM4Rl29T+LIQ65iynCFnEB1270+PySdsX/tYEtsQqbYR4tDw07ErFankRqvgXB+pX5u49W7hoiR9vLvB1CIA+lDvkhf0YSElPzo2IbDA+3iX6PeJQmnxooJ64WOTwp4u8g= 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=Y+2VEZl8; arc=none smtp.client-ip=209.85.128.47 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="Y+2VEZl8" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-4837584120eso20129765e9.1 for ; Fri, 20 Feb 2026 23:53:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1771660414; x=1772265214; darn=vger.kernel.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=7p/ouUALtspUzn2VeCUZNNF38MeWl1ZffACggh9o4dE=; b=Y+2VEZl8T2ugpTg/5+qTpXjhUKrrK8Kartbm+7pNLSbM7B1dQxlVxuhkxh2QMvfkE/ BZKoLhswN8XnAlm1vvhPK8y+AEWJ9WDO/s95sOy1a4wgpGOpfu1yEr7upU4nEZ+/557u rEHq0fN7vajoWaQdtaDlPaBNT0W/KsbmWiBaJsG+yA3+pXfdOZTSDyPmUT6tZ9O4t0+4 VXQBInALoWrIaueD8BX1EykQTcG8Xzs2UODouDEvelpcjjoIkHi7PXfKlxpLi+92vBiT 66rGC5FvKW+uvWOWuGKsfaeJzm/P0+oUvQmYOfWfLzf/Uicin7BjSS8TT+AqZSdBoTLc I4AA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771660414; x=1772265214; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=7p/ouUALtspUzn2VeCUZNNF38MeWl1ZffACggh9o4dE=; b=cj9/iNHj/cWKgV6scEZVMizSoQjLf55x2kyDdELg2qbdDe2Iytx85JOS+ueIkElFOk yzNNfUyhsO+cBL3M7CSJ8Mf4rLKGoOIrTUvsz7AqGfmGNMNL2d1Jz7n6kPfrkNHMMDFY 7An3puIRbBda/fRmGdwq0BwP9AF36a3bcbiOdlrja2RqhTCtJeupuGUQnSFDPoqaHMLY i1vmDEUm3JyAGSMZL8iEGCLfN208IVp9kEDU6C0cWgPd6qeFyRLd96sLNSsv1bKq07Ec SqlH+MxoQMeMDGtJWPq29fCmQp5EZPNn2R2f5zRCHtew2gjevAOeBE3cK6FYp1QoYKbM t+xg== X-Forwarded-Encrypted: i=1; AJvYcCW4wMzfr1Cd4unxKDEPy/roEzdaixZJuFTb7OTc69tPFs8GJmZECeiz+fbPxhkT5zWnD8Gc5WpF11/EuQg=@vger.kernel.org X-Gm-Message-State: AOJu0YwUD3ExTs0RagjC3jBtSN5pE7lYalHbdk6P5gCbfGMqYm3vhjbH hjh13kAq1KuVpr9rUupGaj2qx/RABa8r7ghHPutEew5soEP7ngZKPhrB X-Gm-Gg: AZuq6aILeK45KED0NxOasHB7AmyLnXVwiSilXcL51fP3sI58MkG3YFTIEgtGFviUuaa juD/j+Vj32IyEBIEb2s9axHwEPbQsX7Qp34CynaBcefQyfPBhoSav/JtH1eMWXMB7CUu1WTf7Gn 1CcPjszOpVG/IrN4hEDzAKwZ71vVPaSG3kvuidvxe/TvN3IJkOcLiVbKbrIhqBg3IJd9hIZkt9r 1ieZ3HF/4ncdFmh+owb7iJLTknW7+u+6BMaoSSQbJtjKipNe0C/3ORnRFLaR3RO62M2pCj1Pqoz o5UNoBr3dYvWXtDZ8YA3hVltXRoeIhsfI5i3iSCAFTDIsnqQ/i73RJJ7+5PlKSPpCM7gVOx7tiU S4ZQpAoGBJj065NOMJgZYBrrc6iQKpuYN54DWb12V9aiBsC1B3PSeVG2EvlRdjTeFlDGvD4b0AP ZxIx6hOt5EdmaKKQmWVLnpHaCu X-Received: by 2002:a05:600c:c166:b0:477:7b16:5f9f with SMTP id 5b1f17b1804b1-483a9607d11mr35646195e9.31.1771660413411; Fri, 20 Feb 2026 23:53:33 -0800 (PST) Received: from gmail.com ([51.154.249.21]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43970bfa1bdsm3189734f8f.3.2026.02.20.23.53.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 20 Feb 2026 23:53:32 -0800 (PST) Date: Sat, 21 Feb 2026 07:53:31 +0000 From: Vaibhav Gupta To: Bjorn Helgaas Cc: Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Bjorn Helgaas , linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v1] mtd: rawnand: cafe: Use generic power management' Message-ID: References: <20260216090415.675368-1-vaibhavgupta40@gmail.com> <20260217155525.GA3377374@bhelgaas> 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-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20260217155525.GA3377374@bhelgaas> On Tue, Feb 17, 2026 at 09:55:25AM -0600, Bjorn Helgaas wrote: > On Mon, Feb 16, 2026 at 09:02:44AM +0000, Vaibhav Gupta wrote: > > Switch to the generic PCI power management framework and remove legacy > > callbacks like .resume(). With the generic framework, the standard PCI > > related work like: > > - pci_save/restore_state() > > - pci_enable/disable_device() > > - pci_set_power_state() > > is handled by the PCI core. > > > > This driver should implement only cafe_nand specific operations in its > > callback function for resume. > > Looks good to me, thanks for doing this! > > I think the commit log is a bit overly specific since this driver > never did any of the PCI-related work it mentions. IMO something like > this would be sufficient: > > Switch from PCI power management to the generic power management > framework so the pci_driver hooks can eventually be retired. > > Reviewed-by: Bjorn Helgaas > Hey Bjorn, Thanks for the review. I will send a v2, and I will add your review tag there. Thanks! -- Vaibhav > > Signed-off-by: Vaibhav Gupta > > --- > > drivers/mtd/nand/raw/cafe_nand.c | 7 +++++-- > > 1 file changed, 5 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/mtd/nand/raw/cafe_nand.c b/drivers/mtd/nand/raw/cafe_nand.c > > index 66385c4fb994..af771c379ec1 100644 > > --- a/drivers/mtd/nand/raw/cafe_nand.c > > +++ b/drivers/mtd/nand/raw/cafe_nand.c > > @@ -837,9 +837,10 @@ static const struct pci_device_id cafe_nand_tbl[] = { > > > > MODULE_DEVICE_TABLE(pci, cafe_nand_tbl); > > > > -static int cafe_nand_resume(struct pci_dev *pdev) > > +static int cafe_nand_resume(struct device *dev) > > { > > uint32_t ctrl; > > + struct pci_dev *pdev = to_pci_dev(dev); > > struct mtd_info *mtd = pci_get_drvdata(pdev); > > struct nand_chip *chip = mtd_to_nand(mtd); > > struct cafe_priv *cafe = nand_get_controller_data(chip); > > @@ -877,12 +878,14 @@ static int cafe_nand_resume(struct pci_dev *pdev) > > return 0; > > } > > > > +static DEFINE_SIMPLE_DEV_PM_OPS(cafe_nand_ops, NULL, cafe_nand_resume); > > + > > static struct pci_driver cafe_nand_pci_driver = { > > .name = "CAFÉ NAND", > > .id_table = cafe_nand_tbl, > > .probe = cafe_nand_probe, > > .remove = cafe_nand_remove, > > - .resume = cafe_nand_resume, > > + .driver.pm = &cafe_nand_ops, > > }; > > > > module_pci_driver(cafe_nand_pci_driver); > > -- > > 2.53.0 > >