    return true;
  }
  
  void CameraBuf::release() {
    if (release_callback) {
      release_callback((void*)camera_state, cur_buf_idx);
    }
  }
  
  void CameraBuf::queue(size_t buf_idx) {
    safe_queue.push(buf_idx);
  }
 
</s> remove typedef struct CameraExpInfo {
  int op_id;
  float grey_frac;
} CameraExpInfo;

 </s> add  </s> remove void CameraBuf::init(cl_device_id device_id, cl_context context, CameraState *s, VisionIpcServer * v, int frame_cnt, VisionStreamType init_rgb_type, VisionStreamType init_yuv_type, release_cb init_release_callback) {
 </s> add void CameraBuf::init(cl_device_id device_id, cl_context context, CameraState *s, VisionIpcServer * v, int frame_cnt, VisionStreamType init_rgb_type, VisionStreamType init_yuv_type) { </s> remove typedef void (*release_cb)(void *cookie, int buf_idx);

 </s> add  </s> remove   this->release_callback = init_release_callback;
 </s> add  </s> remove   void init(cl_device_id device_id, cl_context context, CameraState *s, VisionIpcServer * v, int frame_cnt, VisionStreamType rgb_type, VisionStreamType yuv_type, release_cb release_callback=nullptr);
 </s> add   void init(cl_device_id device_id, cl_context context, CameraState *s, VisionIpcServer * v, int frame_cnt, VisionStreamType rgb_type, VisionStreamType yuv_type);
  // Empty
    return true;
  }
  
  void CameraBuf::release() {
  // Empty
  // Empty
  // Empty
  }
  
  void CameraBuf::queue(size_t buf_idx) {
    safe_queue.push(buf_idx);
  }
keep keep keep keep replace replace replace keep keep keep keep keep
 Camerad: small cleanup (#24992)

* remove CameraExpInfo

* remove release callback 
system/camerad/cameras/camera_common.cc