31 lines
658 B
C
31 lines
658 B
C
|
// SPDX-License-Identifier: GPL-2.0+
|
||
|
/*
|
||
|
* Marvell Armada AP and CP110 helper
|
||
|
*
|
||
|
* Copyright (C) 2018 Marvell
|
||
|
*
|
||
|
* Gregory Clement <gregory.clement@bootlin.com>
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
#include "armada_ap_cp_helper.h"
|
||
|
#include <linux/device.h>
|
||
|
#include <linux/of.h>
|
||
|
#include <linux/of_address.h>
|
||
|
|
||
|
char *ap_cp_unique_name(struct device *dev, struct device_node *np,
|
||
|
const char *name)
|
||
|
{
|
||
|
const __be32 *reg;
|
||
|
u64 addr;
|
||
|
|
||
|
/* Do not create a name if there is no clock */
|
||
|
if (!name)
|
||
|
return NULL;
|
||
|
|
||
|
reg = of_get_property(np, "reg", NULL);
|
||
|
addr = of_translate_address(np, reg);
|
||
|
return devm_kasprintf(dev, GFP_KERNEL, "%llx-%s",
|
||
|
(unsigned long long)addr, name);
|
||
|
}
|