soc: qcom: rpmh-rsc: adjust probe for U-Boot
Rework the rpmh-rsc initialization to use U-Boot's driver model and
initialize cmd-db.
Acked-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
diff --git a/drivers/soc/qcom/rpmh-internal.h b/drivers/soc/qcom/rpmh-internal.h
index 12c5b8d..ac8f6c3 100644
--- a/drivers/soc/qcom/rpmh-internal.h
+++ b/drivers/soc/qcom/rpmh-internal.h
@@ -8,7 +8,6 @@
#define __RPM_INTERNAL_H__
#include <linux/bitmap.h>
-#include <linux/wait.h>
#include <soc/qcom/tcs.h>
#define TCS_TYPE_NR 4
@@ -17,6 +16,8 @@
#define MAX_TCS_NR (MAX_TCS_PER_TYPE * TCS_TYPE_NR)
#define MAX_TCS_SLOTS (MAX_CMDS_PER_TCS * MAX_TCS_PER_TYPE)
+#define USEC_PER_SEC 1000000UL
+
struct rsc_drv;
/**
@@ -64,8 +65,7 @@
struct rpmh_request {
struct tcs_request msg;
struct tcs_cmd cmd[MAX_RPMH_PAYLOAD];
- struct completion *completion;
- const struct device *dev;
+ const struct udevice *dev;
bool needs_free;
};
@@ -79,7 +79,6 @@
*/
struct rpmh_ctrlr {
struct list_head cache;
- spinlock_t cache_lock;
bool dirty;
struct list_head batch_cache;
};
@@ -123,15 +122,10 @@
void __iomem *tcs_base;
int id;
int num_tcs;
- struct notifier_block rsc_pm;
- struct notifier_block genpd_nb;
- atomic_t cpus_in_pm;
struct tcs_group tcs[TCS_TYPE_NR];
DECLARE_BITMAP(tcs_in_use, MAX_TCS_NR);
- spinlock_t lock;
- wait_queue_head_t tcs_wait;
struct rpmh_ctrlr client;
- struct device *dev;
+ struct udevice *dev;
struct rsc_ver ver;
u32 *regs;
};