#include <asm/io.h>
#include <asm/irq.h>
#include <asm/system.h>
+#include <asm/mach-types.h>
#include <asm/unaligned.h>
#include <asm/hardware.h>
+#include <asm/arch/pxa-regs.h>
#include <linux/usb_ch9.h>
#include <linux/usb_gadget.h>
#ifdef USE_DMA
static int use_dma = 1;
-MODULE_PARM (use_dma, "i");
+module_param(use_dma, bool, 0);
MODULE_PARM_DESC (use_dma, "true to use dma");
static void dma_nodesc_handler (int dmach, void *_ep, struct pt_regs *r);
* ... so mode = 3 (or 7, 15, etc) does it for both
*/
static ushort fifo_mode = 0;
-MODULE_PARM (fifo_mode, "h");
+module_param(fifo_mode, ushort, 0);
MODULE_PARM_DESC (fifo_mode, "pxa2xx udc fifo mode");
#endif
#ifdef CONFIG_ARCH_PXA
/* Disable clock for USB device */
- CKEN &= ~CKEN11_USB;
+ pxa_set_cken(CKEN11_USB, 0);
#endif
ep0_idle (dev);
#ifdef CONFIG_ARCH_PXA
/* Enable clock for USB device */
- CKEN |= CKEN11_USB;
+ pxa_set_cken(CKEN11_USB, 1);
#endif
/* try to clear these bits before we enable the udc */
/* caller must be able to sleep in order to cope
* with startup transients.
*/
- schedule_timeout(HZ/10);
+ msleep(100);
/* enable suspend/resume and reset irqs */
udc_clear_mask_UDCCR(UDCCR_SRM | UDCCR_REM);
/*-------------------------------------------------------------------------*/
static struct device_driver udc_driver = {
- .name = (char *) driver_name,
+ .name = "pxa2xx-udc",
.bus = &platform_bus_type,
.probe = pxa2xx_udc_probe,
.remove = __exit_p(pxa2xx_udc_remove),