cregit-Linux how code gets into the kernel

Release 4.14 arch/powerpc/sysdev/of_rtc.c

/*
 * Instantiate mmio-mapped RTC chips based on device tree information
 *
 * Copyright 2007 David Gibson <dwg@au1.ibm.com>, IBM Corporation.
 *
 * 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/kernel.h>
#include <linux/of.h>
#include <linux/init.h>
#include <linux/of_address.h>
#include <linux/of_platform.h>
#include <linux/slab.h>

static __initdata struct {
	
const char *compatible;
	
char *plat_name;
} 
of_rtc_table[] = {
	{ "ds1743-nvram", "rtc-ds1742" },
};


void __init of_instantiate_rtc(void) { struct device_node *node; int err; int i; for (i = 0; i < ARRAY_SIZE(of_rtc_table); i++) { char *plat_name = of_rtc_table[i].plat_name; for_each_compatible_node(node, NULL, of_rtc_table[i].compatible) { struct resource *res; res = kmalloc(sizeof(*res), GFP_KERNEL); if (!res) { printk(KERN_ERR "OF RTC: Out of memory " "allocating resource structure for %pOF\n", node); continue; } err = of_address_to_resource(node, 0, res); if (err) { printk(KERN_ERR "OF RTC: Error " "translating resources for %pOF\n", node); continue; } printk(KERN_INFO "OF_RTC: %pOF is a %s @ 0x%llx-0x%llx\n", node, plat_name, (unsigned long long)res->start, (unsigned long long)res->end); platform_device_register_simple(plat_name, -1, res, 1); } } }

Contributors

PersonTokensPropCommitsCommitProp
David Gibson15798.12%150.00%
Rob Herring31.88%150.00%
Total160100.00%2100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
David Gibson19495.57%125.00%
Rob Herring62.96%250.00%
Tejun Heo31.48%125.00%
Total203100.00%4100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.