From: Doug Berger <opendmb@gmail.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>,
Gergo Koteles <soyer@irl.hu>,
Jonathan Cameron <Jonathan.Cameron@huawei.com>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Dan Williams <dan.j.williams@intel.com>,
Hans de Goede <hdegoede@redhat.com>,
Thomas Gleixner <tglx@linutronix.de>,
Kees Cook <keescook@chromium.org>,
Kishon Vijay Abraham I <kishon@ti.com>,
Saravana Kannan <saravanak@google.com>,
Florian Fainelli <f.fainelli@gmail.com>,
linux-kernel@vger.kernel.org, linux-input@vger.kernel.org,
Doug Berger <opendmb@gmail.com>
Subject: [RFC PATCH 1/3] input: gpio-keys - use device_pm_move_to_tail
Date: Thu, 27 Apr 2023 15:16:23 -0700 [thread overview]
Message-ID: <20230427221625.116050-2-opendmb@gmail.com> (raw)
In-Reply-To: <20230427221625.116050-1-opendmb@gmail.com>
The gpio-keys device driver implements the functionality of its
child nodes which do not receive dedicated drivers. This means
it should inherit the dependencies of these child nodes and
their effects on suspend/resume and shutdown order.
This commit exposes the device_pm_move_to_tail function to
allow the driver to move itself to the end of the lists upon a
successful probe to allow proper sequencing when other methods
are not available.
Fixes: 722e5f2b1eec ("driver core: Partially revert "driver core: correct device's shutdown order"")
Signed-off-by: Doug Berger <opendmb@gmail.com>
---
drivers/base/core.c | 1 +
drivers/input/keyboard/gpio_keys.c | 2 ++
include/linux/device.h | 1 +
3 files changed, 4 insertions(+)
diff --git a/drivers/base/core.c b/drivers/base/core.c
index 6878dfcbf0d6..8385df4d9677 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -428,6 +428,7 @@ void device_pm_move_to_tail(struct device *dev)
device_pm_unlock();
device_links_read_unlock(idx);
}
+EXPORT_SYMBOL_GPL(device_pm_move_to_tail);
#define to_devlink(dev) container_of((dev), struct device_link, link_dev)
diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c
index c42f86ad0766..0516c6279d8a 100644
--- a/drivers/input/keyboard/gpio_keys.c
+++ b/drivers/input/keyboard/gpio_keys.c
@@ -810,6 +810,8 @@ static int gpio_keys_probe(struct platform_device *pdev)
int i, error;
int wakeup = 0;
+ device_pm_move_to_tail(dev);
+
if (!pdata) {
pdata = gpio_keys_get_devtree_pdata(dev);
if (IS_ERR(pdata))
diff --git a/include/linux/device.h b/include/linux/device.h
index 1508e637bb26..dad40bd45509 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -1082,6 +1082,7 @@ void device_link_del(struct device_link *link);
void device_link_remove(void *consumer, struct device *supplier);
void device_links_supplier_sync_state_pause(void);
void device_links_supplier_sync_state_resume(void);
+void device_pm_move_to_tail(struct device *dev);
extern __printf(3, 4)
int dev_err_probe(const struct device *dev, int err, const char *fmt, ...);
--
2.34.1
next prev parent reply other threads:[~2023-04-27 22:18 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-27 22:16 [RFC PATCH 0/3] input: gpio-keys - fix pm ordering Doug Berger
2023-04-27 22:16 ` Doug Berger [this message]
2023-04-27 22:16 ` [RFC PATCH 2/3] input: gpio-keys - add device links of children Doug Berger
2023-04-27 22:16 ` [RFC PATCH 3/3] Revert "input: gpio-keys - use device_pm_move_to_tail" Doug Berger
2023-04-28 4:47 ` Greg Kroah-Hartman
2023-04-28 11:40 ` Rafael J. Wysocki
2023-04-28 17:22 ` Doug Berger
2023-05-01 20:40 ` [RFC PATCH 0/3] input: gpio-keys - fix pm ordering Saravana Kannan
2023-05-03 2:18 ` Saravana Kannan
2023-05-03 22:20 ` Doug Berger
2023-05-03 22:31 ` Saravana Kannan
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=20230427221625.116050-2-opendmb@gmail.com \
--to=opendmb@gmail.com \
--cc=Jonathan.Cameron@huawei.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=dan.j.williams@intel.com \
--cc=dmitry.torokhov@gmail.com \
--cc=f.fainelli@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=hdegoede@redhat.com \
--cc=keescook@chromium.org \
--cc=kishon@ti.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=prabhakar.mahadev-lad.rj@bp.renesas.com \
--cc=rafael@kernel.org \
--cc=saravanak@google.com \
--cc=soyer@irl.hu \
--cc=tglx@linutronix.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox