Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq
[pandora-kernel.git] / drivers / s390 / char / vmcp.h
1 /*
2  * Copyright (C) 2004, 2005 IBM Corporation
3  * Interface implementation for communication with the z/VM control program
4  * Version 1.0
5  * Author(s): Christian Borntraeger <cborntra@de.ibm.com>
6  *
7  *
8  * z/VMs CP offers the possibility to issue commands via the diagnose code 8
9  * this driver implements a character device that issues these commands and
10  * returns the answer of CP.
11  *
12  * The idea of this driver is based on cpint from Neale Ferguson
13  */
14
15 #include <asm/semaphore.h>
16 #include <linux/ioctl.h>
17
18 #define VMCP_GETCODE _IOR(0x10, 1, int)
19 #define VMCP_SETBUF _IOW(0x10, 2, int)
20 #define VMCP_GETSIZE _IOR(0x10, 3, int)
21
22 struct vmcp_session {
23         unsigned int bufsize;
24         char *response;
25         int resp_size;
26         int resp_code;
27         /* As we use copy_from/to_user, which might     *
28          * sleep and cannot use a spinlock              */
29         struct semaphore mutex;
30 };