aboutsummaryrefslogtreecommitdiff
path: root/drivers/misc/mediatek/lens/common/inc/OV8825AF.h
blob: 695d15a59aa4475dcc579e61d22631522e5bb2af (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#ifndef _OV8825AF_H
#define _OV8825AF_H

#include <linux/ioctl.h>
/* #include "kd_imgsensor.h" */

#define OV8825AF_MAGIC 'A'
/* IOCTRL(inode * ,file * ,cmd ,arg ) */


/* Structures */
typedef struct {
/* current position */
	u32 u4CurrentPosition;
/* macro position */
	u32 u4MacroPosition;
/* Infiniti position */
	u32 u4InfPosition;
/* Motor Status */
	bool bIsMotorMoving;
/* Motor Open? */
	bool bIsMotorOpen;
} stOV8825AF_MotorInfo;

/* Control commnad */
/* S means "set through a ptr" */
/* T means "tell by a arg value" */
/* G means "get by a ptr" */
/* Q means "get by return a value" */
/* X means "switch G and S atomically" */
/* H means "switch T and Q atomically" */
#define OV8825AFIOC_G_MOTORINFO _IOR(OV8825AF_MAGIC, 0, stOV8825AF_MotorInfo)

#define OV8825AFIOC_T_MOVETO _IOW(OV8825AF_MAGIC, 1, u32)

#define OV8825AFIOC_T_SETINFPOS _IOW(OV8825AF_MAGIC, 2, u32)

#define OV8825AFIOC_T_SETMACROPOS _IOW(OV8825AF_MAGIC, 3, u32)

#else
#endif