Lines Matching defs:vu
879 struct uvideo_unit *vu;
884 vu = kmem_zalloc(sizeof(*vu), KM_SLEEP);
885 err = uvideo_unit_init(vu, desc);
889 kmem_free(vu, sizeof(*vu));
893 return vu;
897 uvideo_unit_init(struct uvideo_unit *vu, const uvideo_descriptor_t *desc)
920 ct = &vu->u.vu_camera;
928 uvideo_unit_alloc_controls(vu, camera->bControlSize,
945 uvideo_unit_alloc_sources(vu, selector->bNrInPins,
952 pu = &vu->u.vu_processing;
957 uvideo_unit_alloc_sources(vu, 1, &processing->bSourceID);
958 uvideo_unit_alloc_controls(vu, processing->bControlSize,
967 uvideo_unit_alloc_sources(vu, extension->bNrInPins,
969 uvideo_unit_alloc_controls(vu, XU_GET_CONTROL_SIZE(extension),
983 uvideo_unit_free(struct uvideo_unit *vu)
985 uvideo_unit_free_sources(vu);
986 uvideo_unit_free_controls(vu);
987 kmem_free(vu, sizeof(*vu));
991 uvideo_unit_alloc_sources(struct uvideo_unit *vu,
995 vu->vu_nsrcs = nsrcs;
999 vu->s.vu_src_id = src_ids[0];
1001 vu->s.vu_src_id_ary =
1002 kmem_alloc(sizeof(*vu->s.vu_src_id_ary) * nsrcs, KM_SLEEP);
1003 memcpy(vu->s.vu_src_id_ary, src_ids, nsrcs);
1008 uvideo_unit_free_sources(struct uvideo_unit *vu)
1011 if (vu->vu_nsrcs <= 1)
1014 kmem_free(vu->s.vu_src_id_ary,
1015 sizeof(*vu->s.vu_src_id_ary) * vu->vu_nsrcs);
1016 vu->s.vu_src_id_ary = NULL;
1017 vu->vu_nsrcs = 0;
1021 uvideo_unit_alloc_controls(struct uvideo_unit *vu, uint8_t size,
1025 vu->vu_control_size = size;
1029 vu->vu_controls = kmem_alloc(sizeof(*vu->vu_controls) * size, KM_SLEEP);
1030 memcpy(vu->vu_controls, controls, size);
1034 uvideo_unit_free_controls(struct uvideo_unit *vu)
1037 if (vu->vu_control_size == 0)
1040 kmem_free(vu->vu_controls,
1041 sizeof(*vu->vu_controls) * vu->vu_control_size);
1042 vu->vu_controls = NULL;
1043 vu->vu_control_size = 0;