On Wed, Jun 30, 2021 at 3:31 PM kyrie.wu <kyrie.wu@xxxxxxxxxxxx> wrote: > +void mtk_jpegenc_timeout_work(struct work_struct *work) No code is using mtk_jpegenc_timeout_work. Have no enough context to review the code. > +{ > + struct mtk_jpeg_dev *jpeg = container_of(work, struct mtk_jpeg_dev, > + job_timeout_work.work); > + struct mtk_jpeg_ctx *ctx; > + struct mtk_jpeg_dev *master_jpeg; > + struct vb2_v4l2_buffer *src_buf, *dst_buf; > + struct mtk_jpeg_src_buf *jpeg_src_buf, *jpeg_dst_buf; > + enum vb2_buffer_state buf_state = VB2_BUF_STATE_ERROR; > + > + src_buf = jpeg->hw_param.src_buffer; > + dst_buf = jpeg->hw_param.dst_buffer; > + ctx = jpeg->hw_param.curr_ctx; Could they be inlined to above where the variables are declared?