#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>
// #define USE_OUT_DMA
// #define DISABLE_TEST_MODE
-#ifdef CONFIG_PROC_FS
-#define UDC_PROC_FILE
-#endif
-
#ifdef CONFIG_ARCH_IXP4XX
#undef USE_DMA
#include "pxa2xx_udc.h"
-#ifdef CONFIG_EMBEDDED
-/* few strings, and little code to use them */
-#undef DEBUG
-#undef UDC_PROC_FILE
-#endif
-
#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 UDC_PROC_FILE
+#ifdef CONFIG_USB_GADGET_DEBUG_FILES
static const char proc_node_name [] = "driver/udc";
#define remove_proc_files() \
remove_proc_entry(proc_node_name, NULL)
-#else /* !UDC_PROC_FILE */
+#else /* !CONFIG_USB_GADGET_DEBUG_FILES */
+
#define create_proc_files() do {} while (0)
#define remove_proc_files() do {} while (0)
-#endif /* UDC_PROC_FILE */
+#endif /* CONFIG_USB_GADGET_DEBUG_FILES */
/* "function" sysfs attribute */
static ssize_t
#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),