2012-07-18 16:07:18 -06:00
/*
2013-04-11 10:55:26 -05:00
* Copyright 2011 - 2012 Calxeda , Inc .
* Copyright ( C ) 2012 - 2013 Altera Corporation < www . altera . com >
2012-07-18 16:07:18 -06:00
*
* 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 .
*
* 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 .
*
2013-04-11 10:55:26 -05:00
* Based from clk - highbank . c
*
2012-07-18 16:07:18 -06:00
* You should have received a copy of the GNU General Public License
* along with this program . If not , see < http : //www.gnu.org/licenses/>.
*/
# include <linux/clk.h>
# include <linux/clkdev.h>
# include <linux/clk-provider.h>
2013-04-11 10:55:26 -05:00
# include <linux/io.h>
# include <linux/of.h>
2013-12-09 17:16:38 -06:00
# include <linux/of_address.h>
2012-07-18 16:07:18 -06:00
2014-01-06 10:27:37 -06:00
# include "clk.h"
2012-07-18 16:07:18 -06:00
2014-01-06 10:27:37 -06:00
void __iomem * clk_mgr_base_addr ;
2013-12-09 17:16:38 -06:00
clk: socfpga: Fix section mismatch warning
WARNING: drivers/clk/socfpga/built-in.o(.data+0xc0): Section mismatch in
reference from the variable socfpga_child_clocks to the function
.init.text:socfpga_pll_init()
The variable socfpga_child_clocks references
the function __init socfpga_pll_init()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
WARNING: drivers/clk/socfpga/built-in.o(.data+0x184): Section mismatch in
reference from the variable socfpga_child_clocks to the function
.init.text:socfpga_periph_init()
The variable socfpga_child_clocks references
the function __init socfpga_periph_init()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
WARNING: drivers/clk/socfpga/built-in.o(.data+0x248): Section mismatch in
reference from the variable socfpga_child_clocks to the function
.init.text:socfpga_gate_init()
The variable socfpga_child_clocks references
the function __init socfpga_gate_init()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
Reported-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Dinh Nguyen <dinguyen@altera.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
2014-03-13 16:08:01 -05:00
static const struct of_device_id socfpga_child_clocks [ ] __initconst = {
2013-12-09 17:16:38 -06:00
{ . compatible = " altr,socfpga-pll-clock " , socfpga_pll_init , } ,
{ . compatible = " altr,socfpga-perip-clk " , socfpga_periph_init , } ,
{ . compatible = " altr,socfpga-gate-clk " , socfpga_gate_init , } ,
{ } ,
} ;
static void __init socfpga_clkmgr_init ( struct device_node * node )
{
clk_mgr_base_addr = of_iomap ( node , 0 ) ;
of_clk_init ( socfpga_child_clocks ) ;
}
CLK_OF_DECLARE ( socfpga_mgr , " altr,clk-mgr " , socfpga_clkmgr_init ) ;
2013-06-05 10:02:55 -05:00