1 // SPDX-License-Identifier: GPL-2.0+ 2 /* 3 * Marvell Armada AP and CP110 helper 4 * 5 * Copyright (C) 2018 Marvell 6 * 7 * Gregory Clement <gregory.clement@bootlin.com> 8 * 9 */ 10 11 #include "armada_ap_cp_helper.h" 12 #include <linux/device.h> 13 #include <linux/of.h> 14 #include <linux/of_address.h> 15 16 char *ap_cp_unique_name(struct device *dev, struct device_node *np, 17 const char *name) 18 { 19 const __be32 *reg; 20 u64 addr; 21 22 /* Do not create a name if there is no clock */ 23 if (!name) 24 return NULL; 25 26 reg = of_get_property(np, "reg", NULL); 27 addr = of_translate_address(np, reg); 28 return devm_kasprintf(dev, GFP_KERNEL, "%llx-%s", 29 (unsigned long long)addr, name); 30 } 31