From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754364AbcKUSXf (ORCPT ); Mon, 21 Nov 2016 13:23:35 -0500 Received: from mail-yw0-f173.google.com ([209.85.161.173]:36517 "EHLO mail-yw0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752818AbcKUSXd (ORCPT ); Mon, 21 Nov 2016 13:23:33 -0500 MIME-Version: 1.0 In-Reply-To: <20161117122600.GD21156@e106950-lin.cambridge.arm.com> References: <20161117114129.2627-1-Liviu.Dudau@arm.com> <20161117122600.GD21156@e106950-lin.cambridge.arm.com> From: Sean Paul Date: Mon, 21 Nov 2016 13:23:09 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH] drm/atomic: cleanup debugfs entries on un-registering the driver. To: Brian Starkey Cc: Liviu Dudau , LKML , DRI devel Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Nov 17, 2016 at 7:26 AM, Brian Starkey wrote: > On Thu, Nov 17, 2016 at 11:41:29AM +0000, Liviu Dudau wrote: >> >> Cleanup the debugfs entries created by commit 6559c901cb48 when >> the driver's minor gets un-registered. Without it, DRM drivers >> compiled as modules cannot be rmmod-ed and modprobed again. >> >> Signed-off-by: Liviu Dudau > > > Works for me, > > Tested-by: Brian Starkey > Applied to drm-misc Thanks, Sean > >> --- >> drivers/gpu/drm/drm_atomic.c | 7 +++++++ >> drivers/gpu/drm/drm_debugfs.c | 9 +++++++++ >> include/drm/drm_atomic.h | 1 + >> 3 files changed, 17 insertions(+) >> >> diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c >> index 6773b35..dddf37a 100644 >> --- a/drivers/gpu/drm/drm_atomic.c >> +++ b/drivers/gpu/drm/drm_atomic.c >> @@ -1681,6 +1681,13 @@ int drm_atomic_debugfs_init(struct drm_minor >> *minor) >> ARRAY_SIZE(drm_atomic_debugfs_list), >> minor->debugfs_root, minor); >> } >> + >> +int drm_atomic_debugfs_cleanup(struct drm_minor *minor) >> +{ >> + return drm_debugfs_remove_files(drm_atomic_debugfs_list, >> + >> ARRAY_SIZE(drm_atomic_debugfs_list), >> + minor); >> +} >> #endif >> >> /* >> diff --git a/drivers/gpu/drm/drm_debugfs.c b/drivers/gpu/drm/drm_debugfs.c >> index 206a4fe..2e3e46a 100644 >> --- a/drivers/gpu/drm/drm_debugfs.c >> +++ b/drivers/gpu/drm/drm_debugfs.c >> @@ -228,6 +228,7 @@ EXPORT_SYMBOL(drm_debugfs_remove_files); >> int drm_debugfs_cleanup(struct drm_minor *minor) >> { >> struct drm_device *dev = minor->dev; >> + int ret; >> >> if (!minor->debugfs_root) >> return 0; >> @@ -235,6 +236,14 @@ int drm_debugfs_cleanup(struct drm_minor *minor) >> if (dev->driver->debugfs_cleanup) >> dev->driver->debugfs_cleanup(minor); >> >> + if (drm_core_check_feature(dev, DRIVER_ATOMIC)) { >> + ret = drm_atomic_debugfs_cleanup(minor); >> + if (ret) { >> + DRM_ERROR("DRM: Failed to remove atomic debugfs >> entries\n"); >> + return ret; >> + } >> + } >> + >> drm_debugfs_remove_files(drm_debugfs_list, DRM_DEBUGFS_ENTRIES, >> minor); >> >> debugfs_remove(minor->debugfs_root); >> diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h >> index 2409144..6400df0 100644 >> --- a/include/drm/drm_atomic.h >> +++ b/include/drm/drm_atomic.h >> @@ -374,6 +374,7 @@ void drm_state_dump(struct drm_device *dev, struct >> drm_printer *p); >> #ifdef CONFIG_DEBUG_FS >> struct drm_minor; >> int drm_atomic_debugfs_init(struct drm_minor *minor); >> +int drm_atomic_debugfs_cleanup(struct drm_minor *minor); >> #endif >> >> #define for_each_connector_in_state(__state, connector, connector_state, >> __i) \ >> -- >> 2.10.0 >> > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH] drm/atomic: cleanup debugfs entries on un-registering the driver. Date: Mon, 21 Nov 2016 13:23:09 -0500 Message-ID: References: <20161117114129.2627-1-Liviu.Dudau@arm.com> <20161117122600.GD21156@e106950-lin.cambridge.arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-yw0-x233.google.com (mail-yw0-x233.google.com [IPv6:2607:f8b0:4002:c05::233]) by gabe.freedesktop.org (Postfix) with ESMTPS id D1CB26E58D for ; Mon, 21 Nov 2016 18:23:33 +0000 (UTC) Received: by mail-yw0-x233.google.com with SMTP id t125so218365026ywc.1 for ; Mon, 21 Nov 2016 10:23:33 -0800 (PST) Received: from mail-yw0-f182.google.com (mail-yw0-f182.google.com. [209.85.161.182]) by smtp.gmail.com with ESMTPSA id k14sm8433449ywi.11.2016.11.21.10.23.30 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 21 Nov 2016 10:23:30 -0800 (PST) Received: by mail-yw0-f182.google.com with SMTP id i145so220208616ywg.2 for ; Mon, 21 Nov 2016 10:23:30 -0800 (PST) In-Reply-To: <20161117122600.GD21156@e106950-lin.cambridge.arm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Brian Starkey Cc: Liviu Dudau , LKML , DRI devel List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBOb3YgMTcsIDIwMTYgYXQgNzoyNiBBTSwgQnJpYW4gU3RhcmtleSA8YnJpYW4uc3Rh cmtleUBhcm0uY29tPiB3cm90ZToKPiBPbiBUaHUsIE5vdiAxNywgMjAxNiBhdCAxMTo0MToyOUFN ICswMDAwLCBMaXZpdSBEdWRhdSB3cm90ZToKPj4KPj4gQ2xlYW51cCB0aGUgZGVidWdmcyBlbnRy aWVzIGNyZWF0ZWQgYnkgY29tbWl0IDY1NTljOTAxY2I0OCB3aGVuCj4+IHRoZSBkcml2ZXIncyBt aW5vciBnZXRzIHVuLXJlZ2lzdGVyZWQuIFdpdGhvdXQgaXQsIERSTSBkcml2ZXJzCj4+IGNvbXBp bGVkIGFzIG1vZHVsZXMgY2Fubm90IGJlIHJtbW9kLWVkIGFuZCBtb2Rwcm9iZWQgYWdhaW4uCj4+ Cj4+IFNpZ25lZC1vZmYtYnk6IExpdml1IER1ZGF1IDxMaXZpdS5EdWRhdUBhcm0uY29tPgo+Cj4K PiBXb3JrcyBmb3IgbWUsCj4KPiBUZXN0ZWQtYnk6IEJyaWFuIFN0YXJrZXkgPGJyaWFuLnN0YXJr ZXlAYXJtLmNvbT4KPgoKQXBwbGllZCB0byBkcm0tbWlzYwoKVGhhbmtzLAoKU2VhbgoKPgo+PiAt LS0KPj4gZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyAgfCA3ICsrKysrKysKPj4gZHJpdmVy cy9ncHUvZHJtL2RybV9kZWJ1Z2ZzLmMgfCA5ICsrKysrKysrKwo+PiBpbmNsdWRlL2RybS9kcm1f YXRvbWljLmggICAgICB8IDEgKwo+PiAzIGZpbGVzIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKykK Pj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pYy5jCj4+IGluZGV4IDY3NzNiMzUuLmRkZGYzN2EgMTAwNjQ0Cj4+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWMuYwo+PiBAQCAtMTY4MSw2ICsxNjgxLDEzIEBAIGludCBkcm1fYXRvbWlj X2RlYnVnZnNfaW5pdChzdHJ1Y3QgZHJtX21pbm9yCj4+ICptaW5vcikKPj4gICAgICAgICAgICAg ICAgICAgICAgICAgQVJSQVlfU0laRShkcm1fYXRvbWljX2RlYnVnZnNfbGlzdCksCj4+ICAgICAg ICAgICAgICAgICAgICAgICAgIG1pbm9yLT5kZWJ1Z2ZzX3Jvb3QsIG1pbm9yKTsKPj4gfQo+PiAr Cj4+ICtpbnQgZHJtX2F0b21pY19kZWJ1Z2ZzX2NsZWFudXAoc3RydWN0IGRybV9taW5vciAqbWlu b3IpCj4+ICt7Cj4+ICsgICAgICAgcmV0dXJuIGRybV9kZWJ1Z2ZzX3JlbW92ZV9maWxlcyhkcm1f YXRvbWljX2RlYnVnZnNfbGlzdCwKPj4gKwo+PiBBUlJBWV9TSVpFKGRybV9hdG9taWNfZGVidWdm c19saXN0KSwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbm9y KTsKPj4gK30KPj4gI2VuZGlmCj4+Cj4+IC8qCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZGVidWdmcy5jCj4+IGluZGV4 IDIwNmE0ZmUuLjJlM2U0NmEgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZGVi dWdmcy5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZGVidWdmcy5jCj4+IEBAIC0yMjgs NiArMjI4LDcgQEAgRVhQT1JUX1NZTUJPTChkcm1fZGVidWdmc19yZW1vdmVfZmlsZXMpOwo+PiBp bnQgZHJtX2RlYnVnZnNfY2xlYW51cChzdHJ1Y3QgZHJtX21pbm9yICptaW5vcikKPj4gewo+PiAg ICAgICAgIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBtaW5vci0+ZGV2Owo+PiArICAgICAgIGlu dCByZXQ7Cj4+Cj4+ICAgICAgICAgaWYgKCFtaW5vci0+ZGVidWdmc19yb290KQo+PiAgICAgICAg ICAgICAgICAgcmV0dXJuIDA7Cj4+IEBAIC0yMzUsNiArMjM2LDE0IEBAIGludCBkcm1fZGVidWdm c19jbGVhbnVwKHN0cnVjdCBkcm1fbWlub3IgKm1pbm9yKQo+PiAgICAgICAgIGlmIChkZXYtPmRy aXZlci0+ZGVidWdmc19jbGVhbnVwKQo+PiAgICAgICAgICAgICAgICAgZGV2LT5kcml2ZXItPmRl YnVnZnNfY2xlYW51cChtaW5vcik7Cj4+Cj4+ICsgICAgICAgaWYgKGRybV9jb3JlX2NoZWNrX2Zl YXR1cmUoZGV2LCBEUklWRVJfQVRPTUlDKSkgewo+PiArICAgICAgICAgICAgICAgcmV0ID0gZHJt X2F0b21pY19kZWJ1Z2ZzX2NsZWFudXAobWlub3IpOwo+PiArICAgICAgICAgICAgICAgaWYgKHJl dCkgewo+PiArICAgICAgICAgICAgICAgICAgICAgICBEUk1fRVJST1IoIkRSTTogRmFpbGVkIHRv IHJlbW92ZSBhdG9taWMgZGVidWdmcwo+PiBlbnRyaWVzXG4iKTsKPj4gKyAgICAgICAgICAgICAg ICAgICAgICAgcmV0dXJuIHJldDsKPj4gKyAgICAgICAgICAgICAgIH0KPj4gKyAgICAgICB9Cj4+ ICsKPj4gICAgICAgICBkcm1fZGVidWdmc19yZW1vdmVfZmlsZXMoZHJtX2RlYnVnZnNfbGlzdCwg RFJNX0RFQlVHRlNfRU5UUklFUywKPj4gbWlub3IpOwo+Pgo+PiAgICAgICAgIGRlYnVnZnNfcmVt b3ZlKG1pbm9yLT5kZWJ1Z2ZzX3Jvb3QpOwo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJt X2F0b21pYy5oIGIvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oCj4+IGluZGV4IDI0MDkxNDQuLjY0 MDBkZjAgMTAwNjQ0Cj4+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9hdG9taWMuaAo+PiArKysgYi9p bmNsdWRlL2RybS9kcm1fYXRvbWljLmgKPj4gQEAgLTM3NCw2ICszNzQsNyBAQCB2b2lkIGRybV9z dGF0ZV9kdW1wKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdAo+PiBkcm1fcHJpbnRlciAq cCk7Cj4+ICNpZmRlZiBDT05GSUdfREVCVUdfRlMKPj4gc3RydWN0IGRybV9taW5vcjsKPj4gaW50 IGRybV9hdG9taWNfZGVidWdmc19pbml0KHN0cnVjdCBkcm1fbWlub3IgKm1pbm9yKTsKPj4gK2lu dCBkcm1fYXRvbWljX2RlYnVnZnNfY2xlYW51cChzdHJ1Y3QgZHJtX21pbm9yICptaW5vcik7Cj4+ ICNlbmRpZgo+Pgo+PiAjZGVmaW5lIGZvcl9lYWNoX2Nvbm5lY3Rvcl9pbl9zdGF0ZShfX3N0YXRl LCBjb25uZWN0b3IsIGNvbm5lY3Rvcl9zdGF0ZSwKPj4gX19pKSBcCj4+IC0tCj4+IDIuMTAuMAo+ Pgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gZHJp LWRldmVsIG1haWxpbmcgbGlzdAo+IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbApf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwg bWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK