From 673abd92f999829bdd67d0273c43570a62123a63 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Fri, 18 Feb 2011 15:32:57 +0000 Subject: conf/machine: Drop older machines with no recent updates These are all moving to meta-extras. Ideally in the future machines such as these will be maintained to topic specific layers as we move to a more layer oriented model. If this causes a problem for anyone please discuss it on the mailing list. Signed-off-by: Richard Purdie --- .../linux/linux-rp-2.6.24/pxa2xx_udc-clock.patch | 221 --------------------- 1 file changed, 221 deletions(-) delete mode 100644 meta/recipes-kernel/linux/linux-rp-2.6.24/pxa2xx_udc-clock.patch (limited to 'meta/recipes-kernel/linux/linux-rp-2.6.24/pxa2xx_udc-clock.patch') diff --git a/meta/recipes-kernel/linux/linux-rp-2.6.24/pxa2xx_udc-clock.patch b/meta/recipes-kernel/linux/linux-rp-2.6.24/pxa2xx_udc-clock.patch deleted file mode 100644 index 14c496a31..000000000 --- a/meta/recipes-kernel/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 */ -+#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; -- -- cgit v1.2.3