camif 66 drivers/devfreq/event/exynos-ppmu.c PPMU_EVENT(camif), camif 65 drivers/media/platform/s3c-camif/camif-capture.c static int s3c_camif_hw_init(struct camif_dev *camif, struct camif_vp *vp) camif 67 drivers/media/platform/s3c-camif/camif-capture.c const struct s3c_camif_variant *variant = camif->variant; camif 69 drivers/media/platform/s3c-camif/camif-capture.c if (camif->sensor.sd == NULL || vp->out_fmt == NULL) camif 74 drivers/media/platform/s3c-camif/camif-capture.c camif_hw_set_camera_bus(camif); camif 75 drivers/media/platform/s3c-camif/camif-capture.c camif_hw_set_source_format(camif); camif 76 drivers/media/platform/s3c-camif/camif-capture.c camif_hw_set_camera_crop(camif); camif 77 drivers/media/platform/s3c-camif/camif-capture.c camif_hw_set_test_pattern(camif, camif->test_pattern); camif 79 drivers/media/platform/s3c-camif/camif-capture.c camif_hw_set_effect(camif, camif->colorfx, camif 80 drivers/media/platform/s3c-camif/camif-capture.c camif->colorfx_cr, camif->colorfx_cb); camif 95 drivers/media/platform/s3c-camif/camif-capture.c static int s3c_camif_hw_vp_init(struct camif_dev *camif, struct camif_vp *vp) camif 97 drivers/media/platform/s3c-camif/camif-capture.c unsigned int ip_rev = camif->variant->ip_revision; camif 110 drivers/media/platform/s3c-camif/camif-capture.c static int sensor_set_power(struct camif_dev *camif, int on) camif 112 drivers/media/platform/s3c-camif/camif-capture.c struct cam_sensor *sensor = &camif->sensor; camif 115 drivers/media/platform/s3c-camif/camif-capture.c if (camif->sensor.power_count == !on) camif 128 drivers/media/platform/s3c-camif/camif-capture.c static int sensor_set_streaming(struct camif_dev *camif, int on) camif 130 drivers/media/platform/s3c-camif/camif-capture.c struct cam_sensor *sensor = &camif->sensor; camif 133 drivers/media/platform/s3c-camif/camif-capture.c if (camif->sensor.stream_count == !on) camif 151 drivers/media/platform/s3c-camif/camif-capture.c struct camif_dev *camif = vp->camif; camif 156 drivers/media/platform/s3c-camif/camif-capture.c spin_lock_irqsave(&camif->slock, flags); camif 174 drivers/media/platform/s3c-camif/camif-capture.c spin_unlock_irqrestore(&camif->slock, flags); camif 179 drivers/media/platform/s3c-camif/camif-capture.c return sensor_set_streaming(camif, 0); camif 184 drivers/media/platform/s3c-camif/camif-capture.c struct camif_dev *camif = vp->camif; camif 188 drivers/media/platform/s3c-camif/camif-capture.c spin_lock_irqsave(&camif->slock, flags); camif 190 drivers/media/platform/s3c-camif/camif-capture.c spin_unlock_irqrestore(&camif->slock, flags); camif 195 drivers/media/platform/s3c-camif/camif-capture.c static bool camif_is_streaming(struct camif_dev *camif) camif 200 drivers/media/platform/s3c-camif/camif-capture.c spin_lock_irqsave(&camif->slock, flags); camif 201 drivers/media/platform/s3c-camif/camif-capture.c status = camif->stream_count > 0; camif 202 drivers/media/platform/s3c-camif/camif-capture.c spin_unlock_irqrestore(&camif->slock, flags); camif 209 drivers/media/platform/s3c-camif/camif-capture.c struct camif_dev *camif = vp->camif; camif 216 drivers/media/platform/s3c-camif/camif-capture.c spin_lock_irqsave(&camif->slock, flags); camif 219 drivers/media/platform/s3c-camif/camif-capture.c spin_unlock_irqrestore(&camif->slock, flags); camif 225 drivers/media/platform/s3c-camif/camif-capture.c spin_lock_irqsave(&camif->slock, flags); camif 236 drivers/media/platform/s3c-camif/camif-capture.c spin_unlock_irqrestore(&camif->slock, flags); camif 291 drivers/media/platform/s3c-camif/camif-capture.c struct camif_dev *camif = vp->camif; camif 292 drivers/media/platform/s3c-camif/camif-capture.c unsigned int ip_rev = camif->variant->ip_revision; camif 295 drivers/media/platform/s3c-camif/camif-capture.c spin_lock(&camif->slock); camif 360 drivers/media/platform/s3c-camif/camif-capture.c camif_hw_set_camera_crop(camif); camif 363 drivers/media/platform/s3c-camif/camif-capture.c camif_hw_set_test_pattern(camif, camif->test_pattern); camif 364 drivers/media/platform/s3c-camif/camif-capture.c if (camif->variant->has_img_effect) camif 365 drivers/media/platform/s3c-camif/camif-capture.c camif_hw_set_effect(camif, camif->colorfx, camif 366 drivers/media/platform/s3c-camif/camif-capture.c camif->colorfx_cr, camif->colorfx_cb); camif 370 drivers/media/platform/s3c-camif/camif-capture.c spin_unlock(&camif->slock); camif 377 drivers/media/platform/s3c-camif/camif-capture.c struct camif_dev *camif = vp->camif; camif 387 drivers/media/platform/s3c-camif/camif-capture.c spin_lock_irqsave(&camif->slock, flags); camif 389 drivers/media/platform/s3c-camif/camif-capture.c if (camif->stream_count == 0) { camif 390 drivers/media/platform/s3c-camif/camif-capture.c camif_hw_reset(camif); camif 391 drivers/media/platform/s3c-camif/camif-capture.c ret = s3c_camif_hw_init(camif, vp); camif 393 drivers/media/platform/s3c-camif/camif-capture.c ret = s3c_camif_hw_vp_init(camif, vp); camif 395 drivers/media/platform/s3c-camif/camif-capture.c spin_unlock_irqrestore(&camif->slock, flags); camif 402 drivers/media/platform/s3c-camif/camif-capture.c spin_lock_irqsave(&camif->slock, flags); camif 416 drivers/media/platform/s3c-camif/camif-capture.c spin_unlock_irqrestore(&camif->slock, flags); camif 417 drivers/media/platform/s3c-camif/camif-capture.c ret = sensor_set_streaming(camif, 1); camif 421 drivers/media/platform/s3c-camif/camif-capture.c camif_hw_dump_regs(camif, __func__); camif 427 drivers/media/platform/s3c-camif/camif-capture.c spin_unlock_irqrestore(&camif->slock, flags); camif 483 drivers/media/platform/s3c-camif/camif-capture.c struct camif_dev *camif = vp->camif; camif 486 drivers/media/platform/s3c-camif/camif-capture.c spin_lock_irqsave(&camif->slock, flags); camif 508 drivers/media/platform/s3c-camif/camif-capture.c spin_unlock_irqrestore(&camif->slock, flags); camif 511 drivers/media/platform/s3c-camif/camif-capture.c if (sensor_set_streaming(camif, 1) == 0) camif 517 drivers/media/platform/s3c-camif/camif-capture.c camif_hw_dump_regs(camif, __func__); camif 521 drivers/media/platform/s3c-camif/camif-capture.c spin_unlock_irqrestore(&camif->slock, flags); camif 537 drivers/media/platform/s3c-camif/camif-capture.c struct camif_dev *camif = vp->camif; camif 543 drivers/media/platform/s3c-camif/camif-capture.c if (mutex_lock_interruptible(&camif->lock)) camif 550 drivers/media/platform/s3c-camif/camif-capture.c ret = pm_runtime_get_sync(camif->dev); camif 554 drivers/media/platform/s3c-camif/camif-capture.c ret = sensor_set_power(camif, 1); camif 558 drivers/media/platform/s3c-camif/camif-capture.c pm_runtime_put(camif->dev); camif 562 drivers/media/platform/s3c-camif/camif-capture.c mutex_unlock(&camif->lock); camif 569 drivers/media/platform/s3c-camif/camif-capture.c struct camif_dev *camif = vp->camif; camif 575 drivers/media/platform/s3c-camif/camif-capture.c mutex_lock(&camif->lock); camif 583 drivers/media/platform/s3c-camif/camif-capture.c sensor_set_power(camif, 0); camif 585 drivers/media/platform/s3c-camif/camif-capture.c pm_runtime_put(camif->dev); camif 588 drivers/media/platform/s3c-camif/camif-capture.c mutex_unlock(&camif->lock); camif 596 drivers/media/platform/s3c-camif/camif-capture.c struct camif_dev *camif = vp->camif; camif 599 drivers/media/platform/s3c-camif/camif-capture.c mutex_lock(&camif->lock); camif 605 drivers/media/platform/s3c-camif/camif-capture.c mutex_unlock(&camif->lock); camif 643 drivers/media/platform/s3c-camif/camif-capture.c dev_name(vp->camif->dev), vp->id); camif 651 drivers/media/platform/s3c-camif/camif-capture.c struct v4l2_subdev *sensor = vp->camif->sensor.sd; camif 712 drivers/media/platform/s3c-camif/camif-capture.c struct camif_dev *camif = vp->camif; camif 713 drivers/media/platform/s3c-camif/camif-capture.c struct v4l2_rect *crop = &camif->camif_crop; camif 726 drivers/media/platform/s3c-camif/camif-capture.c pix_lim = &camif->variant->vp_pix_limits[vp->id]; camif 807 drivers/media/platform/s3c-camif/camif-capture.c static int camif_pipeline_validate(struct camif_dev *camif) camif 814 drivers/media/platform/s3c-camif/camif-capture.c pad = media_entity_remote_pad(&camif->pads[0]); camif 820 drivers/media/platform/s3c-camif/camif-capture.c ret = v4l2_subdev_call(camif->sensor.sd, pad, get_fmt, NULL, &src_fmt); camif 824 drivers/media/platform/s3c-camif/camif-capture.c if (src_fmt.format.width != camif->mbus_fmt.width || camif 825 drivers/media/platform/s3c-camif/camif-capture.c src_fmt.format.height != camif->mbus_fmt.height || camif 826 drivers/media/platform/s3c-camif/camif-capture.c src_fmt.format.code != camif->mbus_fmt.code) camif 836 drivers/media/platform/s3c-camif/camif-capture.c struct camif_dev *camif = vp->camif; camif 837 drivers/media/platform/s3c-camif/camif-capture.c struct media_entity *sensor = &camif->sensor.sd->entity; camif 851 drivers/media/platform/s3c-camif/camif-capture.c ret = media_pipeline_start(sensor, camif->m_pipeline); camif 855 drivers/media/platform/s3c-camif/camif-capture.c ret = camif_pipeline_validate(camif); camif 868 drivers/media/platform/s3c-camif/camif-capture.c struct camif_dev *camif = vp->camif; camif 881 drivers/media/platform/s3c-camif/camif-capture.c media_pipeline_stop(&camif->sensor.sd->entity); camif 1002 drivers/media/platform/s3c-camif/camif-capture.c static void __camif_try_compose(struct camif_dev *camif, struct camif_vp *vp, camif 1006 drivers/media/platform/s3c-camif/camif-capture.c if (camif->variant->ip_revision == S3C244X_CAMIF_IP_REV) { camif 1018 drivers/media/platform/s3c-camif/camif-capture.c struct camif_dev *camif = vp->camif; camif 1026 drivers/media/platform/s3c-camif/camif-capture.c __camif_try_compose(camif, vp, &rect); camif 1029 drivers/media/platform/s3c-camif/camif-capture.c spin_lock_irqsave(&camif->slock, flags); camif 1032 drivers/media/platform/s3c-camif/camif-capture.c spin_unlock_irqrestore(&camif->slock, flags); camif 1071 drivers/media/platform/s3c-camif/camif-capture.c struct camif_dev *camif = vp->camif; camif 1077 drivers/media/platform/s3c-camif/camif-capture.c spin_lock_irqsave(&camif->slock, flags); camif 1090 drivers/media/platform/s3c-camif/camif-capture.c spin_unlock_irqrestore(&camif->slock, flags); camif 1099 drivers/media/platform/s3c-camif/camif-capture.c int s3c_camif_register_video_node(struct camif_dev *camif, int idx) camif 1101 drivers/media/platform/s3c-camif/camif-capture.c struct camif_vp *vp = &camif->vp[idx]; camif 1113 drivers/media/platform/s3c-camif/camif-capture.c vfd->v4l2_dev = &camif->v4l2_dev; camif 1116 drivers/media/platform/s3c-camif/camif-capture.c vfd->lock = &camif->lock; camif 1130 drivers/media/platform/s3c-camif/camif-capture.c q->lock = &vp->camif->lock; camif 1131 drivers/media/platform/s3c-camif/camif-capture.c q->dev = camif->v4l2_dev.dev; camif 1165 drivers/media/platform/s3c-camif/camif-capture.c v4l2_info(&camif->v4l2_dev, "registered %s as /dev/%s\n", camif 1178 drivers/media/platform/s3c-camif/camif-capture.c void s3c_camif_unregister_video_node(struct camif_dev *camif, int idx) camif 1180 drivers/media/platform/s3c-camif/camif-capture.c struct video_device *vfd = &camif->vp[idx].vdev; camif 1216 drivers/media/platform/s3c-camif/camif-capture.c struct camif_dev *camif = v4l2_get_subdevdata(sd); camif 1225 drivers/media/platform/s3c-camif/camif-capture.c mutex_lock(&camif->lock); camif 1230 drivers/media/platform/s3c-camif/camif-capture.c *mf = camif->mbus_fmt; camif 1235 drivers/media/platform/s3c-camif/camif-capture.c mf->width = camif->camif_crop.width; camif 1236 drivers/media/platform/s3c-camif/camif-capture.c mf->height = camif->camif_crop.height; camif 1237 drivers/media/platform/s3c-camif/camif-capture.c mf->code = camif->mbus_fmt.code; camif 1241 drivers/media/platform/s3c-camif/camif-capture.c mutex_unlock(&camif->lock); camif 1247 drivers/media/platform/s3c-camif/camif-capture.c static void __camif_subdev_try_format(struct camif_dev *camif, camif 1250 drivers/media/platform/s3c-camif/camif-capture.c const struct s3c_camif_variant *variant = camif->variant; camif 1270 drivers/media/platform/s3c-camif/camif-capture.c struct v4l2_rect *crop = &camif->camif_crop; camif 1277 drivers/media/platform/s3c-camif/camif-capture.c v4l2_dbg(1, debug, &camif->subdev, "%ux%u\n", mf->width, mf->height); camif 1284 drivers/media/platform/s3c-camif/camif-capture.c struct camif_dev *camif = v4l2_get_subdevdata(sd); camif 1286 drivers/media/platform/s3c-camif/camif-capture.c struct v4l2_rect *crop = &camif->camif_crop; camif 1294 drivers/media/platform/s3c-camif/camif-capture.c mutex_lock(&camif->lock); camif 1300 drivers/media/platform/s3c-camif/camif-capture.c if (vb2_is_busy(&camif->vp[VP_CODEC].vb_queue) || camif 1301 drivers/media/platform/s3c-camif/camif-capture.c vb2_is_busy(&camif->vp[VP_PREVIEW].vb_queue)) { camif 1302 drivers/media/platform/s3c-camif/camif-capture.c mutex_unlock(&camif->lock); camif 1306 drivers/media/platform/s3c-camif/camif-capture.c __camif_subdev_try_format(camif, mf, fmt->pad); camif 1311 drivers/media/platform/s3c-camif/camif-capture.c mutex_unlock(&camif->lock); camif 1317 drivers/media/platform/s3c-camif/camif-capture.c camif->mbus_fmt = *mf; camif 1328 drivers/media/platform/s3c-camif/camif-capture.c struct camif_frame *frame = &camif->vp[i].out_frame; camif 1337 drivers/media/platform/s3c-camif/camif-capture.c mf->code = camif->mbus_fmt.code; camif 1343 drivers/media/platform/s3c-camif/camif-capture.c mutex_unlock(&camif->lock); camif 1351 drivers/media/platform/s3c-camif/camif-capture.c struct camif_dev *camif = v4l2_get_subdevdata(sd); camif 1352 drivers/media/platform/s3c-camif/camif-capture.c struct v4l2_rect *crop = &camif->camif_crop; camif 1353 drivers/media/platform/s3c-camif/camif-capture.c struct v4l2_mbus_framefmt *mf = &camif->mbus_fmt; camif 1365 drivers/media/platform/s3c-camif/camif-capture.c mutex_lock(&camif->lock); camif 1376 drivers/media/platform/s3c-camif/camif-capture.c mutex_unlock(&camif->lock); camif 1385 drivers/media/platform/s3c-camif/camif-capture.c static void __camif_try_crop(struct camif_dev *camif, struct v4l2_rect *r) camif 1387 drivers/media/platform/s3c-camif/camif-capture.c struct v4l2_mbus_framefmt *mf = &camif->mbus_fmt; camif 1388 drivers/media/platform/s3c-camif/camif-capture.c const struct camif_pix_limits *pix_lim = &camif->variant->pix_limits; camif 1416 drivers/media/platform/s3c-camif/camif-capture.c if (camif->variant->ip_revision == S3C244X_CAMIF_IP_REV && camif 1417 drivers/media/platform/s3c-camif/camif-capture.c camif_is_streaming(camif)) { camif 1421 drivers/media/platform/s3c-camif/camif-capture.c struct v4l2_rect *or = &camif->vp[i].out_frame.rect; camif 1424 drivers/media/platform/s3c-camif/camif-capture.c *r = camif->camif_crop; camif 1430 drivers/media/platform/s3c-camif/camif-capture.c v4l2_dbg(1, debug, &camif->v4l2_dev, "crop: (%d,%d)/%dx%d, fmt: %ux%u\n", camif 1438 drivers/media/platform/s3c-camif/camif-capture.c struct camif_dev *camif = v4l2_get_subdevdata(sd); camif 1439 drivers/media/platform/s3c-camif/camif-capture.c struct v4l2_rect *crop = &camif->camif_crop; camif 1445 drivers/media/platform/s3c-camif/camif-capture.c mutex_lock(&camif->lock); camif 1446 drivers/media/platform/s3c-camif/camif-capture.c __camif_try_crop(camif, &sel->r); camif 1454 drivers/media/platform/s3c-camif/camif-capture.c spin_lock_irqsave(&camif->slock, flags); camif 1458 drivers/media/platform/s3c-camif/camif-capture.c struct camif_vp *vp = &camif->vp[i]; camif 1466 drivers/media/platform/s3c-camif/camif-capture.c spin_unlock_irqrestore(&camif->slock, flags); camif 1468 drivers/media/platform/s3c-camif/camif-capture.c mutex_unlock(&camif->lock); camif 1472 drivers/media/platform/s3c-camif/camif-capture.c camif->mbus_fmt.width, camif->mbus_fmt.height); camif 1491 drivers/media/platform/s3c-camif/camif-capture.c struct camif_dev *camif = container_of(ctrl->handler, struct camif_dev, camif 1495 drivers/media/platform/s3c-camif/camif-capture.c spin_lock_irqsave(&camif->slock, flags); camif 1499 drivers/media/platform/s3c-camif/camif-capture.c camif->colorfx = camif->ctrl_colorfx->val; camif 1503 drivers/media/platform/s3c-camif/camif-capture.c camif->colorfx_cb = 115; camif 1504 drivers/media/platform/s3c-camif/camif-capture.c camif->colorfx_cr = 145; camif 1507 drivers/media/platform/s3c-camif/camif-capture.c camif->colorfx_cb = camif->ctrl_colorfx_cbcr->val >> 8; camif 1508 drivers/media/platform/s3c-camif/camif-capture.c camif->colorfx_cr = camif->ctrl_colorfx_cbcr->val & 0xff; camif 1512 drivers/media/platform/s3c-camif/camif-capture.c camif->colorfx_cb = 128; camif 1513 drivers/media/platform/s3c-camif/camif-capture.c camif->colorfx_cr = 128; camif 1517 drivers/media/platform/s3c-camif/camif-capture.c camif->test_pattern = camif->ctrl_test_pattern->val; camif 1523 drivers/media/platform/s3c-camif/camif-capture.c camif->vp[VP_CODEC].state |= ST_VP_CONFIG; camif 1524 drivers/media/platform/s3c-camif/camif-capture.c camif->vp[VP_PREVIEW].state |= ST_VP_CONFIG; camif 1525 drivers/media/platform/s3c-camif/camif-capture.c spin_unlock_irqrestore(&camif->slock, flags); camif 1541 drivers/media/platform/s3c-camif/camif-capture.c int s3c_camif_create_subdev(struct camif_dev *camif) camif 1543 drivers/media/platform/s3c-camif/camif-capture.c struct v4l2_ctrl_handler *handler = &camif->ctrl_handler; camif 1544 drivers/media/platform/s3c-camif/camif-capture.c struct v4l2_subdev *sd = &camif->subdev; camif 1551 drivers/media/platform/s3c-camif/camif-capture.c camif->pads[CAMIF_SD_PAD_SINK].flags = MEDIA_PAD_FL_SINK; camif 1552 drivers/media/platform/s3c-camif/camif-capture.c camif->pads[CAMIF_SD_PAD_SOURCE_C].flags = MEDIA_PAD_FL_SOURCE; camif 1553 drivers/media/platform/s3c-camif/camif-capture.c camif->pads[CAMIF_SD_PAD_SOURCE_P].flags = MEDIA_PAD_FL_SOURCE; camif 1556 drivers/media/platform/s3c-camif/camif-capture.c camif->pads); camif 1561 drivers/media/platform/s3c-camif/camif-capture.c camif->ctrl_test_pattern = v4l2_ctrl_new_std_menu_items(handler, camif 1566 drivers/media/platform/s3c-camif/camif-capture.c if (camif->variant->has_img_effect) { camif 1567 drivers/media/platform/s3c-camif/camif-capture.c camif->ctrl_colorfx = v4l2_ctrl_new_std_menu(handler, camif 1572 drivers/media/platform/s3c-camif/camif-capture.c camif->ctrl_colorfx_cbcr = v4l2_ctrl_new_std(handler, camif 1583 drivers/media/platform/s3c-camif/camif-capture.c if (camif->variant->has_img_effect) camif 1584 drivers/media/platform/s3c-camif/camif-capture.c v4l2_ctrl_auto_cluster(2, &camif->ctrl_colorfx, camif 1588 drivers/media/platform/s3c-camif/camif-capture.c v4l2_set_subdevdata(sd, camif); camif 1593 drivers/media/platform/s3c-camif/camif-capture.c void s3c_camif_unregister_subdev(struct camif_dev *camif) camif 1595 drivers/media/platform/s3c-camif/camif-capture.c struct v4l2_subdev *sd = &camif->subdev; camif 1603 drivers/media/platform/s3c-camif/camif-capture.c v4l2_ctrl_handler_free(&camif->ctrl_handler); camif 1607 drivers/media/platform/s3c-camif/camif-capture.c int s3c_camif_set_defaults(struct camif_dev *camif) camif 1609 drivers/media/platform/s3c-camif/camif-capture.c unsigned int ip_rev = camif->variant->ip_revision; camif 1613 drivers/media/platform/s3c-camif/camif-capture.c struct camif_vp *vp = &camif->vp[i]; camif 1616 drivers/media/platform/s3c-camif/camif-capture.c vp->camif = camif; camif 1618 drivers/media/platform/s3c-camif/camif-capture.c vp->offset = camif->variant->vp_offset; camif 1642 drivers/media/platform/s3c-camif/camif-capture.c memset(&camif->mbus_fmt, 0, sizeof(camif->mbus_fmt)); camif 1643 drivers/media/platform/s3c-camif/camif-capture.c camif->mbus_fmt.width = CAMIF_DEF_WIDTH; camif 1644 drivers/media/platform/s3c-camif/camif-capture.c camif->mbus_fmt.height = CAMIF_DEF_HEIGHT; camif 1645 drivers/media/platform/s3c-camif/camif-capture.c camif->mbus_fmt.code = camif_mbus_formats[0]; camif 1647 drivers/media/platform/s3c-camif/camif-capture.c memset(&camif->camif_crop, 0, sizeof(camif->camif_crop)); camif 1648 drivers/media/platform/s3c-camif/camif-capture.c camif->camif_crop.width = CAMIF_DEF_WIDTH; camif 1649 drivers/media/platform/s3c-camif/camif-capture.c camif->camif_crop.height = CAMIF_DEF_HEIGHT; camif 145 drivers/media/platform/s3c-camif/camif-core.c struct v4l2_rect *camif_crop = &vp->camif->camif_crop; camif 187 drivers/media/platform/s3c-camif/camif-core.c static int camif_register_sensor(struct camif_dev *camif) camif 189 drivers/media/platform/s3c-camif/camif-core.c struct s3c_camif_sensor_info *sensor = &camif->pdata.sensor; camif 190 drivers/media/platform/s3c-camif/camif-core.c struct v4l2_device *v4l2_dev = &camif->v4l2_dev; camif 196 drivers/media/platform/s3c-camif/camif-core.c camif->sensor.sd = NULL; camif 216 drivers/media/platform/s3c-camif/camif-core.c camif->sensor.sd = sd; camif 229 drivers/media/platform/s3c-camif/camif-core.c v4l2_subdev_call(&camif->subdev, pad, set_fmt, NULL, &format); camif 237 drivers/media/platform/s3c-camif/camif-core.c static void camif_unregister_sensor(struct camif_dev *camif) camif 239 drivers/media/platform/s3c-camif/camif-core.c struct v4l2_subdev *sd = camif->sensor.sd; camif 248 drivers/media/platform/s3c-camif/camif-core.c camif->sensor.sd = NULL; camif 253 drivers/media/platform/s3c-camif/camif-core.c static int camif_create_media_links(struct camif_dev *camif) camif 257 drivers/media/platform/s3c-camif/camif-core.c ret = media_create_pad_link(&camif->sensor.sd->entity, 0, camif 258 drivers/media/platform/s3c-camif/camif-core.c &camif->subdev.entity, CAMIF_SD_PAD_SINK, camif 265 drivers/media/platform/s3c-camif/camif-core.c ret = media_create_pad_link(&camif->subdev.entity, i, camif 266 drivers/media/platform/s3c-camif/camif-core.c &camif->vp[i - 1].vdev.entity, 0, camif 274 drivers/media/platform/s3c-camif/camif-core.c static int camif_register_video_nodes(struct camif_dev *camif) camif 276 drivers/media/platform/s3c-camif/camif-core.c int ret = s3c_camif_register_video_node(camif, VP_CODEC); camif 280 drivers/media/platform/s3c-camif/camif-core.c return s3c_camif_register_video_node(camif, VP_PREVIEW); camif 283 drivers/media/platform/s3c-camif/camif-core.c static void camif_unregister_video_nodes(struct camif_dev *camif) camif 285 drivers/media/platform/s3c-camif/camif-core.c s3c_camif_unregister_video_node(camif, VP_CODEC); camif 286 drivers/media/platform/s3c-camif/camif-core.c s3c_camif_unregister_video_node(camif, VP_PREVIEW); camif 289 drivers/media/platform/s3c-camif/camif-core.c static void camif_unregister_media_entities(struct camif_dev *camif) camif 291 drivers/media/platform/s3c-camif/camif-core.c camif_unregister_video_nodes(camif); camif 292 drivers/media/platform/s3c-camif/camif-core.c camif_unregister_sensor(camif); camif 293 drivers/media/platform/s3c-camif/camif-core.c s3c_camif_unregister_subdev(camif); camif 299 drivers/media/platform/s3c-camif/camif-core.c static int camif_media_dev_init(struct camif_dev *camif) camif 301 drivers/media/platform/s3c-camif/camif-core.c struct media_device *md = &camif->media_dev; camif 302 drivers/media/platform/s3c-camif/camif-core.c struct v4l2_device *v4l2_dev = &camif->v4l2_dev; camif 303 drivers/media/platform/s3c-camif/camif-core.c unsigned int ip_rev = camif->variant->ip_revision; camif 312 drivers/media/platform/s3c-camif/camif-core.c md->dev = camif->dev; camif 319 drivers/media/platform/s3c-camif/camif-core.c ret = v4l2_device_register(camif->dev, v4l2_dev); camif 326 drivers/media/platform/s3c-camif/camif-core.c static void camif_clk_put(struct camif_dev *camif) camif 331 drivers/media/platform/s3c-camif/camif-core.c if (IS_ERR(camif->clock[i])) camif 333 drivers/media/platform/s3c-camif/camif-core.c clk_unprepare(camif->clock[i]); camif 334 drivers/media/platform/s3c-camif/camif-core.c clk_put(camif->clock[i]); camif 335 drivers/media/platform/s3c-camif/camif-core.c camif->clock[i] = ERR_PTR(-EINVAL); camif 339 drivers/media/platform/s3c-camif/camif-core.c static int camif_clk_get(struct camif_dev *camif) camif 344 drivers/media/platform/s3c-camif/camif-core.c camif->clock[i] = ERR_PTR(-EINVAL); camif 347 drivers/media/platform/s3c-camif/camif-core.c camif->clock[i] = clk_get(camif->dev, camif_clocks[i]); camif 348 drivers/media/platform/s3c-camif/camif-core.c if (IS_ERR(camif->clock[i])) { camif 349 drivers/media/platform/s3c-camif/camif-core.c ret = PTR_ERR(camif->clock[i]); camif 352 drivers/media/platform/s3c-camif/camif-core.c ret = clk_prepare(camif->clock[i]); camif 354 drivers/media/platform/s3c-camif/camif-core.c clk_put(camif->clock[i]); camif 355 drivers/media/platform/s3c-camif/camif-core.c camif->clock[i] = NULL; camif 361 drivers/media/platform/s3c-camif/camif-core.c camif_clk_put(camif); camif 362 drivers/media/platform/s3c-camif/camif-core.c dev_err(camif->dev, "failed to get clock: %s\n", camif 373 drivers/media/platform/s3c-camif/camif-core.c struct camif_dev *camif) camif 378 drivers/media/platform/s3c-camif/camif-core.c struct camif_vp *vp = &camif->vp[i]; camif 402 drivers/media/platform/s3c-camif/camif-core.c struct camif_dev *camif; camif 406 drivers/media/platform/s3c-camif/camif-core.c camif = devm_kzalloc(dev, sizeof(*camif), GFP_KERNEL); camif 407 drivers/media/platform/s3c-camif/camif-core.c if (!camif) camif 410 drivers/media/platform/s3c-camif/camif-core.c spin_lock_init(&camif->slock); camif 411 drivers/media/platform/s3c-camif/camif-core.c mutex_init(&camif->lock); camif 413 drivers/media/platform/s3c-camif/camif-core.c camif->dev = dev; camif 420 drivers/media/platform/s3c-camif/camif-core.c camif->pdata = *pdata; camif 422 drivers/media/platform/s3c-camif/camif-core.c camif->variant = drvdata->variant; camif 426 drivers/media/platform/s3c-camif/camif-core.c camif->io_base = devm_ioremap_resource(dev, mres); camif 427 drivers/media/platform/s3c-camif/camif-core.c if (IS_ERR(camif->io_base)) camif 428 drivers/media/platform/s3c-camif/camif-core.c return PTR_ERR(camif->io_base); camif 430 drivers/media/platform/s3c-camif/camif-core.c ret = camif_request_irqs(pdev, camif); camif 438 drivers/media/platform/s3c-camif/camif-core.c ret = s3c_camif_create_subdev(camif); camif 442 drivers/media/platform/s3c-camif/camif-core.c ret = camif_clk_get(camif); camif 446 drivers/media/platform/s3c-camif/camif-core.c platform_set_drvdata(pdev, camif); camif 447 drivers/media/platform/s3c-camif/camif-core.c clk_set_rate(camif->clock[CLK_CAM], camif 448 drivers/media/platform/s3c-camif/camif-core.c camif->pdata.sensor.clock_frequency); camif 451 drivers/media/platform/s3c-camif/camif-core.c clk_get_rate(camif->clock[CLK_CAM])); camif 457 drivers/media/platform/s3c-camif/camif-core.c s3c_camif_set_defaults(camif); camif 465 drivers/media/platform/s3c-camif/camif-core.c ret = camif_media_dev_init(camif); camif 469 drivers/media/platform/s3c-camif/camif-core.c ret = camif_register_sensor(camif); camif 473 drivers/media/platform/s3c-camif/camif-core.c ret = v4l2_device_register_subdev(&camif->v4l2_dev, &camif->subdev); camif 477 drivers/media/platform/s3c-camif/camif-core.c ret = v4l2_device_register_subdev_nodes(&camif->v4l2_dev); camif 481 drivers/media/platform/s3c-camif/camif-core.c ret = camif_register_video_nodes(camif); camif 485 drivers/media/platform/s3c-camif/camif-core.c ret = camif_create_media_links(camif); camif 489 drivers/media/platform/s3c-camif/camif-core.c ret = media_device_register(&camif->media_dev); camif 497 drivers/media/platform/s3c-camif/camif-core.c v4l2_device_unregister(&camif->v4l2_dev); camif 498 drivers/media/platform/s3c-camif/camif-core.c media_device_unregister(&camif->media_dev); camif 499 drivers/media/platform/s3c-camif/camif-core.c media_device_cleanup(&camif->media_dev); camif 500 drivers/media/platform/s3c-camif/camif-core.c camif_unregister_media_entities(camif); camif 505 drivers/media/platform/s3c-camif/camif-core.c camif_clk_put(camif); camif 507 drivers/media/platform/s3c-camif/camif-core.c s3c_camif_unregister_subdev(camif); camif 515 drivers/media/platform/s3c-camif/camif-core.c struct camif_dev *camif = platform_get_drvdata(pdev); camif 516 drivers/media/platform/s3c-camif/camif-core.c struct s3c_camif_plat_data *pdata = &camif->pdata; camif 518 drivers/media/platform/s3c-camif/camif-core.c media_device_unregister(&camif->media_dev); camif 519 drivers/media/platform/s3c-camif/camif-core.c media_device_cleanup(&camif->media_dev); camif 520 drivers/media/platform/s3c-camif/camif-core.c camif_unregister_media_entities(camif); camif 521 drivers/media/platform/s3c-camif/camif-core.c v4l2_device_unregister(&camif->v4l2_dev); camif 524 drivers/media/platform/s3c-camif/camif-core.c camif_clk_put(camif); camif 532 drivers/media/platform/s3c-camif/camif-core.c struct camif_dev *camif = dev_get_drvdata(dev); camif 534 drivers/media/platform/s3c-camif/camif-core.c clk_enable(camif->clock[CLK_GATE]); camif 536 drivers/media/platform/s3c-camif/camif-core.c clk_enable(camif->clock[CLK_CAM]); camif 542 drivers/media/platform/s3c-camif/camif-core.c struct camif_dev *camif = dev_get_drvdata(dev); camif 545 drivers/media/platform/s3c-camif/camif-core.c clk_disable(camif->clock[CLK_CAM]); camif 547 drivers/media/platform/s3c-camif/camif-core.c clk_disable(camif->clock[CLK_GATE]); camif 209 drivers/media/platform/s3c-camif/camif-core.h struct camif_dev *camif; camif 327 drivers/media/platform/s3c-camif/camif-core.h int s3c_camif_register_video_node(struct camif_dev *camif, int idx); camif 328 drivers/media/platform/s3c-camif/camif-core.h void s3c_camif_unregister_video_node(struct camif_dev *camif, int idx); camif 330 drivers/media/platform/s3c-camif/camif-core.h int s3c_camif_create_subdev(struct camif_dev *camif); camif 331 drivers/media/platform/s3c-camif/camif-core.h void s3c_camif_unregister_subdev(struct camif_dev *camif); camif 332 drivers/media/platform/s3c-camif/camif-core.h int s3c_camif_set_defaults(struct camif_dev *camif); camif 16 drivers/media/platform/s3c-camif/camif-regs.c void camif_hw_reset(struct camif_dev *camif) camif 20 drivers/media/platform/s3c-camif/camif-regs.c cfg = camif_read(camif, S3C_CAMIF_REG_CISRCFMT); camif 22 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, S3C_CAMIF_REG_CISRCFMT, cfg); camif 25 drivers/media/platform/s3c-camif/camif-regs.c cfg = camif_read(camif, S3C_CAMIF_REG_CIGCTRL); camif 27 drivers/media/platform/s3c-camif/camif-regs.c if (camif->variant->ip_revision == S3C6410_CAMIF_IP_REV) camif 29 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, S3C_CAMIF_REG_CIGCTRL, cfg); camif 32 drivers/media/platform/s3c-camif/camif-regs.c cfg = camif_read(camif, S3C_CAMIF_REG_CIGCTRL); camif 34 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, S3C_CAMIF_REG_CIGCTRL, cfg); camif 40 drivers/media/platform/s3c-camif/camif-regs.c u32 cfg = camif_read(vp->camif, S3C_CAMIF_REG_CIGCTRL); camif 42 drivers/media/platform/s3c-camif/camif-regs.c camif_write(vp->camif, S3C_CAMIF_REG_CIGCTRL, cfg); camif 49 drivers/media/platform/s3c-camif/camif-regs.c void camif_hw_set_test_pattern(struct camif_dev *camif, unsigned int pattern) camif 51 drivers/media/platform/s3c-camif/camif-regs.c u32 cfg = camif_read(camif, S3C_CAMIF_REG_CIGCTRL); camif 54 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, S3C_CAMIF_REG_CIGCTRL, cfg); camif 57 drivers/media/platform/s3c-camif/camif-regs.c void camif_hw_set_effect(struct camif_dev *camif, unsigned int effect, camif 79 drivers/media/platform/s3c-camif/camif-regs.c cfg = camif_read(camif, S3C_CAMIF_REG_CIIMGEFF(camif->vp->offset)); camif 84 drivers/media/platform/s3c-camif/camif-regs.c if (camif->variant->ip_revision >= S3C6400_CAMIF_IP_REV) { camif 92 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, S3C_CAMIF_REG_CIIMGEFF(camif->vp->offset), cfg); camif 103 drivers/media/platform/s3c-camif/camif-regs.c void camif_hw_set_source_format(struct camif_dev *camif) camif 105 drivers/media/platform/s3c-camif/camif-regs.c struct v4l2_mbus_framefmt *mf = &camif->mbus_fmt; camif 115 drivers/media/platform/s3c-camif/camif-regs.c dev_err(camif->dev, camif 120 drivers/media/platform/s3c-camif/camif-regs.c cfg = camif_read(camif, S3C_CAMIF_REG_CISRCFMT); camif 124 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, S3C_CAMIF_REG_CISRCFMT, cfg); camif 128 drivers/media/platform/s3c-camif/camif-regs.c void camif_hw_set_camera_crop(struct camif_dev *camif) camif 130 drivers/media/platform/s3c-camif/camif-regs.c struct v4l2_mbus_framefmt *mf = &camif->mbus_fmt; camif 131 drivers/media/platform/s3c-camif/camif-regs.c struct v4l2_rect *crop = &camif->camif_crop; camif 136 drivers/media/platform/s3c-camif/camif-regs.c cfg = camif_read(camif, S3C_CAMIF_REG_CIWDOFST); camif 141 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, S3C_CAMIF_REG_CIWDOFST, cfg); camif 143 drivers/media/platform/s3c-camif/camif-regs.c if (camif->variant->ip_revision == S3C6410_CAMIF_IP_REV) { camif 147 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, S3C_CAMIF_REG_CIWDOFST2, cfg); camif 153 drivers/media/platform/s3c-camif/camif-regs.c struct camif_dev *camif = vp->camif; camif 156 drivers/media/platform/s3c-camif/camif-regs.c cfg = camif_read(camif, S3C_CAMIF_REG_CIWDOFST); camif 163 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, S3C_CAMIF_REG_CIWDOFST, cfg); camif 167 drivers/media/platform/s3c-camif/camif-regs.c void camif_hw_set_camera_bus(struct camif_dev *camif) camif 169 drivers/media/platform/s3c-camif/camif-regs.c unsigned int flags = camif->pdata.sensor.flags; camif 171 drivers/media/platform/s3c-camif/camif-regs.c u32 cfg = camif_read(camif, S3C_CAMIF_REG_CIGCTRL); camif 189 drivers/media/platform/s3c-camif/camif-regs.c if (camif->variant->ip_revision == S3C6410_CAMIF_IP_REV) { camif 197 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, S3C_CAMIF_REG_CIGCTRL, cfg); camif 203 drivers/media/platform/s3c-camif/camif-regs.c struct camif_dev *camif = vp->camif; camif 205 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, S3C_CAMIF_REG_CIYSA(vp->id, i), paddr->y); camif 206 drivers/media/platform/s3c-camif/camif-regs.c if (camif->variant->ip_revision == S3C6410_CAMIF_IP_REV camif 208 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, S3C_CAMIF_REG_CICBSA(vp->id, i), camif 210 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, S3C_CAMIF_REG_CICRSA(vp->id, i), camif 223 drivers/media/platform/s3c-camif/camif-regs.c cfg = camif_read(vp->camif, S3C_CAMIF_REG_CITRGFMT(vp->id, vp->offset)); camif 226 drivers/media/platform/s3c-camif/camif-regs.c camif_write(vp->camif, S3C_CAMIF_REG_CITRGFMT(vp->id, vp->offset), cfg); camif 257 drivers/media/platform/s3c-camif/camif-regs.c struct camif_dev *camif = vp->camif; camif 265 drivers/media/platform/s3c-camif/camif-regs.c if (camif->variant->ip_revision == S3C6410_CAMIF_IP_REV) { camif 270 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, S3C_CAMIF_REG_CISSY(vp->id), cfg); camif 271 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, S3C_CAMIF_REG_CISSCB(vp->id), cfg); camif 272 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, S3C_CAMIF_REG_CISSCR(vp->id), cfg); camif 278 drivers/media/platform/s3c-camif/camif-regs.c cfg = camif_read(camif, S3C_CAMIF_REG_CICTRL(vp->id, vp->offset)); camif 284 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, S3C_CAMIF_REG_CICTRL(vp->id, vp->offset), cfg); camif 291 drivers/media/platform/s3c-camif/camif-regs.c u32 cfg = camif_read(vp->camif, S3C_CAMIF_REG_MSCTRL(vp->id)); camif 293 drivers/media/platform/s3c-camif/camif-regs.c camif_write(vp->camif, S3C_CAMIF_REG_MSCTRL(vp->id), cfg); camif 298 drivers/media/platform/s3c-camif/camif-regs.c struct camif_dev *camif = vp->camif; camif 305 drivers/media/platform/s3c-camif/camif-regs.c cfg = camif_read(camif, S3C_CAMIF_REG_CITRGFMT(vp->id, vp->offset)); camif 308 drivers/media/platform/s3c-camif/camif-regs.c if (camif->variant->ip_revision == S3C244X_CAMIF_IP_REV) { camif 337 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, S3C_CAMIF_REG_CITRGFMT(vp->id, vp->offset), cfg); camif 340 drivers/media/platform/s3c-camif/camif-regs.c cfg = camif_read(camif, S3C_CAMIF_REG_CITAREA(vp->id, vp->offset)); camif 343 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, S3C_CAMIF_REG_CITAREA(vp->id, vp->offset), cfg); camif 348 drivers/media/platform/s3c-camif/camif-regs.c u32 cfg = camif_read(vp->camif, camif 358 drivers/media/platform/s3c-camif/camif-regs.c camif_write(vp->camif, S3C_CAMIF_REG_CITRGFMT(vp->id, vp->offset), cfg); camif 363 drivers/media/platform/s3c-camif/camif-regs.c struct camif_dev *camif = vp->camif; camif 373 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, addr, cfg); camif 376 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, S3C_CAMIF_REG_CISCPREDST(vp->id, vp->offset), cfg); camif 381 drivers/media/platform/s3c-camif/camif-regs.c struct camif_dev *camif = vp->camif; camif 388 drivers/media/platform/s3c-camif/camif-regs.c cfg = camif_read(camif, S3C_CAMIF_REG_CISCCTRL(vp->id, vp->offset)); camif 420 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, S3C_CAMIF_REG_CISCCTRL(vp->id, vp->offset), cfg); camif 428 drivers/media/platform/s3c-camif/camif-regs.c struct camif_dev *camif = vp->camif; camif 435 drivers/media/platform/s3c-camif/camif-regs.c cfg = camif_read(camif, S3C_CAMIF_REG_CISCCTRL(vp->id, vp->offset)); camif 469 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, S3C_CAMIF_REG_CISCCTRL(vp->id, vp->offset), cfg); camif 477 drivers/media/platform/s3c-camif/camif-regs.c unsigned int ip_rev = vp->camif->variant->ip_revision; camif 490 drivers/media/platform/s3c-camif/camif-regs.c cfg = camif_read(vp->camif, addr); camif 495 drivers/media/platform/s3c-camif/camif-regs.c camif_write(vp->camif, addr, cfg); camif 503 drivers/media/platform/s3c-camif/camif-regs.c cfg = camif_read(vp->camif, addr); camif 508 drivers/media/platform/s3c-camif/camif-regs.c camif_write(vp->camif, addr, cfg); camif 513 drivers/media/platform/s3c-camif/camif-regs.c struct camif_dev *camif = vp->camif; camif 516 drivers/media/platform/s3c-camif/camif-regs.c cfg = camif_read(camif, S3C_CAMIF_REG_CIIMGCPT(vp->offset)); camif 517 drivers/media/platform/s3c-camif/camif-regs.c camif->stream_count++; camif 519 drivers/media/platform/s3c-camif/camif-regs.c if (camif->variant->ip_revision == S3C6410_CAMIF_IP_REV) camif 525 drivers/media/platform/s3c-camif/camif-regs.c if (camif->stream_count == 1) camif 528 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, S3C_CAMIF_REG_CIIMGCPT(vp->offset), cfg); camif 531 drivers/media/platform/s3c-camif/camif-regs.c cfg, camif->stream_count); camif 536 drivers/media/platform/s3c-camif/camif-regs.c struct camif_dev *camif = vp->camif; camif 539 drivers/media/platform/s3c-camif/camif-regs.c cfg = camif_read(camif, S3C_CAMIF_REG_CIIMGCPT(vp->offset)); camif 542 drivers/media/platform/s3c-camif/camif-regs.c if (WARN_ON(--(camif->stream_count) < 0)) camif 543 drivers/media/platform/s3c-camif/camif-regs.c camif->stream_count = 0; camif 545 drivers/media/platform/s3c-camif/camif-regs.c if (camif->stream_count == 0) camif 549 drivers/media/platform/s3c-camif/camif-regs.c cfg, camif->stream_count); camif 551 drivers/media/platform/s3c-camif/camif-regs.c camif_write(camif, S3C_CAMIF_REG_CIIMGCPT(vp->offset), cfg); camif 554 drivers/media/platform/s3c-camif/camif-regs.c void camif_hw_dump_regs(struct camif_dev *camif, const char *label) camif 600 drivers/media/platform/s3c-camif/camif-regs.c u32 cfg = readl(camif->io_base + registers[i].offset); camif 601 drivers/media/platform/s3c-camif/camif-regs.c dev_info(camif->dev, "%s:\t0x%08x\n", registers[i].name, cfg); camif 240 drivers/media/platform/s3c-camif/camif-regs.h void camif_hw_reset(struct camif_dev *camif); camif 248 drivers/media/platform/s3c-camif/camif-regs.h void camif_hw_set_camera_bus(struct camif_dev *camif); camif 249 drivers/media/platform/s3c-camif/camif-regs.h void camif_hw_set_source_format(struct camif_dev *camif); camif 250 drivers/media/platform/s3c-camif/camif-regs.h void camif_hw_set_camera_crop(struct camif_dev *camif); camif 255 drivers/media/platform/s3c-camif/camif-regs.h void camif_hw_set_test_pattern(struct camif_dev *camif, unsigned int pattern); camif 256 drivers/media/platform/s3c-camif/camif-regs.h void camif_hw_set_effect(struct camif_dev *camif, unsigned int effect, camif 260 drivers/media/platform/s3c-camif/camif-regs.h void camif_hw_dump_regs(struct camif_dev *camif, const char *label); camif 264 drivers/media/platform/s3c-camif/camif-regs.h return readl(vp->camif->io_base + S3C_CAMIF_REG_CISTATUS(vp->id,