All of lore.kernel.org
 help / color / mirror / Atom feed
* [robh:for-kernelci 3/7] drivers/of/of_reserved_mem.c:51:13: warning: no previous prototype for 'fdt_reserved_mem_save_node'
@ 2021-05-27 17:59 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-05-27 17:59 UTC (permalink / raw)
  To: kbuild-all

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-kernelci
head:   3fea28f97b265227ad52b5949512f005981b801c
commit: 212db1c162ef8b68c0bdb9e7bb861abd762c6d48 [3/7] of: Move reserved memory private function declarations
config: parisc-randconfig-r036-20210527 (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git/commit/?id=212db1c162ef8b68c0bdb9e7bb861abd762c6d48
        git remote add robh https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git
        git fetch --no-tags robh for-kernelci
        git checkout 212db1c162ef8b68c0bdb9e7bb861abd762c6d48
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=parisc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> drivers/of/of_reserved_mem.c:51:13: warning: no previous prototype for 'fdt_reserved_mem_save_node' [-Wmissing-prototypes]
      51 | void __init fdt_reserved_mem_save_node(unsigned long node, const char *uname,
         |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/of/of_reserved_mem.c:246:13: warning: no previous prototype for 'fdt_init_reserved_mem' [-Wmissing-prototypes]
     246 | void __init fdt_init_reserved_mem(void)
         |             ^~~~~~~~~~~~~~~~~~~~~


vim +/fdt_reserved_mem_save_node +51 drivers/of/of_reserved_mem.c

3f0c8206644836e Marek Szyprowski   2014-02-28   47  
ad1ce1ab061e7d1 Lee Jones          2021-03-18   48  /*
c8813f7ec01c676 chenqiwu           2020-05-11   49   * fdt_reserved_mem_save_node() - save fdt node for second pass initialization
3f0c8206644836e Marek Szyprowski   2014-02-28   50   */
3f0c8206644836e Marek Szyprowski   2014-02-28  @51  void __init fdt_reserved_mem_save_node(unsigned long node, const char *uname,
3f0c8206644836e Marek Szyprowski   2014-02-28   52  				      phys_addr_t base, phys_addr_t size)
3f0c8206644836e Marek Szyprowski   2014-02-28   53  {
3f0c8206644836e Marek Szyprowski   2014-02-28   54  	struct reserved_mem *rmem = &reserved_mem[reserved_mem_count];
3f0c8206644836e Marek Szyprowski   2014-02-28   55  
3f0c8206644836e Marek Szyprowski   2014-02-28   56  	if (reserved_mem_count == ARRAY_SIZE(reserved_mem)) {
418370ff2231b7d Danny Lin          2020-06-03   57  		pr_err("not enough space for all defined regions.\n");
3f0c8206644836e Marek Szyprowski   2014-02-28   58  		return;
3f0c8206644836e Marek Szyprowski   2014-02-28   59  	}
3f0c8206644836e Marek Szyprowski   2014-02-28   60  
3f0c8206644836e Marek Szyprowski   2014-02-28   61  	rmem->fdt_node = node;
3f0c8206644836e Marek Szyprowski   2014-02-28   62  	rmem->name = uname;
3f0c8206644836e Marek Szyprowski   2014-02-28   63  	rmem->base = base;
3f0c8206644836e Marek Szyprowski   2014-02-28   64  	rmem->size = size;
3f0c8206644836e Marek Szyprowski   2014-02-28   65  
3f0c8206644836e Marek Szyprowski   2014-02-28   66  	reserved_mem_count++;
3f0c8206644836e Marek Szyprowski   2014-02-28   67  	return;
3f0c8206644836e Marek Szyprowski   2014-02-28   68  }
3f0c8206644836e Marek Szyprowski   2014-02-28   69  
ad1ce1ab061e7d1 Lee Jones          2021-03-18   70  /*
c8813f7ec01c676 chenqiwu           2020-05-11   71   * __reserved_mem_alloc_size() - allocate reserved memory described by
6f1188b4ac7577c Yue Hu             2020-07-30   72   *	'size', 'alignment'  and 'alloc-ranges' properties.
3f0c8206644836e Marek Szyprowski   2014-02-28   73   */
3f0c8206644836e Marek Szyprowski   2014-02-28   74  static int __init __reserved_mem_alloc_size(unsigned long node,
3f0c8206644836e Marek Szyprowski   2014-02-28   75  	const char *uname, phys_addr_t *res_base, phys_addr_t *res_size)
3f0c8206644836e Marek Szyprowski   2014-02-28   76  {
3f0c8206644836e Marek Szyprowski   2014-02-28   77  	int t_len = (dt_root_addr_cells + dt_root_size_cells) * sizeof(__be32);
3f0c8206644836e Marek Szyprowski   2014-02-28   78  	phys_addr_t start = 0, end = 0;
3f0c8206644836e Marek Szyprowski   2014-02-28   79  	phys_addr_t base = 0, align = 0, size;
9d0c4dfedd96ee5 Rob Herring        2014-04-01   80  	int len;
9d0c4dfedd96ee5 Rob Herring        2014-04-01   81  	const __be32 *prop;
6f1188b4ac7577c Yue Hu             2020-07-30   82  	bool nomap;
3f0c8206644836e Marek Szyprowski   2014-02-28   83  	int ret;
3f0c8206644836e Marek Szyprowski   2014-02-28   84  
3f0c8206644836e Marek Szyprowski   2014-02-28   85  	prop = of_get_flat_dt_prop(node, "size", &len);
3f0c8206644836e Marek Szyprowski   2014-02-28   86  	if (!prop)
3f0c8206644836e Marek Szyprowski   2014-02-28   87  		return -EINVAL;
3f0c8206644836e Marek Szyprowski   2014-02-28   88  
3f0c8206644836e Marek Szyprowski   2014-02-28   89  	if (len != dt_root_size_cells * sizeof(__be32)) {
606ad42aa3b1fe8 Rob Herring        2016-06-15   90  		pr_err("invalid size property in '%s' node.\n", uname);
3f0c8206644836e Marek Szyprowski   2014-02-28   91  		return -EINVAL;
3f0c8206644836e Marek Szyprowski   2014-02-28   92  	}
3f0c8206644836e Marek Szyprowski   2014-02-28   93  	size = dt_mem_next_cell(dt_root_size_cells, &prop);
3f0c8206644836e Marek Szyprowski   2014-02-28   94  
3f0c8206644836e Marek Szyprowski   2014-02-28   95  	prop = of_get_flat_dt_prop(node, "alignment", &len);
3f0c8206644836e Marek Szyprowski   2014-02-28   96  	if (prop) {
3f0c8206644836e Marek Szyprowski   2014-02-28   97  		if (len != dt_root_addr_cells * sizeof(__be32)) {
606ad42aa3b1fe8 Rob Herring        2016-06-15   98  			pr_err("invalid alignment property in '%s' node.\n",
3f0c8206644836e Marek Szyprowski   2014-02-28   99  				uname);
3f0c8206644836e Marek Szyprowski   2014-02-28  100  			return -EINVAL;
3f0c8206644836e Marek Szyprowski   2014-02-28  101  		}
3f0c8206644836e Marek Szyprowski   2014-02-28  102  		align = dt_mem_next_cell(dt_root_addr_cells, &prop);
3f0c8206644836e Marek Szyprowski   2014-02-28  103  	}
3f0c8206644836e Marek Szyprowski   2014-02-28  104  
6f1188b4ac7577c Yue Hu             2020-07-30  105  	nomap = of_get_flat_dt_prop(node, "no-map", NULL) != NULL;
6f1188b4ac7577c Yue Hu             2020-07-30  106  
1cc8e3458b51102 Jason Liu          2015-11-10  107  	/* Need adjust the alignment to satisfy the CMA requirement */
7d482813bb3518c Jaewon             2016-05-25  108  	if (IS_ENABLED(CONFIG_CMA)
7d482813bb3518c Jaewon             2016-05-25  109  	    && of_flat_dt_is_compatible(node, "shared-dma-pool")
7d482813bb3518c Jaewon             2016-05-25  110  	    && of_get_flat_dt_prop(node, "reusable", NULL)
6f1188b4ac7577c Yue Hu             2020-07-30  111  	    && !nomap) {
aaaab56dba9af4f Stephen Rothwell   2016-05-31  112  		unsigned long order =
aaaab56dba9af4f Stephen Rothwell   2016-05-31  113  			max_t(unsigned long, MAX_ORDER - 1, pageblock_order);
aaaab56dba9af4f Stephen Rothwell   2016-05-31  114  
aaaab56dba9af4f Stephen Rothwell   2016-05-31  115  		align = max(align, (phys_addr_t)PAGE_SIZE << order);
aaaab56dba9af4f Stephen Rothwell   2016-05-31  116  	}
1cc8e3458b51102 Jason Liu          2015-11-10  117  
3f0c8206644836e Marek Szyprowski   2014-02-28  118  	prop = of_get_flat_dt_prop(node, "alloc-ranges", &len);
3f0c8206644836e Marek Szyprowski   2014-02-28  119  	if (prop) {
3f0c8206644836e Marek Szyprowski   2014-02-28  120  
3f0c8206644836e Marek Szyprowski   2014-02-28  121  		if (len % t_len != 0) {
606ad42aa3b1fe8 Rob Herring        2016-06-15  122  			pr_err("invalid alloc-ranges property in '%s', skipping node.\n",
3f0c8206644836e Marek Szyprowski   2014-02-28  123  			       uname);
3f0c8206644836e Marek Szyprowski   2014-02-28  124  			return -EINVAL;
3f0c8206644836e Marek Szyprowski   2014-02-28  125  		}
3f0c8206644836e Marek Szyprowski   2014-02-28  126  
3f0c8206644836e Marek Szyprowski   2014-02-28  127  		base = 0;
3f0c8206644836e Marek Szyprowski   2014-02-28  128  
3f0c8206644836e Marek Szyprowski   2014-02-28  129  		while (len > 0) {
3f0c8206644836e Marek Szyprowski   2014-02-28  130  			start = dt_mem_next_cell(dt_root_addr_cells, &prop);
3f0c8206644836e Marek Szyprowski   2014-02-28  131  			end = start + dt_mem_next_cell(dt_root_size_cells,
3f0c8206644836e Marek Szyprowski   2014-02-28  132  						       &prop);
3f0c8206644836e Marek Szyprowski   2014-02-28  133  
3f0c8206644836e Marek Szyprowski   2014-02-28  134  			ret = early_init_dt_alloc_reserved_memory_arch(size,
3f0c8206644836e Marek Szyprowski   2014-02-28  135  					align, start, end, nomap, &base);
3f0c8206644836e Marek Szyprowski   2014-02-28  136  			if (ret == 0) {
606ad42aa3b1fe8 Rob Herring        2016-06-15  137  				pr_debug("allocated memory for '%s' node: base %pa, size %ld MiB\n",
3f0c8206644836e Marek Szyprowski   2014-02-28  138  					uname, &base,
3f0c8206644836e Marek Szyprowski   2014-02-28  139  					(unsigned long)size / SZ_1M);
3f0c8206644836e Marek Szyprowski   2014-02-28  140  				break;
3f0c8206644836e Marek Szyprowski   2014-02-28  141  			}
3f0c8206644836e Marek Szyprowski   2014-02-28  142  			len -= t_len;
3f0c8206644836e Marek Szyprowski   2014-02-28  143  		}
3f0c8206644836e Marek Szyprowski   2014-02-28  144  
3f0c8206644836e Marek Szyprowski   2014-02-28  145  	} else {
3f0c8206644836e Marek Szyprowski   2014-02-28  146  		ret = early_init_dt_alloc_reserved_memory_arch(size, align,
3f0c8206644836e Marek Szyprowski   2014-02-28  147  							0, 0, nomap, &base);
3f0c8206644836e Marek Szyprowski   2014-02-28  148  		if (ret == 0)
606ad42aa3b1fe8 Rob Herring        2016-06-15  149  			pr_debug("allocated memory for '%s' node: base %pa, size %ld MiB\n",
3f0c8206644836e Marek Szyprowski   2014-02-28  150  				uname, &base, (unsigned long)size / SZ_1M);
3f0c8206644836e Marek Szyprowski   2014-02-28  151  	}
3f0c8206644836e Marek Szyprowski   2014-02-28  152  
3f0c8206644836e Marek Szyprowski   2014-02-28  153  	if (base == 0) {
606ad42aa3b1fe8 Rob Herring        2016-06-15  154  		pr_info("failed to allocate memory for node '%s'\n", uname);
3f0c8206644836e Marek Szyprowski   2014-02-28  155  		return -ENOMEM;
3f0c8206644836e Marek Szyprowski   2014-02-28  156  	}
3f0c8206644836e Marek Szyprowski   2014-02-28  157  
3f0c8206644836e Marek Szyprowski   2014-02-28  158  	*res_base = base;
3f0c8206644836e Marek Szyprowski   2014-02-28  159  	*res_size = size;
3f0c8206644836e Marek Szyprowski   2014-02-28  160  
3f0c8206644836e Marek Szyprowski   2014-02-28  161  	return 0;
3f0c8206644836e Marek Szyprowski   2014-02-28  162  }
3f0c8206644836e Marek Szyprowski   2014-02-28  163  
f618c4703a14672 Marek Szyprowski   2014-02-28  164  static const struct of_device_id __rmem_of_table_sentinel
33def8498fdde18 Joe Perches        2020-10-21  165  	__used __section("__reservedmem_of_table_end");
f618c4703a14672 Marek Szyprowski   2014-02-28  166  
ad1ce1ab061e7d1 Lee Jones          2021-03-18  167  /*
c8813f7ec01c676 chenqiwu           2020-05-11  168   * __reserved_mem_init_node() - call region specific reserved memory init code
f618c4703a14672 Marek Szyprowski   2014-02-28  169   */
f618c4703a14672 Marek Szyprowski   2014-02-28  170  static int __init __reserved_mem_init_node(struct reserved_mem *rmem)
f618c4703a14672 Marek Szyprowski   2014-02-28  171  {
f618c4703a14672 Marek Szyprowski   2014-02-28  172  	extern const struct of_device_id __reservedmem_of_table[];
f618c4703a14672 Marek Szyprowski   2014-02-28  173  	const struct of_device_id *i;
d0b8ed47e83a225 pierre Kuo         2019-02-19  174  	int ret = -ENOENT;
f618c4703a14672 Marek Szyprowski   2014-02-28  175  
f618c4703a14672 Marek Szyprowski   2014-02-28  176  	for (i = __reservedmem_of_table; i < &__rmem_of_table_sentinel; i++) {
df3ed932394488e Rob Herring        2017-05-11  177  		reservedmem_of_init_fn initfn = i->data;
f618c4703a14672 Marek Szyprowski   2014-02-28  178  		const char *compat = i->compatible;
f618c4703a14672 Marek Szyprowski   2014-02-28  179  
f618c4703a14672 Marek Szyprowski   2014-02-28  180  		if (!of_flat_dt_is_compatible(rmem->fdt_node, compat))
f618c4703a14672 Marek Szyprowski   2014-02-28  181  			continue;
f618c4703a14672 Marek Szyprowski   2014-02-28  182  
d0b8ed47e83a225 pierre Kuo         2019-02-19  183  		ret = initfn(rmem);
d0b8ed47e83a225 pierre Kuo         2019-02-19  184  		if (ret == 0) {
606ad42aa3b1fe8 Rob Herring        2016-06-15  185  			pr_info("initialized node %s, compatible id %s\n",
f618c4703a14672 Marek Szyprowski   2014-02-28  186  				rmem->name, compat);
d0b8ed47e83a225 pierre Kuo         2019-02-19  187  			break;
f618c4703a14672 Marek Szyprowski   2014-02-28  188  		}
f618c4703a14672 Marek Szyprowski   2014-02-28  189  	}
d0b8ed47e83a225 pierre Kuo         2019-02-19  190  	return ret;
f618c4703a14672 Marek Szyprowski   2014-02-28  191  }
f618c4703a14672 Marek Szyprowski   2014-02-28  192  
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  193  static int __init __rmem_cmp(const void *a, const void *b)
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  194  {
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  195  	const struct reserved_mem *ra = a, *rb = b;
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  196  
9eb8cd2b0780bca Michael Ellerman   2015-11-18  197  	if (ra->base < rb->base)
9eb8cd2b0780bca Michael Ellerman   2015-11-18  198  		return -1;
9eb8cd2b0780bca Michael Ellerman   2015-11-18  199  
9eb8cd2b0780bca Michael Ellerman   2015-11-18  200  	if (ra->base > rb->base)
9eb8cd2b0780bca Michael Ellerman   2015-11-18  201  		return 1;
9eb8cd2b0780bca Michael Ellerman   2015-11-18  202  
ca05f33316559a0 Vincent Whitchurch 2020-10-21  203  	/*
ca05f33316559a0 Vincent Whitchurch 2020-10-21  204  	 * Put the dynamic allocations (address == 0, size == 0) before static
ca05f33316559a0 Vincent Whitchurch 2020-10-21  205  	 * allocations at address 0x0 so that overlap detection works
ca05f33316559a0 Vincent Whitchurch 2020-10-21  206  	 * correctly.
ca05f33316559a0 Vincent Whitchurch 2020-10-21  207  	 */
ca05f33316559a0 Vincent Whitchurch 2020-10-21  208  	if (ra->size < rb->size)
ca05f33316559a0 Vincent Whitchurch 2020-10-21  209  		return -1;
ca05f33316559a0 Vincent Whitchurch 2020-10-21  210  	if (ra->size > rb->size)
ca05f33316559a0 Vincent Whitchurch 2020-10-21  211  		return 1;
ca05f33316559a0 Vincent Whitchurch 2020-10-21  212  
9eb8cd2b0780bca Michael Ellerman   2015-11-18  213  	return 0;
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  214  }
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  215  
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  216  static void __init __rmem_check_for_overlap(void)
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  217  {
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  218  	int i;
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  219  
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  220  	if (reserved_mem_count < 2)
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  221  		return;
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  222  
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  223  	sort(reserved_mem, reserved_mem_count, sizeof(reserved_mem[0]),
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  224  	     __rmem_cmp, NULL);
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  225  	for (i = 0; i < reserved_mem_count - 1; i++) {
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  226  		struct reserved_mem *this, *next;
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  227  
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  228  		this = &reserved_mem[i];
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  229  		next = &reserved_mem[i + 1];
ca05f33316559a0 Vincent Whitchurch 2020-10-21  230  
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  231  		if (this->base + this->size > next->base) {
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  232  			phys_addr_t this_end, next_end;
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  233  
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  234  			this_end = this->base + this->size;
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  235  			next_end = next->base + next->size;
606ad42aa3b1fe8 Rob Herring        2016-06-15  236  			pr_err("OVERLAP DETECTED!\n%s (%pa--%pa) overlaps with %s (%pa--%pa)\n",
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  237  			       this->name, &this->base, &this_end,
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  238  			       next->name, &next->base, &next_end);
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  239  		}
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  240  	}
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  241  }
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  242  
3f0c8206644836e Marek Szyprowski   2014-02-28  243  /**
c8813f7ec01c676 chenqiwu           2020-05-11  244   * fdt_init_reserved_mem() - allocate and init all saved reserved memory regions
3f0c8206644836e Marek Szyprowski   2014-02-28  245   */
3f0c8206644836e Marek Szyprowski   2014-02-28 @246  void __init fdt_init_reserved_mem(void)
3f0c8206644836e Marek Szyprowski   2014-02-28  247  {
3f0c8206644836e Marek Szyprowski   2014-02-28  248  	int i;
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  249  
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  250  	/* check for overlapping reserved regions */
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  251  	__rmem_check_for_overlap();
ae1add247bf8c22 Mitchel Humpherys  2015-09-15  252  
3f0c8206644836e Marek Szyprowski   2014-02-28  253  	for (i = 0; i < reserved_mem_count; i++) {
3f0c8206644836e Marek Szyprowski   2014-02-28  254  		struct reserved_mem *rmem = &reserved_mem[i];
3f0c8206644836e Marek Szyprowski   2014-02-28  255  		unsigned long node = rmem->fdt_node;
9dcfee01930e6cc Marek Szyprowski   2014-07-14  256  		int len;
9dcfee01930e6cc Marek Szyprowski   2014-07-14  257  		const __be32 *prop;
3f0c8206644836e Marek Szyprowski   2014-02-28  258  		int err = 0;
6f1188b4ac7577c Yue Hu             2020-07-30  259  		bool nomap;
3f0c8206644836e Marek Szyprowski   2014-02-28  260  
d0b8ed47e83a225 pierre Kuo         2019-02-19  261  		nomap = of_get_flat_dt_prop(node, "no-map", NULL) != NULL;
9dcfee01930e6cc Marek Szyprowski   2014-07-14  262  		prop = of_get_flat_dt_prop(node, "phandle", &len);
9dcfee01930e6cc Marek Szyprowski   2014-07-14  263  		if (!prop)
9dcfee01930e6cc Marek Szyprowski   2014-07-14  264  			prop = of_get_flat_dt_prop(node, "linux,phandle", &len);
9dcfee01930e6cc Marek Szyprowski   2014-07-14  265  		if (prop)
9dcfee01930e6cc Marek Szyprowski   2014-07-14  266  			rmem->phandle = of_read_number(prop, len/4);
9dcfee01930e6cc Marek Szyprowski   2014-07-14  267  
3f0c8206644836e Marek Szyprowski   2014-02-28  268  		if (rmem->size == 0)
3f0c8206644836e Marek Szyprowski   2014-02-28  269  			err = __reserved_mem_alloc_size(node, rmem->name,
3f0c8206644836e Marek Szyprowski   2014-02-28  270  						 &rmem->base, &rmem->size);
d0b8ed47e83a225 pierre Kuo         2019-02-19  271  		if (err == 0) {
d0b8ed47e83a225 pierre Kuo         2019-02-19  272  			err = __reserved_mem_init_node(rmem);
d0b8ed47e83a225 pierre Kuo         2019-02-19  273  			if (err != 0 && err != -ENOENT) {
d0b8ed47e83a225 pierre Kuo         2019-02-19  274  				pr_info("node %s compatible matching fail\n",
d0b8ed47e83a225 pierre Kuo         2019-02-19  275  					rmem->name);
d0b8ed47e83a225 pierre Kuo         2019-02-19  276  				memblock_free(rmem->base, rmem->size);
d0b8ed47e83a225 pierre Kuo         2019-02-19  277  				if (nomap)
d0b8ed47e83a225 pierre Kuo         2019-02-19  278  					memblock_add(rmem->base, rmem->size);
d0b8ed47e83a225 pierre Kuo         2019-02-19  279  			}
d0b8ed47e83a225 pierre Kuo         2019-02-19  280  		}
3f0c8206644836e Marek Szyprowski   2014-02-28  281  	}
3f0c8206644836e Marek Szyprowski   2014-02-28  282  }
9dcfee01930e6cc Marek Szyprowski   2014-07-14  283  

:::::: The code at line 51 was first introduced by commit
:::::: 3f0c8206644836e4f10a6b9fc47cda6a9a372f9b drivers: of: add initialization code for dynamic reserved memory

:::::: TO: Marek Szyprowski <m.szyprowski@samsung.com>
:::::: CC: Grant Likely <grant.likely@linaro.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-05-27 17:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-27 17:59 [robh:for-kernelci 3/7] drivers/of/of_reserved_mem.c:51:13: warning: no previous prototype for 'fdt_reserved_mem_save_node' kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.