lkml.org 
[lkml]   [2003]   [Feb]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH 2.5.60 5/9] Update the Archimedes parallel port driver for new module API.
The patch below updates the Archimedes parallel port driver to use the new
module interfaces. This hasn't been test (sorry no hardware).


--
Bob Miller Email: rem@osdl.org
Open Source Development Lab Phone: 503.626.2455 Ext. 17

diff -Nru a/drivers/parport/parport_arc.c b/drivers/parport/parport_arc.c
--- a/drivers/parport/parport_arc.c Fri Feb 14 09:50:44 2003
+++ b/drivers/parport/parport_arc.c Fri Feb 14 09:50:44 2003
@@ -65,18 +65,14 @@
return data_copy;
}

-static void arc_inc_use_count(void)
+static int arc_inc_use_count(void)
{
-#ifdef MODULE
- MOD_INC_USE_COUNT;
-#endif
+ return try_module_get(THIS_MODULE);
}

static void arc_dec_use_count(void)
{
-#ifdef MODULE
- MOD_DEC_USE_COUNT;
-#endif
+ module_put(THIS_MODULE);
}

static struct parport_operations parport_arc_ops =
@@ -123,18 +119,24 @@
{
/* Archimedes hardware provides only one port, at a fixed address */
struct parport *p;
+ struct resource res;
+ char *fake_name = "parport probe");

- if (check_region(PORT_BASE, 1))
+ res = request_region(PORT_BASE, 1, fake_name);
+ if (res == NULL)
return 0;

p = parport_register_port (PORT_BASE, IRQ_PRINTERACK,
PARPORT_DMA_NONE, &parport_arc_ops);

- if (!p)
+ if (!p) {
+ release_region(PORT_BASE, 1);
return 0;
+ }

p->modes = PARPORT_MODE_ARCSPP;
p->size = 1;
+ rename_region(res, p->name);

printk(KERN_INFO "%s: Archimedes on-board port, using irq %d\n",
p->irq);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-03-22 13:33    [W:0.048 / U:1.816 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site