mvsdio: allow automatic loading when modular
[safe/jmp/linux-2.6] / drivers / parisc / hppb.c
index e869c60..1385641 100644 (file)
 ** the Free Software Foundation; either version 2 of the License, or
 ** (at your option) any later version.
 **
-** This Driver currently only supports the console (port 0) on the MUX.
-** Additional work will be needed on this driver to enable the full
-** functionality of the MUX.
-**
 */
 
 #include <linux/types.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/slab.h>
+#include <linux/dma-mapping.h>
 #include <linux/ioport.h>
 
 #include <asm/io.h>
 #include <asm/hardware.h>
 #include <asm/parisc-device.h>
 
-#include <linux/pci.h>
-
 struct hppb_card {
        unsigned long hpa;
        struct resource mmio_region;
        struct hppb_card *next;
 };
 
-struct hppb_card hppb_card_head = {
+static struct hppb_card hppb_card_head = {
        .hpa = 0,
        .next = NULL,
 };
@@ -60,46 +55,47 @@ static int hppb_probe(struct parisc_device *dev)
        }
 
        if(card->hpa) {
-               card->next = kmalloc(sizeof(struct hppb_card), GFP_KERNEL);
+               card->next = kzalloc(sizeof(struct hppb_card), GFP_KERNEL);
                if(!card->next) {
                        printk(KERN_ERR "HP-PB: Unable to allocate memory.\n");
                        return 1;
                }
-               memset(card->next, '\0', sizeof(struct hppb_card));
                card = card->next;
        }
-        printk(KERN_INFO "Found GeckoBoa at 0x%lx\n", dev->hpa);
+        printk(KERN_INFO "Found GeckoBoa at 0x%x\n", dev->hpa.start);
 
-       card->hpa = dev->hpa;
+       card->hpa = dev->hpa.start;
        card->mmio_region.name = "HP-PB Bus";
        card->mmio_region.flags = IORESOURCE_MEM;
 
-       card->mmio_region.start = __raw_readl(dev->hpa + IO_IO_LOW);
-       card->mmio_region.end = __raw_readl(dev->hpa + IO_IO_HIGH) - 1;
+       card->mmio_region.start = gsc_readl(dev->hpa.start + IO_IO_LOW);
+       card->mmio_region.end = gsc_readl(dev->hpa.start + IO_IO_HIGH) - 1;
 
        status = ccio_request_resource(dev, &card->mmio_region);
        if(status < 0) {
-               printk(KERN_ERR "%s: failed to claim HP-PB bus space (%08lx, %08lx)\n",
+               printk(KERN_ERR "%s: failed to claim HP-PB bus space (%08x, %08x)\n",
                        __FILE__, card->mmio_region.start, card->mmio_region.end);
        }
 
         return 0;
 }
 
-
 static struct parisc_device_id hppb_tbl[] = {
-        { HPHW_BCPORT, HVERSION_REV_ANY_ID, 0x500, 0xc }, 
+        { HPHW_BCPORT, HVERSION_REV_ANY_ID, 0x500, 0xc }, /* E25 and K */
+        { HPHW_BCPORT, 0x0, 0x501, 0xc }, /* E35 */
+        { HPHW_BCPORT, 0x0, 0x502, 0xc }, /* E45 */
+        { HPHW_BCPORT, 0x0, 0x503, 0xc }, /* E55 */
         { 0, }
 };
 
 static struct parisc_driver hppb_driver = {
-        .name =         "Gecko Boa",
+        .name =         "gecko_boa",
         .id_table =     hppb_tbl,
        .probe =        hppb_probe,
 };
 
 /**
- * hppb_init - HP-PB bus initalization procedure.
+ * hppb_init - HP-PB bus initialization procedure.
  *
  * Register this driver.   
  */