source: trunk/target/linux/omap24xx/patches-2.6.38/590-cbus-tahvo-usb-ptr-fix.patch @ 25979

Last change on this file since 25979 was 25979, checked in by mb, 5 years ago

omap24xx: Split up tahvo usb fixes

File size: 2.2 KB
  • drivers/cbus/tahvo-usb.c

    old new struct tahvo_usb { 
    9999        int tahvo_mode; 
    100100#endif 
    101101}; 
    102 static struct platform_device tahvo_usb_device; 
     102static struct tahvo_usb *tahvo_usb_device; 
    103103 
    104104/* 
    105105 * --------------------------------------------------------------------------- 
    static struct platform_device *tahvo_otg 
    114114 
    115115static irqreturn_t omap_otg_irq(int irq, void *arg) 
    116116{ 
    117         struct platform_device *otg_dev = arg; 
    118         struct tahvo_usb *tu = platform_get_drvdata(otg_dev); 
     117        struct tahvo_usb *tu = arg; 
    119118        u16 otg_irq; 
    120119 
    121120        otg_irq = omap_readw(OTG_IRQ_SRC); 
    static int __init omap_otg_probe(struct 
    201200 
    202201        return request_irq(tahvo_otg_dev->resource[1].start, 
    203202                           omap_otg_irq, IRQF_DISABLED, DRIVER_NAME, 
    204                            &tahvo_usb_device); 
     203                           tahvo_usb_device); 
    205204} 
    206205 
    207206static int __exit omap_otg_remove(struct platform_device *pdev) 
    208207{ 
    209         free_irq(tahvo_otg_dev->resource[1].start, &tahvo_usb_device); 
     208        free_irq(tahvo_otg_dev->resource[1].start, tahvo_usb_device); 
    210209        tahvo_otg_dev = NULL; 
    211210 
    212211        return 0; 
    static int __init tahvo_usb_probe(struct 
    659658        tu = kzalloc(sizeof(*tu), GFP_KERNEL); 
    660659        if (!tu) 
    661660                return -ENOMEM; 
     661        tahvo_usb_device = tu; 
    662662 
    663663        tu->pt_dev = container_of(dev, struct platform_device, dev); 
    664664#ifdef CONFIG_USB_OTG 
    static int __init tahvo_usb_probe(struct 
    682682                                (unsigned long) tu, "vbus_interrupt"); 
    683683        if (ret != 0) { 
    684684                kfree(tu); 
     685                tahvo_usb_device = NULL; 
    685686                printk(KERN_ERR "Could not register Tahvo interrupt for VBUS\n"); 
    686687                return ret; 
    687688        } 
    static int __init tahvo_usb_probe(struct 
    708709        ret = otg_set_transceiver(&tu->otg); 
    709710        if (ret < 0) { 
    710711                printk(KERN_ERR "Cannot register USB transceiver\n"); 
     712                tahvo_usb_device = NULL; 
    711713                kfree(tu); 
    712714                tahvo_free_irq(TAHVO_INT_VBUSON); 
    713715                return ret; 
    static int __exit tahvo_usb_remove(struc 
    732734#ifdef CONFIG_USB_OTG 
    733735        device_remove_file(&pdev->dev, &dev_attr_otg_mode); 
    734736#endif 
     737        tahvo_usb_device = NULL; 
     738 
    735739        return 0; 
    736740} 
    737741 
Note: See TracBrowser for help on using the repository browser.