ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / drivers / s390 / cio / requestirq.c
1 /*
2  *  drivers/s390/cio/requestirq.c
3  *   S/390 common I/O routines -- enabling and disabling of devices
4  *   $Revision: 1.45 $
5  *
6  *    Copyright (C) 1999-2002 IBM Deutschland Entwicklung GmbH,
7  *                            IBM Corporation
8  *    Author(s): Ingo Adlung (adlung@de.ibm.com)
9  *               Cornelia Huck (cohuck@de.ibm.com)
10  *               Arnd Bergmann (arndb@de.ibm.com)
11  */
12
13 #include <linux/module.h>
14 #include <linux/config.h>
15 #include <linux/device.h>
16 #include <linux/init.h>
17 #include <asm/lowcore.h>
18
19 #include "css.h"
20
21 /* for compatiblity only... */
22 int
23 request_irq (unsigned int irq,
24              void (*handler) (int, void *, struct pt_regs *),
25              unsigned long irqflags, const char *devname, void *dev_id)
26 {
27         return -EINVAL;
28 }
29
30 /* for compatiblity only... */
31 void
32 free_irq (unsigned int irq, void *dev_id)
33 {
34 }
35
36 struct pgid global_pgid;
37 EXPORT_SYMBOL_GPL(global_pgid);
38
39 /*
40  * init_IRQ is now only used to set the pgid as early as possible
41  */
42 void __init
43 init_IRQ(void)
44 {
45         /*
46          * Let's build our path group ID here.
47          */
48         if (MACHINE_NEW_STIDP)
49                 global_pgid.cpu_addr = 0x8000;
50         else {
51 #ifdef CONFIG_SMP
52                 global_pgid.cpu_addr = hard_smp_processor_id();
53 #else
54                 global_pgid.cpu_addr = 0;
55 #endif
56         }
57         global_pgid.cpu_id = ((cpuid_t *) __LC_CPUID)->ident;
58         global_pgid.cpu_model = ((cpuid_t *) __LC_CPUID)->machine;
59         global_pgid.tod_high = (__u32) (get_clock() >> 32);
60 }