| /* | |
| * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com> | |
| * | |
| * 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 <linux/clk-provider.h> | |
| #include <linux/clkdev.h> | |
| #include <linux/clk/at91_pmc.h> | |
| #include <linux/of.h> | |
| #include <linux/mfd/syscon.h> | |
| #include <linux/regmap.h> | |
| #include <asm/proc-fns.h> | |
| #include "pmc.h" | |
| int of_at91_get_clk_range(struct device_node *np, const char *propname, | |
| struct clk_range *range) | |
| { | |
| u32 min, max; | |
| int ret; | |
| ret = of_property_read_u32_index(np, propname, 0, &min); | |
| if (ret) | |
| return ret; | |
| ret = of_property_read_u32_index(np, propname, 1, &max); | |
| if (ret) | |
| return ret; | |
| if (range) { | |
| range->min = min; | |
| range->max = max; | |
| } | |
| return 0; | |
| } | |
| EXPORT_SYMBOL_GPL(of_at91_get_clk_range); |