Ticket #6425: 270-ehci-ssb.patch.diff

File 270-ehci-ssb.patch.diff, 4.0 KB (added by andi@…, 7 years ago)

Un-isolate ehci-ssb.c function exports required by ohci-ssb.c, re-sync to add missing mainline changes

  • target/linux/brcm47xx/patches-2.6.31/270-ehci-ssb.patch

     
    55 drivers/usb/host/ohci-ssb.c |   23 +++++ 
    66 4 files changed, 247 insertions(+), 2 deletions(-) 
    77 
    8 --- a/drivers/usb/host/Kconfig 
    9 +++ b/drivers/usb/host/Kconfig 
    10 @@ -126,6 +126,19 @@ config USB_OXU210HP_HCD 
     8Index: linux-2.6.31.9/drivers/usb/host/Kconfig 
     9=================================================================== 
     10--- linux-2.6.31.9.orig/drivers/usb/host/Kconfig        2009-12-26 16:43:55.000000000 +0100 
     11+++ linux-2.6.31.9/drivers/usb/host/Kconfig     2009-12-26 17:03:34.000000000 +0100 
     12@@ -126,6 +126,19 @@ 
    1113          To compile this driver as a module, choose M here: the 
    1214          module will be called oxu210hp-hcd. 
    1315  
     
    2729 config USB_ISP116X_HCD 
    2830        tristate "ISP116X HCD support" 
    2931        depends on USB 
    30 --- a/drivers/usb/host/ehci-hcd.c 
    31 +++ b/drivers/usb/host/ehci-hcd.c 
    32 @@ -1117,8 +1117,16 @@ MODULE_LICENSE ("GPL"); 
     32Index: linux-2.6.31.9/drivers/usb/host/ehci-hcd.c 
     33=================================================================== 
     34--- linux-2.6.31.9.orig/drivers/usb/host/ehci-hcd.c     2009-12-26 16:43:55.000000000 +0100 
     35+++ linux-2.6.31.9/drivers/usb/host/ehci-hcd.c  2009-12-26 17:03:34.000000000 +0100 
     36@@ -1119,8 +1119,16 @@ 
    3337 #define        PLATFORM_DRIVER         ixp4xx_ehci_driver 
    3438 #endif 
    3539  
     
    4852 #error "missing bus glue for ehci-hcd" 
    4953 #endif 
    5054  
    51 --- /dev/null 
    52 +++ b/drivers/usb/host/ehci-ssb.c 
    53 @@ -0,0 +1,201 @@ 
     55Index: linux-2.6.31.9/drivers/usb/host/ehci-ssb.c 
     56=================================================================== 
     57--- /dev/null   1970-01-01 00:00:00.000000000 +0000 
     58+++ linux-2.6.31.9/drivers/usb/host/ehci-ssb.c  2009-12-26 17:09:21.000000000 +0100 
     59@@ -0,0 +1,205 @@ 
    5460+/* 
    5561+ * Sonics Silicon Backplane 
    5662+ * Broadcom USB-core EHCI driver (SSB bus glue) 
     
    185191+       .urb_enqueue            = ehci_urb_enqueue, 
    186192+       .urb_dequeue            = ehci_urb_dequeue, 
    187193+       .endpoint_disable       = ehci_endpoint_disable, 
     194+       .endpoint_reset         = ehci_endpoint_reset, 
    188195+ 
    189196+       .get_frame_number       = ehci_get_frame, 
    190197+ 
     
    194201+       .bus_suspend            = ehci_bus_suspend, 
    195202+       .bus_resume             = ehci_bus_resume, 
    196203+#endif 
     204+       .relinquish_port        = ehci_relinquish_port, 
     205+       .port_handed_over       = ehci_port_handed_over, 
    197206+ 
     207+       .clear_tt_buffer_complete = ehci_clear_tt_buffer_complete, 
    198208+}; 
    199209+ 
    200 +static void ssb_ehci_detach(struct ssb_device *dev, struct usb_hcd *hcd) 
     210+void ssb_ehci_detach(struct ssb_device *dev, struct usb_hcd *hcd) 
    201211+{ 
    202212+ 
    203213+       usb_remove_hcd(hcd); 
     
    206216+} 
    207217+EXPORT_SYMBOL_GPL(ssb_ehci_detach); 
    208218+ 
    209 +static int ssb_ehci_attach(struct ssb_device *dev, struct usb_hcd **ehci_hcd) 
     219+int ssb_ehci_attach(struct ssb_device *dev, struct usb_hcd **ehci_hcd) 
    210220+{ 
    211221+       struct ssb_ehci_device *ehcidev; 
    212222+       struct usb_hcd *hcd; 
     
    252262+       SSB_DEVTABLE_END 
    253263+}; 
    254264+MODULE_DEVICE_TABLE(ssb, ssb_ehci_table); 
    255 --- a/drivers/usb/host/ohci-ssb.c 
    256 +++ b/drivers/usb/host/ohci-ssb.c 
     265Index: linux-2.6.31.9/drivers/usb/host/ohci-ssb.c 
     266=================================================================== 
     267--- linux-2.6.31.9.orig/drivers/usb/host/ohci-ssb.c     2009-12-26 16:43:55.000000000 +0100 
     268+++ linux-2.6.31.9/drivers/usb/host/ohci-ssb.c  2009-12-26 17:03:34.000000000 +0100 
    257269@@ -17,6 +17,8 @@ 
    258270  */ 
    259271 #include <linux/ssb/ssb.h> 
     
    263275  
    264276 #define SSB_OHCI_TMSLOW_HOSTMODE       (1 << 29) 
    265277  
    266 @@ -24,6 +26,7 @@ struct ssb_ohci_device { 
     278@@ -24,6 +26,7 @@ 
    267279        struct ohci_hcd ohci; /* _must_ be at the beginning. */ 
    268280  
    269281        u32 enable_flags; 
     
    271283 }; 
    272284  
    273285 static inline 
    274 @@ -92,13 +95,25 @@ static const struct hc_driver ssb_ohci_h 
     286@@ -92,13 +95,25 @@ 
    275287 static void ssb_ohci_detach(struct ssb_device *dev) 
    276288 { 
    277289        struct usb_hcd *hcd = ssb_get_drvdata(dev); 
     
    297309 static int ssb_ohci_attach(struct ssb_device *dev) 
    298310 { 
    299311        struct ssb_ohci_device *ohcidev; 
    300 @@ -165,6 +180,14 @@ static int ssb_ohci_attach(struct ssb_de 
     312@@ -165,6 +180,14 @@ 
    301313  
    302314        ssb_set_drvdata(dev, hcd); 
    303315