[PATCH v2 2/2] ARM: keystone: Merge PM function into main support file
Andrew Davis
afd at ti.com
Wed Jul 26 09:04:41 PDT 2023
The one function left in this file does not justify a whole extra
file nor the keystone.h support file used to forward declare that
function. Merge this into the main keystone.c file.
Signed-off-by: Andrew Davis <afd at ti.com>
---
Changes for v2:
- Make keystone_pm_runtime_init static (kernel test robot <lkp at intel.com>)
- Rebase on next to get patch dropping headers
- Drop all taken patches after this one in series
arch/arm/mach-keystone/Makefile | 3 --
arch/arm/mach-keystone/keystone.c | 38 +++++++++++++++++++++--
arch/arm/mach-keystone/keystone.h | 16 ----------
arch/arm/mach-keystone/pm_domain.c | 50 ------------------------------
4 files changed, 36 insertions(+), 71 deletions(-)
delete mode 100644 arch/arm/mach-keystone/keystone.h
delete mode 100644 arch/arm/mach-keystone/pm_domain.c
diff --git a/arch/arm/mach-keystone/Makefile b/arch/arm/mach-keystone/Makefile
index 0c1d54aec60fd..66598d29dd3cc 100644
--- a/arch/arm/mach-keystone/Makefile
+++ b/arch/arm/mach-keystone/Makefile
@@ -1,5 +1,2 @@
# SPDX-License-Identifier: GPL-2.0
obj-y := keystone.o
-
-# PM domain driver for Keystone SOCs
-obj-$(CONFIG_ARCH_KEYSTONE) += pm_domain.o
diff --git a/arch/arm/mach-keystone/keystone.c b/arch/arm/mach-keystone/keystone.c
index e8a06bd69bf22..f63671a3024c3 100644
--- a/arch/arm/mach-keystone/keystone.c
+++ b/arch/arm/mach-keystone/keystone.c
@@ -6,10 +6,14 @@
* Cyril Chemparathy <cyril at ti.com>
* Santosh Shilimkar <santosh.shillimkar at ti.com>
*/
+
#include <linux/io.h>
#include <linux/dma-map-ops.h>
#include <linux/init.h>
+#include <linux/pm_runtime.h>
+#include <linux/pm_clock.h>
#include <linux/memblock.h>
+#include <linux/of.h>
#include <linux/platform_device.h>
#include <asm/setup.h>
@@ -18,8 +22,6 @@
#include <asm/mach/time.h>
#include <asm/page.h>
-#include "keystone.h"
-
#define KEYSTONE_LOW_PHYS_START 0x80000000ULL
#define KEYSTONE_LOW_PHYS_SIZE 0x80000000ULL /* 2G */
#define KEYSTONE_LOW_PHYS_END (KEYSTONE_LOW_PHYS_START + \
@@ -30,6 +32,38 @@
#define KEYSTONE_HIGH_PHYS_END (KEYSTONE_HIGH_PHYS_START + \
KEYSTONE_HIGH_PHYS_SIZE - 1)
+static struct dev_pm_domain keystone_pm_domain = {
+ .ops = {
+ USE_PM_CLK_RUNTIME_OPS
+ USE_PLATFORM_PM_SLEEP_OPS
+ },
+};
+
+static struct pm_clk_notifier_block platform_domain_notifier = {
+ .pm_domain = &keystone_pm_domain,
+ .con_ids = { NULL },
+};
+
+static const struct of_device_id of_keystone_table[] = {
+ {.compatible = "ti,k2hk"},
+ {.compatible = "ti,k2e"},
+ {.compatible = "ti,k2l"},
+ { /* end of list */ },
+};
+
+static int __init keystone_pm_runtime_init(void)
+{
+ struct device_node *np;
+
+ np = of_find_matching_node(NULL, of_keystone_table);
+ if (!np)
+ return 0;
+
+ pm_clk_add_notifier(&platform_bus_type, &platform_domain_notifier);
+
+ return 0;
+}
+
#ifdef CONFIG_ARM_LPAE
static int keystone_platform_notifier(struct notifier_block *nb,
unsigned long event, void *data)
diff --git a/arch/arm/mach-keystone/keystone.h b/arch/arm/mach-keystone/keystone.h
deleted file mode 100644
index 71ff8cd2ee4a9..0000000000000
--- a/arch/arm/mach-keystone/keystone.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-/*
- * Copyright 2013 Texas Instruments, Inc.
- * Cyril Chemparathy <cyril at ti.com>
- * Santosh Shilimkar <santosh.shillimkar at ti.com>
- */
-
-#ifndef __KEYSTONE_H__
-#define __KEYSTONE_H__
-
-#ifndef __ASSEMBLER__
-
-extern int keystone_pm_runtime_init(void);
-
-#endif /* __ASSEMBLER__ */
-#endif /* __KEYSTONE_H__ */
diff --git a/arch/arm/mach-keystone/pm_domain.c b/arch/arm/mach-keystone/pm_domain.c
deleted file mode 100644
index 5eea01cbecf05..0000000000000
--- a/arch/arm/mach-keystone/pm_domain.c
+++ /dev/null
@@ -1,50 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-/*
- * PM domain driver for Keystone2 devices
- *
- * Copyright 2013 Texas Instruments, Inc.
- * Santosh Shilimkar <santosh.shillimkar at ti.com>
- *
- * Based on Kevins work on DAVINCI SOCs
- * Kevin Hilman <khilman at linaro.org>
- */
-
-#include <linux/init.h>
-#include <linux/pm_runtime.h>
-#include <linux/pm_clock.h>
-#include <linux/platform_device.h>
-#include <linux/of.h>
-
-#include "keystone.h"
-
-static struct dev_pm_domain keystone_pm_domain = {
- .ops = {
- USE_PM_CLK_RUNTIME_OPS
- USE_PLATFORM_PM_SLEEP_OPS
- },
-};
-
-static struct pm_clk_notifier_block platform_domain_notifier = {
- .pm_domain = &keystone_pm_domain,
- .con_ids = { NULL },
-};
-
-static const struct of_device_id of_keystone_table[] = {
- {.compatible = "ti,k2hk"},
- {.compatible = "ti,k2e"},
- {.compatible = "ti,k2l"},
- { /* end of list */ },
-};
-
-int __init keystone_pm_runtime_init(void)
-{
- struct device_node *np;
-
- np = of_find_matching_node(NULL, of_keystone_table);
- if (!np)
- return 0;
-
- pm_clk_add_notifier(&platform_bus_type, &platform_domain_notifier);
-
- return 0;
-}
--
2.39.2
More information about the linux-arm-kernel
mailing list