<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/staging/media, branch v6.8</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>media: atomisp: Adjust for v4l2_subdev_state handling changes in 6.8</title>
<updated>2024-02-01T12:47:52+00:00</updated>
<author>
<name>Hans de Goede</name>
<email>hdegoede@redhat.com</email>
</author>
<published>2023-12-28T21:43:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=f66556c1333b3bd4806fc98ee07c419ab545e6ee'/>
<id>f66556c1333b3bd4806fc98ee07c419ab545e6ee</id>
<content type='text'>
The atomisp driver emulates a standard v4l2 device, which also works
for non media-controller aware applications.

Part of this requires making try_fmt calls on the sensor when
a normal v4l2 app is making try_fmt calls on the /dev/video# mode.

With the recent v4l2_subdev_state handling changes in 6.8 this no longer
works, fixing this requires 2 changes:

1. The atomisp code was using its own internal v4l2_subdev_pad_config
   for this. Replace the internal v4l2_subdev_pad_config with allocating
   a full v4l2_subdev_state for storing the full try_fmt state.

2. The paths actually setting the fmt or crop selection now need to be
   passed the v4l2_subdev's active state, so that sensor drivers which
   are using the v4l2_subdev's active state to store their state keep
   working.

Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The atomisp driver emulates a standard v4l2 device, which also works
for non media-controller aware applications.

Part of this requires making try_fmt calls on the sensor when
a normal v4l2 app is making try_fmt calls on the /dev/video# mode.

With the recent v4l2_subdev_state handling changes in 6.8 this no longer
works, fixing this requires 2 changes:

1. The atomisp code was using its own internal v4l2_subdev_pad_config
   for this. Replace the internal v4l2_subdev_pad_config with allocating
   a full v4l2_subdev_state for storing the full try_fmt state.

2. The paths actually setting the fmt or crop selection now need to be
   passed the v4l2_subdev's active state, so that sensor drivers which
   are using the v4l2_subdev's active state to store their state keep
   working.

Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>media: videobuf2: core: Rename min_buffers_needed field in vb2_queue</title>
<updated>2023-12-13T16:31:27+00:00</updated>
<author>
<name>Benjamin Gaignard</name>
<email>benjamin.gaignard@collabora.com</email>
</author>
<published>2023-12-11T13:32:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=80c2b40a51393add616a1fd186a1cc10bd676a3f'/>
<id>80c2b40a51393add616a1fd186a1cc10bd676a3f</id>
<content type='text'>
Rename min_buffers_needed into min_queued_buffers and update
the documentation about it.

Signed-off-by: Benjamin Gaignard &lt;benjamin.gaignard@collabora.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
[hverkuil: Drop the change where min_queued_buffers + 1 buffers would be]
[hverkuil: allocated. Now this patch only renames this field instead of making]
[hverkuil: a functional change as well.]
[hverkuil: Renamed 3 remaining min_buffers_needed occurrences.]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rename min_buffers_needed into min_queued_buffers and update
the documentation about it.

Signed-off-by: Benjamin Gaignard &lt;benjamin.gaignard@collabora.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
[hverkuil: Drop the change where min_queued_buffers + 1 buffers would be]
[hverkuil: allocated. Now this patch only renames this field instead of making]
[hverkuil: a functional change as well.]
[hverkuil: Renamed 3 remaining min_buffers_needed occurrences.]
</pre>
</div>
</content>
</entry>
<entry>
<title>media: v4l2-subdev: Add which field to struct v4l2_subdev_frame_interval</title>
<updated>2023-12-13T15:52:35+00:00</updated>
<author>
<name>Laurent Pinchart</name>
<email>laurent.pinchart@ideasonboard.com</email>
</author>
<published>2023-12-13T15:00:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=805d4311a54a25d7347684fdf778c6239b190864'/>
<id>805d4311a54a25d7347684fdf778c6239b190864</id>
<content type='text'>
Due to a historical mishap, the v4l2_subdev_frame_interval structure
is the only part of the V4L2 subdev userspace API that doesn't contain a
'which' field. This prevents trying frame intervals using the subdev
'TRY' state mechanism.

Adding a 'which' field is simple as the structure has 8 reserved fields.
This would however break userspace as the field is currently set to 0,
corresponding to V4L2_SUBDEV_FORMAT_TRY, while the corresponding ioctls
currently operate on the 'ACTIVE' state. We thus need to add a new
subdev client cap, V4L2_SUBDEV_CLIENT_CAP_INTERVAL_USES_WHICH, to
indicate that userspace is aware of this new field.

All drivers that implement the subdev .get_frame_interval() and
.set_frame_interval() operations are updated to return -EINVAL when
operating on the TRY state, preserving the current behaviour.

While at it, fix a bad copy&amp;paste in the documentation of the struct
v4l2_subdev_frame_interval_enum 'which' field.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Reviewed-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt; # for imx-media
Reviewed-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
Reviewed-by: Luca Ceresoli &lt;luca.ceresoli@bootlin.com&gt; # for tegra-video
Reviewed-by: Mauro Carvalho Chehab &lt;mchehab@kernel.org&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Due to a historical mishap, the v4l2_subdev_frame_interval structure
is the only part of the V4L2 subdev userspace API that doesn't contain a
'which' field. This prevents trying frame intervals using the subdev
'TRY' state mechanism.

Adding a 'which' field is simple as the structure has 8 reserved fields.
This would however break userspace as the field is currently set to 0,
corresponding to V4L2_SUBDEV_FORMAT_TRY, while the corresponding ioctls
currently operate on the 'ACTIVE' state. We thus need to add a new
subdev client cap, V4L2_SUBDEV_CLIENT_CAP_INTERVAL_USES_WHICH, to
indicate that userspace is aware of this new field.

All drivers that implement the subdev .get_frame_interval() and
.set_frame_interval() operations are updated to return -EINVAL when
operating on the TRY state, preserving the current behaviour.

While at it, fix a bad copy&amp;paste in the documentation of the struct
v4l2_subdev_frame_interval_enum 'which' field.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Reviewed-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt; # for imx-media
Reviewed-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
Reviewed-by: Luca Ceresoli &lt;luca.ceresoli@bootlin.com&gt; # for tegra-video
Reviewed-by: Mauro Carvalho Chehab &lt;mchehab@kernel.org&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>media: v4l2-subdev: Turn .[gs]_frame_interval into pad operations</title>
<updated>2023-12-13T15:52:35+00:00</updated>
<author>
<name>Laurent Pinchart</name>
<email>laurent.pinchart@ideasonboard.com</email>
</author>
<published>2023-12-13T15:00:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=287fe160834acdf9c44e5b73676180c6dbdedf76'/>
<id>287fe160834acdf9c44e5b73676180c6dbdedf76</id>
<content type='text'>
The subdev .[gs]_frame_interval are video operations, but they operate
on pads (and even on streams). Not only is this confusing, it causes
practical issues for drivers as the operations don't receive a subdev
state pointer, requiring manual state handling.

To improve the situation, turn the operations into pad operations, and
extend them to receive a state pointer like other pad operations.

While at it, rename the operations to .[gs]et_frame_interval at the same
time to match the naming scheme of other pad operations. This isn't
strictly necessary, but given that all drivers using those operations
need to be modified, handling the rename separately would generate more
churn for very little gain (if at all).

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Reviewed-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
Reviewed-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt; # for imx-media
Reviewed-by: Luca Ceresoli &lt;luca.ceresoli@bootlin.com&gt; # for tegra-video
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The subdev .[gs]_frame_interval are video operations, but they operate
on pads (and even on streams). Not only is this confusing, it causes
practical issues for drivers as the operations don't receive a subdev
state pointer, requiring manual state handling.

To improve the situation, turn the operations into pad operations, and
extend them to receive a state pointer like other pad operations.

While at it, rename the operations to .[gs]et_frame_interval at the same
time to match the naming scheme of other pad operations. This isn't
strictly necessary, but given that all drivers using those operations
need to be modified, handling the rename separately would generate more
churn for very little gain (if at all).

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Reviewed-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
Reviewed-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt; # for imx-media
Reviewed-by: Luca Ceresoli &lt;luca.ceresoli@bootlin.com&gt; # for tegra-video
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>staging: media: VIDEO_STARFIVE_CAMSS should depend on ARCH_STARFIVE</title>
<updated>2023-12-07T07:31:15+00:00</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert+renesas@glider.be</email>
</author>
<published>2023-11-28T18:31:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=b58253793f4fe7495af3157d7f29cf0919183009'/>
<id>b58253793f4fe7495af3157d7f29cf0919183009</id>
<content type='text'>
The StarFive Camera Subsystem is only present on the StarFive JH7110
SoC.  Hence add a dependency on ARCH_STARFIVE, to prevent asking the
user about this driver when configuring a kernel without StarFive SoC
support.

Fixes: bba185d141b1 ("media: staging: media: starfive: camss: Add core driver")
Signed-off-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;
Reviewed-by: Changhuang Liang &lt;changhuang.liang@starfivetech.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The StarFive Camera Subsystem is only present on the StarFive JH7110
SoC.  Hence add a dependency on ARCH_STARFIVE, to prevent asking the
user about this driver when configuring a kernel without StarFive SoC
support.

Fixes: bba185d141b1 ("media: staging: media: starfive: camss: Add core driver")
Signed-off-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;
Reviewed-by: Changhuang Liang &lt;changhuang.liang@starfivetech.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>media: staging: starfive: camss: fix off by one in isp_enum_mbus_code()</title>
<updated>2023-12-07T07:31:14+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@linaro.org</email>
</author>
<published>2023-11-28T14:40:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=fca4797af415bd346c4b2737eee7bbbc4bf1866c'/>
<id>fca4797af415bd346c4b2737eee7bbbc4bf1866c</id>
<content type='text'>
These &gt; comparisons should be &gt;=.  The formats-&gt;fmts[] array is either
a pointer to isp_formats_sink[] or isp_formats_source[] respectively.

Fixes: e57854628f58 ("media: staging: media: starfive: camss: Add ISP driver")
Signed-off-by: Dan Carpenter &lt;dan.carpenter@linaro.org&gt;
Reviewed-by: Changhuang Liang &lt;changhuang.liang@starfivetech.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These &gt; comparisons should be &gt;=.  The formats-&gt;fmts[] array is either
a pointer to isp_formats_sink[] or isp_formats_source[] respectively.

Fixes: e57854628f58 ("media: staging: media: starfive: camss: Add ISP driver")
Signed-off-by: Dan Carpenter &lt;dan.carpenter@linaro.org&gt;
Reviewed-by: Changhuang Liang &lt;changhuang.liang@starfivetech.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>media: v4l2-subdev: Rename .init_cfg() operation to .init_state()</title>
<updated>2023-12-04T09:37:47+00:00</updated>
<author>
<name>Laurent Pinchart</name>
<email>laurent.pinchart@ideasonboard.com</email>
</author>
<published>2023-11-27T09:07:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=5755be5f15d9e651ed433e5dbf7b7b968efb3064'/>
<id>5755be5f15d9e651ed433e5dbf7b7b968efb3064</id>
<content type='text'>
The subdev .init_cfg() operation is affected by two issues:

- It has long been extended to initialize a whole v4l2_subdev_state
  instead of just a v4l2_subdev_pad_config, but its name has stuck
  around.

- Despite operating on a whole subdev state and not being directly
  exposed to the subdev users (either in-kernel or through the userspace
  API), .init_cfg() is categorized as a subdev pad operation.

This participates in making the subdev API confusing for new developers.
Fix it by renaming the operation to .init_state(), and make it a subdev
internal operation.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Acked-by: Michael Riesch &lt;michael.riesch@wolfvision.net&gt; # for imx415
Acked-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt; # for vimc
Reviewed-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
Reviewed-by: Tomi Valkeinen &lt;tomi.valkeinen@ideasonboard.com&gt;
[Sakari Ailus: Resolved a conflict in Renesas vsp1 driver.]
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The subdev .init_cfg() operation is affected by two issues:

- It has long been extended to initialize a whole v4l2_subdev_state
  instead of just a v4l2_subdev_pad_config, but its name has stuck
  around.

- Despite operating on a whole subdev state and not being directly
  exposed to the subdev users (either in-kernel or through the userspace
  API), .init_cfg() is categorized as a subdev pad operation.

This participates in making the subdev API confusing for new developers.
Fix it by renaming the operation to .init_state(), and make it a subdev
internal operation.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Acked-by: Michael Riesch &lt;michael.riesch@wolfvision.net&gt; # for imx415
Acked-by: Shuah Khan &lt;skhan@linuxfoundation.org&gt; # for vimc
Reviewed-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
Reviewed-by: Tomi Valkeinen &lt;tomi.valkeinen@ideasonboard.com&gt;
[Sakari Ailus: Resolved a conflict in Renesas vsp1 driver.]
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>media: v4l: subdev: Switch to stream-aware state functions</title>
<updated>2023-11-23T17:57:47+00:00</updated>
<author>
<name>Sakari Ailus</name>
<email>sakari.ailus@linux.intel.com</email>
</author>
<published>2023-10-13T07:37:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=bc0e8d91feec72b19199298dca470c5816a52105'/>
<id>bc0e8d91feec72b19199298dca470c5816a52105</id>
<content type='text'>
Switch all drivers accessing sub-device state to use the stream-aware
functions. We will soon remove the old ones.

This patch has been generated using the following Coccinelle script:

---------8&lt;------------
@@
expression E1, E2, E3;

@@

- v4l2_subdev_get_pad_format(E1, E2, E3)
+ v4l2_subdev_state_get_format(E2, E3)

@@
expression E1, E2, E3;

@@

- v4l2_subdev_get_pad_crop(E1, E2, E3)
+ v4l2_subdev_state_get_crop(E2, E3)

@@
expression E1, E2, E3;

@@

- v4l2_subdev_get_pad_compose(E1, E2, E3)
+ v4l2_subdev_state_get_compose(E2, E3)

@@
expression E1, E2, E3;

@@

- v4l2_subdev_get_try_format(E1, E2, E3)
+ v4l2_subdev_state_get_format(E2, E3)

@@
expression E1, E2, E3;

@@

- v4l2_subdev_get_try_crop(E1, E2, E3)
+ v4l2_subdev_state_get_crop(E2, E3)

@@
expression E1, E2, E3;

@@

- v4l2_subdev_get_try_compose(E1, E2, E3)
+ v4l2_subdev_state_get_compose(E2, E3)
---------8&lt;------------

Additionally drivers/media/i2c/s5k5baf.c and
drivers/media/platform/samsung/s3c-camif/camif-capture.c have been
manually changed as Coccinelle didn't. Further local variables have been
removed as they became unused as a result of the other changes.

Also Coccinelle introduced indentation by space in files
drivers/media/i2c/st-mipid02.c and
drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c. This has been also
corrected.

The diff from Coccinelle-generated changes are:

&gt; diff --git b/drivers/media/i2c/imx319.c a/drivers/media/i2c/imx319.c
&gt; index e549692ff478..420984382173 100644
&gt; --- b/drivers/media/i2c/imx319.c
&gt; +++ a/drivers/media/i2c/imx319.c
&gt; @@ -2001,7 +2001,6 @@ static int imx319_do_get_pad_format(struct imx319 *imx319,
&gt;  				    struct v4l2_subdev_format *fmt)
&gt;  {
&gt;  	struct v4l2_mbus_framefmt *framefmt;
&gt; -	struct v4l2_subdev *sd = &amp;imx319-&gt;sd;
&gt;
&gt;  	if (fmt-&gt;which == V4L2_SUBDEV_FORMAT_TRY) {
&gt;  		framefmt = v4l2_subdev_state_get_format(sd_state, fmt-&gt;pad);
&gt; diff --git b/drivers/media/i2c/imx355.c a/drivers/media/i2c/imx355.c
&gt; index 96bdde685d65..e1b1d2fc79dd 100644
&gt; --- b/drivers/media/i2c/imx355.c
&gt; +++ a/drivers/media/i2c/imx355.c
&gt; @@ -1299,7 +1299,6 @@ static int imx355_do_get_pad_format(struct imx355 *imx355,
&gt;  				    struct v4l2_subdev_format *fmt)
&gt;  {
&gt;  	struct v4l2_mbus_framefmt *framefmt;
&gt; -	struct v4l2_subdev *sd = &amp;imx355-&gt;sd;
&gt;
&gt;  	if (fmt-&gt;which == V4L2_SUBDEV_FORMAT_TRY) {
&gt;  		framefmt = v4l2_subdev_state_get_format(sd_state, fmt-&gt;pad);
&gt; diff --git b/drivers/media/i2c/ov08x40.c a/drivers/media/i2c/ov08x40.c
&gt; index ca799bbcfdb7..abbb0b774d43 100644
&gt; --- b/drivers/media/i2c/ov08x40.c
&gt; +++ a/drivers/media/i2c/ov08x40.c
&gt; @@ -2774,7 +2774,6 @@ static int ov08x40_do_get_pad_format(struct ov08x40 *ov08x,
&gt;  				     struct v4l2_subdev_format *fmt)
&gt;  {
&gt;  	struct v4l2_mbus_framefmt *framefmt;
&gt; -	struct v4l2_subdev *sd = &amp;ov08x-&gt;sd;
&gt;
&gt;  	if (fmt-&gt;which == V4L2_SUBDEV_FORMAT_TRY) {
&gt;  		framefmt = v4l2_subdev_state_get_format(sd_state, fmt-&gt;pad);
&gt; diff --git b/drivers/media/i2c/ov13858.c a/drivers/media/i2c/ov13858.c
&gt; index 7816d9787c61..09387e335d80 100644
&gt; --- b/drivers/media/i2c/ov13858.c
&gt; +++ a/drivers/media/i2c/ov13858.c
&gt; @@ -1316,7 +1316,6 @@ static int ov13858_do_get_pad_format(struct ov13858 *ov13858,
&gt;  				     struct v4l2_subdev_format *fmt)
&gt;  {
&gt;  	struct v4l2_mbus_framefmt *framefmt;
&gt; -	struct v4l2_subdev *sd = &amp;ov13858-&gt;sd;
&gt;
&gt;  	if (fmt-&gt;which == V4L2_SUBDEV_FORMAT_TRY) {
&gt;  		framefmt = v4l2_subdev_state_get_format(sd_state, fmt-&gt;pad);
&gt; diff --git b/drivers/media/i2c/ov13b10.c a/drivers/media/i2c/ov13b10.c
&gt; index 268cd4b03f9c..c06411d5ee2b 100644
&gt; --- b/drivers/media/i2c/ov13b10.c
&gt; +++ a/drivers/media/i2c/ov13b10.c
&gt; @@ -1001,7 +1001,6 @@ static int ov13b10_do_get_pad_format(struct ov13b10 *ov13b,
&gt;  				     struct v4l2_subdev_format *fmt)
&gt;  {
&gt;  	struct v4l2_mbus_framefmt *framefmt;
&gt; -	struct v4l2_subdev *sd = &amp;ov13b-&gt;sd;
&gt;
&gt;  	if (fmt-&gt;which == V4L2_SUBDEV_FORMAT_TRY) {
&gt;  		framefmt = v4l2_subdev_state_get_format(sd_state, fmt-&gt;pad);
&gt; diff --git b/drivers/media/i2c/s5c73m3/s5c73m3-core.c a/drivers/media/i2c/s5c73m3/s5c73m3-core.c
&gt; index 47605e36bc60..8f9b5713daf7 100644
&gt; --- b/drivers/media/i2c/s5c73m3/s5c73m3-core.c
&gt; +++ a/drivers/media/i2c/s5c73m3/s5c73m3-core.c
&gt; @@ -819,7 +819,6 @@ static void s5c73m3_oif_try_format(struct s5c73m3 *state,
&gt;  				   struct v4l2_subdev_format *fmt,
&gt;  				   const struct s5c73m3_frame_size **fs)
&gt;  {
&gt; -	struct v4l2_subdev *sd = &amp;state-&gt;sensor_sd;
&gt;  	u32 code;
&gt;
&gt;  	switch (fmt-&gt;pad) {
&gt; diff --git a/drivers/media/i2c/s5k5baf.c b/drivers/media/i2c/s5k5baf.c
&gt; index 67da2045f543..03ccfb0e1e11 100644
&gt; --- a/drivers/media/i2c/s5k5baf.c
&gt; +++ b/drivers/media/i2c/s5k5baf.c
&gt; @@ -1472,14 +1472,11 @@ static int s5k5baf_set_selection(struct v4l2_subdev *sd,
&gt;
&gt;  	if (sel-&gt;which == V4L2_SUBDEV_FORMAT_TRY) {
&gt;  		rects = (struct v4l2_rect * []) {
&gt; -				&amp;s5k5baf_cis_rect,
&gt; -				v4l2_subdev_get_try_crop(sd, sd_state,
&gt; -							 PAD_CIS),
&gt; -				v4l2_subdev_get_try_compose(sd, sd_state,
&gt; -							    PAD_CIS),
&gt; -				v4l2_subdev_get_try_crop(sd, sd_state,
&gt; -							 PAD_OUT)
&gt; -			};
&gt; +			&amp;s5k5baf_cis_rect,
&gt; +			v4l2_subdev_state_get_crop(sd_state, PAD_CIS),
&gt; +			v4l2_subdev_state_get_compose(sd_state, PAD_CIS),
&gt; +			v4l2_subdev_state_get_crop(sd_state, PAD_OUT)
&gt; +		};
&gt;  		s5k5baf_set_rect_and_adjust(rects, rtype, &amp;sel-&gt;r);
&gt;  		return 0;
&gt;  	}
&gt; diff --git b/drivers/media/platform/samsung/s3c-camif/camif-capture.c a/drivers/media/platform/samsung/s3c-camif/camif-capture.c
&gt; index 295e083f38e8..be58260ea67e 100644
&gt; --- b/drivers/media/platform/samsung/s3c-camif/camif-capture.c
&gt; +++ a/drivers/media/platform/samsung/s3c-camif/camif-capture.c
&gt; @@ -1216,7 +1216,7 @@ static int s3c_camif_subdev_get_fmt(struct v4l2_subdev *sd,
&gt;  	struct v4l2_mbus_framefmt *mf = &amp;fmt-&gt;format;
&gt;
&gt;  	if (fmt-&gt;which == V4L2_SUBDEV_FORMAT_TRY) {
&gt; -		mf = v4l2_subdev_get_try_format(sd, sd_state, fmt-&gt;pad);
&gt; +		mf = v4l2_subdev_state_get_format(sd_state, fmt-&gt;pad);
&gt;  		fmt-&gt;format = *mf;
&gt;  		return 0;
&gt;  	}
&gt; @@ -1305,7 +1305,7 @@ static int s3c_camif_subdev_set_fmt(struct v4l2_subdev *sd,
&gt;  	__camif_subdev_try_format(camif, mf, fmt-&gt;pad);
&gt;
&gt;  	if (fmt-&gt;which == V4L2_SUBDEV_FORMAT_TRY) {
&gt; -		mf = v4l2_subdev_get_try_format(sd, sd_state, fmt-&gt;pad);
&gt; +		mf = v4l2_subdev_state_get_format(sd_state, fmt-&gt;pad);
&gt;  		*mf = fmt-&gt;format;
&gt;  		mutex_unlock(&amp;camif-&gt;lock);
&gt;  		return 0;
&gt; diff --git b/drivers/media/platform/ti/cal/cal-camerarx.c a/drivers/media/platform/ti/cal/cal-camerarx.c
&gt; index cea454ed9c20..61433744c6c4 100644
&gt; --- b/drivers/media/platform/ti/cal/cal-camerarx.c
&gt; +++ a/drivers/media/platform/ti/cal/cal-camerarx.c
&gt; @@ -621,8 +621,6 @@ static int cal_camerarx_sd_enum_mbus_code(struct v4l2_subdev *sd,
&gt;  					  struct v4l2_subdev_state *state,
&gt;  					  struct v4l2_subdev_mbus_code_enum *code)
&gt;  {
&gt; -	struct cal_camerarx *phy = to_cal_camerarx(sd);
&gt; -
&gt;  	/* No transcoding, source and sink codes must match. */
&gt;  	if (cal_rx_pad_is_source(code-&gt;pad)) {
&gt;  		struct v4l2_mbus_framefmt *fmt;
&gt; diff --git b/drivers/staging/media/imx/imx-ic-prp.c a/drivers/staging/media/imx/imx-ic-prp.c
&gt; index dd558fac6477..61d69f19657e 100644
&gt; --- b/drivers/staging/media/imx/imx-ic-prp.c
&gt; +++ a/drivers/staging/media/imx/imx-ic-prp.c
&gt; @@ -82,8 +82,6 @@ static struct v4l2_mbus_framefmt *
&gt;  __prp_get_fmt(struct prp_priv *priv, struct v4l2_subdev_state *sd_state,
&gt;  	      unsigned int pad, enum v4l2_subdev_format_whence which)
&gt;  {
&gt; -	struct imx_ic_priv *ic_priv = priv-&gt;ic_priv;
&gt; -
&gt;  	if (which == V4L2_SUBDEV_FORMAT_TRY)
&gt;  		return v4l2_subdev_state_get_format(sd_state, pad);
&gt;  	else
&gt; diff --git b/drivers/staging/media/imx/imx-ic-prpencvf.c a/drivers/staging/media/imx/imx-ic-prpencvf.c
&gt; index 02db7dbb884b..ec73c901079e 100644
&gt; --- b/drivers/staging/media/imx/imx-ic-prpencvf.c
&gt; +++ a/drivers/staging/media/imx/imx-ic-prpencvf.c
&gt; @@ -790,8 +790,6 @@ static struct v4l2_mbus_framefmt *
&gt;  __prp_get_fmt(struct prp_priv *priv, struct v4l2_subdev_state *sd_state,
&gt;  	      unsigned int pad, enum v4l2_subdev_format_whence which)
&gt;  {
&gt; -	struct imx_ic_priv *ic_priv = priv-&gt;ic_priv;
&gt; -
&gt;  	if (which == V4L2_SUBDEV_FORMAT_TRY)
&gt;  		return v4l2_subdev_state_get_format(sd_state, pad);
&gt;  	else
&gt; diff --git a/drivers/media/i2c/st-mipid02.c b/drivers/media/i2c/st-mipid02.c
&gt; index 9c9361354c00..b08a249b5fdd 100644
&gt; --- a/drivers/media/i2c/st-mipid02.c
&gt; +++ b/drivers/media/i2c/st-mipid02.c
&gt; @@ -751,7 +751,7 @@ static void mipid02_set_fmt_source(struct v4l2_subdev *sd,
&gt;  		format-&gt;format = bridge-&gt;fmt;
&gt;  	else
&gt;  		format-&gt;format = *v4l2_subdev_state_get_format(sd_state,
&gt; -						               MIPID02_SINK_0);
&gt; +							       MIPID02_SINK_0);
&gt;
&gt;  	/* but code may need to be converted */
&gt;  	format-&gt;format.code = serial_to_parallel_code(format-&gt;format.code);
&gt; diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
&gt; index 117912d3bfbd..96353648c032 100644
&gt; --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
&gt; +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
&gt; @@ -319,7 +319,7 @@ static void rkisp1_isp_start(struct rkisp1_isp *isp,
&gt;  	rkisp1_write(rkisp1, RKISP1_CIF_ISP_CTRL, val);
&gt;
&gt;  	src_fmt = v4l2_subdev_state_get_format(sd_state,
&gt; -				               RKISP1_ISP_PAD_SOURCE_VIDEO);
&gt; +					       RKISP1_ISP_PAD_SOURCE_VIDEO);
&gt;  	src_info = rkisp1_mbus_info_get_by_code(src_fmt-&gt;code);
&gt;
&gt;  	if (src_info-&gt;pixel_enc != V4L2_PIXEL_ENC_BAYER)
&gt; @@ -475,9 +475,9 @@ static void rkisp1_isp_set_src_fmt(struct rkisp1_isp *isp,
&gt;  	sink_fmt = v4l2_subdev_state_get_format(sd_state,
&gt;  						RKISP1_ISP_PAD_SINK_VIDEO);
&gt;  	src_fmt = v4l2_subdev_state_get_format(sd_state,
&gt; -				               RKISP1_ISP_PAD_SOURCE_VIDEO);
&gt; +					       RKISP1_ISP_PAD_SOURCE_VIDEO);
&gt;  	src_crop = v4l2_subdev_state_get_crop(sd_state,
&gt; -				              RKISP1_ISP_PAD_SOURCE_VIDEO);
&gt; +					      RKISP1_ISP_PAD_SOURCE_VIDEO);
&gt;
&gt;  	/*
&gt;  	 * Media bus code. The ISP can operate in pass-through mode (Bayer in,

Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Switch all drivers accessing sub-device state to use the stream-aware
functions. We will soon remove the old ones.

This patch has been generated using the following Coccinelle script:

---------8&lt;------------
@@
expression E1, E2, E3;

@@

- v4l2_subdev_get_pad_format(E1, E2, E3)
+ v4l2_subdev_state_get_format(E2, E3)

@@
expression E1, E2, E3;

@@

- v4l2_subdev_get_pad_crop(E1, E2, E3)
+ v4l2_subdev_state_get_crop(E2, E3)

@@
expression E1, E2, E3;

@@

- v4l2_subdev_get_pad_compose(E1, E2, E3)
+ v4l2_subdev_state_get_compose(E2, E3)

@@
expression E1, E2, E3;

@@

- v4l2_subdev_get_try_format(E1, E2, E3)
+ v4l2_subdev_state_get_format(E2, E3)

@@
expression E1, E2, E3;

@@

- v4l2_subdev_get_try_crop(E1, E2, E3)
+ v4l2_subdev_state_get_crop(E2, E3)

@@
expression E1, E2, E3;

@@

- v4l2_subdev_get_try_compose(E1, E2, E3)
+ v4l2_subdev_state_get_compose(E2, E3)
---------8&lt;------------

Additionally drivers/media/i2c/s5k5baf.c and
drivers/media/platform/samsung/s3c-camif/camif-capture.c have been
manually changed as Coccinelle didn't. Further local variables have been
removed as they became unused as a result of the other changes.

Also Coccinelle introduced indentation by space in files
drivers/media/i2c/st-mipid02.c and
drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c. This has been also
corrected.

The diff from Coccinelle-generated changes are:

&gt; diff --git b/drivers/media/i2c/imx319.c a/drivers/media/i2c/imx319.c
&gt; index e549692ff478..420984382173 100644
&gt; --- b/drivers/media/i2c/imx319.c
&gt; +++ a/drivers/media/i2c/imx319.c
&gt; @@ -2001,7 +2001,6 @@ static int imx319_do_get_pad_format(struct imx319 *imx319,
&gt;  				    struct v4l2_subdev_format *fmt)
&gt;  {
&gt;  	struct v4l2_mbus_framefmt *framefmt;
&gt; -	struct v4l2_subdev *sd = &amp;imx319-&gt;sd;
&gt;
&gt;  	if (fmt-&gt;which == V4L2_SUBDEV_FORMAT_TRY) {
&gt;  		framefmt = v4l2_subdev_state_get_format(sd_state, fmt-&gt;pad);
&gt; diff --git b/drivers/media/i2c/imx355.c a/drivers/media/i2c/imx355.c
&gt; index 96bdde685d65..e1b1d2fc79dd 100644
&gt; --- b/drivers/media/i2c/imx355.c
&gt; +++ a/drivers/media/i2c/imx355.c
&gt; @@ -1299,7 +1299,6 @@ static int imx355_do_get_pad_format(struct imx355 *imx355,
&gt;  				    struct v4l2_subdev_format *fmt)
&gt;  {
&gt;  	struct v4l2_mbus_framefmt *framefmt;
&gt; -	struct v4l2_subdev *sd = &amp;imx355-&gt;sd;
&gt;
&gt;  	if (fmt-&gt;which == V4L2_SUBDEV_FORMAT_TRY) {
&gt;  		framefmt = v4l2_subdev_state_get_format(sd_state, fmt-&gt;pad);
&gt; diff --git b/drivers/media/i2c/ov08x40.c a/drivers/media/i2c/ov08x40.c
&gt; index ca799bbcfdb7..abbb0b774d43 100644
&gt; --- b/drivers/media/i2c/ov08x40.c
&gt; +++ a/drivers/media/i2c/ov08x40.c
&gt; @@ -2774,7 +2774,6 @@ static int ov08x40_do_get_pad_format(struct ov08x40 *ov08x,
&gt;  				     struct v4l2_subdev_format *fmt)
&gt;  {
&gt;  	struct v4l2_mbus_framefmt *framefmt;
&gt; -	struct v4l2_subdev *sd = &amp;ov08x-&gt;sd;
&gt;
&gt;  	if (fmt-&gt;which == V4L2_SUBDEV_FORMAT_TRY) {
&gt;  		framefmt = v4l2_subdev_state_get_format(sd_state, fmt-&gt;pad);
&gt; diff --git b/drivers/media/i2c/ov13858.c a/drivers/media/i2c/ov13858.c
&gt; index 7816d9787c61..09387e335d80 100644
&gt; --- b/drivers/media/i2c/ov13858.c
&gt; +++ a/drivers/media/i2c/ov13858.c
&gt; @@ -1316,7 +1316,6 @@ static int ov13858_do_get_pad_format(struct ov13858 *ov13858,
&gt;  				     struct v4l2_subdev_format *fmt)
&gt;  {
&gt;  	struct v4l2_mbus_framefmt *framefmt;
&gt; -	struct v4l2_subdev *sd = &amp;ov13858-&gt;sd;
&gt;
&gt;  	if (fmt-&gt;which == V4L2_SUBDEV_FORMAT_TRY) {
&gt;  		framefmt = v4l2_subdev_state_get_format(sd_state, fmt-&gt;pad);
&gt; diff --git b/drivers/media/i2c/ov13b10.c a/drivers/media/i2c/ov13b10.c
&gt; index 268cd4b03f9c..c06411d5ee2b 100644
&gt; --- b/drivers/media/i2c/ov13b10.c
&gt; +++ a/drivers/media/i2c/ov13b10.c
&gt; @@ -1001,7 +1001,6 @@ static int ov13b10_do_get_pad_format(struct ov13b10 *ov13b,
&gt;  				     struct v4l2_subdev_format *fmt)
&gt;  {
&gt;  	struct v4l2_mbus_framefmt *framefmt;
&gt; -	struct v4l2_subdev *sd = &amp;ov13b-&gt;sd;
&gt;
&gt;  	if (fmt-&gt;which == V4L2_SUBDEV_FORMAT_TRY) {
&gt;  		framefmt = v4l2_subdev_state_get_format(sd_state, fmt-&gt;pad);
&gt; diff --git b/drivers/media/i2c/s5c73m3/s5c73m3-core.c a/drivers/media/i2c/s5c73m3/s5c73m3-core.c
&gt; index 47605e36bc60..8f9b5713daf7 100644
&gt; --- b/drivers/media/i2c/s5c73m3/s5c73m3-core.c
&gt; +++ a/drivers/media/i2c/s5c73m3/s5c73m3-core.c
&gt; @@ -819,7 +819,6 @@ static void s5c73m3_oif_try_format(struct s5c73m3 *state,
&gt;  				   struct v4l2_subdev_format *fmt,
&gt;  				   const struct s5c73m3_frame_size **fs)
&gt;  {
&gt; -	struct v4l2_subdev *sd = &amp;state-&gt;sensor_sd;
&gt;  	u32 code;
&gt;
&gt;  	switch (fmt-&gt;pad) {
&gt; diff --git a/drivers/media/i2c/s5k5baf.c b/drivers/media/i2c/s5k5baf.c
&gt; index 67da2045f543..03ccfb0e1e11 100644
&gt; --- a/drivers/media/i2c/s5k5baf.c
&gt; +++ b/drivers/media/i2c/s5k5baf.c
&gt; @@ -1472,14 +1472,11 @@ static int s5k5baf_set_selection(struct v4l2_subdev *sd,
&gt;
&gt;  	if (sel-&gt;which == V4L2_SUBDEV_FORMAT_TRY) {
&gt;  		rects = (struct v4l2_rect * []) {
&gt; -				&amp;s5k5baf_cis_rect,
&gt; -				v4l2_subdev_get_try_crop(sd, sd_state,
&gt; -							 PAD_CIS),
&gt; -				v4l2_subdev_get_try_compose(sd, sd_state,
&gt; -							    PAD_CIS),
&gt; -				v4l2_subdev_get_try_crop(sd, sd_state,
&gt; -							 PAD_OUT)
&gt; -			};
&gt; +			&amp;s5k5baf_cis_rect,
&gt; +			v4l2_subdev_state_get_crop(sd_state, PAD_CIS),
&gt; +			v4l2_subdev_state_get_compose(sd_state, PAD_CIS),
&gt; +			v4l2_subdev_state_get_crop(sd_state, PAD_OUT)
&gt; +		};
&gt;  		s5k5baf_set_rect_and_adjust(rects, rtype, &amp;sel-&gt;r);
&gt;  		return 0;
&gt;  	}
&gt; diff --git b/drivers/media/platform/samsung/s3c-camif/camif-capture.c a/drivers/media/platform/samsung/s3c-camif/camif-capture.c
&gt; index 295e083f38e8..be58260ea67e 100644
&gt; --- b/drivers/media/platform/samsung/s3c-camif/camif-capture.c
&gt; +++ a/drivers/media/platform/samsung/s3c-camif/camif-capture.c
&gt; @@ -1216,7 +1216,7 @@ static int s3c_camif_subdev_get_fmt(struct v4l2_subdev *sd,
&gt;  	struct v4l2_mbus_framefmt *mf = &amp;fmt-&gt;format;
&gt;
&gt;  	if (fmt-&gt;which == V4L2_SUBDEV_FORMAT_TRY) {
&gt; -		mf = v4l2_subdev_get_try_format(sd, sd_state, fmt-&gt;pad);
&gt; +		mf = v4l2_subdev_state_get_format(sd_state, fmt-&gt;pad);
&gt;  		fmt-&gt;format = *mf;
&gt;  		return 0;
&gt;  	}
&gt; @@ -1305,7 +1305,7 @@ static int s3c_camif_subdev_set_fmt(struct v4l2_subdev *sd,
&gt;  	__camif_subdev_try_format(camif, mf, fmt-&gt;pad);
&gt;
&gt;  	if (fmt-&gt;which == V4L2_SUBDEV_FORMAT_TRY) {
&gt; -		mf = v4l2_subdev_get_try_format(sd, sd_state, fmt-&gt;pad);
&gt; +		mf = v4l2_subdev_state_get_format(sd_state, fmt-&gt;pad);
&gt;  		*mf = fmt-&gt;format;
&gt;  		mutex_unlock(&amp;camif-&gt;lock);
&gt;  		return 0;
&gt; diff --git b/drivers/media/platform/ti/cal/cal-camerarx.c a/drivers/media/platform/ti/cal/cal-camerarx.c
&gt; index cea454ed9c20..61433744c6c4 100644
&gt; --- b/drivers/media/platform/ti/cal/cal-camerarx.c
&gt; +++ a/drivers/media/platform/ti/cal/cal-camerarx.c
&gt; @@ -621,8 +621,6 @@ static int cal_camerarx_sd_enum_mbus_code(struct v4l2_subdev *sd,
&gt;  					  struct v4l2_subdev_state *state,
&gt;  					  struct v4l2_subdev_mbus_code_enum *code)
&gt;  {
&gt; -	struct cal_camerarx *phy = to_cal_camerarx(sd);
&gt; -
&gt;  	/* No transcoding, source and sink codes must match. */
&gt;  	if (cal_rx_pad_is_source(code-&gt;pad)) {
&gt;  		struct v4l2_mbus_framefmt *fmt;
&gt; diff --git b/drivers/staging/media/imx/imx-ic-prp.c a/drivers/staging/media/imx/imx-ic-prp.c
&gt; index dd558fac6477..61d69f19657e 100644
&gt; --- b/drivers/staging/media/imx/imx-ic-prp.c
&gt; +++ a/drivers/staging/media/imx/imx-ic-prp.c
&gt; @@ -82,8 +82,6 @@ static struct v4l2_mbus_framefmt *
&gt;  __prp_get_fmt(struct prp_priv *priv, struct v4l2_subdev_state *sd_state,
&gt;  	      unsigned int pad, enum v4l2_subdev_format_whence which)
&gt;  {
&gt; -	struct imx_ic_priv *ic_priv = priv-&gt;ic_priv;
&gt; -
&gt;  	if (which == V4L2_SUBDEV_FORMAT_TRY)
&gt;  		return v4l2_subdev_state_get_format(sd_state, pad);
&gt;  	else
&gt; diff --git b/drivers/staging/media/imx/imx-ic-prpencvf.c a/drivers/staging/media/imx/imx-ic-prpencvf.c
&gt; index 02db7dbb884b..ec73c901079e 100644
&gt; --- b/drivers/staging/media/imx/imx-ic-prpencvf.c
&gt; +++ a/drivers/staging/media/imx/imx-ic-prpencvf.c
&gt; @@ -790,8 +790,6 @@ static struct v4l2_mbus_framefmt *
&gt;  __prp_get_fmt(struct prp_priv *priv, struct v4l2_subdev_state *sd_state,
&gt;  	      unsigned int pad, enum v4l2_subdev_format_whence which)
&gt;  {
&gt; -	struct imx_ic_priv *ic_priv = priv-&gt;ic_priv;
&gt; -
&gt;  	if (which == V4L2_SUBDEV_FORMAT_TRY)
&gt;  		return v4l2_subdev_state_get_format(sd_state, pad);
&gt;  	else
&gt; diff --git a/drivers/media/i2c/st-mipid02.c b/drivers/media/i2c/st-mipid02.c
&gt; index 9c9361354c00..b08a249b5fdd 100644
&gt; --- a/drivers/media/i2c/st-mipid02.c
&gt; +++ b/drivers/media/i2c/st-mipid02.c
&gt; @@ -751,7 +751,7 @@ static void mipid02_set_fmt_source(struct v4l2_subdev *sd,
&gt;  		format-&gt;format = bridge-&gt;fmt;
&gt;  	else
&gt;  		format-&gt;format = *v4l2_subdev_state_get_format(sd_state,
&gt; -						               MIPID02_SINK_0);
&gt; +							       MIPID02_SINK_0);
&gt;
&gt;  	/* but code may need to be converted */
&gt;  	format-&gt;format.code = serial_to_parallel_code(format-&gt;format.code);
&gt; diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
&gt; index 117912d3bfbd..96353648c032 100644
&gt; --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
&gt; +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
&gt; @@ -319,7 +319,7 @@ static void rkisp1_isp_start(struct rkisp1_isp *isp,
&gt;  	rkisp1_write(rkisp1, RKISP1_CIF_ISP_CTRL, val);
&gt;
&gt;  	src_fmt = v4l2_subdev_state_get_format(sd_state,
&gt; -				               RKISP1_ISP_PAD_SOURCE_VIDEO);
&gt; +					       RKISP1_ISP_PAD_SOURCE_VIDEO);
&gt;  	src_info = rkisp1_mbus_info_get_by_code(src_fmt-&gt;code);
&gt;
&gt;  	if (src_info-&gt;pixel_enc != V4L2_PIXEL_ENC_BAYER)
&gt; @@ -475,9 +475,9 @@ static void rkisp1_isp_set_src_fmt(struct rkisp1_isp *isp,
&gt;  	sink_fmt = v4l2_subdev_state_get_format(sd_state,
&gt;  						RKISP1_ISP_PAD_SINK_VIDEO);
&gt;  	src_fmt = v4l2_subdev_state_get_format(sd_state,
&gt; -				               RKISP1_ISP_PAD_SOURCE_VIDEO);
&gt; +					       RKISP1_ISP_PAD_SOURCE_VIDEO);
&gt;  	src_crop = v4l2_subdev_state_get_crop(sd_state,
&gt; -				              RKISP1_ISP_PAD_SOURCE_VIDEO);
&gt; +					      RKISP1_ISP_PAD_SOURCE_VIDEO);
&gt;
&gt;  	/*
&gt;  	 * Media bus code. The ISP can operate in pass-through mode (Bayer in,

Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>media: ti: omap4iss: Fix references to pad config</title>
<updated>2023-11-23T17:29:47+00:00</updated>
<author>
<name>Laurent Pinchart</name>
<email>laurent.pinchart@ideasonboard.com</email>
</author>
<published>2023-10-27T09:58:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=cde7093bd239e2aa9eaafc33ed621bf3525f507c'/>
<id>cde7093bd239e2aa9eaafc33ed621bf3525f507c</id>
<content type='text'>
V4L2 subdev operations have moved from operating on a
v4l2_subdev_pad_config to a v4l2_subdev_state a long time ago. Fix
remaining incorrect references to pad config in comments.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
V4L2 subdev operations have moved from operating on a
v4l2_subdev_pad_config to a v4l2_subdev_state a long time ago. Fix
remaining incorrect references to pad config in comments.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>media: tegra-video: Use accessors for pad config 'try_*' fields</title>
<updated>2023-11-23T17:23:23+00:00</updated>
<author>
<name>Laurent Pinchart</name>
<email>laurent.pinchart@ideasonboard.com</email>
</author>
<published>2023-10-23T21:40:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=0623979d8352efe18f83c4fad95a2e61df17b3e7'/>
<id>0623979d8352efe18f83c4fad95a2e61df17b3e7</id>
<content type='text'>
The 'try_*' fields of the v4l2_subdev_pad_config structure are meant to
be accessed through helper functions. Replace direct access with usage
of the v4l2_subdev_get_pad_format(), v4l2_subdev_get_pad_crop() and
v4l2_subdev_get_pad_compose() helpers.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Reviewed-by: Luca Ceresoli &lt;luca.ceresoli@bootlin.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The 'try_*' fields of the v4l2_subdev_pad_config structure are meant to
be accessed through helper functions. Replace direct access with usage
of the v4l2_subdev_get_pad_format(), v4l2_subdev_get_pad_crop() and
v4l2_subdev_get_pad_compose() helpers.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Reviewed-by: Luca Ceresoli &lt;luca.ceresoli@bootlin.com&gt;
Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@kernel.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
