linux-rp: fix tosa patch name (my fault)
authorMarcin Juszkiewicz <hrw@openembedded.org>
Wed, 14 Nov 2007 18:46:13 +0000 (18:46 +0000)
committerMarcin Juszkiewicz <hrw@openembedded.org>
Wed, 14 Nov 2007 18:46:13 +0000 (18:46 +0000)
packages/linux/linux-rp-2.6.23/tmio-ohci-r9.patch [moved from packages/linux/linux-rp-2.6.23/tmio-ohci-r8.patch with 77% similarity]

@@ -3,8 +3,8 @@ Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
 Index: linux-2.6.23/drivers/usb/host/ohci-tmio.c
 ===================================================================
 --- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.23/drivers/usb/host/ohci-tmio.c  2007-11-14 16:58:47.637707413 +0300
-@@ -0,0 +1,530 @@
++++ linux-2.6.23/drivers/usb/host/ohci-tmio.c  2007-11-13 01:35:13.049455112 +0300
+@@ -0,0 +1,417 @@
 +/*
 + * OHCI HCD(Host Controller Driver) for USB.
 + *
@@ -53,14 +53,6 @@ Index: linux-2.6.23/drivers/usb/host/ohci-tmio.c
 +
 +/*-------------------------------------------------------------------------*/
 +
-+#define MAX_TMIO_USB_PORTS 2
-+static bool default_tmio_ports[MAX_TMIO_USB_PORTS];
-+module_param_array(default_tmio_ports, bool, NULL, 0644);
-+MODULE_PARM_DESC(default_tmio_ports,
-+              "disable specified TC6393 usb ports (default: all enabled)");
-+
-+/*-------------------------------------------------------------------------*/
-+
 +/*
 + * USB Host Controller Configuration Register
 + */
@@ -95,8 +87,8 @@ Index: linux-2.6.23/drivers/usb/host/ohci-tmio.c
 +struct {
 +      unsigned        gcken:1;        /* D0 */
 +      unsigned        ckrnen:1;       /* D1 */
-+      unsigned        uspw0:1;        /* D2 USB Port 1 Power Disable  */
-+      unsigned        uspw1:1;        /* D3 USB Port 2 Power Disable  */
++      unsigned        uspw1:1;        /* D2 USB Port 1 Power Disable  */
++      unsigned        uspw2:1;        /* D3 USB Port 2 Power Disable  */
 +      unsigned        x00:4;
 +      unsigned        pmee:1;         /* D8 */
 +      unsigned        x01:6;
@@ -108,7 +100,6 @@ Index: linux-2.6.23/drivers/usb/host/ohci-tmio.c
 +
 +struct tmio_hcd {
 +      struct tmio_uhccr __iomem *ccr;
-+      bool disabled_ports[MAX_TMIO_USB_PORTS];
 +};
 +
 +#define hcd_to_tmio(hcd)      ((struct tmio_hcd *)(hcd_to_ohci(hcd) + 1))
@@ -116,39 +107,6 @@ Index: linux-2.6.23/drivers/usb/host/ohci-tmio.c
 +
 +/*-------------------------------------------------------------------------*/
 +
-+struct indexed_device_attribute{
-+      struct device_attribute dev_attr;
-+      int index;
-+};
-+#define to_indexed_dev_attr(_dev_attr) \
-+      container_of(_dev_attr, struct indexed_device_attribute, dev_attr)
-+
-+#define INDEXED_ATTR(_name, _mode, _show, _store, _index)             \
-+      { .dev_attr = __ATTR(_name ## _index, _mode, _show, _store),    \
-+        .index = _index }
-+
-+#define INDEXED_DEVICE_ATTR(_name, _mode, _show, _store, _index)      \
-+struct indexed_device_attribute dev_attr_##_name ## _index    \
-+      = INDEXED_ATTR(_name, _mode, _show, _store, _index)
-+
-+/*-------------------------------------------------------------------------*/
-+
-+
-+static void tmio_fill_pm(struct tmio_hcd *tmio, union tmio_uhccr_pm *pm)
-+{
-+      pm->raw = 0;
-+
-+      pm->pmee        = 1;
-+      pm->pmes        = 1;
-+      pm->gcken       = 1;
-+      pm->ckrnen      = 1;
-+
-+      if (tmio->disabled_ports[0])
-+              pm->uspw0 = 1;
-+      if (tmio->disabled_ports[1])
-+              pm->uspw1 = 1;
-+}
-+
 +static void tmio_stop_hc(struct device *dev)
 +{
 +      struct tmio_device              *tdev   = dev_to_tdev(dev);
@@ -159,8 +117,8 @@ Index: linux-2.6.23/drivers/usb/host/ohci-tmio.c
 +
 +      pm.gcken        = 1;
 +      pm.ckrnen       = 1;
-+      pm.uspw0        = 1;
 +      pm.uspw1        = 1;
++      pm.uspw2        = 1;
 +
 +      iowrite8(0,             &ccr->intc);
 +      iowrite8(0,             &ccr->ilme);
@@ -181,7 +139,10 @@ Index: linux-2.6.23/drivers/usb/host/ohci-tmio.c
 +      union tmio_uhccr_pm             pm      = {0};
 +      unsigned long                   base    = hcd->rsrc_start;
 +
-+      tmio_fill_pm(tmio, &pm);
++      pm.pmes         = 1;
++      pm.pmee         = 1;
++      pm.ckrnen       = 1;
++      pm.gcken        = 1;
 +
 +      tdev->ops->clock(dev, 1);
 +      tdev->ops->function(dev, 1);
@@ -196,54 +157,6 @@ Index: linux-2.6.23/drivers/usb/host/ohci-tmio.c
 +                      ioread8(&ccr->revid), hcd->rsrc_start, hcd->irq);
 +}
 +
-+static ssize_t tmio_disabled_port_show(struct device *dev,
-+              struct device_attribute *attr,
-+              char *buf)
-+{
-+      struct usb_hcd          *hcd    = dev_get_drvdata(dev);
-+      struct tmio_hcd         *tmio   = hcd_to_tmio(hcd);
-+      int                     index   = to_indexed_dev_attr(attr)->index;
-+      return snprintf(buf, PAGE_SIZE, "%c",
-+                      tmio->disabled_ports[index]? 'Y': 'N');
-+}
-+
-+static ssize_t tmio_disabled_port_store(struct device *dev,
-+              struct device_attribute *attr,
-+              const char *buf, size_t count)
-+{
-+      struct usb_hcd          *hcd    = dev_get_drvdata(dev);
-+      struct tmio_hcd         *tmio   = hcd_to_tmio(hcd);
-+      struct tmio_uhccr __iomem *ccr  = tmio->ccr;
-+      union tmio_uhccr_pm     pm      = {0};
-+      int                     index   = to_indexed_dev_attr(attr)->index;
-+
-+      if (!count)
-+              return -EINVAL;
-+
-+      switch (buf[0]) {
-+      case 'y': case 'Y': case '1':
-+              tmio->disabled_ports[index] = true;
-+              break;
-+      case 'n': case 'N': case '0':
-+              tmio->disabled_ports[index] = false;
-+              break;
-+      default:
-+              return -EINVAL;
-+      }
-+
-+      tmio_fill_pm(tmio, &pm);
-+
-+      iowrite16(pm.raw,       &ccr->pm);
-+
-+      return 1;
-+}
-+
-+
-+static INDEXED_DEVICE_ATTR(disabled_usb_port, S_IRUGO | S_IWUSR,
-+              tmio_disabled_port_show, tmio_disabled_port_store, 0);
-+static INDEXED_DEVICE_ATTR(disabled_usb_port, S_IRUGO | S_IWUSR,
-+              tmio_disabled_port_show, tmio_disabled_port_store, 1);
-+
 +static int usb_hcd_tmio_probe(const struct hc_driver *driver,
 +              struct device *dev)
 +{
@@ -282,9 +195,6 @@ Index: linux-2.6.23/drivers/usb/host/ohci-tmio.c
 +      hcd->rsrc_len   = regs->end - regs->start + 1;
 +
 +      tmio            = hcd_to_tmio(hcd);
-+      memcpy(tmio->disabled_ports,
-+                      default_tmio_ports,
-+                      sizeof(default_tmio_ports));
 +
 +      tmio->ccr = ioremap(config->start, config->end - config->start + 1);
 +      if (!tmio->ccr) {
@@ -314,23 +224,11 @@ Index: linux-2.6.23/drivers/usb/host/ohci-tmio.c
 +      ohci = hcd_to_ohci(hcd);
 +      ohci_hcd_init(ohci);
 +
-+      retval  = device_create_file(dev,
-+                      &dev_attr_disabled_usb_port0.dev_attr);
-+      retval |= device_create_file(dev,
-+                      &dev_attr_disabled_usb_port1.dev_attr);
-+
-+      if (retval)
-+              goto err_create_file;
-+
 +      retval = usb_add_hcd(hcd, irq->start, IRQF_DISABLED);
 +
 +      if (retval == 0)
 +              return retval;
 +
-+err_create_file:
-+      device_remove_file(dev, &dev_attr_disabled_usb_port1.dev_attr);
-+      device_remove_file(dev, &dev_attr_disabled_usb_port0.dev_attr);
-+
 +      tmio_stop_hc(dev);
 +
 +      dmabounce_unregister_dev(dev);
@@ -358,8 +256,6 @@ Index: linux-2.6.23/drivers/usb/host/ohci-tmio.c
 +      struct tmio_hcd         *tmio   = hcd_to_tmio(hcd);
 +
 +      usb_remove_hcd(hcd);
-+      device_remove_file(dev, &dev_attr_disabled_usb_port1.dev_attr);
-+      device_remove_file(dev, &dev_attr_disabled_usb_port0.dev_attr);
 +      tmio_stop_hc(dev);
 +      dmabounce_unregister_dev(dev);
 +      dma_release_declared_memory(dev);
@@ -447,22 +343,13 @@ Index: linux-2.6.23/drivers/usb/host/ohci-tmio.c
 +static int ohci_hcd_tmio_drv_probe(struct device *dev)
 +{
 +      struct resource         *sram   = tmio_resource_mem(dev);
-+      int retval;
 +
 +      dev->dma_mask = &dma_mask;
 +      dev->coherent_dma_mask = DMA_32BIT_MASK;
 +
-+      /* FIXME: move dmabounce checkers to tc6393 core? */
 +      dmabounce_register_checker(tmio_dmabounce_check, sram);
 +
-+      retval = usb_hcd_tmio_probe(&ohci_tmio_hc_driver, dev);
-+
-+      if (retval == 0)
-+              return retval;
-+
-+      dmabounce_remove_checker(tmio_dmabounce_check, sram);
-+
-+      return retval;
++      return usb_hcd_tmio_probe(&ohci_tmio_hc_driver, dev);
 +}
 +
 +static int ohci_hcd_tmio_drv_remove(struct device *dev)
@@ -550,7 +437,7 @@ Index: linux-2.6.23/drivers/usb/host/Kconfig
 Index: linux-2.6.23/drivers/usb/host/ohci-hcd.c
 ===================================================================
 --- linux-2.6.23.orig/drivers/usb/host/ohci-hcd.c      2007-11-12 13:46:52.894560883 +0300
-+++ linux-2.6.23/drivers/usb/host/ohci-hcd.c   2007-11-14 16:44:32.788069355 +0300
++++ linux-2.6.23/drivers/usb/host/ohci-hcd.c   2007-11-13 01:03:53.950798640 +0300
 @@ -915,6 +915,10 @@
  #define PLATFORM_DRIVER               usb_hcd_pnx4008_driver
  #endif