of_reserved_mem_device_init_by_idx() returns -EINVAL if "memory-region" is missing
Alexey Brodkin
Alexey.Brodkin at synopsys.com
Thu Jun 16 09:47:08 PDT 2016
Hi Marek,
We used to use of_reserved_mem_device_init() in such a context in GPU drivers:
-------------------->8-------------------
/* Get the optional framebuffer memory resource */
ret = of_reserved_mem_device_init(drm->dev);
if (ret && ret != -ENODEV)
return ret;
-------------------->8-------------------
The point is we may have a dedicated reserved memory area or may not have (depends on a particular .dts).
Our expectation is if reserved memory area is missing then of_reserved_mem_device_init()
just returns -ENODEV and it used to work like this.
Now with your commit 59ce4039727e "of: reserved_mem: add support for using more than one region for given device"
behavior is different. of_reserved_mem_device_init_by_idx() has this:
-------------------->8-------------------
target = of_parse_phandle(np, "memory-region", idx);
if (!target)
return -EINVAL;
-------------------->8-------------------
So I'm wondering which part should be fixed:
1) of_reserved_mem itself or
2) users of of_reserved_mem_device_init()
Any thoughts?
Regards,
Alexey
More information about the linux-snps-arc
mailing list