On Tue, Jun 12, 2018 at 5:20 PM, Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote: > 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) 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 > > >>> > + 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 -- With Best Regards, Andy Shevchenko _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel