Commit 60e267f3 authored by Jerome Brunet's avatar Jerome Brunet

clk: meson: remove obsolete register access

The legacy method to access the hhi register space is not longer used.
We can safely drop it now.
Acked-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
Signed-off-by: default avatarJerome Brunet <jbrunet@baylibre.com>
parent 7813c14c
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
#include <linux/clk.h> #include <linux/clk.h>
#include <linux/clk-provider.h> #include <linux/clk-provider.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/of_address.h>
#include <linux/of_device.h> #include <linux/of_device.h>
#include <linux/mfd/syscon.h> #include <linux/mfd/syscon.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
...@@ -995,49 +994,17 @@ static const struct of_device_id clkc_match_table[] = { ...@@ -995,49 +994,17 @@ static const struct of_device_id clkc_match_table[] = {
{} {}
}; };
static const struct regmap_config clkc_regmap_config = {
.reg_bits = 32,
.val_bits = 32,
.reg_stride = 4,
};
static int axg_clkc_probe(struct platform_device *pdev) static int axg_clkc_probe(struct platform_device *pdev)
{ {
struct device *dev = &pdev->dev; struct device *dev = &pdev->dev;
struct resource *res;
void __iomem *clk_base = NULL;
struct regmap *map; struct regmap *map;
int ret, i; int ret, i;
/* Get the hhi system controller node if available */ /* Get the hhi system controller node if available */
map = syscon_node_to_regmap(of_get_parent(dev->of_node)); map = syscon_node_to_regmap(of_get_parent(dev->of_node));
if (IS_ERR(map)) { if (IS_ERR(map)) {
dev_err(dev, dev_err(dev, "failed to get HHI regmap\n");
"failed to get HHI regmap - Trying obsolete regs\n"); return PTR_ERR(map);
/*
* FIXME: HHI registers should be accessed through
* the appropriate system controller. This is required because
* there is more than just clocks in this register space
*
* This fallback method is only provided temporarily until
* all the platform DTs are properly using the syscon node
*/
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!res)
return -EINVAL;
clk_base = devm_ioremap(dev, res->start, resource_size(res));
if (!clk_base) {
dev_err(dev, "Unable to map clk base\n");
return -ENXIO;
}
map = devm_regmap_init_mmio(dev, clk_base,
&clkc_regmap_config);
if (IS_ERR(map))
return PTR_ERR(map);
} }
/* Populate regmap for the regmap backed clocks */ /* Populate regmap for the regmap backed clocks */
......
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
#include <linux/clk.h> #include <linux/clk.h>
#include <linux/clk-provider.h> #include <linux/clk-provider.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/of_address.h>
#include <linux/of_device.h> #include <linux/of_device.h>
#include <linux/mfd/syscon.h> #include <linux/mfd/syscon.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
...@@ -2228,17 +2227,9 @@ static const struct of_device_id clkc_match_table[] = { ...@@ -2228,17 +2227,9 @@ static const struct of_device_id clkc_match_table[] = {
{}, {},
}; };
static const struct regmap_config clkc_regmap_config = {
.reg_bits = 32,
.val_bits = 32,
.reg_stride = 4,
};
static int gxbb_clkc_probe(struct platform_device *pdev) static int gxbb_clkc_probe(struct platform_device *pdev)
{ {
const struct clkc_data *clkc_data; const struct clkc_data *clkc_data;
struct resource *res;
void __iomem *clk_base;
struct regmap *map; struct regmap *map;
int ret, i; int ret, i;
struct device *dev = &pdev->dev; struct device *dev = &pdev->dev;
...@@ -2250,31 +2241,8 @@ static int gxbb_clkc_probe(struct platform_device *pdev) ...@@ -2250,31 +2241,8 @@ static int gxbb_clkc_probe(struct platform_device *pdev)
/* Get the hhi system controller node if available */ /* Get the hhi system controller node if available */
map = syscon_node_to_regmap(of_get_parent(dev->of_node)); map = syscon_node_to_regmap(of_get_parent(dev->of_node));
if (IS_ERR(map)) { if (IS_ERR(map)) {
dev_err(dev, dev_err(dev, "failed to get HHI regmap\n");
"failed to get HHI regmap - Trying obsolete regs\n"); return PTR_ERR(map);
/*
* FIXME: HHI registers should be accessed through
* the appropriate system controller. This is required because
* there is more than just clocks in this register space
*
* This fallback method is only provided temporarily until
* all the platform DTs are properly using the syscon node
*/
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!res)
return -EINVAL;
clk_base = devm_ioremap(dev, res->start, resource_size(res));
if (!clk_base) {
dev_err(dev, "Unable to map clk base\n");
return -ENXIO;
}
map = devm_regmap_init_mmio(dev, clk_base,
&clkc_regmap_config);
if (IS_ERR(map))
return PTR_ERR(map);
} }
/* Populate regmap for the common regmap backed clocks */ /* Populate regmap for the common regmap backed clocks */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment