[adm5120] integrate 2.6.28 specific patch into the usb driver
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 22 May 2009 06:46:42 +0000 (06:46 +0000)
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 22 May 2009 06:46:42 +0000 (06:46 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15975 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/adm5120/files/drivers/usb/host/adm5120-drv.c
target/linux/adm5120/files/drivers/usb/host/adm5120-hcd.c
target/linux/adm5120/files/drivers/usb/host/adm5120-hub.c
target/linux/adm5120/files/drivers/usb/host/adm5120-pm.c
target/linux/adm5120/patches-2.6.28/800-usb_automatically_enable_rhsc_interrupt.patch [deleted file]

index bf250c0..92971f2 100644 (file)
@@ -174,7 +174,6 @@ static const struct hc_driver adm5120_hc_driver = {
         */
        .hub_status_data =      admhc_hub_status_data,
        .hub_control =          admhc_hub_control,
-       .hub_irq_enable =       admhc_hub_irq_enable,
 #ifdef CONFIG_PM
        .bus_suspend =          admhc_bus_suspend,
        .bus_resume =           admhc_bus_resume,
index c947a6c..30310aa 100644 (file)
@@ -46,7 +46,7 @@
 #include "../core/hcd.h"
 #include "../core/hub.h"
 
-#define DRIVER_VERSION "0.25.0"
+#define DRIVER_VERSION "0.27.0"
 #define DRIVER_AUTHOR  "Gabor Juhos <juhosg@openwrt.org>"
 #define DRIVER_DESC    "ADMtek USB 1.1 Host Controller Driver"
 
index 6ba6205..ce454cb 100644 (file)
 
 /*-------------------------------------------------------------------------*/
 
-/* hcd->hub_irq_enable() */
-static void admhc_hub_irq_enable(struct usb_hcd *hcd)
-{
-       struct admhcd   *ahcd = hcd_to_admhcd(hcd);
-
-       spin_lock_irq(&ahcd->lock);
-       if (!ahcd->autostop)
-               del_timer(&hcd->rh_timer);      /* Prevent next poll */
-       admhc_intr_enable(ahcd, ADMHC_INTR_INSM);
-       spin_unlock_irq(&ahcd->lock);
-}
-
-/*-------------------------------------------------------------------------*/
-
 /* build "status change" packet (one or two bytes) from HC registers */
 
 static int
index 9d49664..0ccf829 100644 (file)
@@ -432,13 +432,17 @@ static inline int admhc_rh_resume(struct admhcd *ahcd)
 static int admhc_root_hub_state_changes(struct admhcd *ahcd, int changed,
                int any_connected)
 {
-       int     poll_rh = 1;
-
-       /* keep on polling until RHSC is enabled */
+       /* If INSM is enabled, don't poll */
        if (admhc_readl(ahcd, &ahcd->regs->int_enable) & ADMHC_INTR_INSM)
-               poll_rh = 0;
+               return 0;
 
-       return poll_rh;
+       /* If no status changes are pending, enable status-change interrupts */
+       if (!changed) {
+               admhc_intr_enable(ahcd, ADMHC_INTR_INSM);
+               return 0;
+       }
+
+       return 1;
 }
 
 #endif /* CONFIG_PM */
diff --git a/target/linux/adm5120/patches-2.6.28/800-usb_automatically_enable_rhsc_interrupt.patch b/target/linux/adm5120/patches-2.6.28/800-usb_automatically_enable_rhsc_interrupt.patch
deleted file mode 100644 (file)
index dc0f843..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
---- a/drivers/usb/host/adm5120-drv.c
-+++ b/drivers/usb/host/adm5120-drv.c
-@@ -174,7 +174,6 @@ static const struct hc_driver adm5120_hc
-        */
-       .hub_status_data =      admhc_hub_status_data,
-       .hub_control =          admhc_hub_control,
--      .hub_irq_enable =       admhc_hub_irq_enable,
- #ifdef CONFIG_PM
-       .bus_suspend =          admhc_bus_suspend,
-       .bus_resume =           admhc_bus_resume,
---- a/drivers/usb/host/adm5120-hub.c
-+++ b/drivers/usb/host/adm5120-hub.c
-@@ -63,20 +63,6 @@
- /*-------------------------------------------------------------------------*/
--/* hcd->hub_irq_enable() */
--static void admhc_hub_irq_enable(struct usb_hcd *hcd)
--{
--      struct admhcd   *ahcd = hcd_to_admhcd(hcd);
--
--      spin_lock_irq(&ahcd->lock);
--      if (!ahcd->autostop)
--              del_timer(&hcd->rh_timer);      /* Prevent next poll */
--      admhc_intr_enable(ahcd, ADMHC_INTR_INSM);
--      spin_unlock_irq(&ahcd->lock);
--}
--
--/*-------------------------------------------------------------------------*/
--
- /* build "status change" packet (one or two bytes) from HC registers */
- static int
---- a/drivers/usb/host/adm5120-pm.c
-+++ b/drivers/usb/host/adm5120-pm.c
-@@ -432,13 +432,17 @@ static inline int admhc_rh_resume(struct
- static int admhc_root_hub_state_changes(struct admhcd *ahcd, int changed,
-               int any_connected)
- {
--      int     poll_rh = 1;
--
--      /* keep on polling until RHSC is enabled */
-+      /* If INSM is enabled, don't poll */
-       if (admhc_readl(ahcd, &ahcd->regs->int_enable) & ADMHC_INTR_INSM)
--              poll_rh = 0;
-+              return 0;
-+
-+      /* If no status changes are pending, enable status-change interrupts */
-+      if (!changed) {
-+              admhc_intr_enable(ahcd, ADMHC_INTR_INSM);
-+              return 0;
-+      }
--      return poll_rh;
-+      return 1;
- }
- #endif        /* CONFIG_PM */
---- a/drivers/usb/host/adm5120-hcd.c
-+++ b/drivers/usb/host/adm5120-hcd.c
-@@ -46,7 +46,7 @@
- #include "../core/hcd.h"
- #include "../core/hub.h"
--#define DRIVER_VERSION        "0.25.0"
-+#define DRIVER_VERSION        "0.27.0"
- #define DRIVER_AUTHOR "Gabor Juhos <juhosg@openwrt.org>"
- #define DRIVER_DESC   "ADMtek USB 1.1 Host Controller Driver"
This page took 0.035163 seconds and 4 git commands to generate.