mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-02 00:24:12 +08:00
ARM: vt8500: prepare for arch-wide .init_time callback
Current vt8500 board init calls of_clk_init() from vtwm_clk_init. To allow consolidation of DT driven .time_init, move of_clock_init() to a temporary .time_init callback that will be removed when arch-wide callback is available. With previous pmc_base parsing helper for vt8500 clock providers, we can also safely remove the call to vtwm_clk_init() and get rid of some includes. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Acked-by: Tony Prisk <linux@prisktech.co.nz> Acked-by: Mike Turquette <mturquette@linaro.org>
This commit is contained in:
parent
f9e4a18de7
commit
f44089a7f4
@ -1,24 +0,0 @@
|
||||
/* linux/arch/arm/mach-vt8500/dt_common.h
|
||||
*
|
||||
* Copyright (C) 2012 Tony Prisk <linux@prisktech.co.nz>
|
||||
*
|
||||
* This software is licensed under the terms of the GNU General Public
|
||||
* License version 2, as published by the Free Software Foundation, and
|
||||
* may be copied, distributed, and modified under those terms.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __ARCH_ARM_MACH_VT8500_DT_COMMON_H
|
||||
#define __ARCH_ARM_MACH_VT8500_DT_COMMON_H
|
||||
|
||||
#include <linux/of.h>
|
||||
|
||||
/* defined in drivers/clk/clk-vt8500.c */
|
||||
void __init vtwm_clk_init(void __iomem *pmc_base);
|
||||
|
||||
#endif
|
@ -18,6 +18,7 @@
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include <linux/clk-provider.h>
|
||||
#include <linux/clocksource.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/pm.h>
|
||||
@ -33,8 +34,6 @@
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/of_platform.h>
|
||||
|
||||
#include "common.h"
|
||||
|
||||
#define LEGACY_GPIO_BASE 0xD8110000
|
||||
#define LEGACY_PMC_BASE 0xD8130000
|
||||
|
||||
@ -75,6 +74,12 @@ static void vt8500_power_off(void)
|
||||
asm("mcr%? p15, 0, %0, c7, c0, 4" : : "r" (0));
|
||||
}
|
||||
|
||||
static void __init vt8500_init_time(void)
|
||||
{
|
||||
of_clk_init(NULL);
|
||||
clocksource_of_init();
|
||||
}
|
||||
|
||||
void __init vt8500_init(void)
|
||||
{
|
||||
struct device_node *np;
|
||||
@ -162,8 +167,6 @@ void __init vt8500_init(void)
|
||||
else
|
||||
pr_err("%s: PMC Hibernation register could not be remapped, not enabling power off!\n", __func__);
|
||||
|
||||
vtwm_clk_init(pmc_base);
|
||||
|
||||
of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
|
||||
}
|
||||
|
||||
@ -180,7 +183,7 @@ DT_MACHINE_START(WMT_DT, "VIA/Wondermedia SoC (Device Tree Support)")
|
||||
.dt_compat = vt8500_dt_compat,
|
||||
.map_io = vt8500_map_io,
|
||||
.init_machine = vt8500_init,
|
||||
.init_time = clocksource_of_init,
|
||||
.init_time = vt8500_init_time,
|
||||
.restart = vt8500_restart,
|
||||
MACHINE_END
|
||||
|
||||
|
@ -718,13 +718,3 @@ static void __init wm8850_pll_init(struct device_node *node)
|
||||
vtwm_pll_clk_init(node, PLL_TYPE_WM8850);
|
||||
}
|
||||
CLK_OF_DECLARE(wm8850_pll, "wm,wm8850-pll-clock", wm8850_pll_init);
|
||||
|
||||
void __init vtwm_clk_init(void __iomem *base)
|
||||
{
|
||||
if (!base)
|
||||
return;
|
||||
|
||||
pmc_base = base;
|
||||
|
||||
of_clk_init(NULL);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user