git: a478f4afd83a - stable/13 - LinuxKPI: move pm_message_t from kernel.h to pm.h
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 01 Jul 2022 14:57:42 UTC
The branch stable/13 has been updated by bz:
URL: https://cgit.FreeBSD.org/src/commit/?id=a478f4afd83a11f8f11d9b4e594aed21691f63b0
commit a478f4afd83a11f8f11d9b4e594aed21691f63b0
Author: Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2022-05-20 21:50:01 +0000
Commit: Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2022-07-01 13:48:24 +0000
LinuxKPI: move pm_message_t from kernel.h to pm.h
Move pm_message_t from kernel.h to pm.h and remove a private define
in usb.h as well as adjust the implementation in linux_usb.c.
This cleans up what I believe to be a historic shortcut and is
needed for future wireless driver updates.
Leave a note in UPDATING that drm-kmod users need to update to the
latest version before re-compiling a new kernel to avoid errors
(see PR).
Sponsored by: The FreeBSD Foundation
PR: 264449 (drm-kmod port update, thanks wulf)
Obtained from: bz_git_iwlwifi (Dec 2020) (partly)
Reviewed by: hselasky, imp
Differential Revision: https://reviews.freebsd.org/D35276
(cherry picked from commit 0e981d79b19da8fc550ea0dbe46e8658be988db4)
---
UPDATING | 4 ++++
sys/compat/linuxkpi/common/include/linux/kernel.h | 4 ----
sys/compat/linuxkpi/common/include/linux/pci.h | 1 +
sys/compat/linuxkpi/common/include/linux/pm.h | 4 ++++
sys/compat/linuxkpi/common/include/linux/usb.h | 3 ++-
sys/compat/linuxkpi/common/src/linux_usb.c | 7 +++++--
6 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/UPDATING b/UPDATING
index f70e396a1435..a96d4b38e240 100644
--- a/UPDATING
+++ b/UPDATING
@@ -12,6 +12,10 @@ Items affecting the ports and packages system can be found in
/usr/ports/UPDATING. Please read that file before updating system packages
and/or ports.
+20220701:
+ LinuxKPI pm.h changes require an update to the latest drm-kmod version
+ before re-compiling to avoid errors.
+
20220327:
Bump __FreeBSD_verion to 1301501 after merging LinuxKPI and
net80211 changes in order to help out-of-tree consumers to deal
diff --git a/sys/compat/linuxkpi/common/include/linux/kernel.h b/sys/compat/linuxkpi/common/include/linux/kernel.h
index 51f2ffe01e15..4987c582f0f3 100644
--- a/sys/compat/linuxkpi/common/include/linux/kernel.h
+++ b/sys/compat/linuxkpi/common/include/linux/kernel.h
@@ -597,10 +597,6 @@ extern bool linux_cpu_has_clflush;
#define cpu_has_clflush linux_cpu_has_clflush
#endif
-typedef struct pm_message {
- int event;
-} pm_message_t;
-
/* Swap values of a and b */
#define swap(a, b) do { \
typeof(a) _swap_tmp = a; \
diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h
index 95187a231e1f..c5aeabbf1791 100644
--- a/sys/compat/linuxkpi/common/include/linux/pci.h
+++ b/sys/compat/linuxkpi/common/include/linux/pci.h
@@ -59,6 +59,7 @@
#include <asm/atomic.h>
#include <linux/device.h>
#include <linux/pci_ids.h>
+#include <linux/pm.h>
struct pci_device_id {
uint32_t vendor;
diff --git a/sys/compat/linuxkpi/common/include/linux/pm.h b/sys/compat/linuxkpi/common/include/linux/pm.h
index 6b8a7e768a8c..255c9bf0ea8b 100644
--- a/sys/compat/linuxkpi/common/include/linux/pm.h
+++ b/sys/compat/linuxkpi/common/include/linux/pm.h
@@ -33,6 +33,10 @@
#ifndef _LINUXKPI_LINUX_PM_H
#define _LINUXKPI_LINUX_PM_H
+typedef struct pm_message {
+ int event;
+} pm_message_t;
+
#ifdef CONFIG_PM_SLEEP
#define SIMPLE_DEV_PM_OPS(_name, _suspendfunc, _resumefunc) \
const struct dev_pm_ops _name = { \
diff --git a/sys/compat/linuxkpi/common/include/linux/usb.h b/sys/compat/linuxkpi/common/include/linux/usb.h
index 032c1e53a015..3b7c8a2cde78 100644
--- a/sys/compat/linuxkpi/common/include/linux/usb.h
+++ b/sys/compat/linuxkpi/common/include/linux/usb.h
@@ -37,12 +37,13 @@
#include <dev/usb/usbdi.h>
#include <dev/usb/usbdi_util.h>
+#include <linux/pm.h>
+
struct usb_device;
struct usb_interface;
struct usb_driver;
struct urb;
-typedef void *pm_message_t;
typedef void (usb_complete_t)(struct urb *);
#define USB_MAX_FULL_SPEED_ISOC_FRAMES (60 * 1)
diff --git a/sys/compat/linuxkpi/common/src/linux_usb.c b/sys/compat/linuxkpi/common/src/linux_usb.c
index 05fb63b93142..39a9f29e51ee 100644
--- a/sys/compat/linuxkpi/common/src/linux_usb.c
+++ b/sys/compat/linuxkpi/common/src/linux_usb.c
@@ -341,11 +341,14 @@ usb_linux_suspend(device_t dev)
{
struct usb_linux_softc *sc = device_get_softc(dev);
struct usb_driver *udrv = usb_linux_get_usb_driver(sc);
+ pm_message_t pm_msg;
int err;
err = 0;
- if (udrv && udrv->suspend)
- err = (udrv->suspend) (sc->sc_ui, 0);
+ if (udrv && udrv->suspend) {
+ pm_msg.event = 0; /* XXX */
+ err = (udrv->suspend) (sc->sc_ui, pm_msg);
+ }
return (-err);
}