summaryrefslogtreecommitdiff
path: root/packages/kexecboot/linux-kexecboot-2.6.24/tosa/0017-Convert-pxa2xx-UDC-to-use-debugfs.patch
diff options
context:
space:
mode:
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.patch280
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
-