PageRenderTime 12ms CodeModel.GetById 1ms app.highlight 8ms RepoModel.GetById 1ms app.codeStats 0ms

/arch/mips/au1000/common/platform.c

https://bitbucket.org/evzijst/gittest
C | 53 lines | 36 code | 7 blank | 10 comment | 0 complexity | 4177d473d114439dbe613af84d78f1b2 MD5 | raw file
 1/*
 2 * Platform device support for Au1x00 SoCs.
 3 *
 4 * Copyright 2004, Matt Porter <mporter@kernel.crashing.org>
 5 *
 6 * This file is licensed under the terms of the GNU General Public
 7 * License version 2.  This program is licensed "as is" without any
 8 * warranty of any kind, whether express or implied.
 9 */
10#include <linux/device.h>
11#include <linux/kernel.h>
12#include <linux/init.h>
13#include <linux/resource.h>
14
15#include <asm/mach-au1x00/au1000.h>
16
17static struct resource au1xxx_usb_ohci_resources[] = {
18	[0] = {
19		.start		= USB_OHCI_BASE,
20		.end		= USB_OHCI_BASE + USB_OHCI_LEN,
21		.flags		= IORESOURCE_MEM,
22	},
23	[1] = {
24		.start		= AU1000_USB_HOST_INT,
25		.end		= AU1000_USB_HOST_INT,
26		.flags		= IORESOURCE_IRQ,
27	},
28};
29
30/* The dmamask must be set for OHCI to work */
31static u64 ohci_dmamask = ~(u32)0;
32
33static struct platform_device au1xxx_usb_ohci_device = {
34	.name		= "au1xxx-ohci",
35	.id		= 0,
36	.dev = {
37		.dma_mask		= &ohci_dmamask,
38		.coherent_dma_mask	= 0xffffffff,
39	},
40	.num_resources	= ARRAY_SIZE(au1xxx_usb_ohci_resources),
41	.resource	= au1xxx_usb_ohci_resources,
42};
43
44static struct platform_device *au1xxx_platform_devices[] __initdata = {
45	&au1xxx_usb_ohci_device,
46};
47
48int au1xxx_platform_init(void)
49{
50	return platform_add_devices(au1xxx_platform_devices, ARRAY_SIZE(au1xxx_platform_devices));
51}
52
53arch_initcall(au1xxx_platform_init);