diff options
Diffstat (limited to 'arch/powerpc/include/asm/parport.h')
-rw-r--r-- | arch/powerpc/include/asm/parport.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/parport.h b/arch/powerpc/include/asm/parport.h new file mode 100644 index 000000000000..414c50e2e881 --- /dev/null +++ b/arch/powerpc/include/asm/parport.h | |||
@@ -0,0 +1,39 @@ | |||
1 | /* | ||
2 | * parport.h: platform-specific PC-style parport initialisation | ||
3 | * | ||
4 | * Copyright (C) 1999, 2000 Tim Waugh <tim@cyberelk.demon.co.uk> | ||
5 | * | ||
6 | * This file should only be included by drivers/parport/parport_pc.c. | ||
7 | */ | ||
8 | |||
9 | #ifndef _ASM_POWERPC_PARPORT_H | ||
10 | #define _ASM_POWERPC_PARPORT_H | ||
11 | #ifdef __KERNEL__ | ||
12 | |||
13 | #include <asm/prom.h> | ||
14 | |||
15 | static int __devinit parport_pc_find_nonpci_ports (int autoirq, int autodma) | ||
16 | { | ||
17 | struct device_node *np; | ||
18 | const u32 *prop; | ||
19 | u32 io1, io2; | ||
20 | int propsize; | ||
21 | int count = 0; | ||
22 | for (np = NULL; (np = of_find_compatible_node(np, | ||
23 | "parallel", | ||
24 | "pnpPNP,400")) != NULL;) { | ||
25 | prop = of_get_property(np, "reg", &propsize); | ||
26 | if (!prop || propsize > 6*sizeof(u32)) | ||
27 | continue; | ||
28 | io1 = prop[1]; io2 = prop[2]; | ||
29 | prop = of_get_property(np, "interrupts", NULL); | ||
30 | if (!prop) | ||
31 | continue; | ||
32 | if (parport_pc_probe_port(io1, io2, prop[0], autodma, NULL) != NULL) | ||
33 | count++; | ||
34 | } | ||
35 | return count; | ||
36 | } | ||
37 | |||
38 | #endif /* __KERNEL__ */ | ||
39 | #endif /* !(_ASM_POWERPC_PARPORT_H) */ | ||