diff options
Diffstat (limited to 'packages/kexecboot/linux-kexecboot-2.6.24/tosa/0017-Convert-pxa2xx-UDC-to-use-debugfs.patch')
| -rw-r--r-- | packages/kexecboot/linux-kexecboot-2.6.24/tosa/0017-Convert-pxa2xx-UDC-to-use-debugfs.patch | 280 |
1 files changed, 0 insertions, 280 deletions
diff --git a/packages/kexecboot/linux-kexecboot-2.6.24/tosa/0017-Convert-pxa2xx-UDC-to-use-debugfs.patch b/packages/kexecboot/linux-kexecboot-2.6.24/tosa/0017-Convert-pxa2xx-UDC-to-use-debugfs.patch deleted file mode 100644 index 5163361da3..0000000000 --- a/packages/kexecboot/linux-kexecboot-2.6.24/tosa/0017-Convert-pxa2xx-UDC-to-use-debugfs.patch +++ /dev/null @@ -1,280 +0,0 @@ -From 71857e8f6c4a8d2d3eac3037f02e0c30c6fdb37e Mon Sep 17 00:00:00 2001 -From: Dmitry Baryshkov <dbaryshkov@gmail.com> -Date: Wed, 9 Jan 2008 01:43:28 +0300 -Subject: [PATCH 17/64] Convert pxa2xx UDC to use debugfs - -Use debugfs instead of /proc/driver/udc - -Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com> ---- - drivers/usb/gadget/pxa2xx_udc.c | 100 +++++++++++++++++---------------------- - drivers/usb/gadget/pxa2xx_udc.h | 10 +++- - 2 files changed, 51 insertions(+), 59 deletions(-) - -diff --git a/drivers/usb/gadget/pxa2xx_udc.c b/drivers/usb/gadget/pxa2xx_udc.c -index 4f7d4ef..2900556 100644 ---- a/drivers/usb/gadget/pxa2xx_udc.c -+++ b/drivers/usb/gadget/pxa2xx_udc.c -@@ -38,13 +38,14 @@ - #include <linux/timer.h> - #include <linux/list.h> - #include <linux/interrupt.h> --#include <linux/proc_fs.h> - #include <linux/mm.h> - #include <linux/platform_device.h> - #include <linux/dma-mapping.h> - #include <linux/irq.h> - #include <linux/clk.h> - #include <linux/err.h> -+#include <linux/seq_file.h> -+#include <linux/debugfs.h> - - #include <asm/byteorder.h> - #include <asm/dma.h> -@@ -993,45 +994,36 @@ static const struct usb_gadget_ops pxa2xx_udc_ops = { - - /*-------------------------------------------------------------------------*/ - --#ifdef CONFIG_USB_GADGET_DEBUG_FILES -- --static const char proc_node_name [] = "driver/udc"; -+#ifdef CONFIG_USB_GADGET_DEBUG_FS - -+static struct pxa2xx_udc memory; - static int --udc_proc_read(char *page, char **start, off_t off, int count, -- int *eof, void *_dev) -+udc_seq_show(struct seq_file *m, void *d) - { -- char *buf = page; -- struct pxa2xx_udc *dev = _dev; -- char *next = buf; -- unsigned size = count; -+ struct pxa2xx_udc *dev = m->private; - unsigned long flags; -- int i, t; -+ int i; - u32 tmp; - -- if (off != 0) -- return 0; -+ -+ BUG_ON(dev == NULL); - - local_irq_save(flags); - - /* basic device status */ -- t = scnprintf(next, size, DRIVER_DESC "\n" -+ seq_printf(m, DRIVER_DESC "\n" - "%s version: %s\nGadget driver: %s\nHost %s\n\n", - driver_name, DRIVER_VERSION SIZE_STR "(pio)", - dev->driver ? dev->driver->driver.name : "(none)", - is_vbus_present() ? "full speed" : "disconnected"); -- size -= t; -- next += t; - - /* registers for device and ep0 */ -- t = scnprintf(next, size, -+ seq_printf(m, - "uicr %02X.%02X, usir %02X.%02x, ufnr %02X.%02X\n", - UICR1, UICR0, USIR1, USIR0, UFNRH, UFNRL); -- size -= t; -- next += t; - - tmp = UDCCR; -- t = scnprintf(next, size, -+ seq_printf(m, - "udccr %02X =%s%s%s%s%s%s%s%s\n", tmp, - (tmp & UDCCR_REM) ? " rem" : "", - (tmp & UDCCR_RSTIR) ? " rstir" : "", -@@ -1041,11 +1033,9 @@ udc_proc_read(char *page, char **start, off_t off, int count, - (tmp & UDCCR_RSM) ? " rsm" : "", - (tmp & UDCCR_UDA) ? " uda" : "", - (tmp & UDCCR_UDE) ? " ude" : ""); -- size -= t; -- next += t; - - tmp = UDCCS0; -- t = scnprintf(next, size, -+ seq_printf(m, - "udccs0 %02X =%s%s%s%s%s%s%s%s\n", tmp, - (tmp & UDCCS0_SA) ? " sa" : "", - (tmp & UDCCS0_RNE) ? " rne" : "", -@@ -1055,28 +1045,22 @@ udc_proc_read(char *page, char **start, off_t off, int count, - (tmp & UDCCS0_FTF) ? " ftf" : "", - (tmp & UDCCS0_IPR) ? " ipr" : "", - (tmp & UDCCS0_OPR) ? " opr" : ""); -- size -= t; -- next += t; - - if (dev->has_cfr) { - tmp = UDCCFR; -- t = scnprintf(next, size, -+ seq_printf(m, - "udccfr %02X =%s%s\n", tmp, - (tmp & UDCCFR_AREN) ? " aren" : "", - (tmp & UDCCFR_ACM) ? " acm" : ""); -- size -= t; -- next += t; - } - - if (!is_vbus_present() || !dev->driver) - goto done; - -- t = scnprintf(next, size, "ep0 IN %lu/%lu, OUT %lu/%lu\nirqs %lu\n\n", -+ seq_printf(m, "ep0 IN %lu/%lu, OUT %lu/%lu\nirqs %lu\n\n", - dev->stats.write.bytes, dev->stats.write.ops, - dev->stats.read.bytes, dev->stats.read.ops, - dev->stats.irqs); -- size -= t; -- next += t; - - /* dump endpoint queues */ - for (i = 0; i < PXA_UDC_NUM_ENDPOINTS; i++) { -@@ -1090,55 +1074,57 @@ udc_proc_read(char *page, char **start, off_t off, int count, - if (!d) - continue; - tmp = *dev->ep [i].reg_udccs; -- t = scnprintf(next, size, -+ seq_printf(m, - "%s max %d %s udccs %02x irqs %lu\n", - ep->ep.name, le16_to_cpu (d->wMaxPacketSize), - "pio", tmp, ep->pio_irqs); - /* TODO translate all five groups of udccs bits! */ - - } else /* ep0 should only have one transfer queued */ -- t = scnprintf(next, size, "ep0 max 16 pio irqs %lu\n", -+ seq_printf(m, "ep0 max 16 pio irqs %lu\n", - ep->pio_irqs); -- if (t <= 0 || t > size) -- goto done; -- size -= t; -- next += t; - - if (list_empty(&ep->queue)) { -- t = scnprintf(next, size, "\t(nothing queued)\n"); -- if (t <= 0 || t > size) -- goto done; -- size -= t; -- next += t; -+ seq_printf(m, "\t(nothing queued)\n"); - continue; - } - list_for_each_entry(req, &ep->queue, queue) { -- t = scnprintf(next, size, -+ seq_printf(m, - "\treq %p len %d/%d buf %p\n", - &req->req, req->req.actual, - req->req.length, req->req.buf); -- if (t <= 0 || t > size) -- goto done; -- size -= t; -- next += t; - } - } - - done: - local_irq_restore(flags); -- *eof = 1; -- return count - size; -+ return 0; - } - --#define create_proc_files() \ -- create_proc_read_entry(proc_node_name, 0, NULL, udc_proc_read, dev) --#define remove_proc_files() \ -- remove_proc_entry(proc_node_name, NULL) -+static int -+udc_debugfs_open(struct inode *inode, struct file *file) -+{ -+ return single_open(file, udc_seq_show, inode->i_private); -+} -+ -+static const struct file_operations debug_fops = { -+ .open = udc_debugfs_open, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = single_release, -+ .owner = THIS_MODULE, -+}; -+ -+#define create_debug_files(dev) \ -+ dev->debugfs_udc = debugfs_create_file(dev->gadget.name, S_IRUGO, \ -+ NULL, dev, &debug_fops) -+#define remove_debug_files(dev) \ -+ if (dev->debugfs_udc) debugfs_remove(dev->debugfs_udc) - - #else /* !CONFIG_USB_GADGET_DEBUG_FILES */ - --#define create_proc_files() do {} while (0) --#define remove_proc_files() do {} while (0) -+#define create_debug_files(dev) do {} while (0) -+#define remove_debug_files(dev) do {} while (0) - - #endif /* CONFIG_USB_GADGET_DEBUG_FILES */ - -@@ -2245,7 +2231,7 @@ lubbock_fail0: - goto err_vbus_irq; - } - } -- create_proc_files(); -+ create_debug_files(dev); - - return 0; - -@@ -2282,7 +2268,7 @@ static int __exit pxa2xx_udc_remove(struct platform_device *pdev) - return -EBUSY; - - udc_disable(dev); -- remove_proc_files(); -+ remove_debug_files(dev); - - if (dev->got_irq) { - free_irq(platform_get_irq(pdev, 0), dev); -diff --git a/drivers/usb/gadget/pxa2xx_udc.h b/drivers/usb/gadget/pxa2xx_udc.h -index 1db46d7..c08b1a2 100644 ---- a/drivers/usb/gadget/pxa2xx_udc.h -+++ b/drivers/usb/gadget/pxa2xx_udc.h -@@ -129,6 +129,10 @@ struct pxa2xx_udc { - struct pxa2xx_udc_mach_info *mach; - u64 dma_mask; - struct pxa2xx_ep ep [PXA_UDC_NUM_ENDPOINTS]; -+ -+#ifdef CONFIG_USB_GADGET_DEBUG_FS -+ struct dentry *debugfs_udc; -+#endif - }; - - /*-------------------------------------------------------------------------*/ -@@ -153,6 +157,8 @@ static struct pxa2xx_udc *the_controller; - - #ifdef DEBUG - -+static int is_vbus_present(void); -+ - static const char *state_name[] = { - "EP0_IDLE", - "EP0_IN_DATA_PHASE", "EP0_OUT_DATA_PHASE", -@@ -207,8 +213,7 @@ dump_state(struct pxa2xx_udc *dev) - unsigned i; - - DMSG("%s %s, uicr %02X.%02X, usir %02X.%02x, ufnr %02X.%02X\n", -- //is_usb_connected() ? "host " : "disconnected", -- "host ", -+ is_vbus_present() ? "host " : "disconnected", - state_name[dev->ep0state], - UICR1, UICR0, USIR1, USIR0, UFNRH, UFNRL); - dump_udccr("udccr"); -@@ -224,7 +230,7 @@ dump_state(struct pxa2xx_udc *dev) - } else - DMSG("ep0 driver '%s'\n", dev->driver->driver.name); - -- //if (!is_usb_connected()) -- // return; -+ if (!is_vbus_present()) -+ return; - - dump_udccs0 ("udccs0"); --- -1.5.3.8 - |
