aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAlexander Shishkin <alexander.shishkin@linux.intel.com>2011-12-21 03:19:39 -0500
committerFelipe Balbi <balbi@ti.com>2012-01-24 08:41:54 -0500
commit28bd6222544d7559edf9ff487172e45ce46e2578 (patch)
tree24332d5c30d1c98b43b6ebc81b901d272717692b /drivers
parentc1084a56da255ef5385c0f587e16fdc225a5460f (diff)
usb: gadget: langwell: drop langwell_otg support
Since there is no working (or even compilable) OTG_TRANSCEIVER support for this driver, remove the dead code which depends on it at compile time. Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: stable@vger.kernel.org # v2.6.31+ Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com> Cc: Greg Kroah-Hartman <gregkh@suse.de> Cc: linux-usb@vger.kernel.org Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/gadget/langwell_udc.c89
-rw-r--r--drivers/usb/gadget/langwell_udc.h1
2 files changed, 2 insertions, 88 deletions
diff --git a/drivers/usb/gadget/langwell_udc.c b/drivers/usb/gadget/langwell_udc.c
index fa0fcc11263..34e3bf87734 100644
--- a/drivers/usb/gadget/langwell_udc.c
+++ b/drivers/usb/gadget/langwell_udc.c
@@ -11,11 +11,6 @@
11/* #undef DEBUG */ 11/* #undef DEBUG */
12/* #undef VERBOSE_DEBUG */ 12/* #undef VERBOSE_DEBUG */
13 13
14#if defined(CONFIG_USB_LANGWELL_OTG)
15#define OTG_TRANSCEIVER
16#endif
17
18
19#include <linux/module.h> 14#include <linux/module.h>
20#include <linux/pci.h> 15#include <linux/pci.h>
21#include <linux/dma-mapping.h> 16#include <linux/dma-mapping.h>
@@ -2315,13 +2310,9 @@ static void handle_setup_packet(struct langwell_udc *dev,
2315 2310
2316 if (!gadget_is_otg(&dev->gadget)) 2311 if (!gadget_is_otg(&dev->gadget))
2317 break; 2312 break;
2318 else if (setup->bRequest == USB_DEVICE_B_HNP_ENABLE) { 2313 else if (setup->bRequest == USB_DEVICE_B_HNP_ENABLE)
2319 dev->gadget.b_hnp_enable = 1; 2314 dev->gadget.b_hnp_enable = 1;
2320#ifdef OTG_TRANSCEIVER 2315 else if (setup->bRequest == USB_DEVICE_A_HNP_SUPPORT)
2321 if (!dev->lotg->otg.default_a)
2322 dev->lotg->hsm.b_hnp_enable = 1;
2323#endif
2324 } else if (setup->bRequest == USB_DEVICE_A_HNP_SUPPORT)
2325 dev->gadget.a_hnp_support = 1; 2316 dev->gadget.a_hnp_support = 1;
2326 else if (setup->bRequest == 2317 else if (setup->bRequest ==
2327 USB_DEVICE_A_ALT_HNP_SUPPORT) 2318 USB_DEVICE_A_ALT_HNP_SUPPORT)
@@ -2752,12 +2743,6 @@ static void handle_usb_reset(struct langwell_udc *dev)
2752 dev->usb_state = USB_STATE_ATTACHED; 2743 dev->usb_state = USB_STATE_ATTACHED;
2753 } 2744 }
2754 2745
2755#ifdef OTG_TRANSCEIVER
2756 /* refer to USB OTG 6.6.2.3 b_hnp_en is cleared */
2757 if (!dev->lotg->otg.default_a)
2758 dev->lotg->hsm.b_hnp_enable = 0;
2759#endif
2760
2761 dev_vdbg(&dev->pdev->dev, "<--- %s()\n", __func__); 2746 dev_vdbg(&dev->pdev->dev, "<--- %s()\n", __func__);
2762} 2747}
2763 2748
@@ -2770,29 +2755,6 @@ static void handle_bus_suspend(struct langwell_udc *dev)
2770 dev->resume_state = dev->usb_state; 2755 dev->resume_state = dev->usb_state;
2771 dev->usb_state = USB_STATE_SUSPENDED; 2756 dev->usb_state = USB_STATE_SUSPENDED;
2772 2757
2773#ifdef OTG_TRANSCEIVER
2774 if (dev->lotg->otg.default_a) {
2775 if (dev->lotg->hsm.b_bus_suspend_vld == 1) {
2776 dev->lotg->hsm.b_bus_suspend = 1;
2777 /* notify transceiver the state changes */
2778 if (spin_trylock(&dev->lotg->wq_lock)) {
2779 langwell_update_transceiver();
2780 spin_unlock(&dev->lotg->wq_lock);
2781 }
2782 }
2783 dev->lotg->hsm.b_bus_suspend_vld++;
2784 } else {
2785 if (!dev->lotg->hsm.a_bus_suspend) {
2786 dev->lotg->hsm.a_bus_suspend = 1;
2787 /* notify transceiver the state changes */
2788 if (spin_trylock(&dev->lotg->wq_lock)) {
2789 langwell_update_transceiver();
2790 spin_unlock(&dev->lotg->wq_lock);
2791 }
2792 }
2793 }
2794#endif
2795
2796 /* report suspend to the driver */ 2758 /* report suspend to the driver */
2797 if (dev->driver) { 2759 if (dev->driver) {
2798 if (dev->driver->suspend) { 2760 if (dev->driver->suspend) {
@@ -2823,11 +2785,6 @@ static void handle_bus_resume(struct langwell_udc *dev)
2823 if (dev->pdev->device != 0x0829) 2785 if (dev->pdev->device != 0x0829)
2824 langwell_phy_low_power(dev, 0); 2786 langwell_phy_low_power(dev, 0);
2825 2787
2826#ifdef OTG_TRANSCEIVER
2827 if (dev->lotg->otg.default_a == 0)
2828 dev->lotg->hsm.a_bus_suspend = 0;
2829#endif
2830
2831 /* report resume to the driver */ 2788 /* report resume to the driver */
2832 if (dev->driver) { 2789 if (dev->driver) {
2833 if (dev->driver->resume) { 2790 if (dev->driver->resume) {
@@ -3020,7 +2977,6 @@ static void langwell_udc_remove(struct pci_dev *pdev)
3020 2977
3021 dev->done = &done; 2978 dev->done = &done;
3022 2979
3023#ifndef OTG_TRANSCEIVER
3024 /* free dTD dma_pool and dQH */ 2980 /* free dTD dma_pool and dQH */
3025 if (dev->dtd_pool) 2981 if (dev->dtd_pool)
3026 dma_pool_destroy(dev->dtd_pool); 2982 dma_pool_destroy(dev->dtd_pool);
@@ -3032,7 +2988,6 @@ static void langwell_udc_remove(struct pci_dev *pdev)
3032 /* release SRAM caching */ 2988 /* release SRAM caching */
3033 if (dev->has_sram && dev->got_sram) 2989 if (dev->has_sram && dev->got_sram)
3034 sram_deinit(dev); 2990 sram_deinit(dev);
3035#endif
3036 2991
3037 if (dev->status_req) { 2992 if (dev->status_req) {
3038 kfree(dev->status_req->req.buf); 2993 kfree(dev->status_req->req.buf);
@@ -3045,7 +3000,6 @@ static void langwell_udc_remove(struct pci_dev *pdev)
3045 if (dev->got_irq) 3000 if (dev->got_irq)
3046 free_irq(pdev->irq, dev); 3001 free_irq(pdev->irq, dev);
3047 3002
3048#ifndef OTG_TRANSCEIVER
3049 if (dev->cap_regs) 3003 if (dev->cap_regs)
3050 iounmap(dev->cap_regs); 3004 iounmap(dev->cap_regs);
3051 3005
@@ -3055,13 +3009,6 @@ static void langwell_udc_remove(struct pci_dev *pdev)
3055 3009
3056 if (dev->enabled) 3010 if (dev->enabled)
3057 pci_disable_device(pdev); 3011 pci_disable_device(pdev);
3058#else
3059 if (dev->transceiver) {
3060 otg_put_transceiver(dev->transceiver);
3061 dev->transceiver = NULL;
3062 dev->lotg = NULL;
3063 }
3064#endif
3065 3012
3066 dev->cap_regs = NULL; 3013 dev->cap_regs = NULL;
3067 3014
@@ -3072,9 +3019,7 @@ static void langwell_udc_remove(struct pci_dev *pdev)
3072 device_remove_file(&pdev->dev, &dev_attr_langwell_udc); 3019 device_remove_file(&pdev->dev, &dev_attr_langwell_udc);
3073 device_remove_file(&pdev->dev, &dev_attr_remote_wakeup); 3020 device_remove_file(&pdev->dev, &dev_attr_remote_wakeup);
3074 3021
3075#ifndef OTG_TRANSCEIVER
3076 pci_set_drvdata(pdev, NULL); 3022 pci_set_drvdata(pdev, NULL);
3077#endif
3078 3023
3079 /* free dev, wait for the release() finished */ 3024 /* free dev, wait for the release() finished */
3080 wait_for_completion(&done); 3025 wait_for_completion(&done);
@@ -3089,9 +3034,7 @@ static int langwell_udc_probe(struct pci_dev *pdev,
3089 const struct pci_device_id *id) 3034 const struct pci_device_id *id)
3090{ 3035{
3091 struct langwell_udc *dev; 3036 struct langwell_udc *dev;
3092#ifndef OTG_TRANSCEIVER
3093 unsigned long resource, len; 3037 unsigned long resource, len;
3094#endif
3095 void __iomem *base = NULL; 3038 void __iomem *base = NULL;
3096 size_t size; 3039 size_t size;
3097 int retval; 3040 int retval;
@@ -3109,16 +3052,6 @@ static int langwell_udc_probe(struct pci_dev *pdev,
3109 dev->pdev = pdev; 3052 dev->pdev = pdev;
3110 dev_dbg(&dev->pdev->dev, "---> %s()\n", __func__); 3053 dev_dbg(&dev->pdev->dev, "---> %s()\n", __func__);
3111 3054
3112#ifdef OTG_TRANSCEIVER
3113 /* PCI device is already enabled by otg_transceiver driver */
3114 dev->enabled = 1;
3115
3116 /* mem region and register base */
3117 dev->region = 1;
3118 dev->transceiver = otg_get_transceiver();
3119 dev->lotg = otg_to_langwell(dev->transceiver);
3120 base = dev->lotg->regs;
3121#else
3122 pci_set_drvdata(pdev, dev); 3055 pci_set_drvdata(pdev, dev);
3123 3056
3124 /* now all the pci goodies ... */ 3057 /* now all the pci goodies ... */
@@ -3139,7 +3072,6 @@ static int langwell_udc_probe(struct pci_dev *pdev,
3139 dev->region = 1; 3072 dev->region = 1;
3140 3073
3141 base = ioremap_nocache(resource, len); 3074 base = ioremap_nocache(resource, len);
3142#endif
3143 if (base == NULL) { 3075 if (base == NULL) {
3144 dev_err(&dev->pdev->dev, "can't map memory\n"); 3076 dev_err(&dev->pdev->dev, "can't map memory\n");
3145 retval = -EFAULT; 3077 retval = -EFAULT;
@@ -3163,7 +3095,6 @@ static int langwell_udc_probe(struct pci_dev *pdev,
3163 dev->got_sram = 0; 3095 dev->got_sram = 0;
3164 dev_vdbg(&dev->pdev->dev, "dev->has_sram: %d\n", dev->has_sram); 3096 dev_vdbg(&dev->pdev->dev, "dev->has_sram: %d\n", dev->has_sram);
3165 3097
3166#ifndef OTG_TRANSCEIVER
3167 /* enable SRAM caching if detected */ 3098 /* enable SRAM caching if detected */
3168 if (dev->has_sram && !dev->got_sram) 3099 if (dev->has_sram && !dev->got_sram)
3169 sram_init(dev); 3100 sram_init(dev);
@@ -3182,7 +3113,6 @@ static int langwell_udc_probe(struct pci_dev *pdev,
3182 goto error; 3113 goto error;
3183 } 3114 }
3184 dev->got_irq = 1; 3115 dev->got_irq = 1;
3185#endif
3186 3116
3187 /* set stopped bit */ 3117 /* set stopped bit */
3188 dev->stopped = 1; 3118 dev->stopped = 1;
@@ -3257,10 +3187,8 @@ static int langwell_udc_probe(struct pci_dev *pdev,
3257 dev->remote_wakeup = 0; 3187 dev->remote_wakeup = 0;
3258 dev->dev_status = 1 << USB_DEVICE_SELF_POWERED; 3188 dev->dev_status = 1 << USB_DEVICE_SELF_POWERED;
3259 3189
3260#ifndef OTG_TRANSCEIVER
3261 /* reset device controller */ 3190 /* reset device controller */
3262 langwell_udc_reset(dev); 3191 langwell_udc_reset(dev);
3263#endif
3264 3192
3265 /* initialize gadget structure */ 3193 /* initialize gadget structure */
3266 dev->gadget.ops = &langwell_ops; /* usb_gadget_ops */ 3194 dev->gadget.ops = &langwell_ops; /* usb_gadget_ops */
@@ -3268,9 +3196,6 @@ static int langwell_udc_probe(struct pci_dev *pdev,
3268 INIT_LIST_HEAD(&dev->gadget.ep_list); /* ep_list */ 3196 INIT_LIST_HEAD(&dev->gadget.ep_list); /* ep_list */
3269 dev->gadget.speed = USB_SPEED_UNKNOWN; /* speed */ 3197 dev->gadget.speed = USB_SPEED_UNKNOWN; /* speed */
3270 dev->gadget.max_speed = USB_SPEED_HIGH; /* support dual speed */ 3198 dev->gadget.max_speed = USB_SPEED_HIGH; /* support dual speed */
3271#ifdef OTG_TRANSCEIVER
3272 dev->gadget.is_otg = 1; /* support otg mode */
3273#endif
3274 3199
3275 /* the "gadget" abstracts/virtualizes the controller */ 3200 /* the "gadget" abstracts/virtualizes the controller */
3276 dev_set_name(&dev->gadget.dev, "gadget"); 3201 dev_set_name(&dev->gadget.dev, "gadget");
@@ -3282,10 +3207,8 @@ static int langwell_udc_probe(struct pci_dev *pdev,
3282 /* controller endpoints reinit */ 3207 /* controller endpoints reinit */
3283 eps_reinit(dev); 3208 eps_reinit(dev);
3284 3209
3285#ifndef OTG_TRANSCEIVER
3286 /* reset ep0 dQH and endptctrl */ 3210 /* reset ep0 dQH and endptctrl */
3287 ep0_reset(dev); 3211 ep0_reset(dev);
3288#endif
3289 3212
3290 /* create dTD dma_pool resource */ 3213 /* create dTD dma_pool resource */
3291 dev->dtd_pool = dma_pool_create("langwell_dtd", 3214 dev->dtd_pool = dma_pool_create("langwell_dtd",
@@ -3525,22 +3448,14 @@ static struct pci_driver langwell_pci_driver = {
3525 3448
3526static int __init init(void) 3449static int __init init(void)
3527{ 3450{
3528#ifdef OTG_TRANSCEIVER
3529 return langwell_register_peripheral(&langwell_pci_driver);
3530#else
3531 return pci_register_driver(&langwell_pci_driver); 3451 return pci_register_driver(&langwell_pci_driver);
3532#endif
3533} 3452}
3534module_init(init); 3453module_init(init);
3535 3454
3536 3455
3537static void __exit cleanup(void) 3456static void __exit cleanup(void)
3538{ 3457{
3539#ifdef OTG_TRANSCEIVER
3540 return langwell_unregister_peripheral(&langwell_pci_driver);
3541#else
3542 pci_unregister_driver(&langwell_pci_driver); 3458 pci_unregister_driver(&langwell_pci_driver);
3543#endif
3544} 3459}
3545module_exit(cleanup); 3460module_exit(cleanup);
3546 3461
diff --git a/drivers/usb/gadget/langwell_udc.h b/drivers/usb/gadget/langwell_udc.h
index ef79e242b7b..d6e78accaff 100644
--- a/drivers/usb/gadget/langwell_udc.h
+++ b/drivers/usb/gadget/langwell_udc.h
@@ -8,7 +8,6 @@
8 */ 8 */
9 9
10#include <linux/usb/langwell_udc.h> 10#include <linux/usb/langwell_udc.h>
11#include <linux/usb/langwell_otg.h>
12 11
13/*-------------------------------------------------------------------------*/ 12/*-------------------------------------------------------------------------*/
14 13