Hi Ahmad, On Mon, Aug 15 2022 at 17:32 +0200, Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> wrote: > Now that __request_region accepts a flag parameter, define > __request_sdram_region, which also accepts a flag parameter and passes > it through. The default flags for request_sdram_region() will be > IORESOURCE_MEM as that ensures resource_contains behaves correctly when > comparing against another memory resource. > > Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> > --- > common/memory.c | 8 +++++--- > common/resource.c | 2 +- > include/memory.h | 13 +++++++++++-- > 3 files changed, 17 insertions(+), 6 deletions(-) > > diff --git a/common/memory.c b/common/memory.c > index 03fec1f1eb0e..347f83fd4cf8 100644 > --- a/common/memory.c > +++ b/common/memory.c > @@ -200,16 +200,18 @@ mmu_initcall(add_mem_devices); > /* > * Request a region from the registered sdram > */ > -struct resource *request_sdram_region(const char *name, resource_size_t start, > - resource_size_t size) > +struct resource *__request_sdram_region(const char *name, unsigned flags, > + resource_size_t start, resource_size_t size) > { > struct memory_bank *bank; > > + flags |= IORESOURCE_MEM; > + > for_each_memory_bank(bank) { > struct resource *res; > > res = __request_region(bank->res, start, start + size - 1, > - name, 0); > + name, flags); > if (!IS_ERR(res)) > return res; > } > diff --git a/common/resource.c b/common/resource.c > index 81f337668ef1..8678609229ab 100644 > --- a/common/resource.c > +++ b/common/resource.c > @@ -73,7 +73,7 @@ struct resource *__request_region(struct resource *parent, > } > > ok: > - debug("%s ok: 0x%08llx:0x%08llx flags=%u\n", __func__, > + debug("%s ok: 0x%08llx:0x%08llx flags=0x%x\n", __func__, this hunk should be squashed/amended into patch 01/10 where the flags parameter has originally been introduced into this debug message. Best regards Ulrich > (unsigned long long)start, > (unsigned long long)end, flags); > > diff --git a/include/memory.h b/include/memory.h > index c793bb51ed77..31da5d74d568 100644 > --- a/include/memory.h > +++ b/include/memory.h > @@ -23,8 +23,17 @@ int barebox_add_memory_bank(const char *name, resource_size_t start, > > #define for_each_memory_bank(mem) list_for_each_entry(mem, &memory_banks, list) > > -struct resource *request_sdram_region(const char *name, resource_size_t start, > - resource_size_t size); > +struct resource *__request_sdram_region(const char *name, unsigned flags, > + resource_size_t start, resource_size_t size); > + > +static inline struct resource *request_sdram_region(const char *name, > + resource_size_t start, > + resource_size_t size) > +{ > + /* IORESOURCE_MEM is implicit for all SDRAM regions */ > + return __request_sdram_region(name, 0, start, size); > +} > + > int release_sdram_region(struct resource *res); > > void memory_bank_find_space(struct memory_bank *bank, resource_size_t *retstart, -- Pengutronix e.K. | Ulrich Ölmann | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |