From: Will Deacon <will@kernel.org>
To: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Hector Martin <marcan@marcan.st>,
linux-arm Mailing List <linux-arm-kernel@lists.infradead.org>,
Marc Zyngier <maz@kernel.org>, Rob Herring <robh@kernel.org>,
Arnd Bergmann <arnd@kernel.org>, Olof Johansson <olof@lixom.net>,
Krzysztof Kozlowski <krzk@kernel.org>,
Mark Kettenis <mark.kettenis@xs4all.nl>,
Tony Lindgren <tony@atomide.com>,
Mohamed Mediouni <mohamed.mediouni@caramail.com>,
Stan Skowronek <stan@corellium.com>,
Alexander Graf <graf@amazon.com>,
Linus Walleij <linus.walleij@linaro.org>,
Mark Rutland <mark.rutland@arm.com>,
Jonathan Corbet <corbet@lwn.net>,
Catalin Marinas <catalin.marinas@arm.com>,
Christoph Hellwig <hch@infradead.org>,
"David S. Miller" <davem@davemloft.net>,
devicetree <devicetree@vger.kernel.org>,
Linux Documentation List <linux-doc@vger.kernel.org>,
Linux-Arch <linux-arch@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v4 11/18] asm-generic/io.h: implement pci_remap_cfgspace using ioremap_np
Date: Wed, 7 Apr 2021 22:03:17 +0100 [thread overview]
Message-ID: <20210407210317.GB16198@willie-the-truck> (raw)
In-Reply-To: <CAHp75Vcghw6=05vbhX5J8sHoo78JMoq5z4w9__XcocrtRVjF3g@mail.gmail.com>
On Wed, Apr 07, 2021 at 04:27:42PM +0300, Andy Shevchenko wrote:
> On Fri, Apr 2, 2021 at 12:07 PM Hector Martin <marcan@marcan.st> wrote:
> >
> > Now that we have ioremap_np(), we can make pci_remap_cfgspace() default
> > to it, falling back to ioremap() on platforms where it is not available.
> >
> > Remove the arm64 implementation, since that is now redundant. Future
> > cleanups should be able to do the same for other arches, and eventually
> > make the generic pci_remap_cfgspace() unconditional.
>
> ...
>
> > + void __iomem *ret = ioremap_np(offset, size);
> > +
> > + if (!ret)
> > + ret = ioremap(offset, size);
> > +
> > + return ret;
>
> Usually negative conditions are worse for cognitive functions of human beings.
> (On top of that some patterns are applied)
>
> I would rewrite above as
>
> void __iomem *ret;
>
> ret = ioremap_np(offset, size);
> if (ret)
> return ret;
>
> return ioremap(offset, size);
Looks like it might be one of those rare occasions where the GCC ternary if
extension thingy comes in handy:
return ioremap_np(offset, size) ?: ioremap(offset, size);
but however it's done, the logic looks good to me and thanks Hector for
updating this:
Acked-by: Will Deacon <will@kernel.org>
Will
WARNING: multiple messages have this Message-ID
From: Will Deacon <will@kernel.org>
To: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Hector Martin <marcan@marcan.st>,
linux-arm Mailing List <linux-arm-kernel@lists.infradead.org>,
Marc Zyngier <maz@kernel.org>, Rob Herring <robh@kernel.org>,
Arnd Bergmann <arnd@kernel.org>, Olof Johansson <olof@lixom.net>,
Krzysztof Kozlowski <krzk@kernel.org>,
Mark Kettenis <mark.kettenis@xs4all.nl>,
Tony Lindgren <tony@atomide.com>,
Mohamed Mediouni <mohamed.mediouni@caramail.com>,
Stan Skowronek <stan@corellium.com>,
Alexander Graf <graf@amazon.com>,
Linus Walleij <linus.walleij@linaro.org>,
Mark Rutland <mark.rutland@arm.com>,
Jonathan Corbet <corbet@lwn.net>,
Catalin Marinas <catalin.marinas@arm.com>,
Christoph Hellwig <hch@infradead.org>,
"David S. Miller" <davem@davemloft.net>,
devicetree <devicetree@vger.kernel.org>,
Linux Documentation List <linux-doc@vger.kernel.org>,
Linux-Arch <linux-arch@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v4 11/18] asm-generic/io.h: implement pci_remap_cfgspace using ioremap_np
Date: Wed, 7 Apr 2021 22:03:17 +0100 [thread overview]
Message-ID: <20210407210317.GB16198@willie-the-truck> (raw)
In-Reply-To: <CAHp75Vcghw6=05vbhX5J8sHoo78JMoq5z4w9__XcocrtRVjF3g@mail.gmail.com>
On Wed, Apr 07, 2021 at 04:27:42PM +0300, Andy Shevchenko wrote:
> On Fri, Apr 2, 2021 at 12:07 PM Hector Martin <marcan@marcan.st> wrote:
> >
> > Now that we have ioremap_np(), we can make pci_remap_cfgspace() default
> > to it, falling back to ioremap() on platforms where it is not available.
> >
> > Remove the arm64 implementation, since that is now redundant. Future
> > cleanups should be able to do the same for other arches, and eventually
> > make the generic pci_remap_cfgspace() unconditional.
>
> ...
>
> > + void __iomem *ret = ioremap_np(offset, size);
> > +
> > + if (!ret)
> > + ret = ioremap(offset, size);
> > +
> > + return ret;
>
> Usually negative conditions are worse for cognitive functions of human beings.
> (On top of that some patterns are applied)
>
> I would rewrite above as
>
> void __iomem *ret;
>
> ret = ioremap_np(offset, size);
> if (ret)
> return ret;
>
> return ioremap(offset, size);
Looks like it might be one of those rare occasions where the GCC ternary if
extension thingy comes in handy:
return ioremap_np(offset, size) ?: ioremap(offset, size);
but however it's done, the logic looks good to me and thanks Hector for
updating this:
Acked-by: Will Deacon <will@kernel.org>
Will
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-04-07 21:03 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-02 9:05 [PATCH v4 00/18] Apple M1 SoC platform bring-up Hector Martin
2021-04-02 9:05 ` Hector Martin
2021-04-02 9:05 ` [PATCH v4 01/18] dt-bindings: vendor-prefixes: Add apple prefix Hector Martin
2021-04-02 9:05 ` Hector Martin
2021-04-02 9:05 ` [PATCH v4 02/18] dt-bindings: arm: apple: Add bindings for Apple ARM platforms Hector Martin
2021-04-02 9:05 ` Hector Martin
2021-04-02 9:05 ` [PATCH v4 03/18] dt-bindings: arm: cpus: Add apple,firestorm & icestorm compatibles Hector Martin
2021-04-02 9:05 ` [PATCH v4 03/18] dt-bindings: arm: cpus: Add apple, firestorm " Hector Martin
2021-04-02 9:05 ` [PATCH v4 04/18] arm64: cputype: Add CPU implementor & types for the Apple M1 cores Hector Martin
2021-04-02 9:05 ` Hector Martin
2021-04-02 9:05 ` [PATCH v4 05/18] dt-bindings: timer: arm,arch_timer: Add interrupt-names support Hector Martin
2021-04-02 9:05 ` [PATCH v4 05/18] dt-bindings: timer: arm, arch_timer: " Hector Martin
2021-04-06 16:44 ` [PATCH v4 05/18] dt-bindings: timer: arm,arch_timer: " Rob Herring
2021-04-06 16:44 ` Rob Herring
2021-04-02 9:05 ` [PATCH v4 06/18] arm64: arch_timer: Implement support for interrupt-names Hector Martin
2021-04-02 9:05 ` Hector Martin
2021-04-02 9:05 ` [PATCH v4 07/18] asm-generic/io.h: Add a non-posted variant of ioremap() Hector Martin
2021-04-02 9:05 ` Hector Martin
2021-04-02 9:05 ` [PATCH v4 08/18] docs: driver-api: device-io: Document I/O access functions Hector Martin
2021-04-02 9:05 ` Hector Martin
2021-04-02 9:05 ` [PATCH v4 09/18] docs: driver-api: device-io: Document ioremap() variants & access funcs Hector Martin
2021-04-02 9:05 ` Hector Martin
2021-04-02 9:05 ` [PATCH v4 10/18] arm64: Implement ioremap_np() to map MMIO as nGnRnE Hector Martin
2021-04-02 9:05 ` Hector Martin
2021-04-02 9:05 ` [PATCH v4 11/18] asm-generic/io.h: implement pci_remap_cfgspace using ioremap_np Hector Martin
2021-04-02 9:05 ` Hector Martin
2021-04-07 13:27 ` Andy Shevchenko
2021-04-07 13:27 ` Andy Shevchenko
2021-04-07 21:03 ` Will Deacon [this message]
2021-04-07 21:03 ` Will Deacon
2021-04-08 11:01 ` Hector Martin
2021-04-08 11:01 ` Hector Martin
2021-04-08 11:24 ` Andy Shevchenko
2021-04-08 11:24 ` Andy Shevchenko
2021-04-02 9:05 ` [PATCH v4 12/18] of/address: Add infrastructure to declare MMIO as non-posted Hector Martin
2021-04-02 9:05 ` Hector Martin
2021-04-06 16:47 ` Rob Herring
2021-04-06 16:47 ` Rob Herring
2021-04-06 16:59 ` Hector Martin
2021-04-06 16:59 ` Hector Martin
2021-04-02 9:05 ` [PATCH v4 13/18] arm64: Move ICH_ sysreg bits from arm-gic-v3.h to sysreg.h Hector Martin
2021-04-02 9:05 ` Hector Martin
2021-04-02 9:05 ` [PATCH v4 14/18] dt-bindings: interrupt-controller: Add DT bindings for apple-aic Hector Martin
2021-04-02 9:05 ` Hector Martin
2021-04-02 9:05 ` [PATCH v4 15/18] irqchip/apple-aic: Add support for the Apple Interrupt Controller Hector Martin
2021-04-02 9:05 ` Hector Martin
2021-04-06 18:16 ` Marc Zyngier
2021-04-06 18:16 ` Marc Zyngier
2021-04-06 19:21 ` Hector Martin
2021-04-06 19:21 ` Hector Martin
2021-04-07 21:09 ` Will Deacon
2021-04-07 21:09 ` Will Deacon
2021-04-08 11:02 ` Hector Martin
2021-04-08 11:02 ` Hector Martin
2021-04-02 9:05 ` [PATCH v4 16/18] arm64: Kconfig: Introduce CONFIG_ARCH_APPLE Hector Martin
2021-04-02 9:05 ` Hector Martin
2021-04-02 9:05 ` [PATCH v4 17/18] dt-bindings: display: Add apple,simple-framebuffer Hector Martin
2021-04-02 9:05 ` Hector Martin
2021-04-02 9:05 ` [PATCH v4 18/18] arm64: apple: Add initial Apple Mac mini (M1, 2020) devicetree Hector Martin
2021-04-02 9:05 ` Hector Martin
2021-04-02 22:48 ` Konrad Dybcio
2021-04-06 16:56 ` Rob Herring
2021-04-06 16:56 ` Rob Herring
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210407210317.GB16198@willie-the-truck \
--to=will@kernel.org \
--cc=andy.shevchenko@gmail.com \
--cc=arnd@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=graf@amazon.com \
--cc=hch@infradead.org \
--cc=krzk@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marcan@marcan.st \
--cc=mark.kettenis@xs4all.nl \
--cc=mark.rutland@arm.com \
--cc=maz@kernel.org \
--cc=mohamed.mediouni@caramail.com \
--cc=olof@lixom.net \
--cc=robh@kernel.org \
--cc=stan@corellium.com \
--cc=tony@atomide.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.