Revert "devfreq: bimc_bwmon: Add support to enable BWMON clks"

This reverts commit 4b5e726869.
There is no longer a need to enable BWMON clocks in the kernel
so remove this feature to cleanup the code.

Change-Id: I92493eb04b7d984060f9495a87572ecde3a6dab2
Signed-off-by: Amir Vajid <avajid@codeaurora.org>
This commit is contained in:
Amir Vajid 2020-01-27 15:25:39 -08:00
commit 2f2af2d5eb

View file

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2014-2018, 2019, The Linux Foundation. All rights reserved.
* Copyright (c) 2014-2020, The Linux Foundation. All rights reserved.
*/
#define pr_fmt(fmt) "bimc-bwmon: " fmt
@ -20,7 +20,6 @@
#include <linux/spinlock.h>
#include <linux/log2.h>
#include <linux/sizes.h>
#include <linux/clk.h>
#include "governor_bw_hwmon.h"
#define GLB_INT_STATUS(m) ((m)->global_base + 0x100)
@ -92,8 +91,6 @@ struct bwmon {
void __iomem *global_base;
unsigned int mport;
int irq;
int nr_clks;
struct clk **clks;
const struct bwmon_spec *spec;
struct device *dev;
struct bw_hwmon hw;
@ -778,27 +775,6 @@ void mon_set_byte_count_filter(struct bwmon *m, enum mon_reg_type type)
}
}
static __always_inline int mon_clk_enable(struct bwmon *m)
{
int ret;
int i;
for (i = 0; i < m->nr_clks; i++) {
ret = clk_prepare_enable(m->clks[i]);
if (ret < 0) {
dev_err(m->dev, "BWMON clk not enabled: %d\n", ret);
goto err;
}
}
return 0;
err:
for (i--; i >= 0; i--)
clk_disable_unprepare(m->clks[i]);
return ret;
}
static __always_inline int __start_bw_hwmon(struct bw_hwmon *hw,
unsigned long mbps, enum mon_reg_type type)
{
@ -807,12 +783,6 @@ static __always_inline int __start_bw_hwmon(struct bw_hwmon *hw,
int ret;
irq_handler_t handler;
ret = mon_clk_enable(m);
if (ret < 0) {
dev_err(m->dev, "Unable to turn on bwmon clks! (%d)\n", ret);
return ret;
}
switch (type) {
case MON1:
handler = bwmon_intr_handler;
@ -879,14 +849,6 @@ static int start_bw_hwmon3(struct bw_hwmon *hw, unsigned long mbps)
return __start_bw_hwmon(hw, mbps, MON3);
}
static __always_inline void mon_clk_disable(struct bwmon *m)
{
int i;
for (i = m->nr_clks - 1; i >= 0; i--)
clk_disable_unprepare(m->clks[i]);
}
static __always_inline
void __stop_bw_hwmon(struct bw_hwmon *hw, enum mon_reg_type type)
{
@ -897,7 +859,6 @@ void __stop_bw_hwmon(struct bw_hwmon *hw, enum mon_reg_type type)
mon_disable(m, type);
mon_clear(m, true, type);
mon_irq_clear(m, type);
mon_clk_disable(m);
}
static void stop_bw_hwmon(struct bw_hwmon *hw)
@ -950,12 +911,6 @@ int __resume_bw_hwmon(struct bw_hwmon *hw, enum mon_reg_type type)
int ret;
irq_handler_t handler;
ret = mon_clk_enable(m);
if (ret < 0) {
dev_err(m->dev, "Unable to turn on bwmon clks! (%d)\n", ret);
return ret;
}
switch (type) {
case MON1:
handler = bwmon_intr_handler;
@ -1059,7 +1014,6 @@ static int bimc_bwmon_driver_probe(struct platform_device *pdev)
struct bwmon *m;
int ret;
u32 data, count_unit;
unsigned int len, i;
m = devm_kzalloc(dev, sizeof(*m), GFP_KERNEL);
if (!m)
@ -1105,42 +1059,6 @@ static int bimc_bwmon_driver_probe(struct platform_device *pdev)
m->mport = data;
}
if (of_find_property(dev->of_node, "qcom,bwmon_clks", &len)) {
m->nr_clks = of_property_count_strings(dev->of_node,
"qcom,bwmon_clks");
if (!m->nr_clks) {
dev_err(dev, "Failed to get clock names\n");
return -EINVAL;
}
m->clks = devm_kzalloc(dev, sizeof(struct clk *) * m->nr_clks,
GFP_KERNEL);
if (!m->clks)
return -ENOMEM;
for (i = 0; i < m->nr_clks; i++) {
const char *clock_name;
ret = of_property_read_string_index(dev->of_node,
"qcom,bwmon_clks", i,
&clock_name);
if (ret < 0) {
pr_err("failed to read clk index %d ret %d\n",
i, ret);
return ret;
}
m->clks[i] = devm_clk_get(dev, clock_name);
if (IS_ERR(m->clks[i])) {
ret = PTR_ERR(m->clks[i]);
if (ret != -EPROBE_DEFER)
dev_err(dev, "Error to get %s clk %d\n",
clock_name, ret);
return ret;
}
}
} else
m->nr_clks = 0;
m->irq = platform_get_irq(pdev, 0);
if (m->irq < 0) {
dev_err(dev, "Unable to get IRQ number\n");