Re: [PATCH v2 7/9] ARM: dts: omap: dm816x: Remove hwmod code for USB
From: Andreas Kemnade
Date: Fri Oct 30 2026 - 08:14:38 EST
On Wed, 28 Oct 2026 17:06:08 +0100
Ettore Chimenti <ettore.chimenti@xxxxxxxxxx> wrote:
> From: Andrew Goodbody <andrew.goodbody@xxxxxxxxxx>
>
> Remove the hwmod property from the USB controller node and the matching
> code from the hwmod data file as this is now deprecated.
>
> Signed-off-by: Andrew Goodbody <andrew.goodbody@xxxxxxxxxx>
> Signed-off-by: Ettore Chimenti <ettore.chimenti@xxxxxxxxxx>
> ---
> arch/arm/boot/dts/ti/omap/dm816x.dtsi | 1 -
> arch/arm/mach-omap2/omap_hwmod_81xx_data.c | 21 ---------------------
> 2 files changed, 22 deletions(-)
>
> diff --git a/arch/arm/boot/dts/ti/omap/dm816x.dtsi b/arch/arm/boot/dts/ti/omap/dm816x.dtsi
> index b839ee29e9eb..55f4b91fa1fc 100644
> --- a/arch/arm/boot/dts/ti/omap/dm816x.dtsi
> +++ b/arch/arm/boot/dts/ti/omap/dm816x.dtsi
> @@ -576,7 +576,6 @@ uart3: serial@48024000 {
> /* NOTE: USB needs a transceiver driver for phys to work */
> usb: target-module@47400000 {
> compatible = "ti,sysc-omap4", "ti,sysc";
> - ti,hwmods = "usb_otg_hs";
> reg = <0x47400000 0x4>,
> <0x47400010 0x4>;
> reg-names = "rev", "sysc";
As I have also some hwmod -> ti-sysc conversions cooking, I think I have
an idea why you put these two in one file. Doing this in lockstep should
be justified in the commit message.
I guess you have removed this and seem a fat WARN().
Analyzing omap_hwmod.c I found that every module action is guarded by
if (oh->_state != _HWMOD_STATE_INITIALIZED)
So I think it is time to just denoise that WARN(), since the
originial authors probably did not have ti-sysc conversion in mind.
I will prepare a patch for that. But then you can add that snippet to patch 6.
While merging this patches we just have to ensure that the hwmod removal
comes after adding ti,sysc stuff.
Regards,
Andreas
> diff --git a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
> index 9b5c728fb7da..b9735b507d6b 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
> @@ -646,26 +646,6 @@ static struct omap_hwmod_ocp_if dm814x_default_l3_slow__usbss = {
> .user = OCP_USER_MPU,
> };
>
> -static struct omap_hwmod dm816x_usbss_hwmod = {
> - .name = "usb_otg_hs",
> - .clkdm_name = "default_l3_slow_clkdm",
> - .main_clk = "sysclk6_ck",
> - .prcm = {
> - .omap4 = {
> - .clkctrl_offs = DM81XX_CM_DEFAULT_USB_CLKCTRL,
> - .modulemode = MODULEMODE_SWCTRL,
> - },
> - },
> - .class = &dm81xx_usbotg_class,
> -};
> -
> -static struct omap_hwmod_ocp_if dm816x_default_l3_slow__usbss = {
> - .master = &dm81xx_default_l3_slow_hwmod,
> - .slave = &dm816x_usbss_hwmod,
> - .clk = "sysclk6_ck",
> - .user = OCP_USER_MPU,
> -};
> -
> static struct omap_hwmod_class_sysconfig dm816x_timer_sysc = {
> .rev_offs = 0x0000,
> .sysc_offs = 0x0010,
> @@ -1250,7 +1230,6 @@ static struct omap_hwmod_ocp_if *dm816x_hwmod_ocp_ifs[] __initdata = {
> &dm816x_l4_hs__emac1,
> &dm81xx_l4_hs__sata,
> &dm81xx_alwon_l3_slow__gpmc,
> - &dm816x_default_l3_slow__usbss,
> NULL,
> };
>
>