Staging: comedi: Remove comedi_device typedef
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / staging / comedi / drivers / addi-data / APCI1710_Pwm.h
1 /*
2 * Copyright (C) 2004,2005 ADDI-DATA GmbH for the source code of this module.
3 *
4 * ADDI-DATA GmbH
5 * Dieselstrasse 3
6 * D-77833 Ottersweier
7 * Tel: +19(0)7223/9493-0
8 * Fax: +49(0)7223/9493-92
9 * http://www.addi-data-com
10 * info@addi-data.com
11 *
12 * This program is free software; you can redistribute it and/or modify it
13 * under the terms of the GNU General Public License as published by the Free
14 * Software Foundation; either version 2 of the License, or (at your option)
15 * any later version.
16 */
17
18 #define APCI1710_30MHZ 30
19 #define APCI1710_33MHZ 33
20 #define APCI1710_40MHZ 40
21
22 #define APCI1710_PWM_INIT 0
23 #define APCI1710_PWM_GETINITDATA 1
24
25 #define APCI1710_PWM_DISABLE 0
26 #define APCI1710_PWM_ENABLE 1
27 #define APCI1710_PWM_NEWTIMING 2
28
29 INT i_APCI1710_InsnConfigPWM(struct comedi_device *dev, comedi_subdevice *s,
30 comedi_insn *insn, unsigned int *data);
31
32 INT i_APCI1710_InitPWM(struct comedi_device *dev,
33 BYTE b_ModulNbr,
34 BYTE b_PWM,
35 BYTE b_ClockSelection,
36 BYTE b_TimingUnit,
37 ULONG ul_LowTiming,
38 ULONG ul_HighTiming,
39 PULONG pul_RealLowTiming, PULONG pul_RealHighTiming);
40
41 INT i_APCI1710_GetPWMInitialisation(struct comedi_device *dev,
42 BYTE b_ModulNbr,
43 BYTE b_PWM,
44 PBYTE pb_TimingUnit,
45 PULONG pul_LowTiming,
46 PULONG pul_HighTiming,
47 PBYTE pb_StartLevel,
48 PBYTE pb_StopMode,
49 PBYTE pb_StopLevel,
50 PBYTE pb_ExternGate,
51 PBYTE pb_InterruptEnable, PBYTE pb_Enable);
52
53 INT i_APCI1710_InsnWritePWM(struct comedi_device *dev, comedi_subdevice *s,
54 comedi_insn *insn, unsigned int *data);
55
56 INT i_APCI1710_EnablePWM(struct comedi_device *dev,
57 BYTE b_ModulNbr,
58 BYTE b_PWM,
59 BYTE b_StartLevel,
60 BYTE b_StopMode,
61 BYTE b_StopLevel, BYTE b_ExternGate,
62 BYTE b_InterruptEnable);
63
64 INT i_APCI1710_SetNewPWMTiming(struct comedi_device *dev,
65 BYTE b_ModulNbr,
66 BYTE b_PWM, BYTE b_TimingUnit,
67 ULONG ul_LowTiming, ULONG ul_HighTiming);
68
69 INT i_APCI1710_DisablePWM(struct comedi_device *dev, BYTE b_ModulNbr, BYTE b_PWM);
70
71 INT i_APCI1710_InsnReadGetPWMStatus(struct comedi_device *dev, comedi_subdevice *s,
72 comedi_insn *insn, unsigned int *data);
73
74 INT i_APCI1710_InsnBitsReadPWMInterrupt(struct comedi_device *dev,
75 comedi_subdevice *s,
76 comedi_insn *insn, unsigned int *data);