| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * Platform dependent support for HP simulator. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Copyright (C) 1998-2001 Hewlett-Packard Co | 
					
						
							|  |  |  |  * Copyright (C) 1998-2001 David Mosberger-Tang <davidm@hpl.hp.com> | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <linux/init.h>
 | 
					
						
							|  |  |  | #include <linux/kernel.h>
 | 
					
						
							|  |  |  | #include <linux/sched.h>
 | 
					
						
							|  |  |  | #include <linux/irq.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static unsigned int | 
					
						
							|  |  |  | hpsim_irq_startup (unsigned int irq) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return 0; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static void | 
					
						
							|  |  |  | hpsim_irq_noop (unsigned int irq) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-27 17:59:21 -07:00
										 |  |  | static int | 
					
						
							| 
									
										
										
										
											2008-12-13 21:20:26 +10:30
										 |  |  | hpsim_set_affinity_noop(unsigned int a, const struct cpumask *b) | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2009-04-27 17:59:21 -07:00
										 |  |  | 	return 0; | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-06-10 12:45:00 -07:00
										 |  |  | static struct irq_chip irq_type_hp_sim = { | 
					
						
							| 
									
										
										
										
											2006-11-16 00:43:02 -08:00
										 |  |  | 	.name =		"hpsim", | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	.startup =	hpsim_irq_startup, | 
					
						
							|  |  |  | 	.shutdown =	hpsim_irq_noop, | 
					
						
							|  |  |  | 	.enable =	hpsim_irq_noop, | 
					
						
							|  |  |  | 	.disable =	hpsim_irq_noop, | 
					
						
							|  |  |  | 	.ack =		hpsim_irq_noop, | 
					
						
							|  |  |  | 	.end =		hpsim_irq_noop, | 
					
						
							|  |  |  | 	.set_affinity =	hpsim_set_affinity_noop, | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void __init | 
					
						
							|  |  |  | hpsim_irq_init (void) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2009-06-10 12:45:00 -07:00
										 |  |  | 	struct irq_desc *idesc; | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	int i; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	for (i = 0; i < NR_IRQS; ++i) { | 
					
						
							| 
									
										
										
										
											2006-06-29 02:24:38 -07:00
										 |  |  | 		idesc = irq_desc + i; | 
					
						
							| 
									
										
										
										
											2009-06-10 12:44:59 -07:00
										 |  |  | 		if (idesc->chip == &no_irq_chip) | 
					
						
							| 
									
										
										
										
											2006-06-29 02:24:38 -07:00
										 |  |  | 			idesc->chip = &irq_type_hp_sim; | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	} | 
					
						
							|  |  |  | } |