Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933951AbeAKMYS (ORCPT + 1 other); Thu, 11 Jan 2018 07:24:18 -0500 Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:59546 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933416AbeAKMYQ (ORCPT ); Thu, 11 Jan 2018 07:24:16 -0500 Subject: Re: [PATCH 1/9] iommu/of: Drop early initialisation hooks To: JeffyChen , Marek Szyprowski , linux-kernel@vger.kernel.org Cc: jcliang@chromium.org, tfiga@chromium.org, linux-samsung-soc@vger.kernel.org, Kukjin Kim , devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, iommu@lists.linux-foundation.org, Frank Rowand , Krzysztof Kozlowski , Rob Clark , Will Deacon , Joerg Roedel , Rob Herring , linux-arm-kernel@lists.infradead.org References: <20180111082229.24011-1-jeffy.chen@rock-chips.com> <20180111082229.24011-2-jeffy.chen@rock-chips.com> <60fdd375-ca74-0fea-c598-39a68b9e7735@samsung.com> <5A57471E.7020304@rock-chips.com> From: Robin Murphy Message-ID: Date: Thu, 11 Jan 2018 12:24:11 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <5A57471E.7020304@rock-chips.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-GB Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: Hi Jeffy, On 11/01/18 11:14, JeffyChen wrote: > Hi Marek, > > Thanks for your reply. > > On 01/11/2018 05:40 PM, Marek Szyprowski wrote: >> Hi Jeffy, >> >> On 2018-01-11 09:22, Jeffy Chen wrote: >>> With the probe-deferral mechanism, early initialisation hooks are no >>> longer needed. >>> >>> Suggested-by: Robin Murphy In fact, shortly after I said that I had a "how hard can it be?" moment and took a crack at it myself - sorry, I should probably have cc'd you on that series[1]. >>> Signed-off-by: Jeffy Chen >>> --- >>> >>>   drivers/iommu/arm-smmu-v3.c  |  2 +- >>>   drivers/iommu/arm-smmu.c     | 12 ++++++------ >>>   drivers/iommu/exynos-iommu.c |  2 +- >> >> For Exynos IOMMU: >> Acked-by: Marek Szyprowski >> >> IPMMU and MSM IOMMU are no longer multi-platform safe after this patch. >> It breaks them in the same way as my commit 928055a01b3f ("iommu/exynos: >> Remove custom platform device registration code") broke Exynos IOMMU. >> >> You need a similar fix for them: >> https://www.spinics.net/lists/arm-kernel/msg627648.html > > hmmm, right, i did saw this fix in the rockchip iommu driver too. > > and there're also some other iommu drivers put bus_set_iommu in their > probe() to avoid that. > > maybe we can do it in the iommu framework? > > for example: > 1/ add a bus type member to struct iommu_device > 2/ and a iommu_device_set_bus() > 3/ do the bus_set_iommu stuff in iommu_device_register() > 4/ undo bus_set_iommu in iommu_device_unregister() Ultimately we'd like to get rid of the bus relationship altogether, so I don't think it's really worth adding more infrastructure around it. Having of-iommu-based drivers set bus ops at probe time, and others conditionally from an initcall, is pretty clean and simple, so I'd rather stick with that approach for now. Robin. [1] https://lists.linuxfoundation.org/pipermail/iommu/2018-January/025395.html