Lines Matching refs:subdev

1545 	struct v4l2_subdev *subdev = dev_get_drvdata(dev);
1546 struct ccs_subdev *ssd = to_ccs_subdev(subdev);
1692 struct v4l2_subdev *subdev = dev_get_drvdata(dev);
1693 struct ccs_subdev *ssd = to_ccs_subdev(subdev);
1873 * V4L2 subdev video operations
1912 static int ccs_set_stream(struct v4l2_subdev *subdev, int enable)
1914 struct ccs_sensor *sensor = to_ccs_sensor(subdev);
1943 static int ccs_pre_streamon(struct v4l2_subdev *subdev, u32 flags)
1945 struct ccs_sensor *sensor = to_ccs_sensor(subdev);
1980 static int ccs_post_streamoff(struct v4l2_subdev *subdev)
1982 struct ccs_sensor *sensor = to_ccs_sensor(subdev);
1988 static int ccs_enum_mbus_code(struct v4l2_subdev *subdev,
1992 struct i2c_client *client = v4l2_get_subdevdata(subdev);
1993 struct ccs_sensor *sensor = to_ccs_sensor(subdev);
2000 dev_err(&client->dev, "subdev %s, pad %u, index %u\n",
2001 subdev->name, code->pad, code->index);
2003 if (subdev != &sensor->src->sd || code->pad != CCS_PAD_SRC) {
2031 static u32 __ccs_get_mbus_code(struct v4l2_subdev *subdev, unsigned int pad)
2033 struct ccs_sensor *sensor = to_ccs_sensor(subdev);
2035 if (subdev == &sensor->src->sd && pad == CCS_PAD_SRC)
2041 static int __ccs_get_format(struct v4l2_subdev *subdev,
2046 fmt->format.code = __ccs_get_mbus_code(subdev, fmt->pad);
2051 static int ccs_get_format(struct v4l2_subdev *subdev,
2055 struct ccs_sensor *sensor = to_ccs_sensor(subdev);
2059 rval = __ccs_get_format(subdev, sd_state, fmt);
2065 static void ccs_get_crop_compose(struct v4l2_subdev *subdev,
2070 struct ccs_subdev *ssd = to_ccs_subdev(subdev);
2074 for (i = 0; i < subdev->entity.num_pads; i++)
2083 static void ccs_propagate(struct v4l2_subdev *subdev,
2087 struct ccs_sensor *sensor = to_ccs_sensor(subdev);
2088 struct ccs_subdev *ssd = to_ccs_subdev(subdev);
2092 ccs_get_crop_compose(subdev, sd_state, crops, &comp);
2137 static int ccs_set_format_source(struct v4l2_subdev *subdev,
2141 struct ccs_sensor *sensor = to_ccs_sensor(subdev);
2149 rval = __ccs_get_format(subdev, sd_state, fmt);
2154 * Media bus code is changeable on src subdev's source pad. On
2157 if (subdev != &sensor->src->sd)
2190 static int ccs_set_format(struct v4l2_subdev *subdev,
2194 struct ccs_sensor *sensor = to_ccs_sensor(subdev);
2195 struct ccs_subdev *ssd = to_ccs_subdev(subdev);
2203 rval = ccs_set_format_source(subdev, sd_state, fmt);
2211 fmt->format.code = __ccs_get_mbus_code(subdev, fmt->pad);
2225 ccs_get_crop_compose(subdev, sd_state, crops, NULL);
2231 ccs_propagate(subdev, sd_state, fmt->which, V4L2_SEL_TGT_CROP);
2244 static int scaling_goodness(struct v4l2_subdev *subdev, int w, int ask_w,
2247 struct ccs_sensor *sensor = to_ccs_sensor(subdev);
2248 struct i2c_client *client = v4l2_get_subdevdata(subdev);
2282 static void ccs_set_compose_binner(struct v4l2_subdev *subdev,
2288 struct ccs_sensor *sensor = to_ccs_sensor(subdev);
2292 subdev,
2298 subdev,
2330 static void ccs_set_compose_scaler(struct v4l2_subdev *subdev,
2336 struct i2c_client *client = v4l2_get_subdevdata(subdev);
2337 struct ccs_sensor *sensor = to_ccs_sensor(subdev);
2388 subdev,
2409 subdev, crops[CCS_PAD_SINK]->width
2445 static int ccs_set_compose(struct v4l2_subdev *subdev,
2449 struct ccs_sensor *sensor = to_ccs_sensor(subdev);
2450 struct ccs_subdev *ssd = to_ccs_subdev(subdev);
2453 ccs_get_crop_compose(subdev, sd_state, crops, &comp);
2459 ccs_set_compose_binner(subdev, sd_state, sel, crops, comp);
2461 ccs_set_compose_scaler(subdev, sd_state, sel, crops, comp);
2464 ccs_propagate(subdev, sd_state, sel->which, V4L2_SEL_TGT_COMPOSE);
2472 static int ccs_sel_supported(struct v4l2_subdev *subdev,
2475 struct ccs_sensor *sensor = to_ccs_sensor(subdev);
2476 struct ccs_subdev *ssd = to_ccs_subdev(subdev);
2510 static int ccs_set_crop(struct v4l2_subdev *subdev,
2514 struct ccs_sensor *sensor = to_ccs_sensor(subdev);
2515 struct ccs_subdev *ssd = to_ccs_subdev(subdev);
2518 ccs_get_crop_compose(subdev, sd_state, crops, &comp);
2544 ccs_propagate(subdev, sd_state, sel->which, V4L2_SEL_TGT_CROP);
2560 static int ccs_get_selection(struct v4l2_subdev *subdev,
2564 struct ccs_sensor *sensor = to_ccs_sensor(subdev);
2565 struct ccs_subdev *ssd = to_ccs_subdev(subdev);
2569 ret = ccs_sel_supported(subdev, sel);
2573 ccs_get_crop_compose(subdev, sd_state, crops, &comp);
2603 static int ccs_set_selection(struct v4l2_subdev *subdev,
2607 struct ccs_sensor *sensor = to_ccs_sensor(subdev);
2610 ret = ccs_sel_supported(subdev, sel);
2628 ret = ccs_set_crop(subdev, sd_state, sel);
2631 ret = ccs_set_compose(subdev, sd_state, sel);
2641 static int ccs_get_skip_frames(struct v4l2_subdev *subdev, u32 *frames)
2643 struct ccs_sensor *sensor = to_ccs_sensor(subdev);
2649 static int ccs_get_skip_top_lines(struct v4l2_subdev *subdev, u32 *lines)
2651 struct ccs_sensor *sensor = to_ccs_sensor(subdev);
2665 struct v4l2_subdev *subdev = i2c_get_clientdata(to_i2c_client(dev));
2666 struct i2c_client *client = v4l2_get_subdevdata(subdev);
2667 struct ccs_sensor *sensor = to_ccs_sensor(subdev);
2698 struct v4l2_subdev *subdev = i2c_get_clientdata(to_i2c_client(dev));
2699 struct ccs_sensor *sensor = to_ccs_sensor(subdev);
2714 * V4L2 subdev core operations
2901 static void ccs_unregistered(struct v4l2_subdev *subdev)
2903 struct ccs_sensor *sensor = to_ccs_sensor(subdev);
2910 static int ccs_registered(struct v4l2_subdev *subdev)
2912 struct ccs_sensor *sensor = to_ccs_sensor(subdev);
2935 ccs_unregistered(subdev);
3587 struct v4l2_subdev *subdev = i2c_get_clientdata(client);
3588 struct ccs_sensor *sensor = to_ccs_sensor(subdev);
3591 v4l2_async_unregister_subdev(subdev);