Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / include / linux / platform_data / hwmon-s3c.h
1 /*
2  * Copyright 2005 Simtec Electronics
3  *      Ben Dooks <ben@simtec.co.uk>
4  *      http://armlinux.simtec.co.uk/
5  *
6  * S3C - HWMon interface for ADC
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as
10  * published by the Free Software Foundation.
11 */
12
13 #ifndef __HWMON_S3C_H__
14 #define __HWMON_S3C_H__
15
16 /**
17  * s3c_hwmon_chcfg - channel configuration
18  * @name: The name to give this channel.
19  * @mult: Multiply the ADC value read by this.
20  * @div: Divide the value from the ADC by this.
21  *
22  * The value read from the ADC is converted to a value that
23  * hwmon expects (mV) by result = (value_read * @mult) / @div.
24  */
25 struct s3c_hwmon_chcfg {
26         const char      *name;
27         unsigned int    mult;
28         unsigned int    div;
29 };
30
31 /**
32  * s3c_hwmon_pdata - HWMON platform data
33  * @in: One configuration for each possible channel used.
34  */
35 struct s3c_hwmon_pdata {
36         struct s3c_hwmon_chcfg  *in[8];
37 };
38
39 /**
40  * s3c_hwmon_set_platdata - Set platform data for S3C HWMON device
41  * @pd: Platform data to register to device.
42  *
43  * Register the given platform data for use with the S3C HWMON device.
44  * The call will copy the platform data, so the board definitions can
45  * make the structure itself __initdata.
46  */
47 extern void __init s3c_hwmon_set_platdata(struct s3c_hwmon_pdata *pd);
48
49 #endif /* __HWMON_S3C_H__ */