Received: by 2002:a05:6602:2086:0:0:0:0 with SMTP id a6csp4423677ioa; Wed, 27 Apr 2022 03:39:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyamcAM+1GD/THsGqEaE1oQHHQaJoEptjigtOL2L86AHcNJQO/96BELszCygXH1FU7qie0a X-Received: by 2002:a05:6a00:4189:b0:50c:c2cc:3560 with SMTP id ca9-20020a056a00418900b0050cc2cc3560mr29432145pfb.67.1651055965811; Wed, 27 Apr 2022 03:39:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651055965; cv=none; d=google.com; s=arc-20160816; b=oDDtALdaDP/snJIM1CNPKo7VOlY/Dy1iH8NSAPTg7fdqAetXWuO7s/zJoMu5f56UuW 3gZEh+YPZ/5KnAxcH57173meF2KNrpTaVOP1ASIuf5TYVFfSDdvhVmSfA3aCdRbw6wtr 8+3+QKjqc3ShCHm+kVzGF5x0DAbkLtm5u24na+7538r7QzRYKNc+O+03LaUHyWYcA0eW UjgApDCTW3uCT7XbL7iPFOQkQOZvxZXsHBKm+WdgQnSLqyN/VLMeMbfPwkBPOO62lumt DlaEnGwxpE7S0jqV4VfsVn7OLQLdFx73wnVn57WutnnSsVIax7xvqRWtCu4OJxeJLGbT nQDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version; bh=h2s6b46fGq2Ra/R9HiY0AFiKS1Y9rWSjhF/Ii9t/tbA=; b=c2xileKXVfmwMA0Y6RBFFoRRAUZuaf/XkBGrWQFLu0v4/6UeKOstWISWlDqT0IH7Pt fkkOUbiYjcuotUkPVvcNomO8K4qkLe5jXFwQMYxaMHv9V4l8fyPg3tg++P0JSQ6YgIR3 HSCbSPoUNmFv+C51c2BJOXiBughMHqt98X4neWM6wvu5PN70FMscraPdmmb6b7XmXiQ7 LxSGa6+yBh2phFdPq5zFRNiOq7RE2NqTIFNEMhbbQLPMDENPr1FUZyw6Y7zOhnsIgSog Mmse4hLzBEKrad9wXCuatPHZzwk3/xBYpbjXvzPW0G50Jr5J+hdV+w1z/WmMySb6Mgcq joGQ== ARC-Authentication-Results: i=1; mx.google.com; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id z9-20020a1709027e8900b00158f8093113si1145987pla.284.2022.04.27.03.39.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Apr 2022 03:39:25 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 285203D9B2D; Wed, 27 Apr 2022 02:50:13 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1355249AbiDZVKs (ORCPT + 99 others); Tue, 26 Apr 2022 17:10:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:32926 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243506AbiDZVKq (ORCPT ); Tue, 26 Apr 2022 17:10:46 -0400 Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.17.10]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 73C4C6D4D9; Tue, 26 Apr 2022 14:07:36 -0700 (PDT) Received: from mail-yb1-f174.google.com ([209.85.219.174]) by mrelayeu.kundenserver.de (mreue106 [213.165.67.113]) with ESMTPSA (Nemesis) id 1M5g68-1nmBA42FC6-007AW5; Tue, 26 Apr 2022 23:07:34 +0200 Received: by mail-yb1-f174.google.com with SMTP id e12so6387048ybc.11; Tue, 26 Apr 2022 14:07:34 -0700 (PDT) X-Gm-Message-State: AOAM5333hHcrAqr3ltIOI0nhglaWifkix2IIqdobSkfTn7jp3ihX4Una qmLcIpOUk0k5cHbyt9vD8CC72sFWsGJs1fBSZZQ= X-Received: by 2002:a25:31c2:0:b0:641:660f:230f with SMTP id x185-20020a2531c2000000b00641660f230fmr22931175ybx.472.1651007253244; Tue, 26 Apr 2022 14:07:33 -0700 (PDT) MIME-Version: 1.0 References: <20220426201539.12829-1-sven@svenpeter.dev> <20220426201539.12829-7-sven@svenpeter.dev> In-Reply-To: <20220426201539.12829-7-sven@svenpeter.dev> From: Arnd Bergmann Date: Tue, 26 Apr 2022 23:07:17 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v3 6/6] nvme-apple: Add initial Apple SoC NVMe driver To: Sven Peter Cc: Keith Busch , Jens Axboe , Christoph Hellwig , Sagi Grimberg , Hector Martin , Alyssa Rosenzweig , Rob Herring , Krzysztof Kozlowski , Arnd Bergmann , Marc Zyngier , Janne Grunau , DTML , Linux ARM , Linux Kernel Mailing List , linux-nvme@lists.infradead.org Content-Type: text/plain; charset="UTF-8" X-Provags-ID: V03:K1:arb0CGNHCglXbagvdX5x1MHN00MkpYocjWb0DiOfHRMghEjZSOW 8vGc8Y7WJFBr43ppWWkHQ/e/mfviQlRLB/VaOUbeYD9hVmRDqsLS9E3zfztjjEsXZUG671M cqybp6QUcfq5S+FDE5+ZR2fTE+S3fgQceTl+vhal9J3upBOKSqEOchhMrTg7rvrqJaq8iQW tqFurIqI24z8dWg6tgvXA== X-UI-Out-Filterresults: notjunk:1;V03:K0:KsJOKjXs5rg=:ynkaV/C4zsaWMdABQ4ptOD Dgq1QegXU7HurSbd6ePPRnrdadMDcBXH5u+zHUe9Cx4rtOYUfivFU+K0Irt1EIlGYdL8+M0pE lw9wifuTFQijFe82isz5sMdr43wCqElqJq6y4h1QvOgE5zheEZZ5RELLDB0DVtpImpFOUTSW5 S7F3fgj88t66HWHv+Cx7jbPDeeQ088K1Y3gIjM9TZpyoPbF0ZWXharfisUebUyKatvoAbhf9N W0jrovaTHe0LWCdArtp0VHWtWWoxOgMRDTU939nYCkbBoF5dfI0Souoxzk5kGgKbVLSEdjQF1 BhhHE182Q6rJPm+v9JrgwsAUS368wAqmU8lKiY1x2w+s99GHpLyaSnGWhQWqthFGp4VnZV/bX w8qa743WFTjLRb9LZZBbu0dQOuEvFrLeGqHUZBMsHFDHM2upsVgL63NWF4RGtEBVdqFth20bB z6pdCPliS+F6iJXQtqkM/1GVJjC9vA+KAuc9X+vjTvTyByakRnGTa60MTydpjCUIuUcrLxJz+ 5DwiudPOX9SuU8jeapRtF3ZgA1GvQMzpx8KaH/YWECUsWDtV76SKu/ppBDS3GDlJpJkbZ1CKg i8vIF0DIVWbgaRnNwQCw5YwVd3r4isvA4I4a759qB4CfDyPrzfToJbw4ijAByS/80SNbPxRt7 OK0FEPfNU0j+h1SUgswoo+jGQu5/F2yE7W6vFMcndl9hhsKMXDHCnjhVFBxpDfD1Wh/LT8Oqe Y/+lizqYh5qs3mbFxYG+0mNSjEnvkb/4WF0WdA2r5HNskHu0BXiuwsOXaNbfyEqK6mAA242rm Ta2QTnhXhr7Fpi8upNA232ZRNk+v84lY1XoE82rVCb7381ECVA= X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Apr 26, 2022 at 10:15 PM Sven Peter wrote: > > Apple SoCs such as the M1 come with an embedded NVMe controller that > is not attached to any PCIe bus. Additionally, it doesn't conform > to the NVMe specification and requires a bunch of changes to command > submission and IOMMU configuration to work. > > Reviewed-by: Christoph Hellwig > Signed-off-by: Sven Peter I did not do a detailed review of this again, but the previous version seemed mostly fine already. Reviewed-by: Arnd Bergmann One suggestion for a very minor improvement: > +#ifdef CONFIG_PM_SLEEP > +static int apple_nvme_resume(struct device *dev) > +{ ... > +} > + > +static const struct dev_pm_ops apple_nvme_pm_ops = { > + .suspend = apple_nvme_suspend, > + .resume = apple_nvme_resume, > +}; > +#endif > + > +static const struct of_device_id apple_nvme_of_match[] = { > + { .compatible = "apple,nvme-ans2" }, > + {}, > +}; > +MODULE_DEVICE_TABLE(of, apple_nvme_of_match); > + > +static struct platform_driver apple_nvme_driver = { > + .driver = { > + .name = "nvme-apple", > + .of_match_table = apple_nvme_of_match, > +#ifdef CONFIG_PM_SLEEP > + .pm = &apple_nvme_pm_ops, > +#endif > + }, You can now use "static DEFINE_SIMPLE_DEV_PM_OPS()" to define the pm operations without these #ifdefs. Arnd