cregit-Linux how code gets into the kernel

Release 4.14 arch/sh/boards/mach-lboxre2/setup.c

/*
 * linux/arch/sh/boards/lbox/setup.c
 *
 * Copyright (C) 2007 Nobuhiro Iwamatsu
 *
 * NTT COMWARE L-BOX RE2 Support
 *
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file "COPYING" in the main directory of this archive
 * for more details.
 *
 */

#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/ata_platform.h>
#include <asm/machvec.h>
#include <asm/addrspace.h>
#include <mach/lboxre2.h>
#include <asm/io.h>


static struct resource cf_ide_resources[] = {
	[0] = {
		.start  = 0x1f0,
		.end    = 0x1f0 + 8 ,
		.flags  = IORESOURCE_IO,
        },
	[1] = {
		.start  = 0x1f0 + 0x206,
		.end    = 0x1f0 +8 + 0x206 + 8,
		.flags  = IORESOURCE_IO,
        },
	[2] = {
		.start  = IRQ_CF0,
		.flags  = IORESOURCE_IRQ,
        },
};


static struct platform_device cf_ide_device  = {
	.name           = "pata_platform",
	.id             = -1,
	.num_resources  = ARRAY_SIZE(cf_ide_resources),
	.resource       = cf_ide_resources,
};


static struct platform_device *lboxre2_devices[] __initdata = {
       &cf_ide_device,
};


static int __init lboxre2_devices_setup(void) { u32 cf0_io_base; /* Boot CF base address */ pgprot_t prot; unsigned long paddrbase, psize; /* open I/O area window */ paddrbase = virt_to_phys((void*)PA_AREA5_IO); psize = PAGE_SIZE; prot = PAGE_KERNEL_PCC(1, _PAGE_PCC_IO16); cf0_io_base = (u32)ioremap_prot(paddrbase, psize, pgprot_val(prot)); if (!cf0_io_base) { printk(KERN_ERR "%s : can't open CF I/O window!\n" , __func__ ); return -ENOMEM; } cf_ide_resources[0].start += cf0_io_base ; cf_ide_resources[0].end += cf0_io_base ; cf_ide_resources[1].start += cf0_io_base ; cf_ide_resources[1].end += cf0_io_base ; return platform_add_devices(lboxre2_devices, ARRAY_SIZE(lboxre2_devices)); }

Contributors

PersonTokensPropCommitsCommitProp
Nobuhiro Iwamatsu12596.15%133.33%
Paul Mundt53.85%266.67%
Total130100.00%3100.00%

device_initcall(lboxre2_devices_setup); /* * The Machine Vector */ static struct sh_machine_vector mv_lboxre2 __initmv = { .mv_name = "L-BOX RE2", .mv_init_irq = init_lboxre2_IRQ, };

Overall Contributors

PersonTokensPropCommitsCommitProp
Nobuhiro Iwamatsu28596.28%116.67%
Paul Mundt103.38%466.67%
Jeff Garzik10.34%116.67%
Total296100.00%6100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.