From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753945AbdBGMgX (ORCPT ); Tue, 7 Feb 2017 07:36:23 -0500 Received: from mailout1.w1.samsung.com ([210.118.77.11]:11907 "EHLO mailout1.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752833AbdBGMgV (ORCPT ); Tue, 7 Feb 2017 07:36:21 -0500 X-AuditID: cbfec7f1-f793f6d000007796-16-5899bf41fdf7 Subject: Re: [PATCH 09/10] iommu/exynos: Make use of iommu_device_register interface To: Joerg Roedel , Will Deacon , Robin Murphy , Lorenzo Pieralisi , Alex Williamson , David Woodhouse Cc: iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org, Joerg Roedel , linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org From: Marek Szyprowski Message-id: <3e4709a7-2231-7c76-18bd-6e2d6b802b8e@samsung.com> Date: Tue, 07 Feb 2017 13:36:15 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-version: 1.0 In-reply-to: <1486397429-29327-10-git-send-email-joro@8bytes.org> Content-type: text/plain; charset=utf-8; format=flowed Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrLKsWRmVeSWpSXmKPExsWy7djP87qO+2dGGMxsMrT49r+HzWLiysnM Fgv2W1t0zt7AbjH51Fwmi02Pr7FaXN41h81ixvl9TBZvfr9gtzj44QmrxcuPJ1gcuD2eHJzH 5LFm3hpGj80rtDw2L6n3mHxjOaPH+31X2Tw2n672+LxJLoAjissmJTUnsyy1SN8ugSvj7ZyP bAX9IhULeuoaGCcLdDFyckgImEi8PfKYFcIWk7hwbz1bFyMXh5DAUkaJrofH2EESQgKfGSV2 HxPpYuQAa7i1wxuiZhmjxPmr8xkhnOeMEie/z2UDaRAWCJO4cPQ8WEJE4AujxK19J5hAHGaB 9YwSl2b3g1WxCRhKdL3tArN5BewkrrevZAKxWQRUJU6dvAp2k6hAjMTreX/ZIWoEJX5MvscC cgangKPE+5tRIGFmASuJZ/9aWSFseYnNa94yg+ySELjFLrFs7TlWiLNlJTYdYIZ400Xi3IE2 KFtY4tXxLewQtoxEZ8dBJgi7n1GiqVUbwp7BKHHuLS+EbS1x+PhFqF18EpO2TWeGGM8r0dEm BGF6SBx9mgJR7Six/tgEdkj4nGKU+Dh/AuMERvlZSJ6ZheSDWUg+WMDIvIpRJLW0ODc9tdhI rzgxt7g0L10vOT93EyMwEZ3+d/zjDsb3J6wOMQpwMCrx8GZ0zIgQYk0sK67MPcQowcGsJMIb sGVmhBBvSmJlVWpRfnxRaU5q8SFGaQ4WJXHePQuuhAsJpCeWpGanphakFsFkmTg4pRoYDc71 hb2VF+o+1XjGjC9lRnIB52Zr5i8Hdi1x4ZohVs2vKuvucWptUs8HkTddU76Uahg9incq2aGt 88NWVdPR7cgqOdbjr/Of/hS07T3OpfEkxNLiVcXq0ucsf04avmnmZhDyfe740XXfZYULdS0G qxj/Clkod5h3fY7v/Gi2ju3ZDgmPQkElluKMREMt5qLiRAAk2+0LQAMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrAIsWRmVeSWpSXmKPExsVy+t/xK7pd+2dGGPQtt7L49r+HzWLiysnM Fgv2W1t0zt7AbjH51Fwmi02Pr7FaXN41h81ixvl9TBZvfr9gtzj44QmrxcuPJ1gcuD2eHJzH 5LFm3hpGj80rtDw2L6n3mHxjOaPH+31X2Tw2n672+LxJLoAjys0mIzUxJbVIITUvOT8lMy/d Vik0xE3XQkkhLzE31VYpQtc3JEhJoSwxpxTIMzJAAw7OAe7BSvp2CW4Zb+d8ZCvoF6lY0FPX wDhZoIuRg0NCwETi1g7vLkZOIFNM4sK99WxdjFwcQgJLGCXOzFkE5TxnlFgzYTULSJWwQJjE haPnGUESIgLfGCUmnn3HDlF1ilHixfsPYBlmgfWMEn03f7CDtLAJGEp0ve1iA7F5Bewkrrev ZAKxWQRUJU6dvMoKYosKxEi83LOKBaJGUOLH5HssIPdxCjhKvL8ZBRJmFjCT+PLyMCuELS+x ec1b5gmMArOQdMxCUjYLSdkCRuZVjCKppcW56bnFhnrFibnFpXnpesn5uZsYgbG57djPzTsY L20MPsQowMGoxMN7oGtGhBBrYllxZe4hRgkOZiUR3oAtMyOEeFMSK6tSi/Lji0pzUosPMZoC /TCRWUo0OR+YNvJK4g1NDM0tDY2MLSzMjYyUxHlLPlwJFxJITyxJzU5NLUgtgulj4uCUamAs eLFketDXVzr8B8LnON5OzO8UsecOMVi9MkVw5vEJGsFLtz+cWsOkoRH5NsVexFHoJbvnv20X 4z81L+K8vFqpW8gghHtTuXbE0nt+v2Z1Oat5xE+/e2r//wVmR7jKGnxueJeFOk7KXLjjzGSO ksoVlyZKbrScXbJSb/bsOx56k1Tv8h3ZtfOqEktxRqKhFnNRcSIAcrw/Q+MCAAA= X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170207123617eucas1p265316dd33db09d4cac7f065ce2930d52 X-Msg-Generator: CA X-Sender-IP: 182.198.249.179 X-Local-Sender: =?UTF-8?B?TWFyZWsgU3p5cHJvd3NraRtTUlBPTC1LZXJuZWwgKFRQKRs=?= =?UTF-8?B?7IK87ISx7KCE7J6QG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?= X-Global-Sender: =?UTF-8?B?TWFyZWsgU3p5cHJvd3NraRtTUlBPTC1LZXJuZWwgKFRQKRtT?= =?UTF-8?B?YW1zdW5nIEVsZWN0cm9uaWNzG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?= X-Sender-Code: =?UTF-8?B?QzEwG0VIURtDMTBDRDAyQ0QwMjczOTI=?= CMS-TYPE: 201P X-HopCount: 7 X-CMS-RootMailID: 20170206161330epcas3p185c7719afc89ab2ad87e55e9f62ccfa1 X-RootMTR: 20170206161330epcas3p185c7719afc89ab2ad87e55e9f62ccfa1 References: <1486397429-29327-1-git-send-email-joro@8bytes.org> <1486397429-29327-10-git-send-email-joro@8bytes.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Joerg, On 2017-02-06 17:10, Joerg Roedel wrote: > From: Joerg Roedel > > Register Exynos IOMMUs to the IOMMU core and make them > visible in sysfs. This patch does not add the links between > IOMMUs and translated devices yet. > > Cc: Marek Szyprowski > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-samsung-soc@vger.kernel.org > Signed-off-by: Joerg Roedel > --- > drivers/iommu/exynos-iommu.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c > index 57ba0d3..90f0f52 100644 > --- a/drivers/iommu/exynos-iommu.c > +++ b/drivers/iommu/exynos-iommu.c > @@ -276,6 +276,8 @@ struct sysmmu_drvdata { > struct list_head owner_node; /* node for owner controllers list */ > phys_addr_t pgtable; /* assigned page table structure */ > unsigned int version; /* our version */ > + > + struct iommu_device iommu; /* IOMMU core handle */ > }; > > static struct exynos_iommu_domain *to_exynos_domain(struct iommu_domain *dom) > @@ -556,6 +558,7 @@ static int __init exynos_sysmmu_probe(struct platform_device *pdev) > struct device *dev = &pdev->dev; > struct sysmmu_drvdata *data; > struct resource *res; > + resource_size_t ioaddr; > > data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL); > if (!data) > @@ -565,6 +568,7 @@ static int __init exynos_sysmmu_probe(struct platform_device *pdev) > data->sfrbase = devm_ioremap_resource(dev, res); > if (IS_ERR(data->sfrbase)) > return PTR_ERR(data->sfrbase); > + ioaddr = res->start; > > irq = platform_get_irq(pdev, 0); > if (irq <= 0) { > @@ -611,6 +615,18 @@ static int __init exynos_sysmmu_probe(struct platform_device *pdev) > data->sysmmu = dev; > spin_lock_init(&data->lock); > > + ret = iommu_device_sysfs_add(&data->iommu, &pdev->dev, NULL, > + "sysmmu.%pa", &ioaddr); Can we stick to the common name across the /sysfs and use dev_name(data->sysmmu) or even dev_name(dev) here? ret = iommu_device_sysfs_add(&data->iommu, &pdev->dev, NULL, dev_name(dev)); > + if (ret) > + return ret; > + > + data->iommu.ops = &exynos_iommu_ops; > + data->iommu.fwnode = &dev->of_node->fwnode; > + > + ret = iommu_device_register(&data->iommu); > + if (ret) > + return ret; > + > platform_set_drvdata(pdev, data); > > __sysmmu_get_version(data); Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland