All of lore.kernel.org
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: linux-media@vger.kernel.org, Sakari Ailus <sakari.ailus@iki.fi>,
	Manivannan Sadhasivam <mani@kernel.org>,
	Alexander Stein <alexander.stein@ew.tq-group.com>,
	Dave Stevenson <dave.stevenson@raspberrypi.com>,
	regressions@lists.linux.dev
Subject: Re: [PATCH v3 14/17] media: i2c: imx290: Initialize runtime PM before subdev
Date: Mon, 27 Feb 2023 09:52:45 -0800	[thread overview]
Message-ID: <20230227175245.GA3728693@roeck-us.net> (raw)
In-Reply-To: <20230116144454.1012-15-laurent.pinchart@ideasonboard.com>

Hi,

On Mon, Jan 16, 2023 at 04:44:51PM +0200, Laurent Pinchart wrote:
> Initializing the subdev before runtime PM means that no subdev
> initialization can interact with the runtime PM framework. This can be
> problematic when modifying controls, as the .s_ctrl() handler commonly
> calls pm_runtime_get_if_in_use(). These code paths are not trivial,
> making the driver fragile and possibly causing subtle bugs.
> 
> To make the subdev initialization more robust, initialize runtime PM
> first.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Acked-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> ---

This patch results in

Error log:
<stdin>:1517:2: warning: #warning syscall clone3 not implemented [-Wcpp]
drivers/media/i2c/imx290.c:1090:12: error: 'imx290_runtime_suspend' defined but not used [-Werror=unused-function]
 1090 | static int imx290_runtime_suspend(struct device *dev)
      |            ^~~~~~~~~~~~~~~~~~~~~~
drivers/media/i2c/imx290.c:1082:12: error: 'imx290_runtime_resume' defined but not used [-Werror=unused-function]
 1082 | static int imx290_runtime_resume(struct device *dev)

if PM runtime support is disabled( alpha:allmodconfig, csky:allmodconfig,
and others).

Guenter

---
#regzbot ^introduced 02852c01f6540
#regzbot title Build error in drivers/media/i2c/imx290.c if PM support is disabled

---
# bad: [f3a2439f20d918930cc4ae8f76fe1c1afd26958f] Merge tag 'rproc-v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux
# good: [116b41162f8b267987ea9a73eb7e73eaa7c2cce5] Merge tag 'probes-v6.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace
git bisect start 'HEAD' '116b41162f8b'
# good: [d4563201f33a022fc0353033d9dfeb1606a88330] Documentation: simplify and clarify DCO contribution example language
git bisect good d4563201f33a022fc0353033d9dfeb1606a88330
# bad: [bca7822cbc76b22572faf2e17ca9517b68ebeb3e] media: atomisp: ov2680: Drop MAX_FMTS define
git bisect bad bca7822cbc76b22572faf2e17ca9517b68ebeb3e
# bad: [27e45f2e59c9db2c83ed67775e911c8a3c776db2] media: ti: omap4iss: Use media_pipeline_for_each_entity()
git bisect bad 27e45f2e59c9db2c83ed67775e911c8a3c776db2
# good: [8a54644571fed484d55b3807f25f64cba8a9ca77] media: subdev: Require code change to enable [GS]_ROUTING
git bisect good 8a54644571fed484d55b3807f25f64cba8a9ca77
# good: [8508455961d5a9e8907bcfd8dcd58f19d9b6ce47] media: i2c: imx219: Split common registers from mode tables
git bisect good 8508455961d5a9e8907bcfd8dcd58f19d9b6ce47
# good: [10591fe63691bd8199d5e7244029cc065959ffc9] media: i2c: imx290: Rename, extend and expand usage of imx290_pixfmt
git bisect good 10591fe63691bd8199d5e7244029cc065959ffc9
# bad: [e14d3ac81bd2264edc76bf5796305b2dfea44487] media: i2c: Add driver for OmniVision OV8858
git bisect bad e14d3ac81bd2264edc76bf5796305b2dfea44487
# bad: [7d399658f7c666ead4bc3dbe88944bb8ea7746ca] media: i2c: imx290: Configure data lanes at start time
git bisect bad 7d399658f7c666ead4bc3dbe88944bb8ea7746ca
# bad: [02852c01f65402e2fe4a8a5fe5a0b641f245b529] media: i2c: imx290: Initialize runtime PM before subdev
git bisect bad 02852c01f65402e2fe4a8a5fe5a0b641f245b529
# good: [a8c3e0c1bf1e97b5ee094951ed0f1e57e3b378c7] media: i2c: imx290: Use runtime PM autosuspend
git bisect good a8c3e0c1bf1e97b5ee094951ed0f1e57e3b378c7
# first bad commit: [02852c01f65402e2fe4a8a5fe5a0b641f245b529] media: i2c: imx290: Initialize runtime PM before subdev

  reply	other threads:[~2023-02-27 17:52 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-16 14:44 [PATCH v3 00/17] media: i2c: imx290: Miscellaneous improvements Laurent Pinchart
2023-01-16 14:44 ` [PATCH v3 01/17] media: i2c: imx290: Group functions in sections Laurent Pinchart
2023-01-16 14:44 ` [PATCH v3 02/17] media: i2c: imx290: Factor out subdev init and cleanup to functions Laurent Pinchart
2023-01-16 14:44 ` [PATCH v3 03/17] media: i2c: imx290: Factor out control update code to a function Laurent Pinchart
2023-01-16 14:44 ` [PATCH v3 04/17] media: i2c: imx290: Access link_freq_index directly Laurent Pinchart
2023-01-16 14:44 ` [PATCH v3 05/17] media: i2c: imx290: Pass format and mode to imx290_calc_pixel_rate() Laurent Pinchart
2023-01-16 15:00   ` Alexander Stein
2023-01-16 14:44 ` [PATCH v3 06/17] media: i2c: imx290: Compute pixel rate and blanking in one place Laurent Pinchart
2023-01-16 14:44 ` [PATCH v3 07/17] media: i2c: imx290: Factor out black level setting to a function Laurent Pinchart
2023-01-16 14:44 ` [PATCH v3 08/17] media: i2c: imx290: Factor out DT parsing to separate function Laurent Pinchart
2023-01-16 14:44 ` [PATCH v3 09/17] media: i2c: imx290: Use dev_err_probe() Laurent Pinchart
2023-01-16 14:44 ` [PATCH v3 10/17] media: i2c: imx290: Factor out clock initialization to separate function Laurent Pinchart
2023-01-16 14:44 ` [PATCH v3 11/17] media: i2c: imx290: Use V4L2 subdev active state Laurent Pinchart
2023-01-16 15:05   ` Alexander Stein
2023-01-16 14:44 ` [PATCH v3 12/17] media: i2c: imx290: Rename, extend and expand usage of imx290_pixfmt Laurent Pinchart
2023-01-16 14:44 ` [PATCH v3 13/17] media: i2c: imx290: Use runtime PM autosuspend Laurent Pinchart
2023-01-16 14:44 ` [PATCH v3 14/17] media: i2c: imx290: Initialize runtime PM before subdev Laurent Pinchart
2023-02-27 17:52   ` Guenter Roeck [this message]
2023-02-28  9:56     ` Linux regression tracking #update (Thorsten Leemhuis)
2023-03-20 10:50       ` Linux regression tracking #adding (Thorsten Leemhuis)
2023-04-02 14:21         ` Thorsten Leemhuis
2023-03-12 13:10     ` Linux regression tracking (Thorsten Leemhuis)
2023-03-12 13:34       ` Laurent Pinchart
2023-03-12 13:59         ` Linux regression tracking (Thorsten Leemhuis)
2023-01-16 14:44 ` [PATCH v3 15/17] media: i2c: imx290: Configure data lanes at start time Laurent Pinchart
2023-01-16 14:44 ` [PATCH v3 16/17] media: i2c: imx290: Simplify imx290_set_data_lanes() Laurent Pinchart
2023-01-16 14:44 ` [PATCH v3 17/17] media: i2c: imx290: Handle error from imx290_set_data_lanes() Laurent Pinchart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230227175245.GA3728693@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=alexander.stein@ew.tq-group.com \
    --cc=dave.stevenson@raspberrypi.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=mani@kernel.org \
    --cc=regressions@lists.linux.dev \
    --cc=sakari.ailus@iki.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.