[PATCH v9 1/3] usb: add missing headers transitively included by <linux/phy/phy.h>
Vladimir Oltean <[email protected]> Mon, 10 Aug 2026 15:56:12 +0300
| Newsgroups | org.kernel.vger.linux-tegra,dev.linux.lists.imx,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-usb |
|---|---|
| Message-ID | <[email protected]> |
The chipidea ci_hdrc_imx driver uses regulator consumer API like regulator_enable() but does not include <linux/regulator/consumer.h>. The core USB HCD driver calls invalidate_kernel_vmap_range() and flush_kernel_vmap_range(), but does not include <linux/highmem.h>. The DWC3 gadget driver calls: - device_property_present() - device_property_count_u8() - device_property_read_u8_array() but does not include <linux/property.h> Similarly, dwc3-imx uses device_property_read_bool() without including <linux/property.h>. The dwc3-generic-plat driver uses of_device_get_match_data() but does not include <linux/of.h>. In all these cases, the necessary includes were still provided somehow, directly or indirectly, through <linux/phy/phy.h>. I found the following command to be quite helpful in figuring out the include chain: $ make KCFLAGS="-H" drivers/usb/dwc3/dwc3-imx.o Since <linux/phy/phy.h> wants to drop the unnecessary includes, fill in the required headers to avoid any breakage. Signed-off-by: Vladimir Oltean <[email protected]> Acked-by: Thinh Nguyen <[email protected]> # dwc3 Acked-by: Greg Kroah-Hartman <[email protected]> --- Cc: Peter Chen <[email protected]> Cc: Greg Kroah-Hartman <[email protected]> Cc: Frank Li <[email protected]> Cc: Sascha Hauer <[email protected]> Cc: Pengutronix Kernel Team <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Thinh Nguyen <[email protected]> Cc: Xu Yang <[email protected]> v7->v9: none v6->v7: - add drivers/usb/dwc3/dwc3-imx.c to the list of patched files - collect tag from Greg, keeping it despite the new addition because the change is minor and in the same spirit as the rest (https://lore.kernel.org/linux-phy/2026033028-squint-yield-4c23@gregkh/) v2->v6: none v1->v2: collect tag --- drivers/usb/chipidea/ci_hdrc_imx.c | 1 + drivers/usb/core/hcd.c | 1 + drivers/usb/dwc3/dwc3-generic-plat.c | 1 + drivers/usb/dwc3/dwc3-imx.c | 1 + drivers/usb/dwc3/gadget.c | 1 + 5 files changed, 5 insertions(+) diff --git a/drivers/usb/chipidea/ci_hdrc_imx.c b/drivers/usb/chipidea/ci_hdrc_imx.c index 282314eea7fc..1509b8ec630c 100644 --- a/drivers/usb/chipidea/ci_hdrc_imx.c +++ b/drivers/usb/chipidea/ci_hdrc_imx.c @@ -17,6 +17,7 @@ #include <linux/clk.h> #include <linux/pinctrl/consumer.h> #include <linux/pm_qos.h> +#include <linux/regulator/consumer.h> #include "ci.h" #include "ci_hdrc_imx.h" diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c index 8e8a5f59b319..f7def9b116e0 100644 --- a/drivers/usb/core/hcd.c +++ b/drivers/usb/core/hcd.c @@ -10,6 +10,7 @@ */ #include <linux/bcd.h> +#include <linux/highmem.h> #include <linux/module.h> #include <linux/version.h> #include <linux/kernel.h> diff --git a/drivers/usb/dwc3/dwc3-generic-plat.c b/drivers/usb/dwc3/dwc3-generic-plat.c index ca69ac0eb07c..2f2ae6f4704f 100644 --- a/drivers/usb/dwc3/dwc3-generic-plat.c +++ b/drivers/usb/dwc3/dwc3-generic-plat.c @@ -8,6 +8,7 @@ */ #include <linux/clk.h> +#include <linux/of.h> #include <linux/platform_device.h> #include <linux/reset.h> #include <linux/regmap.h> diff --git a/drivers/usb/dwc3/dwc3-imx.c b/drivers/usb/dwc3/dwc3-imx.c index 973a486b544d..6e122674edaf 100644 --- a/drivers/usb/dwc3/dwc3-imx.c +++ b/drivers/usb/dwc3/dwc3-imx.c @@ -13,6 +13,7 @@ #include <linux/of_platform.h> #include <linux/platform_device.h> #include <linux/pm_runtime.h> +#include <linux/property.h> #include "core.h" #include "glue.h" diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index fa0f16ffafef..e70c17d50db8 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -10,6 +10,7 @@ #include <linux/kernel.h> #include <linux/delay.h> +#include <linux/property.h> #include <linux/slab.h> #include <linux/spinlock.h> #include <linux/platform_device.h> -- 2.34.1