40 lines
		
	
	
		
			980 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			980 B
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * parport.h: platform-specific PC-style parport initialisation
 | 
						|
 *
 | 
						|
 * Copyright (C) 1999, 2000  Tim Waugh <tim@cyberelk.demon.co.uk>
 | 
						|
 *
 | 
						|
 * This file should only be included by drivers/parport/parport_pc.c.
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef _ASM_POWERPC_PARPORT_H
 | 
						|
#define _ASM_POWERPC_PARPORT_H
 | 
						|
#ifdef __KERNEL__
 | 
						|
 | 
						|
#include <asm/prom.h>
 | 
						|
 | 
						|
static int __devinit parport_pc_find_nonpci_ports (int autoirq, int autodma)
 | 
						|
{
 | 
						|
	struct device_node *np;
 | 
						|
	const u32 *prop;
 | 
						|
	u32 io1, io2;
 | 
						|
	int propsize;
 | 
						|
	int count = 0;
 | 
						|
	for (np = NULL; (np = of_find_compatible_node(np,
 | 
						|
						      "parallel",
 | 
						|
						      "pnpPNP,400")) != NULL;) {
 | 
						|
		prop = of_get_property(np, "reg", &propsize);
 | 
						|
		if (!prop || propsize > 6*sizeof(u32))
 | 
						|
			continue;
 | 
						|
		io1 = prop[1]; io2 = prop[2];
 | 
						|
		prop = of_get_property(np, "interrupts", NULL);
 | 
						|
		if (!prop)
 | 
						|
			continue;
 | 
						|
		if (parport_pc_probe_port(io1, io2, prop[0], autodma, NULL, 0) != NULL)
 | 
						|
			count++;
 | 
						|
	}
 | 
						|
	return count;
 | 
						|
}
 | 
						|
 | 
						|
#endif /* __KERNEL__ */
 | 
						|
#endif /* !(_ASM_POWERPC_PARPORT_H) */
 |