On Tue, Jun 12, 2018 at 12:38 PM, Baoquan He <bhe@xxxxxxxxxx> wrote: > On 06/12/18 at 11:29am, Andy Shevchenko wrote: >> On Tue, Jun 12, 2018 at 6:28 AM, Baoquan He <bhe@xxxxxxxxxx> wrote: >> > +{ >> >> > + for (pp = &parent->child; (p = *pp) != NULL; pp = &p->sibling) { >> > + if (p->end < res->start) >> > + continue; >> > + if (res->end < p->start) >> > + break; >> >> > + 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) - use positive integers (or enum), like #define RES_REPARENTED 0 #define RES_OVERLAPPED 1 #define RES_NOCONFLICT 2 >> > + if (firstpp == NULL) >> > + firstpp = pp; >> > + } >> >> > + if (firstpp == NULL) >> > + return -1; /* didn't find any conflicting entries? */ >> >> Ditto. Ditto. >> >> > +} >> > +EXPORT_SYMBOL(reparent_resources); -- With Best Regards, Andy Shevchenko _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel