Re: [PATCH v2 1/2] x86/ioremap: introduce helper to implement xxx_is_setup_data()
From: Baoquan He
Date: Wed Nov 20 2024 - 02:56:46 EST
On 11/19/24 at 11:07am, Baoquan He wrote:
> On 11/18/24 at 09:19am, Tom Lendacky wrote:
> > On 11/17/24 19:08, Baoquan He wrote:
......snip.......
> > > /*
> > > * Examine the physical address to determine if it is boot data by checking
> > > * it against the boot params setup_data chain.
> > > */
> > > -static bool memremap_is_setup_data(resource_size_t phys_addr,
> > > - unsigned long size)
> > > +static bool __ref __memremap_is_setup_data(resource_size_t phys_addr,
> >
> > Oh, I see why the __ref is needed now, because this calls an __init
> > function based on the early bool.
>
> Exactly, I explained in another thread replying to you, it could be
> ignored.
>
> >
> > While this nicely consolidates the checking, I'll let the x86
> > maintainers decide whether they like that an __init function is calling
> > a non __init function.
> ...... snip.......
> > > - return false;
> > > +static bool early_memremap_is_setup_data(resource_size_t phys_addr,
Hi Tom, Ingo,
What's your suggestion about the __init and __ref adding/removing on
below functions as Tom pointed out?
> >
> > This should retain the original __init reference.
>
> OK, so you suggest they are like below, right?
>
> static bool __ref __memremap_is_setup_data(resource_size_t phys_addr,
> bool early)
> {
> ......
> }
>
> static bool memremap_is_setup_data(resource_size_t phys_addr)
> {
> return __memremap_is_setup_data(phys_addr, false);
> }
>
> static bool __init early_memremap_is_setup_data(resource_size_t phys_addr)
> {
> return __memremap_is_setup_data(phys_addr, true);
> }
>
> I can make v3 if we all agree on this.
>