Re: [PATCH] ARM: OMAP: make iommu subsys_initcall to fix builtin omap3isp

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Ohad,

On Sunday 26 February 2012 12:14:14 Ohad Ben-Cohen wrote:
> omap3isp depends on omap's iommu and will fail to probe if
> initialized before it (which always happen if they are builtin).
> 
> Make omap's iommu subsys_initcall as an interim solution until
> the probe deferral mechanism is merged.

How will that fix the problem ?

I'm fine with this patch, as it fixes the problem as well, although I still 
believe modifying the link order would be a better fix in this case.

> Reported-by: James <angweiyang@xxxxxxxxx>
> Debugged-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
> Signed-off-by: Ohad Ben-Cohen <ohad@xxxxxxxxxx>
> Cc: stable <stable@xxxxxxxxxxxxxxx>
> Cc: Tony Lindgren <tony@xxxxxxxxxxx>
> Cc: Hiroshi Doyu <hdoyu@xxxxxxxxxx>
> Cc: Joerg Roedel <Joerg.Roedel@xxxxxxx>
> ---
>  arch/arm/mach-omap2/mailbox.c |    3 ++-
>  drivers/iommu/omap-iommu.c    |    3 ++-
>  2 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/mailbox.c b/arch/arm/mach-omap2/mailbox.c
> index 609ea2d..a6db1e4 100644
> --- a/arch/arm/mach-omap2/mailbox.c
> +++ b/arch/arm/mach-omap2/mailbox.c
> @@ -412,7 +412,8 @@ static void __exit omap2_mbox_exit(void)
>  	platform_driver_unregister(&omap2_mbox_driver);
>  }
> 
> -module_init(omap2_mbox_init);
> +/* must be ready before omap3isp is probed */

The problem is not limited to the omap3isp driver, the DSP driver could be 
affected as well.

> +subsys_initcall(omap2_mbox_init);
>  module_exit(omap2_mbox_exit);
> 
>  MODULE_LICENSE("GPL v2");
> diff --git a/drivers/iommu/omap-iommu.c b/drivers/iommu/omap-iommu.c
> index 4e661f0..821062a 100644
> --- a/drivers/iommu/omap-iommu.c
> +++ b/drivers/iommu/omap-iommu.c
> @@ -1222,7 +1222,8 @@ static int __init omap_iommu_init(void)
> 
>  	return platform_driver_register(&omap_iommu_driver);
>  }
> -module_init(omap_iommu_init);
> +/* must be ready before omap3isp is probed */
> +subsys_initcall(omap_iommu_init);
> 
>  static void __exit omap_iommu_exit(void)
>  {
-- 
Regards,

Laurent Pinchart
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux