From mboxrd@z Thu Jan 1 00:00:00 1970 From: Inki Dae Subject: Re: [PATCH 2/3] drm/exynos: dp: Remove support for unused dptx-phy Date: Thu, 30 Oct 2014 21:20:07 +0900 Message-ID: <54522CF7.6030302@samsung.com> References: <1410786785-9838-1-git-send-email-gautam.vivek@samsung.com> <1410786785-9838-3-git-send-email-gautam.vivek@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-reply-to: <1410786785-9838-3-git-send-email-gautam.vivek@samsung.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Vivek Gautam Cc: devicetree@vger.kernel.org, linux-samsung-soc@vger.kernel.org, seanpaul@google.com, Jingoo Han , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, kishon@ti.com, "cpgs ." , ajaykumar.rs@samsung.com List-Id: linux-samsung-soc@vger.kernel.org ClNvcnJ5IGZvciBsYXRlLiBJIG1pc3NlZCB0aGlzIHBhdGNoIGEgbGl0dGxlIGJpdCBmb3IgbG9u ZyB0aW1lLgoKCk9uIDIwMTTrhYQgMDnsm5QgMTXsnbwgMjI6MTMsIFZpdmVrIEdhdXRhbSB3cm90 ZToKPiBOb3cgdGhhdCB3ZSBoYXZlIG1vdmVkIHRvIGdlbmVyaWMgcGh5IGJhc2VkIGJpbmRpbmdz LAo+IHdlIGRvbid0IG5lZWQgdG8gaGF2ZSBhbnkgY29kZSByZWxhdGVkIHRvIG9sZGVyIGRwdHgt cGh5Lgo+IE5vYm9keSBpcyB1c2luZyB0aGlzIGRwdHgtcGh5IGFueW1vcmUsIHNvIHJlbW92aW5n IHRoZQo+IHNhbWUuCj4gCj4gU2lnbmVkLW9mZi1ieTogVml2ZWsgR2F1dGFtIDxnYXV0YW0udml2 ZWtAc2Ftc3VuZy5jb20+Cj4gQ2M6IEppbmdvbyBIYW4gPGpnMS5oYW5Ac2Ftc3VuZy5jb20+Cj4g LS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RwX2NvcmUuYyB8ICAgNTggKysr KysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4 eW5vc19kcF9jb3JlLmggfCAgICAyIC0tCj4gIDIgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9u cygrKSwgNDcgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9l eHlub3MvZXh5bm9zX2RwX2NvcmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2Rw X2NvcmUuYwo+IGluZGV4IDRmM2M3ZWIuLjVmZmMxYjIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2V4eW5vcy9leHlub3NfZHBfY29yZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2V4 eW5vcy9leHlub3NfZHBfY29yZS5jCj4gQEAgLTEwNTAsMjggKzEwNTAsMTQgQEAgc3RhdGljIGlu dCBleHlub3NfZHBfY3JlYXRlX2Nvbm5lY3RvcihzdHJ1Y3QgZXh5bm9zX2RybV9kaXNwbGF5ICpk aXNwbGF5LAo+ICAKPiAgc3RhdGljIHZvaWQgZXh5bm9zX2RwX3BoeV9pbml0KHN0cnVjdCBleHlu b3NfZHBfZGV2aWNlICpkcCkKPiAgewo+IC0JaWYgKGRwLT5waHkpIHsKPiArCWlmIChkcC0+cGh5 KQo+ICAJCXBoeV9wb3dlcl9vbihkcC0+cGh5KTsKPiAtCX0gZWxzZSBpZiAoZHAtPnBoeV9hZGRy KSB7Cj4gLQkJdTMyIHJlZzsKPiAtCj4gLQkJcmVnID0gX19yYXdfcmVhZGwoZHAtPnBoeV9hZGRy KTsKPiAtCQlyZWcgfD0gZHAtPmVuYWJsZV9tYXNrOwo+IC0JCV9fcmF3X3dyaXRlbChyZWcsIGRw LT5waHlfYWRkcik7Cj4gLQl9Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIGV4eW5vc19kcF9waHlf ZXhpdChzdHJ1Y3QgZXh5bm9zX2RwX2RldmljZSAqZHApCj4gIHsKPiAtCWlmIChkcC0+cGh5KSB7 Cj4gKwlpZiAoZHAtPnBoeSkKPiAgCQlwaHlfcG93ZXJfb2ZmKGRwLT5waHkpOwo+IC0JfSBlbHNl IGlmIChkcC0+cGh5X2FkZHIpIHsKPiAtCQl1MzIgcmVnOwo+IC0KPiAtCQlyZWcgPSBfX3Jhd19y ZWFkbChkcC0+cGh5X2FkZHIpOwo+IC0JCXJlZyAmPSB+KGRwLT5lbmFibGVfbWFzayk7Cj4gLQkJ X19yYXdfd3JpdGVsKHJlZywgZHAtPnBoeV9hZGRyKTsKPiAtCX0KPiAgfQo+ICAKPiAgc3RhdGlj IHZvaWQgZXh5bm9zX2RwX3Bvd2Vyb24oc3RydWN0IGV4eW5vc19kcm1fZGlzcGxheSAqZGlzcGxh eSkKPiBAQCAtMTIxMCwzOSArMTE5NiwyMSBAQCBzdGF0aWMgc3RydWN0IHZpZGVvX2luZm8gKmV4 eW5vc19kcF9kdF9wYXJzZV9wZGF0YShzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gIAo+ICBzdGF0aWMg aW50IGV4eW5vc19kcF9kdF9wYXJzZV9waHlkYXRhKHN0cnVjdCBleHlub3NfZHBfZGV2aWNlICpk cCkKPiAgewo+IC0Jc3RydWN0IGRldmljZV9ub2RlICpkcF9waHlfbm9kZSA9IG9mX25vZGVfZ2V0 KGRwLT5kZXYtPm9mX25vZGUpOwo+IC0JdTMyIHBoeV9iYXNlOwo+ICAJaW50IHJldCA9IDA7Cj4g IAo+IC0JZHBfcGh5X25vZGUgPSBvZl9maW5kX25vZGVfYnlfbmFtZShkcF9waHlfbm9kZSwgImRw dHgtcGh5Iik7Cj4gLQlpZiAoIWRwX3BoeV9ub2RlKSB7Cj4gLQkJZHAtPnBoeSA9IGRldm1fcGh5 X2dldChkcC0+ZGV2LCAiZHAiKTsKPiAtCQlyZXR1cm4gUFRSX0VSUl9PUl9aRVJPKGRwLT5waHkp Owo+IC0JfQo+IC0KPiAtCWlmIChvZl9wcm9wZXJ0eV9yZWFkX3UzMihkcF9waHlfbm9kZSwgInJl ZyIsICZwaHlfYmFzZSkpIHsKPiAtCQlkZXZfZXJyKGRwLT5kZXYsICJmYWlsZWQgdG8gZ2V0IHJl ZyBmb3IgZHB0eC1waHlcbiIpOwo+IC0JCXJldCA9IC1FSU5WQUw7Cj4gLQkJZ290byBlcnI7Cj4g LQl9Cj4gLQo+IC0JaWYgKG9mX3Byb3BlcnR5X3JlYWRfdTMyKGRwX3BoeV9ub2RlLCAic2Ftc3Vu ZyxlbmFibGUtbWFzayIsCj4gLQkJCQkmZHAtPmVuYWJsZV9tYXNrKSkgewo+IC0JCWRldl9lcnIo ZHAtPmRldiwgImZhaWxlZCB0byBnZXQgZW5hYmxlLW1hc2sgZm9yIGRwdHgtcGh5XG4iKTsKPiAt CQlyZXQgPSAtRUlOVkFMOwo+IC0JCWdvdG8gZXJyOwo+IC0JfQo+IC0KPiAtCWRwLT5waHlfYWRk ciA9IGlvcmVtYXAocGh5X2Jhc2UsIFNaXzQpOwo+IC0JaWYgKCFkcC0+cGh5X2FkZHIpIHsKPiAt CQlkZXZfZXJyKGRwLT5kZXYsICJmYWlsZWQgdG8gaW9yZW1hcCBkcC1waHlcbiIpOwo+IC0JCXJl dCA9IC1FTk9NRU07Cj4gLQkJZ290byBlcnI7Cj4gKwlkcC0+cGh5ID0gZGV2bV9waHlfZ2V0KGRw LT5kZXYsICJkcCIpOwo+ICsJaWYgKElTX0VSUihkcC0+cGh5KSkgewo+ICsJCXJldCA9IFBUUl9F UlIoZHAtPnBoeSk7Cj4gKwkJaWYgKHJldCA9PSAtRU5PU1lTIHx8IHJldCA9PSAtRU5PREVWKSB7 Cj4gKwkJCWRwLT5waHkgPSBOVUxMOwo+ICsJCX0gZWxzZSBpZiAocmV0ID09IC1FUFJPQkVfREVG RVIpIHsKPiArCQkJcmV0dXJuIHJldDsKPiArCQl9IGVsc2UgewoKV0FSTklORzogZWxzZSBpcyBu b3QgZ2VuZXJhbGx5IHVzZWZ1bCBhZnRlciBhIGJyZWFrIG9yIHJldHVybgojMTQ2OiBGSUxFOiBk cml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcF9jb3JlLmM6MTIwODoKKwkJCXJldHVybiBy ZXQ7CisJCX0gZWxzZSB7CgpIb3cgYWJvdXQganVzdCByZXR1cm5pbmcgcmV0IGxpa2UgYmVsb3c/ CgkJaWYgKElTX0VSUihkcC0+cGh5KSkgewoJCQlkZXZfZXJyKGRwLT5kZXYsICJubyBEUCBwaHkg Y29uZmlndXJlZFxuIik7CgkJCXJldHVybiBQVFJfRVJSKHJldCk7CgkJfQoKQW5kIHRoZW4geW91 IGNhbiBoYW5kbGUgdGhlIGVycm9yIGF0IHByb2JlIGZ1bmN0aW9uIHByb3Blcmx5LgoKVGhhbmtz LApJbmtpIERhZQoKCj4gKwkJCWRldl9lcnIoZHAtPmRldiwgIm5vIERQIHBoeSBjb25maWd1cmVk XG4iKTsKPiArCQkJcmV0dXJuIHJldDsKPiArCQl9Cj4gIAl9Cj4gIAo+IC1lcnI6Cj4gLQlvZl9u b2RlX3B1dChkcF9waHlfbm9kZSk7Cj4gLQo+ICAJcmV0dXJuIHJldDsKPiAgfQo+ICAKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHBfY29yZS5oIGIvZHJpdmVy cy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHBfY29yZS5oCj4gaW5kZXggYTFhZWU2OS4uNjQyNjIw MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcF9jb3JlLmgK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcF9jb3JlLmgKPiBAQCAtMTUz LDggKzE1Myw2IEBAIHN0cnVjdCBleHlub3NfZHBfZGV2aWNlIHsKPiAgCXN0cnVjdCBjbGsJCSpj bG9jazsKPiAgCXVuc2lnbmVkIGludAkJaXJxOwo+ICAJdm9pZCBfX2lvbWVtCQkqcmVnX2Jhc2U7 Cj4gLQl2b2lkIF9faW9tZW0JCSpwaHlfYWRkcjsKPiAtCXVuc2lnbmVkIGludAkJZW5hYmxlX21h c2s7Cj4gIAo+ICAJc3RydWN0IHZpZGVvX2luZm8JKnZpZGVvX2luZm87Cj4gIAlzdHJ1Y3QgbGlu a190cmFpbglsaW5rX3RyYWluOwo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759398AbaJ3MUN (ORCPT ); Thu, 30 Oct 2014 08:20:13 -0400 Received: from mailout4.samsung.com ([203.254.224.34]:30485 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759392AbaJ3MUK (ORCPT ); Thu, 30 Oct 2014 08:20:10 -0400 MIME-version: 1.0 Content-type: text/plain; charset=UTF-8 X-AuditID: cbfee68f-f791c6d000004834-a9-54522cf75c5d Content-transfer-encoding: 8BIT Message-id: <54522CF7.6030302@samsung.com> Date: Thu, 30 Oct 2014 21:20:07 +0900 From: Inki Dae User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130803 Thunderbird/17.0.8 To: Vivek Gautam Cc: dri-devel@lists.freedesktop.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, seanpaul@google.com, kishon@ti.com, ajaykumar.rs@samsung.com, Jingoo Han , "cpgs ." Subject: Re: [PATCH 2/3] drm/exynos: dp: Remove support for unused dptx-phy References: <1410786785-9838-1-git-send-email-gautam.vivek@samsung.com> <1410786785-9838-3-git-send-email-gautam.vivek@samsung.com> In-reply-to: <1410786785-9838-3-git-send-email-gautam.vivek@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrDIsWRmVeSWpSXmKPExsWyRsSkRPe7TlCIweFTahYH3h9ksXh5SNNi /pFzrBZXvr5ns2i7cpDd4vLCS6wWF572sFlc3jWHzWLG+X1MFnMP5jpweSzYVOpxv/s4k0ff llWMHsdvbGfy+LxJLoA1issmJTUnsyy1SN8ugStj0hGWgk75imeXV7I1MF6V6GLk5JAQMJG4 OG8xM4QtJnHh3nq2LkYuDiGBpYwSV2+vZ4UpevHpDStEYhGjxJp/ZxhBErwCghI/Jt9j6WLk 4GAWkJc4cikbJMwsoC4xad4iZoj6V4wS1/5cgKrXklh2vYcFxGYRUJV4sfUu2AI2IHviivts ILaoQJjEi1e7wC4SEdCW2D53EivE0GYmia39giC7hAW8JV7c4wMJCwm0Mkos+OgLYnMKeEi8 fb+OCWSvhMAjdomH6x4zQewSkPg2+RDYnRICshKbDkA9LClxcMUNlgmMYrOQfDML4ZtZSL5Z wMi8ilE0tSC5oDgpvchYrzgxt7g0L10vOT93EyMwEk//e9a/g/HuAetDjAIcjEo8vBonAkOE WBPLiitzDzGaAh0xkVlKNDkfGO95JfGGxmZGFqYmpsZG5pZmSuK8C6V+BgsJpCeWpGanphak FsUXleakFh9iZOLglGpgPKYqu0Y0ojHY6Zkph86jw6HJ97sDtgrkFFye3dii1HzCbEbNc8fY +7f/B52ueP6+MV3f9c4csxU/GzWUS36u7NpgvumfepX9VjY5IZ2Fs2b15f2LWyAmuO26bQar +K3SUG7pCXkyuRdWnXOcF3zpec435VNP72d/efHIX1O3dirjPOeTd+4sVmIpzkg01GIuKk4E AF+Z6vO/AgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrGIsWRmVeSWpSXmKPExsVy+t9jAd3vOkEhBjeOy1oceH+QxeLlIU2L +UfOsVpc+fqezaLtykF2i8sLL7FaXHjaw2ZxedccNosZ5/cxWcw9mOvA5bFgU6nH/e7jTB59 W1Yxehy/sZ3J4/MmuQDWqAZGm4zUxJTUIoXUvOT8lMy8dFsl7+B453hTMwNDXUNLC3MlhbzE 3FRbJRefAF23zBygm5QUyhJzSoFCAYnFxUr6dpgmhIa46VrANEbo+oYEwfUYGaCBhDWMGZOO sBR0ylc8u7ySrYHxqkQXIyeHhICJxItPb1ghbDGJC/fWs3UxcnEICSxilFjz7wwjSIJXQFDi x+R7LF2MHBzMAvISRy5lg4SZBdQlJs1bxAxR/4pR4tqfC1D1WhLLrvewgNgsAqoSL7beBVvA BmRPXHGfDcQWFQiTePFqFzOILSKgLbF97iRWiKHNTBJb+wVBdgkLeEu8uMcHEhYSaGWUWPDR F8TmFPCQePt+HdMERoFZSK6bhXDdLCTXLWBkXsUomlqQXFCclJ5rqFecmFtcmpeul5yfu4kR HOfPpHYwrmywOMQowMGoxMOrcSIwRIg1say4MvcQowQHs5IIr6BCUIgQb0piZVVqUX58UWlO avEhRlOg3yYyS4km5wNTUF5JvKGxiZmRpZG5oYWRsbmSOO+BVutAIYH0xJLU7NTUgtQimD4m Dk6pBsajRdc3fpdgX+a3WHH6W3+F/dHdjzd5frjHa61re4vPc32U3Yrlbre/Re0zXrjEvEOY XT4wtWqx57GIvIn/j5h9vRHh8uziX1cvnqxLK34miNXInJzJG+yuFNtaNCfiBZfWosnXq2Vn uFnG+E5sFTkvZZiQl/ln34a+337O73i3WUrOPsr56qwSS3FGoqEWc1FxIgAufD43CQMAAA== DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Sorry for late. I missed this patch a little bit for long time. On 2014년 09월 15일 22:13, Vivek Gautam wrote: > Now that we have moved to generic phy based bindings, > we don't need to have any code related to older dptx-phy. > Nobody is using this dptx-phy anymore, so removing the > same. > > Signed-off-by: Vivek Gautam > Cc: Jingoo Han > --- > drivers/gpu/drm/exynos/exynos_dp_core.c | 58 +++++++------------------------ > drivers/gpu/drm/exynos/exynos_dp_core.h | 2 -- > 2 files changed, 13 insertions(+), 47 deletions(-) > > diff --git a/drivers/gpu/drm/exynos/exynos_dp_core.c b/drivers/gpu/drm/exynos/exynos_dp_core.c > index 4f3c7eb..5ffc1b2 100644 > --- a/drivers/gpu/drm/exynos/exynos_dp_core.c > +++ b/drivers/gpu/drm/exynos/exynos_dp_core.c > @@ -1050,28 +1050,14 @@ static int exynos_dp_create_connector(struct exynos_drm_display *display, > > static void exynos_dp_phy_init(struct exynos_dp_device *dp) > { > - if (dp->phy) { > + if (dp->phy) > phy_power_on(dp->phy); > - } else if (dp->phy_addr) { > - u32 reg; > - > - reg = __raw_readl(dp->phy_addr); > - reg |= dp->enable_mask; > - __raw_writel(reg, dp->phy_addr); > - } > } > > static void exynos_dp_phy_exit(struct exynos_dp_device *dp) > { > - if (dp->phy) { > + if (dp->phy) > phy_power_off(dp->phy); > - } else if (dp->phy_addr) { > - u32 reg; > - > - reg = __raw_readl(dp->phy_addr); > - reg &= ~(dp->enable_mask); > - __raw_writel(reg, dp->phy_addr); > - } > } > > static void exynos_dp_poweron(struct exynos_drm_display *display) > @@ -1210,39 +1196,21 @@ static struct video_info *exynos_dp_dt_parse_pdata(struct device *dev) > > static int exynos_dp_dt_parse_phydata(struct exynos_dp_device *dp) > { > - struct device_node *dp_phy_node = of_node_get(dp->dev->of_node); > - u32 phy_base; > int ret = 0; > > - dp_phy_node = of_find_node_by_name(dp_phy_node, "dptx-phy"); > - if (!dp_phy_node) { > - dp->phy = devm_phy_get(dp->dev, "dp"); > - return PTR_ERR_OR_ZERO(dp->phy); > - } > - > - if (of_property_read_u32(dp_phy_node, "reg", &phy_base)) { > - dev_err(dp->dev, "failed to get reg for dptx-phy\n"); > - ret = -EINVAL; > - goto err; > - } > - > - if (of_property_read_u32(dp_phy_node, "samsung,enable-mask", > - &dp->enable_mask)) { > - dev_err(dp->dev, "failed to get enable-mask for dptx-phy\n"); > - ret = -EINVAL; > - goto err; > - } > - > - dp->phy_addr = ioremap(phy_base, SZ_4); > - if (!dp->phy_addr) { > - dev_err(dp->dev, "failed to ioremap dp-phy\n"); > - ret = -ENOMEM; > - goto err; > + dp->phy = devm_phy_get(dp->dev, "dp"); > + if (IS_ERR(dp->phy)) { > + ret = PTR_ERR(dp->phy); > + if (ret == -ENOSYS || ret == -ENODEV) { > + dp->phy = NULL; > + } else if (ret == -EPROBE_DEFER) { > + return ret; > + } else { WARNING: else is not generally useful after a break or return #146: FILE: drivers/gpu/drm/exynos/exynos_dp_core.c:1208: + return ret; + } else { How about just returning ret like below? if (IS_ERR(dp->phy)) { dev_err(dp->dev, "no DP phy configured\n"); return PTR_ERR(ret); } And then you can handle the error at probe function properly. Thanks, Inki Dae > + dev_err(dp->dev, "no DP phy configured\n"); > + return ret; > + } > } > > -err: > - of_node_put(dp_phy_node); > - > return ret; > } > > diff --git a/drivers/gpu/drm/exynos/exynos_dp_core.h b/drivers/gpu/drm/exynos/exynos_dp_core.h > index a1aee69..6426201 100644 > --- a/drivers/gpu/drm/exynos/exynos_dp_core.h > +++ b/drivers/gpu/drm/exynos/exynos_dp_core.h > @@ -153,8 +153,6 @@ struct exynos_dp_device { > struct clk *clock; > unsigned int irq; > void __iomem *reg_base; > - void __iomem *phy_addr; > - unsigned int enable_mask; > > struct video_info *video_info; > struct link_train link_train; >