Re: [PATCH v5 1/4] resource: Move reparent_resources() to kernel/resource.c and make it public

Started by Andy Shevchenko on Jun 12, 2018

open the first message on its own page

Message details and related content
On Tue, Jun 12, 2018 at 5:20 PM, Andy Shevchenko
[off-list ref] wrote:
On Tue, Jun 12, 2018 at 12:38 PM, Baoquan He [off-list ref] wrote:
quoted
On 06/12/18 at 11:29am, Andy Shevchenko wrote:
quoted
On Tue, Jun 12, 2018 at 6:28 AM, Baoquan He [off-list ref] wrote:
quoted
quoted
quoted
+{
quoted
+       for (pp = &parent->child; (p = *pp) != NULL; pp = &p->sibling) {
+               if (p->end < res->start)
+                       continue;
+               if (res->end < p->start)
+                       break;
quoted
+               if (p->start < res->start || p->end > res->end)
+                       return -1;      /* not completely contained */
Usually we are expecting real eeror codes.
Hmm, I just copied it from arch/powerpc/kernel/pci-common.c. The
function interface expects an integer returned value, not sure what a
real error codes look like, could you give more hints? Will change
accordingly.
I briefly looked at the code and error codes we have, so, my proposal
is one of the following
 - use -ECANCELED (not the best choice for first occurrence here,
though I can't find better)
Actually -ENOTSUPP might suit the first case (although the actual
would be something like -EOVERLAP, which we don't have)
 - use positive integers (or enum), like
  #define RES_REPARENTED 0
  #define RES_OVERLAPPED 1
  #define RES_NOCONFLICT 2

quoted
quoted
quoted
+               if (firstpp == NULL)
+                       firstpp = pp;
+       }
quoted
+       if (firstpp == NULL)
+               return -1;      /* didn't find any conflicting entries? */
Ditto.
Ditto.
quoted
quoted
quoted
+}
+EXPORT_SYMBOL(reparent_resources);
--
With Best Regards,
Andy Shevchenko


-- 
With Best Regards,
Andy Shevchenko
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help