summaryrefslogtreecommitdiff
path: root/include/media/nvc_focus.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/media/nvc_focus.h')
-rw-r--r--include/media/nvc_focus.h25
1 files changed, 16 insertions, 9 deletions
diff --git a/include/media/nvc_focus.h b/include/media/nvc_focus.h
index c6ff1fa792c1..e37d897d8323 100644
--- a/include/media/nvc_focus.h
+++ b/include/media/nvc_focus.h
@@ -33,6 +33,8 @@
#define NVC_FOCUS_CAP_VER2 2
#define NVC_FOCUS_CAP_VER 2 /* latest version */
+#define AF_POS_INVALID_VALUE INT_MAX
+
enum nvc_focus_sts {
NVC_FOCUS_STS_UNKNOWN = 1,
NVC_FOCUS_STS_NO_DEVICE,
@@ -52,11 +54,13 @@ struct nvc_focus_nvc {
struct nvc_focus_cap {
__u32 version;
- __u32 actuator_range;
+ __s32 actuator_range;
__u32 settle_time;
- __u32 focus_macro;
- __u32 focus_hyper;
- __u32 focus_infinity;
+ __s32 focus_macro;
+ __s32 focus_hyper;
+ __s32 focus_infinity;
+ __u32 slew_rate;
+ __u32 position_translate;
} __packed;
@@ -66,7 +70,7 @@ struct nvc_focus_cap {
struct nv_focuser_set_dist_pairs {
__s32 fdn;
__s32 distance;
-};
+} __packed;
struct nv_focuser_set {
__s32 posture;
@@ -78,23 +82,26 @@ struct nv_focuser_set {
__s32 macro_offset;
__s32 inf_offset;
__u32 num_dist_pairs;
- struct nv_focuser_set_dist_pairs dist_pair[NV_FOCUSER_SET_DISTANCE_PAIR];
-};
+ struct nv_focuser_set_dist_pairs
+ dist_pair[NV_FOCUSER_SET_DISTANCE_PAIR];
+} __packed;
struct nv_focuser_config {
__u32 focal_length;
__u32 fnumber;
__u32 max_aperture;
- __u32 actuator_range;
+ __s32 actuator_range;
__u32 settle_time;
+ __u32 range_ends_reversed;
__s32 pos_working_low;
__s32 pos_working_high;
__s32 pos_actual_low;
__s32 pos_actual_high;
__u32 slew_rate;
__u32 circle_of_confusion;
+ __u32 num_focuser_sets;
struct nv_focuser_set focuser_set[NV_FOCUSER_SET_MAX];
-};
+} __packed;
#endif /* __NVC_FOCUS_H__ */