[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK8P3a0YzRVa+fa_7xFxR8f+pwSCo5w5kuaPsSSQscR10jwPww@mail.gmail.com>
Date: Tue, 16 Feb 2021 11:18:56 +0100
From: Arnd Bergmann <arnd@...nel.org>
To: Krzysztof Kozlowski <krzk@...nel.org>
Cc: Hector Martin <marcan@...can.st>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>,
Marc Zyngier <maz@...nel.org>, Rob Herring <robh@...nel.org>,
Olof Johansson <olof@...om.net>,
Mark Kettenis <mark.kettenis@...all.nl>,
Tony Lindgren <tony@...mide.com>,
Mohamed Mediouni <mohamed.mediouni@...amail.com>,
Stan Skowronek <stan@...ellium.com>,
Alexander Graf <graf@...zon.com>,
Will Deacon <will@...nel.org>,
Linus Walleij <linus.walleij@...aro.org>,
Mark Rutland <mark.rutland@....com>,
DTML <devicetree@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Arnd Bergmann <arnd@...db.de>
Subject: Re: [PATCH v2 23/25] tty: serial: samsung_tty: Add earlycon support
for Apple UARTs
On Mon, Feb 15, 2021 at 8:19 PM Krzysztof Kozlowski <krzk@...nel.org> wrote:
> On Mon, Feb 15, 2021 at 09:17:11PM +0900, Hector Martin wrote:
> > +
> > +/* Apple S5L */
> > +static int __init apple_s5l_early_console_setup(struct earlycon_device *device,
> > + const char *opt)
> > +{
> > + /* Close enough to S3C2410 for earlycon... */
> > + device->port.private_data = &s3c2410_early_console_data;
> > +
> > +#ifdef CONFIG_ARM64
>
> if IS_ENABLED()
> (unless it cannot be used due to missing symbol?)
>
> > + /* ... but we need to override the existing fixmap entry as nGnRnE */
> > + __set_fixmap(FIX_EARLYCON_MEM_BASE, device->port.mapbase,
> > + __pgprot(PROT_DEVICE_nGnRnE));
> > +#endif
It has to be a preprocessor conditional because PROT_DEVICE_nGnRnE
is only defined on arm64. We could add a FIXMAP_PAGE_NONPOSTED
alias for it that defaults to FIXMAP_PAGE_IO, but in the end this is
really an architecture specific thing and I think leaving it guarded by
the architecture is appropriate.
> > + return samsung_early_console_setup(device, opt);
>
> Don't you need to handle the error code - set PROT_DEFAULT() or whatever
> was there before?
__set_fixmap() has no return value, it just writes a page table entry and
does not fail.
Arnd
Powered by blists - more mailing lists