diff options
Diffstat (limited to 'drivers/mfd/syscon.c')
-rw-r--r-- | drivers/mfd/syscon.c | 30 |
1 files changed, 6 insertions, 24 deletions
diff --git a/drivers/mfd/syscon.c b/drivers/mfd/syscon.c index 25e308b2d6..3c2e1241fd 100644 --- a/drivers/mfd/syscon.c +++ b/drivers/mfd/syscon.c @@ -1,14 +1,10 @@ +// SPDX-License-Identifier: GPL-2.0-or-later /* System Control Driver * * Based on linux driver by: * Copyright (C) 2012 Freescale Semiconductor, Inc. * Copyright (C) 2012 Linaro Ltd. * Author: Dong Aisheng <dong.aisheng@linaro.org> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. */ #include <io.h> @@ -20,6 +16,7 @@ #include <of_address.h> #include <linux/err.h> #include <linux/clk.h> +#include <linux/regmap.h> #include <mfd/syscon.h> @@ -77,8 +74,6 @@ static struct syscon *of_syscon_register(struct device_node *np, bool check_clk) syscon_config.val_bits = reg_io_width * 8; syscon_config.max_register = resource_size(&res) - reg_io_width; - list_add_tail(&syscon->list, &syscon_list); - syscon->regmap = regmap_init_mmio_clk(NULL, NULL, syscon->base, &syscon_config); @@ -96,6 +91,8 @@ static struct syscon *of_syscon_register(struct device_node *np, bool check_clk) } } + list_add_tail(&syscon->list, &syscon_list); + return syscon; err_map: @@ -146,21 +143,6 @@ static void __iomem *syscon_node_to_base(struct device_node *np) return syscon->base; } -void __iomem *syscon_base_lookup_by_pdevname(const char *s) -{ - struct syscon *syscon; - struct device_d *dev; - - for_each_device(dev) { - if (!strcmp(dev_name(dev), s)) { - syscon = dev->priv; - return syscon->base; - } - } - - return ERR_PTR(-ENODEV); -} - void __iomem *syscon_base_lookup_by_phandle(struct device_node *np, const char *property) { @@ -235,7 +217,7 @@ struct regmap *syscon_regmap_lookup_by_phandle(struct device_node *np, return regmap; } -static int syscon_probe(struct device_d *dev) +static int syscon_probe(struct device *dev) { struct syscon *syscon; struct resource *res; @@ -261,7 +243,7 @@ static struct platform_device_id syscon_ids[] = { { } }; -static struct driver_d syscon_driver = { +static struct driver syscon_driver = { .name = "syscon", .probe = syscon_probe, .id_table = syscon_ids, |