Skip to content

Commit 21e5a2d

Browse files
author
Linus Walleij
committed
misc: sram: Generate unique names for subpools
The current code will, if we do not specify unique labels for the SRAM subnodes, fail to register several nodes named the same. Example: sram@40020000 { (...) sram@0 { (...) }; sram@1000 { (...) }; }; Since the child->name in both cases will be "sram" the gen_pool_create() will fail because the name is not unique. Use dev_name() for the device as this will have bus ID set to the fully translated address for the node, and that will always be unique. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20230417-ux500-sram-v2-2-6e62ad551faa@linaro.org
1 parent 38bd22d commit 21e5a2d

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

drivers/misc/sram.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -235,10 +235,11 @@ static int sram_reserve_regions(struct sram_dev *sram, struct resource *res)
235235
goto err_chunks;
236236
}
237237
if (!label)
238-
label = child->name;
239-
240-
block->label = devm_kstrdup(sram->dev,
241-
label, GFP_KERNEL);
238+
block->label = devm_kasprintf(sram->dev, GFP_KERNEL,
239+
"%s", dev_name(sram->dev));
240+
else
241+
block->label = devm_kstrdup(sram->dev,
242+
label, GFP_KERNEL);
242243
if (!block->label) {
243244
ret = -ENOMEM;
244245
goto err_chunks;

0 commit comments

Comments
 (0)