Re: linux-next: build failure after merge of the keys tree

From: Stephen Rothwell
Date: Mon Sep 02 2019 - 02:19:42 EST


Hi all,

On Thu, 29 Aug 2019 15:31:16 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> After merging the keys tree, today's linux-next build (arm
> multi_v7_defconfig) failed like this:
>
>
> Caused by commit
>
> ef9cc255c953 ("usb: Add USB subsystem notifications")
>
> # CONFIG_USB_NOTIFICATIONS is not set
>
> I have used the keys tree from next-20190828 for today.

I only realised this morning that I forgot to include the error log
(sorry):

In file included from include/linux/usb/phy.h:15,
from include/linux/usb/otg.h:14,
from include/linux/usb/tegra_usb_phy.h:21,
from arch/arm/mach-tegra/tegra.c:27:
include/linux/usb.h:2026:34: error: parameter 2 ('subtype') has incomplete type
2026 | enum usb_notification_type subtype,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
include/linux/usb.h:2025:20: error: function declaration isn't a prototype [-Werror=strict-prototypes]
2025 | static inline void post_usb_device_notification(const struct usb_device *udev,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/usb.h:2029:38: error: parameter 2 ('subtype') has incomplete type
2029 | enum usb_notification_type subtype,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
include/linux/usb.h:2028:20: error: function declaration isn't a prototype [-Werror=strict-prototypes]
2028 | static inline void post_usb_bus_notification(const struct usb_bus *ubus,
| ^~~~~~~~~~~~~~~~~~~~~~~~~

(several more like this)

Today I have included the following fix patch:

From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Mon, 2 Sep 2019 16:01:59 +1000
Subject: [PATCH] usb: include watch_queue.h for needed enum

The forward declararion doesn't seem to work (at laste for the
!CONFIG_USB_NOTIFICATIONS case.

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
---
include/linux/usb.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/usb.h b/include/linux/usb.h
index a7d5fce46569..11438058f4fa 100644
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -4,6 +4,7 @@

#include <linux/mod_devicetable.h>
#include <linux/usb/ch9.h>
+#include <linux/watch_queue.h>

#define USB_MAJOR 180
#define USB_DEVICE_MAJOR 189
@@ -26,7 +27,6 @@
struct usb_device;
struct usb_driver;
struct wusb_dev;
-enum usb_notification_type;

/*-------------------------------------------------------------------------*/

--
2.23.0.rc1

I then discovered that I needed to install libkeyutils-dev :-( but it
built OK after that.
--
Cheers,
Stephen Rothwell

Attachment: pgpAMh2QY0bzA.pgp
Description: OpenPGP digital signature