git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git]
/
drivers
/
input
/
serio
/
ambakmi.c
diff --git
a/drivers/input/serio/ambakmi.c
b/drivers/input/serio/ambakmi.c
index
4b3b513
..
3df5eed
100644
(file)
--- a/
drivers/input/serio/ambakmi.c
+++ b/
drivers/input/serio/ambakmi.c
@@
-19,19
+19,19
@@
#include <linux/delay.h>
#include <linux/slab.h>
#include <linux/err.h>
#include <linux/delay.h>
#include <linux/slab.h>
#include <linux/err.h>
+#include <linux/amba/bus.h>
+#include <linux/amba/kmi.h>
+#include <linux/clk.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/io.h>
#include <asm/irq.h>
-#include <asm/hardware/amba.h>
-#include <asm/hardware/amba_kmi.h>
-#include <asm/hardware/clock.h>
#define KMI_BASE (kmi->base)
struct amba_kmi_port {
struct serio *io;
struct clk *clk;
#define KMI_BASE (kmi->base)
struct amba_kmi_port {
struct serio *io;
struct clk *clk;
-
unsigned char
*base;
+
void __iomem
*base;
unsigned int irq;
unsigned int divisor;
unsigned int open;
unsigned int irq;
unsigned int divisor;
unsigned int open;
@@
-72,13
+72,9
@@
static int amba_kmi_open(struct serio *io)
unsigned int divisor;
int ret;
unsigned int divisor;
int ret;
- ret = clk_use(kmi->clk);
- if (ret)
- goto out;
-
ret = clk_enable(kmi->clk);
if (ret)
ret = clk_enable(kmi->clk);
if (ret)
- goto
clk_unuse
;
+ goto
out
;
divisor = clk_get_rate(kmi->clk) / 8000000 - 1;
writeb(divisor, KMICLKDIV);
divisor = clk_get_rate(kmi->clk) / 8000000 - 1;
writeb(divisor, KMICLKDIV);
@@
-97,8
+93,6
@@
static int amba_kmi_open(struct serio *io)
clk_disable:
clk_disable(kmi->clk);
clk_disable:
clk_disable(kmi->clk);
- clk_unuse:
- clk_unuse(kmi->clk);
out:
return ret;
}
out:
return ret;
}
@@
-111,7
+105,6
@@
static void amba_kmi_close(struct serio *io)
free_irq(kmi->irq, kmi);
clk_disable(kmi->clk);
free_irq(kmi->irq, kmi);
clk_disable(kmi->clk);
- clk_unuse(kmi->clk);
}
static int amba_kmi_probe(struct amba_device *dev, void *id)
}
static int amba_kmi_probe(struct amba_device *dev, void *id)
@@
-134,7
+127,7
@@
static int amba_kmi_probe(struct amba_device *dev, void *id)
memset(kmi, 0, sizeof(struct amba_kmi_port));
memset(io, 0, sizeof(struct serio));
memset(kmi, 0, sizeof(struct amba_kmi_port));
memset(io, 0, sizeof(struct serio));
- io->
type
= SERIO_8042;
+ io->
id.type
= SERIO_8042;
io->write = amba_kmi_write;
io->open = amba_kmi_open;
io->close = amba_kmi_close;
io->write = amba_kmi_write;
io->open = amba_kmi_open;
io->close = amba_kmi_close;