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

kbuild test robot
2018-06-12T03:56:13Z

[-- Attachment #1: Type: text/plain, Size: 2814 bytes --]

Hi Baoquan,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.17 next-20180608]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Baoquan-He/resource-Use-list_head-to-link-sibling-resource/20180612-113600
config: i386-tinyconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386

Note: the linux-review/Baoquan-He/resource-Use-list_head-to-link-sibling-resource/20180612-113600 HEAD 5545e79eef6387857faf41cdffa7be6b1f5d4efe builds fine.
It only hurts bisectibility.

All errors (new ones prefixed by >>):

>> kernel/resource.c:990:12: error: static declaration of 'reparent_resources' follows non-static declaration
static int reparent_resources(struct resource *parent,
^~~~~~~~~~~~~~~~~~
In file included from kernel/resource.c:14:0:
include/linux/ioport.h:195:5: note: previous declaration of 'reparent_resources' was here
int reparent_resources(struct resource *parent, struct resource *res);
^~~~~~~~~~~~~~~~~~
kernel/resource.c:990:12: warning: 'reparent_resources' defined but not used [-Wunused-function]
static int reparent_resources(struct resource *parent,
^~~~~~~~~~~~~~~~~~

vim +/reparent_resources +990 kernel/resource.c

985
986 /*
987 * Reparent resource children of pr that conflict with res
988 * under res, and make res replace those children.
989 */
> 990 static int reparent_resources(struct resource *parent,
991 struct resource *res)
992 {
993 struct resource *p, **pp;
994 struct resource **firstpp = NULL;
995
996 for (pp = &parent->child; (p = *pp) != NULL; pp = &p->sibling) {
997 if (p->end < res->start)
998 continue;
999 if (res->end < p->start)
1000 break;
1001 if (p->start < res->start || p->end > res->end)
1002 return -1; /* not completely contained */
1003 if (firstpp == NULL)
1004 firstpp = pp;
1005 }
1006 if (firstpp == NULL)
1007 return -1; /* didn't find any conflicting entries? */
1008 res->parent = parent;
1009 res->child = *firstpp;
1010 res->sibling = *pp;
1011 *firstpp = res;
1012 *pp = NULL;
1013 for (p = res->child; p != NULL; p = p->sibling) {
1014 p->parent = res;
1015 pr_debug("PCI: Reparented %s %pR under %s\n",
1016 p->name, p, res->name);
1017 }
1018 return 0;
1019 }
1020 EXPORT_SYMBOL(reparent_resources);
1021

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 6347 bytes --]