return 0;
 }
 
-static int imx_vcm_power_up(struct v4l2_subdev *sd)
+int imx_vcm_power_up(struct v4l2_subdev *sd)
 {
        struct imx_device *dev = to_imx_sensor(sd);
        if (dev->vcm_driver && dev->vcm_driver->power_up)
        return 0;
 }
 
-static int imx_vcm_power_down(struct v4l2_subdev *sd)
+int imx_vcm_power_down(struct v4l2_subdev *sd)
 {
        struct imx_device *dev = to_imx_sensor(sd);
        if (dev->vcm_driver && dev->vcm_driver->power_down)
        return 0;
 }
 
-static int imx_vcm_init(struct v4l2_subdev *sd)
+int imx_vcm_init(struct v4l2_subdev *sd)
 {
        struct imx_device *dev = to_imx_sensor(sd);
        if (dev->vcm_driver && dev->vcm_driver->init)
        return 0;
 }
 
-static int imx_t_focus_vcm(struct v4l2_subdev *sd, u16 val)
+int imx_t_focus_vcm(struct v4l2_subdev *sd, u16 val)
 {
        struct imx_device *dev = to_imx_sensor(sd);
        if (dev->vcm_driver && dev->vcm_driver->t_focus_vcm)
        return 0;
 }
 
-static int imx_t_focus_abs(struct v4l2_subdev *sd, s32 value)
+int imx_t_focus_abs(struct v4l2_subdev *sd, s32 value)
 {
        struct imx_device *dev = to_imx_sensor(sd);
        if (dev->vcm_driver && dev->vcm_driver->t_focus_abs)
                return dev->vcm_driver->t_focus_abs(sd, value);
        return 0;
 }
-
-static int imx_t_focus_rel(struct v4l2_subdev *sd, s32 value)
+int imx_t_focus_rel(struct v4l2_subdev *sd, s32 value)
 {
        struct imx_device *dev = to_imx_sensor(sd);
        if (dev->vcm_driver && dev->vcm_driver->t_focus_rel)
        return 0;
 }
 
-static int imx_q_focus_status(struct v4l2_subdev *sd, s32 *value)
+int imx_q_focus_status(struct v4l2_subdev *sd, s32 *value)
 {
        struct imx_device *dev = to_imx_sensor(sd);
        if (dev->vcm_driver && dev->vcm_driver->q_focus_status)
        return 0;
 }
 
-static int imx_q_focus_abs(struct v4l2_subdev *sd, s32 *value)
+int imx_q_focus_abs(struct v4l2_subdev *sd, s32 *value)
 {
        struct imx_device *dev = to_imx_sensor(sd);
        if (dev->vcm_driver && dev->vcm_driver->q_focus_abs)
        return 0;
 }
 
-static int imx_t_vcm_slew(struct v4l2_subdev *sd, s32 value)
+int imx_t_vcm_slew(struct v4l2_subdev *sd, s32 value)
 {
        struct imx_device *dev = to_imx_sensor(sd);
        if (dev->vcm_driver && dev->vcm_driver->t_vcm_slew)
        return 0;
 }
 
-static int imx_t_vcm_timing(struct v4l2_subdev *sd, s32 value)
+int imx_t_vcm_timing(struct v4l2_subdev *sd, s32 value)
 {
        struct imx_device *dev = to_imx_sensor(sd);
        if (dev->vcm_driver && dev->vcm_driver->t_vcm_timing)
        return 0;
 }
 
-static int imx_g_frame_interval(struct v4l2_subdev *sd,
+int
+imx_g_frame_interval(struct v4l2_subdev *sd,
                                struct v4l2_subdev_frame_interval *interval)
 {
        struct imx_device *dev = to_imx_sensor(sd);