summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2011-02-07 01:01:49 -0500
committerPaul Gortmaker <paul.gortmaker@windriver.com>2011-02-07 01:01:49 -0500
commit1ec683c144cf8b044adde70319fc4cdf61ae88d9 (patch)
tree3664c8b0cb55dab9dcab72758639da138d0661ef
parent85dcfa5c67cbdd74844fc92601c1a78acf0c4abd (diff)
downloadrt-patches-1ec683c144cf8b044adde70319fc4cdf61ae88d9.tar.gz
rm UIO-Add-a-driver-for-Hilscher-netX-based-fieldbus-ca.patch; upstream nowv2.6.33-6332-ge101541
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r--UIO-Add-a-driver-for-Hilscher-netX-based-fieldbus-ca.patch227
-rw-r--r--series1
2 files changed, 0 insertions, 228 deletions
diff --git a/UIO-Add-a-driver-for-Hilscher-netX-based-fieldbus-ca.patch b/UIO-Add-a-driver-for-Hilscher-netX-based-fieldbus-ca.patch
deleted file mode 100644
index 1315fdb..0000000
--- a/UIO-Add-a-driver-for-Hilscher-netX-based-fieldbus-ca.patch
+++ /dev/null
@@ -1,227 +0,0 @@
-From d972e60d7e2b4c8872ccee3f10d02c06b503a0fb Mon Sep 17 00:00:00 2001
-From: Hans J. Koch <hjk@linutronix.de>
-Date: Tue, 9 Feb 2010 20:13:49 +0100
-Subject: [PATCH] UIO: Add a driver for Hilscher netX-based fieldbus cards
-
-commit d972e60d7e2b4c8872ccee3f10d02c06b503a0fb in tip.
-
-This patch adds a Userspace IO driver for netX-based fieldbus cards by
-Hilscher (see http://www.hilscher.com). ATM, cifX and comX cards are
-supported. The userspace part for this driver is provided by Hilscher
-and should come with the card.
-The driver is in use for several months now and has been tested by
-people at Hilscher and Linutronix.
-
-Signed-off-by: Hans J. Koch <hjk@linutronix.de>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
-diff --git a/drivers/uio/Kconfig b/drivers/uio/Kconfig
-index 8aa1955..069b144 100644
---- a/drivers/uio/Kconfig
-+++ b/drivers/uio/Kconfig
-@@ -94,4 +94,15 @@ config UIO_PCI_GENERIC
- primarily, for virtualization scenarios.
- If you compile this as a module, it will be called uio_pci_generic.
-
-+config UIO_NETX
-+ tristate "Hilscher NetX Card driver"
-+ depends on PCI
-+ help
-+ Driver for Hilscher NetX based fieldbus cards (cifX, comX).
-+ This driver requires a userspace component that comes with the card
-+ or is available from Hilscher (http://www.hilscher.com).
-+
-+ To compile this driver as a module, choose M here; the module
-+ will be called uio_netx.
-+
- endif
-diff --git a/drivers/uio/Makefile b/drivers/uio/Makefile
-index 73b2e75..aa7d033 100644
---- a/drivers/uio/Makefile
-+++ b/drivers/uio/Makefile
-@@ -6,3 +6,4 @@ obj-$(CONFIG_UIO_SMX) += uio_smx.o
- obj-$(CONFIG_UIO_AEC) += uio_aec.o
- obj-$(CONFIG_UIO_SERCOS3) += uio_sercos3.o
- obj-$(CONFIG_UIO_PCI_GENERIC) += uio_pci_generic.o
-+obj-$(CONFIG_UIO_NETX) += uio_netx.o
-diff --git a/drivers/uio/uio_netx.c b/drivers/uio/uio_netx.c
-new file mode 100644
-index 0000000..afbf0bd
---- /dev/null
-+++ b/drivers/uio/uio_netx.c
-@@ -0,0 +1,172 @@
-+/*
-+ * UIO driver for Hilscher NetX based fieldbus cards (cifX, comX).
-+ * See http://www.hilscher.com for details.
-+ *
-+ * (C) 2007 Hans J. Koch <hjk@linutronix.de>
-+ * (C) 2008 Manuel Traut <manut@linutronix.de>
-+ *
-+ * Licensed under GPL version 2 only.
-+ *
-+ */
-+
-+#include <linux/device.h>
-+#include <linux/io.h>
-+#include <linux/module.h>
-+#include <linux/pci.h>
-+#include <linux/uio_driver.h>
-+
-+#define PCI_VENDOR_ID_HILSCHER 0x15CF
-+#define PCI_DEVICE_ID_HILSCHER_NETX 0x0000
-+#define PCI_SUBDEVICE_ID_NXSB_PCA 0x3235
-+#define PCI_SUBDEVICE_ID_NXPCA 0x3335
-+
-+#define DPM_HOST_INT_EN0 0xfff0
-+#define DPM_HOST_INT_STAT0 0xffe0
-+
-+#define DPM_HOST_INT_MASK 0xe600ffff
-+#define DPM_HOST_INT_GLOBAL_EN 0x80000000
-+
-+static irqreturn_t netx_handler(int irq, struct uio_info *dev_info)
-+{
-+ void __iomem *int_enable_reg = dev_info->mem[0].internal_addr
-+ + DPM_HOST_INT_EN0;
-+ void __iomem *int_status_reg = dev_info->mem[0].internal_addr
-+ + DPM_HOST_INT_STAT0;
-+
-+ /* Is one of our interrupts enabled and active ? */
-+ if (!(ioread32(int_enable_reg) & ioread32(int_status_reg)
-+ & DPM_HOST_INT_MASK))
-+ return IRQ_NONE;
-+
-+ /* Disable interrupt */
-+ iowrite32(ioread32(int_enable_reg) & ~DPM_HOST_INT_GLOBAL_EN,
-+ int_enable_reg);
-+ return IRQ_HANDLED;
-+}
-+
-+static int __devinit netx_pci_probe(struct pci_dev *dev,
-+ const struct pci_device_id *id)
-+{
-+ struct uio_info *info;
-+ int bar;
-+
-+ info = kzalloc(sizeof(struct uio_info), GFP_KERNEL);
-+ if (!info)
-+ return -ENOMEM;
-+
-+ if (pci_enable_device(dev))
-+ goto out_free;
-+
-+ if (pci_request_regions(dev, "netx"))
-+ goto out_disable;
-+
-+ switch (id->device) {
-+ case PCI_DEVICE_ID_HILSCHER_NETX:
-+ bar = 0;
-+ info->name = "netx";
-+ break;
-+ default:
-+ bar = 2;
-+ info->name = "netx_plx";
-+ }
-+
-+ /* BAR0 or 2 points to the card's dual port memory */
-+ info->mem[0].addr = pci_resource_start(dev, bar);
-+ if (!info->mem[0].addr)
-+ goto out_release;
-+ info->mem[0].internal_addr = ioremap(pci_resource_start(dev, bar),
-+ pci_resource_len(dev, bar));
-+
-+ if (!info->mem[0].internal_addr)
-+ goto out_release;
-+
-+ info->mem[0].size = pci_resource_len(dev, bar);
-+ info->mem[0].memtype = UIO_MEM_PHYS;
-+ info->irq = dev->irq;
-+ info->irq_flags = IRQF_SHARED;
-+ info->handler = netx_handler;
-+ info->version = "0.0.1";
-+
-+ /* Make sure all interrupts are disabled */
-+ iowrite32(0, info->mem[0].internal_addr + DPM_HOST_INT_EN0);
-+
-+ if (uio_register_device(&dev->dev, info))
-+ goto out_unmap;
-+
-+ pci_set_drvdata(dev, info);
-+ dev_info(&dev->dev, "Found %s card, registered UIO device.\n",
-+ info->name);
-+
-+ return 0;
-+
-+out_unmap:
-+ iounmap(info->mem[0].internal_addr);
-+out_release:
-+ pci_release_regions(dev);
-+out_disable:
-+ pci_disable_device(dev);
-+out_free:
-+ kfree(info);
-+ return -ENODEV;
-+}
-+
-+static void netx_pci_remove(struct pci_dev *dev)
-+{
-+ struct uio_info *info = pci_get_drvdata(dev);
-+
-+ /* Disable all interrupts */
-+ iowrite32(0, info->mem[0].internal_addr + DPM_HOST_INT_EN0);
-+ uio_unregister_device(info);
-+ pci_release_regions(dev);
-+ pci_disable_device(dev);
-+ pci_set_drvdata(dev, NULL);
-+ iounmap(info->mem[0].internal_addr);
-+
-+ kfree(info);
-+}
-+
-+static struct pci_device_id netx_pci_ids[] = {
-+ {
-+ .vendor = PCI_VENDOR_ID_HILSCHER,
-+ .device = PCI_DEVICE_ID_HILSCHER_NETX,
-+ .subvendor = 0,
-+ .subdevice = 0,
-+ },
-+ {
-+ .vendor = PCI_VENDOR_ID_PLX,
-+ .device = PCI_DEVICE_ID_PLX_9030,
-+ .subvendor = PCI_VENDOR_ID_PLX,
-+ .subdevice = PCI_SUBDEVICE_ID_NXSB_PCA,
-+ },
-+ {
-+ .vendor = PCI_VENDOR_ID_PLX,
-+ .device = PCI_DEVICE_ID_PLX_9030,
-+ .subvendor = PCI_VENDOR_ID_PLX,
-+ .subdevice = PCI_SUBDEVICE_ID_NXPCA,
-+ },
-+ { 0, }
-+};
-+
-+static struct pci_driver netx_pci_driver = {
-+ .name = "netx",
-+ .id_table = netx_pci_ids,
-+ .probe = netx_pci_probe,
-+ .remove = netx_pci_remove,
-+};
-+
-+static int __init netx_init_module(void)
-+{
-+ return pci_register_driver(&netx_pci_driver);
-+}
-+
-+static void __exit netx_exit_module(void)
-+{
-+ pci_unregister_driver(&netx_pci_driver);
-+}
-+
-+module_init(netx_init_module);
-+module_exit(netx_exit_module);
-+
-+MODULE_DEVICE_TABLE(pci, netx_pci_ids);
-+MODULE_LICENSE("GPL v2");
-+MODULE_AUTHOR("Hans J. Koch, Manuel Traut");
---
-1.7.1.1
-
diff --git a/series b/series
index a0b48ef..d1b01e4 100644
--- a/series
+++ b/series
@@ -458,7 +458,6 @@ cpu-hotplug-Prevent-softirq-wakeup-on-wrong-CPU.patch
drivers-dca-Convert-dca_lock-to-a-raw-spinlock.patch
powerpc-cpu-hotplug-Prevent-softirq-wakeup-on-wrong-.patch
dca-Fix-fallout-from-raw_spinlock-conversion.patch
-UIO-Add-a-driver-for-Hilscher-netX-based-fieldbus-ca.patch
# v2.6.33.6-rt27.patch
printk-Restore-irqs-before-calling-release_console_m.patch
# v2.6.33.6-rt28.patch