@@ -81,6 +81,11 @@ void vexpress_flags_set(u32 data)
writel(data, vexpress_sysreg_base + SYS_FLAGSSET);
}
+u32 vexpress_get_site(int site)
+{
+ return site == VEXPRESS_SITE_MASTER ? vexpress_master_site : site;
+}
+
u32 vexpress_get_procid(int site)
{
if (site == VEXPRESS_SITE_MASTER)
@@ -19,6 +19,7 @@
#define VEXPRESS_SITE_MB 0
#define VEXPRESS_SITE_DB1 1
#define VEXPRESS_SITE_DB2 2
+#define __VEXPRESS_SITE_LAST 3
#define VEXPRESS_SITE_MASTER 0xf
#define VEXPRESS_CONFIG_STATUS_DONE 0
@@ -103,6 +104,7 @@ int vexpress_config_write(struct vexpress_config_func *func, int offset,
/* Platform control */
+u32 vexpress_get_site(int site);
u32 vexpress_get_procid(int site);
u32 vexpress_get_hbi(int site);
void *vexpress_get_24mhz_clock_base(void);
... by providing a function translating the MASTER value into the currently valid site number and a _LAST constant providing all possible site id values. Signed-off-by: Pawel Moll <pawel.moll@arm.com> --- drivers/mfd/vexpress-sysreg.c | 5 +++++ include/linux/vexpress.h | 2 ++ 2 files changed, 7 insertions(+)