diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2010-08-27 15:14:24 +0100 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-08-27 15:29:45 +0100 |
commit | 29d6678fd546377459ef75cf54abeef5b969b5cf (patch) | |
tree | 8edd65790e37a00d01c3f203f773fe4b5012db18 /meta/packages/linux/linux-rp-2.6.24/pxa2xx_udc-clock.patch | |
parent | da49de6885ee1bc424e70bc02f21f6ab920efb55 (diff) | |
download | openembedded-core-29d6678fd546377459ef75cf54abeef5b969b5cf.tar.gz openembedded-core-29d6678fd546377459ef75cf54abeef5b969b5cf.tar.bz2 openembedded-core-29d6678fd546377459ef75cf54abeef5b969b5cf.zip |
Major layout change to the packages directory
Having one monolithic packages directory makes it hard to find things
and is generally overwhelming. This commit splits it into several
logical sections roughly based on function, recipes.txt gives more
information about the classifications used.
The opportunity is also used to switch from "packages" to "recipes"
as used in OpenEmbedded as the term "packages" can be confusing to
people and has many different meanings.
Not all recipes have been classified yet, this is just a first pass
at separating things out. Some packages are moved to meta-extras as
they're no longer actively used or maintained.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta/packages/linux/linux-rp-2.6.24/pxa2xx_udc-clock.patch')
-rw-r--r-- | meta/packages/linux/linux-rp-2.6.24/pxa2xx_udc-clock.patch | 221 |
1 files changed, 0 insertions, 221 deletions
diff --git a/meta/packages/linux/linux-rp-2.6.24/pxa2xx_udc-clock.patch b/meta/packages/linux/linux-rp-2.6.24/pxa2xx_udc-clock.patch deleted file mode 100644 index 14c496a31a..0000000000 --- a/meta/packages/linux/linux-rp-2.6.24/pxa2xx_udc-clock.patch +++ /dev/null @@ -1,221 +0,0 @@ ---- - drivers/usb/gadget/pxa2xx_udc.c | 88 ++++++++++++++++++++++------------------ - drivers/usb/gadget/pxa2xx_udc.h | 4 + - 2 files changed, 53 insertions(+), 39 deletions(-) - ---- g26.orig/drivers/usb/gadget/pxa2xx_udc.c 2008-02-19 12:47:06.000000000 -0800 -+++ g26/drivers/usb/gadget/pxa2xx_udc.c 2008-02-19 14:07:17.000000000 -0800 -@@ -103,6 +103,12 @@ static const char ep0name [] = "ep0"; - #error "Can't configure both IXP and PXA" - #endif - -+/* IXP doesn't yet support <linux/clk.h> */ -+#define clk_get(dev,name) NULL -+#define clk_enable(clk) do { } while (0) -+#define clk_disable(clk) do { } while (0) -+#define clk_put(clk) do { } while (0) -+ - #endif - - #include "pxa2xx_udc.h" -@@ -934,20 +940,31 @@ static void udc_disable(struct pxa2xx_ud - /* We disable the UDC -- and its 48 MHz clock -- whenever it's not - * in active use. - */ --static int pullup(struct pxa2xx_udc *udc, int is_active) -+static int pullup(struct pxa2xx_udc *udc) - { -- is_active = is_active && udc->vbus && udc->pullup; -+ int is_active = udc->vbus && udc->pullup && !udc->suspended; - DMSG("%s\n", is_active ? "active" : "inactive"); -- if (is_active) -- udc_enable(udc); -- else { -- if (udc->gadget.speed != USB_SPEED_UNKNOWN) { -- DMSG("disconnect %s\n", udc->driver -- ? udc->driver->driver.name -- : "(no driver)"); -- stop_activity(udc, udc->driver); -+ if (is_active) { -+ if (!udc->active) { -+ udc->active = 1; -+ /* Enable clock for USB device */ -+ clk_enable(udc->clk); -+ udc_enable(udc); - } -- udc_disable(udc); -+ } else { -+ if (udc->active) { -+ if (udc->gadget.speed != USB_SPEED_UNKNOWN) { -+ DMSG("disconnect %s\n", udc->driver -+ ? udc->driver->driver.name -+ : "(no driver)"); -+ stop_activity(udc, udc->driver); -+ } -+ udc_disable(udc); -+ /* Disable clock for USB device */ -+ clk_disable(udc->clk); -+ udc->active = 0; -+ } -+ - } - return 0; - } -@@ -958,9 +975,9 @@ static int pxa2xx_udc_vbus_session(struc - struct pxa2xx_udc *udc; - - udc = container_of(_gadget, struct pxa2xx_udc, gadget); -- udc->vbus = is_active = (is_active != 0); -+ udc->vbus = (is_active != 0); - DMSG("vbus %s\n", is_active ? "supplied" : "inactive"); -- pullup(udc, is_active); -+ pullup(udc); - return 0; - } - -@@ -975,9 +992,8 @@ static int pxa2xx_udc_pullup(struct usb_ - if (!udc->mach->gpio_pullup && !udc->mach->udc_command) - return -EOPNOTSUPP; - -- is_active = (is_active != 0); -- udc->pullup = is_active; -- pullup(udc, is_active); -+ udc->pullup = (is_active != 0); -+ pullup(udc); - return 0; - } - -@@ -1146,11 +1162,6 @@ static void udc_disable(struct pxa2xx_ud - - udc_clear_mask_UDCCR(UDCCR_UDE); - --#ifdef CONFIG_ARCH_PXA -- /* Disable clock for USB device */ -- clk_disable(dev->clk); --#endif -- - ep0_idle (dev); - dev->gadget.speed = USB_SPEED_UNKNOWN; - } -@@ -1191,11 +1202,6 @@ static void udc_enable (struct pxa2xx_ud - { - udc_clear_mask_UDCCR(UDCCR_UDE); - --#ifdef CONFIG_ARCH_PXA -- /* Enable clock for USB device */ -- clk_enable(dev->clk); --#endif -- - /* try to clear these bits before we enable the udc */ - udc_ack_int_UDCCR(UDCCR_SUSIR|/*UDCCR_RSTIR|*/UDCCR_RESIR); - -@@ -1286,7 +1292,7 @@ fail: - * for set_configuration as well as eventual disconnect. - */ - DMSG("registered gadget driver '%s'\n", driver->driver.name); -- pullup(dev, 1); -+ pullup(dev); - dump_state(dev); - return 0; - } -@@ -1329,7 +1335,8 @@ int usb_gadget_unregister_driver(struct - return -EINVAL; - - local_irq_disable(); -- pullup(dev, 0); -+ dev->pullup = 0; -+ pullup(dev); - stop_activity(dev, driver); - local_irq_enable(); - -@@ -2131,13 +2138,11 @@ static int __init pxa2xx_udc_probe(struc - if (irq < 0) - return -ENODEV; - --#ifdef CONFIG_ARCH_PXA - dev->clk = clk_get(&pdev->dev, "UDCCLK"); - if (IS_ERR(dev->clk)) { - retval = PTR_ERR(dev->clk); - goto err_clk; - } --#endif - - pr_debug("%s: IRQ %d%s%s\n", driver_name, irq, - dev->has_cfr ? "" : " (!cfr)", -@@ -2250,10 +2255,8 @@ lubbock_fail0: - if (dev->mach->gpio_vbus) - gpio_free(dev->mach->gpio_vbus); - err_gpio_vbus: --#ifdef CONFIG_ARCH_PXA - clk_put(dev->clk); - err_clk: --#endif - return retval; - } - -@@ -2269,7 +2272,9 @@ static int __exit pxa2xx_udc_remove(stru - if (dev->driver) - return -EBUSY; - -- udc_disable(dev); -+ dev->pullup = 0; -+ pullup(dev); -+ - remove_proc_files(); - - if (dev->got_irq) { -@@ -2289,9 +2294,7 @@ static int __exit pxa2xx_udc_remove(stru - if (dev->mach->gpio_pullup) - gpio_free(dev->mach->gpio_pullup); - --#ifdef CONFIG_ARCH_PXA - clk_put(dev->clk); --#endif - - platform_set_drvdata(pdev, NULL); - the_controller = NULL; -@@ -2317,10 +2320,15 @@ static int __exit pxa2xx_udc_remove(stru - static int pxa2xx_udc_suspend(struct platform_device *dev, pm_message_t state) - { - struct pxa2xx_udc *udc = platform_get_drvdata(dev); -+ unsigned long flags; - - if (!udc->mach->gpio_pullup && !udc->mach->udc_command) - WARN("USB host won't detect disconnect!\n"); -- pullup(udc, 0); -+ udc->suspended = 1; -+ -+ local_irq_save(flags); -+ pullup(udc); -+ local_irq_restore(flags); - - return 0; - } -@@ -2328,8 +2336,12 @@ static int pxa2xx_udc_suspend(struct pla - static int pxa2xx_udc_resume(struct platform_device *dev) - { - struct pxa2xx_udc *udc = platform_get_drvdata(dev); -+ unsigned long flags; - -- pullup(udc, 1); -+ udc->suspended = 0; -+ local_irq_save(flags); -+ pullup(udc); -+ local_irq_restore(flags); - - return 0; - } ---- g26.orig/drivers/usb/gadget/pxa2xx_udc.h 2008-02-19 12:47:06.000000000 -0800 -+++ g26/drivers/usb/gadget/pxa2xx_udc.h 2008-02-19 12:57:42.000000000 -0800 -@@ -119,7 +119,9 @@ struct pxa2xx_udc { - has_cfr : 1, - req_pending : 1, - req_std : 1, -- req_config : 1; -+ req_config : 1, -+ suspended : 1, -+ active : 1; - - #define start_watchdog(dev) mod_timer(&dev->timer, jiffies + (HZ/200)) - struct timer_list timer; -- |