* [patch] q40kbd.c fixes
@ 2002-09-11 14:22 Richard Zidlicky
2002-09-12 5:49 ` Vojtech Pavlik
0 siblings, 1 reply; 2+ messages in thread
From: Richard Zidlicky @ 2002-09-11 14:22 UTC (permalink / raw)
To: Vojtech Pavlik; +Cc: Linux Kernel ML
Hi,
a few small fixes, works nicely.
Richard
--- linux-m68k-2.5.x/drivers/input/serio/q40kbd.c Sat Jul 27 21:09:46 2002
+++ linux-m68k-2.5.x-my/drivers/input/serio/q40kbd.c Wed Sep 11 16:40:08 2002
@@ -47,12 +47,24 @@
MODULE_DESCRIPTION("Q40 PS/2 keyboard controller driver");
MODULE_LICENSE("GPL");
+
+static int q40kbd_open(struct serio *port)
+{
+ return 0;
+}
+static void q40kbd_close(struct serio *port)
+{
+ return 0;
+}
+
static struct serio q40kbd_port =
{
.type = SERIO_8042,
+ .name = "Q40 kbd port",
+ .phys = "Q40",
.write = NULL,
- .name = "Q40 PS/2 kbd port",
- .phys = "isa0060/serio0",
+ .open = q40kbd_open,
+ .close = q40kbd_close,
};
static void q40kbd_interrupt(int irq, void *dev_id, struct pt_regs *regs)
@@ -70,13 +82,10 @@
{
int maxread = 100;
- /* Get the keyboard controller registers (incomplete decode) */
- request_region(0x60, 16, "q40kbd");
-
/* allocate the IRQ */
request_irq(Q40_IRQ_KEYBOARD, q40kbd_interrupt, 0, "q40kbd", NULL);
- /* flush any pending input. */
+ /* flush any pending input */
while (maxread-- && (IRQ_KEYB_MASK & master_inb(INTERRUPT_REG)))
master_inb(KEYCODE_REG);
@@ -84,15 +93,17 @@
master_outb(-1,KEYBOARD_UNLOCK_REG);
master_outb(1,KEY_IRQ_ENABLE_REG);
- register_serio_port(&q40kbd_port);
- printk(KERN_INFO "serio: Q40 PS/2 kbd port irq %d\n", Q40_IRQ_KEYBOARD);
+ serio_register_port(&q40kbd_port);
+ printk(KERN_INFO "serio: Q40 kbd registered\n");
}
void __exit q40kbd_exit(void)
{
- unregister_serio_port(&q40kbd_port);
+ master_outb(0,KEY_IRQ_ENABLE_REG);
+ master_outb(-1,KEYBOARD_UNLOCK_REG);
+
+ serio_unregister_port(&q40kbd_port);
free_irq(Q40_IRQ_KEYBOARD, NULL);
- release_region(0x60, 16);
}
module_init(q40kbd_init);
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [patch] q40kbd.c fixes
2002-09-11 14:22 [patch] q40kbd.c fixes Richard Zidlicky
@ 2002-09-12 5:49 ` Vojtech Pavlik
0 siblings, 0 replies; 2+ messages in thread
From: Vojtech Pavlik @ 2002-09-12 5:49 UTC (permalink / raw)
To: Richard Zidlicky; +Cc: Vojtech Pavlik, Linux Kernel ML
On Wed, Sep 11, 2002 at 04:22:07PM +0200, Richard Zidlicky wrote:
> Hi,
>
> a few small fixes, works nicely.
>
> Richard
Thanks; applied.
>
> --- linux-m68k-2.5.x/drivers/input/serio/q40kbd.c Sat Jul 27 21:09:46 2002
> +++ linux-m68k-2.5.x-my/drivers/input/serio/q40kbd.c Wed Sep 11 16:40:08 2002
> @@ -47,12 +47,24 @@
> MODULE_DESCRIPTION("Q40 PS/2 keyboard controller driver");
> MODULE_LICENSE("GPL");
>
> +
> +static int q40kbd_open(struct serio *port)
> +{
> + return 0;
> +}
> +static void q40kbd_close(struct serio *port)
> +{
> + return 0;
> +}
> +
> static struct serio q40kbd_port =
> {
> .type = SERIO_8042,
> + .name = "Q40 kbd port",
> + .phys = "Q40",
> .write = NULL,
> - .name = "Q40 PS/2 kbd port",
> - .phys = "isa0060/serio0",
> + .open = q40kbd_open,
> + .close = q40kbd_close,
> };
>
> static void q40kbd_interrupt(int irq, void *dev_id, struct pt_regs *regs)
> @@ -70,13 +82,10 @@
> {
> int maxread = 100;
>
> - /* Get the keyboard controller registers (incomplete decode) */
> - request_region(0x60, 16, "q40kbd");
> -
> /* allocate the IRQ */
> request_irq(Q40_IRQ_KEYBOARD, q40kbd_interrupt, 0, "q40kbd", NULL);
>
> - /* flush any pending input. */
> + /* flush any pending input */
> while (maxread-- && (IRQ_KEYB_MASK & master_inb(INTERRUPT_REG)))
> master_inb(KEYCODE_REG);
>
> @@ -84,15 +93,17 @@
> master_outb(-1,KEYBOARD_UNLOCK_REG);
> master_outb(1,KEY_IRQ_ENABLE_REG);
>
> - register_serio_port(&q40kbd_port);
> - printk(KERN_INFO "serio: Q40 PS/2 kbd port irq %d\n", Q40_IRQ_KEYBOARD);
> + serio_register_port(&q40kbd_port);
> + printk(KERN_INFO "serio: Q40 kbd registered\n");
> }
>
> void __exit q40kbd_exit(void)
> {
> - unregister_serio_port(&q40kbd_port);
> + master_outb(0,KEY_IRQ_ENABLE_REG);
> + master_outb(-1,KEYBOARD_UNLOCK_REG);
> +
> + serio_unregister_port(&q40kbd_port);
> free_irq(Q40_IRQ_KEYBOARD, NULL);
> - release_region(0x60, 16);
> }
>
> module_init(q40kbd_init);
--
Vojtech Pavlik
SuSE Labs
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2002-09-12 5:44 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-09-11 14:22 [patch] q40kbd.c fixes Richard Zidlicky
2002-09-12 5:49 ` Vojtech Pavlik
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).