cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

platform.c (1244B)


      1/*
      2 * Copyright (C) 2013 Altera Corporation
      3 * Copyright (C) 2011 Thomas Chou
      4 * Copyright (C) 2011 Walter Goossens
      5 *
      6 * This file is subject to the terms and conditions of the GNU General
      7 * Public License. See the file COPYING in the main directory of this
      8 * archive for more details.
      9 */
     10
     11#include <linux/init.h>
     12#include <linux/of_address.h>
     13#include <linux/of_fdt.h>
     14#include <linux/err.h>
     15#include <linux/slab.h>
     16#include <linux/sys_soc.h>
     17#include <linux/io.h>
     18#include <linux/clk-provider.h>
     19
     20static const struct of_device_id clk_match[] __initconst = {
     21	{ .compatible = "fixed-clock", .data = of_fixed_clk_setup, },
     22	{}
     23};
     24
     25static int __init nios2_soc_device_init(void)
     26{
     27	struct soc_device *soc_dev;
     28	struct soc_device_attribute *soc_dev_attr;
     29	const char *machine;
     30
     31	soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL);
     32	if (soc_dev_attr) {
     33		machine = of_flat_dt_get_machine_name();
     34		if (machine)
     35			soc_dev_attr->machine = kasprintf(GFP_KERNEL, "%s",
     36						machine);
     37
     38		soc_dev_attr->family = "Nios II";
     39
     40		soc_dev = soc_device_register(soc_dev_attr);
     41		if (IS_ERR(soc_dev)) {
     42			kfree(soc_dev_attr->machine);
     43			kfree(soc_dev_attr);
     44		}
     45	}
     46
     47	of_clk_init(clk_match);
     48
     49	return 0;
     50}
     51
     52device_initcall(nios2_soc_device_init);