All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wolfram Sang <wsa+renesas@sang-engineering.com>
To: Hans de Goede <hdegoede@redhat.com>
Cc: "Pali Rohár" <pali@kernel.org>,
	"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
	"Andy Shevchenko" <andy@kernel.org>,
	"Paul Menzel" <pmenzel@molgen.mpg.de>,
	"Wolfram Sang" <wsa@kernel.org>,
	eric.piel@tremplin-utc.net, "Marius Hoch" <mail@mariushoch.de>,
	Dell.Client.Kernel@dell.com,
	"Kai Heng Feng" <kai.heng.feng@canonical.com>,
	platform-driver-x86@vger.kernel.org,
	"Jean Delvare" <jdelvare@suse.com>,
	"Andi Shyti" <andi.shyti@kernel.org>,
	linux-i2c@vger.kernel.org
Subject: Re: [PATCH v8 1/6] i2c: core: Setup i2c_adapter runtime-pm before calling device_add()
Date: Fri, 16 Aug 2024 16:38:44 +0200	[thread overview]
Message-ID: <Zr9kdHSj2wl_MO4H@shikoro> (raw)
In-Reply-To: <20240812203952.42804-2-hdegoede@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 1586 bytes --]

On Mon, Aug 12, 2024 at 10:39:47PM +0200, Hans de Goede wrote:
> Platform glue code, which is not build into the kernel and thus cannot
> use i2c_register_board_info() may want to use bus_register_notifier()
> to listen for i2c-adapters to show up on which the platform code needs
> to manually instantiate platform specific i2c_clients.
> 
> This results in calling i2c_new_client_device() from the bus notifier
> which happens near the device_add() call.
> 
> If the i2c-core has not yet setup runtime-pm (specifically the
> no-callbacks and ignore-children flags) for the device embedded
> inside struct i2c_adapter and the driver for the i2c_client
> calls pm_runtime_set_active() this will trigger the following
> error inside __pm_runtime_set_status():
> 
> "runtime PM trying to activate child device %s but parent (%s) is not active\n"
> 
> and the i2c_client's runtime-status will not be updated.
> 
> Split the device_register() call for the adapter into device_initialize()
> and device_add() and move the pm-runtime init calls inbetween these 2 calls
> so that the runtime-status can be correctly set when a driver binds from
> the bus-notifier.
> 
> Note the moved pm-runtime init calls just override the initial value of
> some flags in struct device set by device_initialize() and calling these
> before device_add() is safe.
> 
> Reviewed-by: Pali Rohár <pali@kernel.org>
> Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>

Acked-by: Wolfram Sang <wsa+renesas@sang-engineering.com>


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2024-08-16 14:38 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-12 20:39 [PATCH v8 0/6] i2c-i801 / dell-lis3lv02d: Move instantiation of lis3lv02d i2c_client from i2c-i801 to dell-lis3lv02d Hans de Goede
2024-08-12 20:39 ` [PATCH v8 1/6] i2c: core: Setup i2c_adapter runtime-pm before calling device_add() Hans de Goede
2024-08-16 14:38   ` Wolfram Sang [this message]
2024-08-12 20:39 ` [PATCH v8 2/6] i2c: i801: Use a different adapter-name for IDF adapters Hans de Goede
2024-08-13 22:55   ` Andi Shyti
2024-08-14 18:35     ` Wolfram Sang
2024-08-14 18:43       ` Andy Shevchenko
2024-08-14 18:51         ` Wolfram Sang
2024-08-14 18:57           ` Andy Shevchenko
2024-08-16 14:35             ` Wolfram Sang
2024-08-16 14:38   ` Wolfram Sang
2024-08-12 20:39 ` [PATCH v8 3/6] platform/x86: dell-smo8800: Move SMO88xx acpi_device_ids to dell-smo8800-ids.h Hans de Goede
2024-08-12 20:39 ` [PATCH v8 4/6] platform/x86: dell-smo8800: Move instantiation of lis3lv02d i2c_client from i2c-i801 to dell-lis3lv02d Hans de Goede
2024-08-12 20:39 ` [PATCH v8 5/6] platform/x86: dell-smo8800: Add a couple more models to lis3lv02d_devices[] Hans de Goede
2024-08-12 20:39 ` [PATCH v8 6/6] platform/x86: dell-smo8800: Add support for probing for the accelerometer i2c address Hans de Goede
2024-09-09 22:02 ` [PATCH v8 0/6] i2c-i801 / dell-lis3lv02d: Move instantiation of lis3lv02d i2c_client from i2c-i801 to dell-lis3lv02d Andi Shyti

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=Zr9kdHSj2wl_MO4H@shikoro \
    --to=wsa+renesas@sang-engineering.com \
    --cc=Dell.Client.Kernel@dell.com \
    --cc=andi.shyti@kernel.org \
    --cc=andy@kernel.org \
    --cc=eric.piel@tremplin-utc.net \
    --cc=hdegoede@redhat.com \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=jdelvare@suse.com \
    --cc=kai.heng.feng@canonical.com \
    --cc=linux-i2c@vger.kernel.org \
    --cc=mail@mariushoch.de \
    --cc=pali@kernel.org \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=pmenzel@molgen.mpg.de \
    --cc=wsa@kernel.org \
    /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.