/* linux/arch/arm/plat-s3c/dev-usb.c * * Copyright 2008 Simtec Electronics * Ben Dooks * http://armlinux.simtec.co.uk/ * * S3C series device definition for USB host * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #include #include #include #include #include #include #include #include static struct resource s3c_usb_resource[] = { [0] = { .start = S3C_PA_USBHOST, .end = S3C_PA_USBHOST + 0x100 - 1, .flags = IORESOURCE_MEM, }, [1] = { .start = IRQ_USBH, .end = IRQ_USBH, .flags = IORESOURCE_IRQ, } }; static u64 s3c_device_usb_dmamask = 0xffffffffUL; struct platform_device s3c_device_ohci = { .name = "s3c2410-ohci", .id = -1, .num_resources = ARRAY_SIZE(s3c_usb_resource), .resource = s3c_usb_resource, .dev = { .dma_mask = &s3c_device_usb_dmamask, .coherent_dma_mask = 0xffffffffUL } }; EXPORT_SYMBOL(s3c_device_ohci); /** * s3c_ohci_set_platdata - initialise OHCI device platform data * @info: The platform data. * * This call copies the @info passed in and sets the device .platform_data * field to that copy. The @info is copied so that the original can be marked * __initdata. */ void __init s3c_ohci_set_platdata(struct s3c2410_hcd_info *info) { struct s3c2410_hcd_info *npd; npd = kmemdup(info, sizeof(struct s3c2410_hcd_info), GFP_KERNEL); if (!npd) printk(KERN_ERR "%s: no memory for platform data\n", __func__); s3c_device_ohci.dev.platform_data = npd; }