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>
This commit is contained in:
parent
c1084a56da
commit
28bd622254
|
@ -11,11 +11,6 @@
|
||||||
/* #undef DEBUG */
|
/* #undef DEBUG */
|
||||||
/* #undef VERBOSE_DEBUG */
|
/* #undef VERBOSE_DEBUG */
|
||||||
|
|
||||||
#if defined(CONFIG_USB_LANGWELL_OTG)
|
|
||||||
#define OTG_TRANSCEIVER
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
#include <linux/dma-mapping.h>
|
#include <linux/dma-mapping.h>
|
||||||
|
@ -2315,13 +2310,9 @@ static void handle_setup_packet(struct langwell_udc *dev,
|
||||||
|
|
||||||
if (!gadget_is_otg(&dev->gadget))
|
if (!gadget_is_otg(&dev->gadget))
|
||||||
break;
|
break;
|
||||||
else if (setup->bRequest == USB_DEVICE_B_HNP_ENABLE) {
|
else if (setup->bRequest == USB_DEVICE_B_HNP_ENABLE)
|
||||||
dev->gadget.b_hnp_enable = 1;
|
dev->gadget.b_hnp_enable = 1;
|
||||||
#ifdef OTG_TRANSCEIVER
|
else if (setup->bRequest == USB_DEVICE_A_HNP_SUPPORT)
|
||||||
if (!dev->lotg->otg.default_a)
|
|
||||||
dev->lotg->hsm.b_hnp_enable = 1;
|
|
||||||
#endif
|
|
||||||
} else if (setup->bRequest == USB_DEVICE_A_HNP_SUPPORT)
|
|
||||||
dev->gadget.a_hnp_support = 1;
|
dev->gadget.a_hnp_support = 1;
|
||||||
else if (setup->bRequest ==
|
else if (setup->bRequest ==
|
||||||
USB_DEVICE_A_ALT_HNP_SUPPORT)
|
USB_DEVICE_A_ALT_HNP_SUPPORT)
|
||||||
|
@ -2752,12 +2743,6 @@ static void handle_usb_reset(struct langwell_udc *dev)
|
||||||
dev->usb_state = USB_STATE_ATTACHED;
|
dev->usb_state = USB_STATE_ATTACHED;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef OTG_TRANSCEIVER
|
|
||||||
/* refer to USB OTG 6.6.2.3 b_hnp_en is cleared */
|
|
||||||
if (!dev->lotg->otg.default_a)
|
|
||||||
dev->lotg->hsm.b_hnp_enable = 0;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
dev_vdbg(&dev->pdev->dev, "<--- %s()\n", __func__);
|
dev_vdbg(&dev->pdev->dev, "<--- %s()\n", __func__);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2770,29 +2755,6 @@ static void handle_bus_suspend(struct langwell_udc *dev)
|
||||||
dev->resume_state = dev->usb_state;
|
dev->resume_state = dev->usb_state;
|
||||||
dev->usb_state = USB_STATE_SUSPENDED;
|
dev->usb_state = USB_STATE_SUSPENDED;
|
||||||
|
|
||||||
#ifdef OTG_TRANSCEIVER
|
|
||||||
if (dev->lotg->otg.default_a) {
|
|
||||||
if (dev->lotg->hsm.b_bus_suspend_vld == 1) {
|
|
||||||
dev->lotg->hsm.b_bus_suspend = 1;
|
|
||||||
/* notify transceiver the state changes */
|
|
||||||
if (spin_trylock(&dev->lotg->wq_lock)) {
|
|
||||||
langwell_update_transceiver();
|
|
||||||
spin_unlock(&dev->lotg->wq_lock);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
dev->lotg->hsm.b_bus_suspend_vld++;
|
|
||||||
} else {
|
|
||||||
if (!dev->lotg->hsm.a_bus_suspend) {
|
|
||||||
dev->lotg->hsm.a_bus_suspend = 1;
|
|
||||||
/* notify transceiver the state changes */
|
|
||||||
if (spin_trylock(&dev->lotg->wq_lock)) {
|
|
||||||
langwell_update_transceiver();
|
|
||||||
spin_unlock(&dev->lotg->wq_lock);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* report suspend to the driver */
|
/* report suspend to the driver */
|
||||||
if (dev->driver) {
|
if (dev->driver) {
|
||||||
if (dev->driver->suspend) {
|
if (dev->driver->suspend) {
|
||||||
|
@ -2823,11 +2785,6 @@ static void handle_bus_resume(struct langwell_udc *dev)
|
||||||
if (dev->pdev->device != 0x0829)
|
if (dev->pdev->device != 0x0829)
|
||||||
langwell_phy_low_power(dev, 0);
|
langwell_phy_low_power(dev, 0);
|
||||||
|
|
||||||
#ifdef OTG_TRANSCEIVER
|
|
||||||
if (dev->lotg->otg.default_a == 0)
|
|
||||||
dev->lotg->hsm.a_bus_suspend = 0;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* report resume to the driver */
|
/* report resume to the driver */
|
||||||
if (dev->driver) {
|
if (dev->driver) {
|
||||||
if (dev->driver->resume) {
|
if (dev->driver->resume) {
|
||||||
|
@ -3020,7 +2977,6 @@ static void langwell_udc_remove(struct pci_dev *pdev)
|
||||||
|
|
||||||
dev->done = &done;
|
dev->done = &done;
|
||||||
|
|
||||||
#ifndef OTG_TRANSCEIVER
|
|
||||||
/* free dTD dma_pool and dQH */
|
/* free dTD dma_pool and dQH */
|
||||||
if (dev->dtd_pool)
|
if (dev->dtd_pool)
|
||||||
dma_pool_destroy(dev->dtd_pool);
|
dma_pool_destroy(dev->dtd_pool);
|
||||||
|
@ -3032,7 +2988,6 @@ static void langwell_udc_remove(struct pci_dev *pdev)
|
||||||
/* release SRAM caching */
|
/* release SRAM caching */
|
||||||
if (dev->has_sram && dev->got_sram)
|
if (dev->has_sram && dev->got_sram)
|
||||||
sram_deinit(dev);
|
sram_deinit(dev);
|
||||||
#endif
|
|
||||||
|
|
||||||
if (dev->status_req) {
|
if (dev->status_req) {
|
||||||
kfree(dev->status_req->req.buf);
|
kfree(dev->status_req->req.buf);
|
||||||
|
@ -3045,7 +3000,6 @@ static void langwell_udc_remove(struct pci_dev *pdev)
|
||||||
if (dev->got_irq)
|
if (dev->got_irq)
|
||||||
free_irq(pdev->irq, dev);
|
free_irq(pdev->irq, dev);
|
||||||
|
|
||||||
#ifndef OTG_TRANSCEIVER
|
|
||||||
if (dev->cap_regs)
|
if (dev->cap_regs)
|
||||||
iounmap(dev->cap_regs);
|
iounmap(dev->cap_regs);
|
||||||
|
|
||||||
|
@ -3055,13 +3009,6 @@ static void langwell_udc_remove(struct pci_dev *pdev)
|
||||||
|
|
||||||
if (dev->enabled)
|
if (dev->enabled)
|
||||||
pci_disable_device(pdev);
|
pci_disable_device(pdev);
|
||||||
#else
|
|
||||||
if (dev->transceiver) {
|
|
||||||
otg_put_transceiver(dev->transceiver);
|
|
||||||
dev->transceiver = NULL;
|
|
||||||
dev->lotg = NULL;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
dev->cap_regs = NULL;
|
dev->cap_regs = NULL;
|
||||||
|
|
||||||
|
@ -3072,9 +3019,7 @@ static void langwell_udc_remove(struct pci_dev *pdev)
|
||||||
device_remove_file(&pdev->dev, &dev_attr_langwell_udc);
|
device_remove_file(&pdev->dev, &dev_attr_langwell_udc);
|
||||||
device_remove_file(&pdev->dev, &dev_attr_remote_wakeup);
|
device_remove_file(&pdev->dev, &dev_attr_remote_wakeup);
|
||||||
|
|
||||||
#ifndef OTG_TRANSCEIVER
|
|
||||||
pci_set_drvdata(pdev, NULL);
|
pci_set_drvdata(pdev, NULL);
|
||||||
#endif
|
|
||||||
|
|
||||||
/* free dev, wait for the release() finished */
|
/* free dev, wait for the release() finished */
|
||||||
wait_for_completion(&done);
|
wait_for_completion(&done);
|
||||||
|
@ -3089,9 +3034,7 @@ static int langwell_udc_probe(struct pci_dev *pdev,
|
||||||
const struct pci_device_id *id)
|
const struct pci_device_id *id)
|
||||||
{
|
{
|
||||||
struct langwell_udc *dev;
|
struct langwell_udc *dev;
|
||||||
#ifndef OTG_TRANSCEIVER
|
|
||||||
unsigned long resource, len;
|
unsigned long resource, len;
|
||||||
#endif
|
|
||||||
void __iomem *base = NULL;
|
void __iomem *base = NULL;
|
||||||
size_t size;
|
size_t size;
|
||||||
int retval;
|
int retval;
|
||||||
|
@ -3109,16 +3052,6 @@ static int langwell_udc_probe(struct pci_dev *pdev,
|
||||||
dev->pdev = pdev;
|
dev->pdev = pdev;
|
||||||
dev_dbg(&dev->pdev->dev, "---> %s()\n", __func__);
|
dev_dbg(&dev->pdev->dev, "---> %s()\n", __func__);
|
||||||
|
|
||||||
#ifdef OTG_TRANSCEIVER
|
|
||||||
/* PCI device is already enabled by otg_transceiver driver */
|
|
||||||
dev->enabled = 1;
|
|
||||||
|
|
||||||
/* mem region and register base */
|
|
||||||
dev->region = 1;
|
|
||||||
dev->transceiver = otg_get_transceiver();
|
|
||||||
dev->lotg = otg_to_langwell(dev->transceiver);
|
|
||||||
base = dev->lotg->regs;
|
|
||||||
#else
|
|
||||||
pci_set_drvdata(pdev, dev);
|
pci_set_drvdata(pdev, dev);
|
||||||
|
|
||||||
/* now all the pci goodies ... */
|
/* now all the pci goodies ... */
|
||||||
|
@ -3139,7 +3072,6 @@ static int langwell_udc_probe(struct pci_dev *pdev,
|
||||||
dev->region = 1;
|
dev->region = 1;
|
||||||
|
|
||||||
base = ioremap_nocache(resource, len);
|
base = ioremap_nocache(resource, len);
|
||||||
#endif
|
|
||||||
if (base == NULL) {
|
if (base == NULL) {
|
||||||
dev_err(&dev->pdev->dev, "can't map memory\n");
|
dev_err(&dev->pdev->dev, "can't map memory\n");
|
||||||
retval = -EFAULT;
|
retval = -EFAULT;
|
||||||
|
@ -3163,7 +3095,6 @@ static int langwell_udc_probe(struct pci_dev *pdev,
|
||||||
dev->got_sram = 0;
|
dev->got_sram = 0;
|
||||||
dev_vdbg(&dev->pdev->dev, "dev->has_sram: %d\n", dev->has_sram);
|
dev_vdbg(&dev->pdev->dev, "dev->has_sram: %d\n", dev->has_sram);
|
||||||
|
|
||||||
#ifndef OTG_TRANSCEIVER
|
|
||||||
/* enable SRAM caching if detected */
|
/* enable SRAM caching if detected */
|
||||||
if (dev->has_sram && !dev->got_sram)
|
if (dev->has_sram && !dev->got_sram)
|
||||||
sram_init(dev);
|
sram_init(dev);
|
||||||
|
@ -3182,7 +3113,6 @@ static int langwell_udc_probe(struct pci_dev *pdev,
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
dev->got_irq = 1;
|
dev->got_irq = 1;
|
||||||
#endif
|
|
||||||
|
|
||||||
/* set stopped bit */
|
/* set stopped bit */
|
||||||
dev->stopped = 1;
|
dev->stopped = 1;
|
||||||
|
@ -3257,10 +3187,8 @@ static int langwell_udc_probe(struct pci_dev *pdev,
|
||||||
dev->remote_wakeup = 0;
|
dev->remote_wakeup = 0;
|
||||||
dev->dev_status = 1 << USB_DEVICE_SELF_POWERED;
|
dev->dev_status = 1 << USB_DEVICE_SELF_POWERED;
|
||||||
|
|
||||||
#ifndef OTG_TRANSCEIVER
|
|
||||||
/* reset device controller */
|
/* reset device controller */
|
||||||
langwell_udc_reset(dev);
|
langwell_udc_reset(dev);
|
||||||
#endif
|
|
||||||
|
|
||||||
/* initialize gadget structure */
|
/* initialize gadget structure */
|
||||||
dev->gadget.ops = &langwell_ops; /* usb_gadget_ops */
|
dev->gadget.ops = &langwell_ops; /* usb_gadget_ops */
|
||||||
|
@ -3268,9 +3196,6 @@ static int langwell_udc_probe(struct pci_dev *pdev,
|
||||||
INIT_LIST_HEAD(&dev->gadget.ep_list); /* ep_list */
|
INIT_LIST_HEAD(&dev->gadget.ep_list); /* ep_list */
|
||||||
dev->gadget.speed = USB_SPEED_UNKNOWN; /* speed */
|
dev->gadget.speed = USB_SPEED_UNKNOWN; /* speed */
|
||||||
dev->gadget.max_speed = USB_SPEED_HIGH; /* support dual speed */
|
dev->gadget.max_speed = USB_SPEED_HIGH; /* support dual speed */
|
||||||
#ifdef OTG_TRANSCEIVER
|
|
||||||
dev->gadget.is_otg = 1; /* support otg mode */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* the "gadget" abstracts/virtualizes the controller */
|
/* the "gadget" abstracts/virtualizes the controller */
|
||||||
dev_set_name(&dev->gadget.dev, "gadget");
|
dev_set_name(&dev->gadget.dev, "gadget");
|
||||||
|
@ -3282,10 +3207,8 @@ static int langwell_udc_probe(struct pci_dev *pdev,
|
||||||
/* controller endpoints reinit */
|
/* controller endpoints reinit */
|
||||||
eps_reinit(dev);
|
eps_reinit(dev);
|
||||||
|
|
||||||
#ifndef OTG_TRANSCEIVER
|
|
||||||
/* reset ep0 dQH and endptctrl */
|
/* reset ep0 dQH and endptctrl */
|
||||||
ep0_reset(dev);
|
ep0_reset(dev);
|
||||||
#endif
|
|
||||||
|
|
||||||
/* create dTD dma_pool resource */
|
/* create dTD dma_pool resource */
|
||||||
dev->dtd_pool = dma_pool_create("langwell_dtd",
|
dev->dtd_pool = dma_pool_create("langwell_dtd",
|
||||||
|
@ -3525,22 +3448,14 @@ static struct pci_driver langwell_pci_driver = {
|
||||||
|
|
||||||
static int __init init(void)
|
static int __init init(void)
|
||||||
{
|
{
|
||||||
#ifdef OTG_TRANSCEIVER
|
|
||||||
return langwell_register_peripheral(&langwell_pci_driver);
|
|
||||||
#else
|
|
||||||
return pci_register_driver(&langwell_pci_driver);
|
return pci_register_driver(&langwell_pci_driver);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
module_init(init);
|
module_init(init);
|
||||||
|
|
||||||
|
|
||||||
static void __exit cleanup(void)
|
static void __exit cleanup(void)
|
||||||
{
|
{
|
||||||
#ifdef OTG_TRANSCEIVER
|
|
||||||
return langwell_unregister_peripheral(&langwell_pci_driver);
|
|
||||||
#else
|
|
||||||
pci_unregister_driver(&langwell_pci_driver);
|
pci_unregister_driver(&langwell_pci_driver);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
module_exit(cleanup);
|
module_exit(cleanup);
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/usb/langwell_udc.h>
|
#include <linux/usb/langwell_udc.h>
|
||||||
#include <linux/usb/langwell_otg.h>
|
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------*/
|
/*-------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue