patch-2.4.20 linux-2.4.20/arch/parisc/kernel/ccio-rm-dma.c
Next file: linux-2.4.20/arch/parisc/kernel/drivers.c
Previous file: linux-2.4.20/arch/parisc/kernel/ccio-dma.c
Back to the patch index
Back to the overall index
- Lines: 90
- Date:
Thu Nov 28 15:53:10 2002
- Orig file:
linux-2.4.19/arch/parisc/kernel/ccio-rm-dma.c
- Orig date:
Fri Oct 12 15:35:53 2001
diff -urN linux-2.4.19/arch/parisc/kernel/ccio-rm-dma.c linux-2.4.20/arch/parisc/kernel/ccio-rm-dma.c
@@ -56,26 +56,6 @@
#define UTURN_IOA_RUNWAY 0x581
#define UTURN_BC_GSC 0x502
-static int ccio_driver_callback(struct hp_device *, struct pa_iodc_driver *);
-
-static struct pa_iodc_driver ccio_drivers_for[] = {
-
- {HPHW_BCPORT, U2_BC_GSC, 0x0, 0xb, 0, 0x10,
- DRIVER_CHECK_HVERSION +
- DRIVER_CHECK_SVERSION + DRIVER_CHECK_HWTYPE,
- MODULE_NAME, "U2 I/O MMU", (void *) ccio_driver_callback},
-
- {HPHW_BCPORT, UTURN_BC_GSC, 0x0, 0xb, 0, 0x10,
- DRIVER_CHECK_HVERSION +
- DRIVER_CHECK_SVERSION + DRIVER_CHECK_HWTYPE,
- MODULE_NAME, "Uturn I/O MMU", (void *) ccio_driver_callback},
-
- {0,0,0,0,0,0,
- 0,
- (char *) NULL, (char *) NULL, (void *) NULL }
-};
-
-
#define IS_U2(id) ( \
(((id)->hw_type == HPHW_IOA) && ((id)->hversion == U2_IOA_RUNWAY)) || \
(((id)->hw_type == HPHW_BCPORT) && ((id)->hversion == U2_BC_GSC)) \
@@ -86,17 +66,10 @@
(((id)->hw_type == HPHW_BCPORT) && ((id)->hversion == UTURN_BC_GSC)) \
)
-
-void __init ccio_init(void)
-{
- register_driver(ccio_drivers_for);
-}
-
-
static int ccio_dma_supported( struct pci_dev *dev, u64 mask)
{
if (dev == NULL) {
- printk(MODULE_NAME ": EISA/ISA/et al not supported\n");
+ printk(KERN_ERR MODULE_NAME ": EISA/ISA/et al not supported\n");
BUG();
return(0);
}
@@ -182,8 +155,6 @@
ccio_unmap_sg,
NULL, /* dma_sync_single : NOP for U2 */
NULL, /* dma_sync_sg : ditto */
-
-
};
@@ -193,9 +164,11 @@
** have work to do.
*/
static int
-ccio_driver_callback(struct hp_device *d, struct pa_iodc_driver *dri)
+ccio_probe(struct parisc_device *dev)
{
- printk("%s found %s at 0x%p\n", dri->name, dri->version, d->hpa);
+ printk(KERN_INFO "%s found %s at 0x%lx\n", MODULE_NAME,
+ dev->id.hversion == U2_BC_GSC ? "U2" : "UTurn",
+ dev->hpa);
/*
** FIXME - should check U2 registers to verify it's really running
@@ -210,3 +183,20 @@
hppa_dma_ops = &ccio_ops;
return 0;
}
+
+static struct parisc_device_id ccio_tbl[] = {
+ { HPHW_BCPORT, HVERSION_REV_ANY_ID, U2_BC_GSC, 0xc },
+ { HPHW_BCPORT, HVERSION_REV_ANY_ID, UTURN_BC_GSC, 0xc },
+ { 0, }
+};
+
+static struct parisc_driver ccio_driver = {
+ name: "U2/Uturn",
+ id_table: ccio_tbl,
+ probe: ccio_probe,
+};
+
+void __init ccio_init(void)
+{
+ register_parisc_driver(&ccio_driver);
+}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)