From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-wm0-f66.google.com ([74.125.82.66]:34965 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750997AbcHSI7g (ORCPT ); Fri, 19 Aug 2016 04:59:36 -0400 Received: by mail-wm0-f66.google.com with SMTP id i5so2582440wmg.2 for ; Fri, 19 Aug 2016 01:59:26 -0700 (PDT) Date: Fri, 19 Aug 2016 10:59:22 +0200 From: Daniel Vetter To: Laurent Pinchart Cc: linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org Subject: Re: [PATCH 1/6] drm: Don't implement empty prepare_fb()/cleanup_fb() Message-ID: <20160819085922.GX6232@phenom.ffwll.local> References: <1471595974-28960-1-git-send-email-laurent.pinchart+renesas@ideasonboard.com> <1471595974-28960-2-git-send-email-laurent.pinchart+renesas@ideasonboard.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1471595974-28960-2-git-send-email-laurent.pinchart+renesas@ideasonboard.com> Sender: linux-media-owner@vger.kernel.org List-ID: On Fri, Aug 19, 2016 at 11:39:29AM +0300, Laurent Pinchart wrote: > The plane .prepare_fb() and .cleanup_fb() helpers are optional, there's > no need to implement empty stubs, and no need to explicitly set the > function pointers to NULL either. > > Signed-off-by: Laurent Pinchart Rebased onto Chris' patch (which I had already in the queue) and applied to drm-misc. Thanks, Daniel > --- > drivers/gpu/drm/arc/arcpgu_crtc.c | 2 -- > drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c | 15 --------------- > drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 15 --------------- > drivers/gpu/drm/tegra/dc.c | 17 ----------------- > drivers/gpu/drm/vc4/vc4_plane.c | 2 -- > 5 files changed, 51 deletions(-) > > diff --git a/drivers/gpu/drm/arc/arcpgu_crtc.c b/drivers/gpu/drm/arc/arcpgu_crtc.c > index ee0a61c2861b..7130b044b004 100644 > --- a/drivers/gpu/drm/arc/arcpgu_crtc.c > +++ b/drivers/gpu/drm/arc/arcpgu_crtc.c > @@ -183,8 +183,6 @@ static void arc_pgu_plane_atomic_update(struct drm_plane *plane, > } > > static const struct drm_plane_helper_funcs arc_pgu_plane_helper_funcs = { > - .prepare_fb = NULL, > - .cleanup_fb = NULL, > .atomic_update = arc_pgu_plane_atomic_update, > }; > > diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c > index e50467a0deb0..a7e5486bd1e9 100644 > --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c > +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c > @@ -169,25 +169,10 @@ static void fsl_dcu_drm_plane_atomic_update(struct drm_plane *plane, > return; > } > > -static void > -fsl_dcu_drm_plane_cleanup_fb(struct drm_plane *plane, > - const struct drm_plane_state *new_state) > -{ > -} > - > -static int > -fsl_dcu_drm_plane_prepare_fb(struct drm_plane *plane, > - const struct drm_plane_state *new_state) > -{ > - return 0; > -} > - > static const struct drm_plane_helper_funcs fsl_dcu_drm_plane_helper_funcs = { > .atomic_check = fsl_dcu_drm_plane_atomic_check, > .atomic_disable = fsl_dcu_drm_plane_atomic_disable, > .atomic_update = fsl_dcu_drm_plane_atomic_update, > - .cleanup_fb = fsl_dcu_drm_plane_cleanup_fb, > - .prepare_fb = fsl_dcu_drm_plane_prepare_fb, > }; > > static void fsl_dcu_drm_plane_destroy(struct drm_plane *plane) > diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > index c3707d47cd89..635ead039b8b 100644 > --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c > @@ -815,19 +815,6 @@ static void ade_disable_channel(struct ade_plane *aplane) > ade_compositor_routing_disable(base, ch); > } > > -static int ade_plane_prepare_fb(struct drm_plane *plane, > - const struct drm_plane_state *new_state) > -{ > - /* do nothing */ > - return 0; > -} > - > -static void ade_plane_cleanup_fb(struct drm_plane *plane, > - const struct drm_plane_state *old_state) > -{ > - /* do nothing */ > -} > - > static int ade_plane_atomic_check(struct drm_plane *plane, > struct drm_plane_state *state) > { > @@ -895,8 +882,6 @@ static void ade_plane_atomic_disable(struct drm_plane *plane, > } > > static const struct drm_plane_helper_funcs ade_plane_helper_funcs = { > - .prepare_fb = ade_plane_prepare_fb, > - .cleanup_fb = ade_plane_cleanup_fb, > .atomic_check = ade_plane_atomic_check, > .atomic_update = ade_plane_atomic_update, > .atomic_disable = ade_plane_atomic_disable, > diff --git a/drivers/gpu/drm/tegra/dc.c b/drivers/gpu/drm/tegra/dc.c > index 8495bd01b544..3de7ce33d3d4 100644 > --- a/drivers/gpu/drm/tegra/dc.c > +++ b/drivers/gpu/drm/tegra/dc.c > @@ -480,17 +480,6 @@ static const struct drm_plane_funcs tegra_primary_plane_funcs = { > .atomic_destroy_state = tegra_plane_atomic_destroy_state, > }; > > -static int tegra_plane_prepare_fb(struct drm_plane *plane, > - const struct drm_plane_state *new_state) > -{ > - return 0; > -} > - > -static void tegra_plane_cleanup_fb(struct drm_plane *plane, > - const struct drm_plane_state *old_fb) > -{ > -} > - > static int tegra_plane_state_add(struct tegra_plane *plane, > struct drm_plane_state *state) > { > @@ -624,8 +613,6 @@ static void tegra_plane_atomic_disable(struct drm_plane *plane, > } > > static const struct drm_plane_helper_funcs tegra_primary_plane_helper_funcs = { > - .prepare_fb = tegra_plane_prepare_fb, > - .cleanup_fb = tegra_plane_cleanup_fb, > .atomic_check = tegra_plane_atomic_check, > .atomic_update = tegra_plane_atomic_update, > .atomic_disable = tegra_plane_atomic_disable, > @@ -796,8 +783,6 @@ static const struct drm_plane_funcs tegra_cursor_plane_funcs = { > }; > > static const struct drm_plane_helper_funcs tegra_cursor_plane_helper_funcs = { > - .prepare_fb = tegra_plane_prepare_fb, > - .cleanup_fb = tegra_plane_cleanup_fb, > .atomic_check = tegra_cursor_atomic_check, > .atomic_update = tegra_cursor_atomic_update, > .atomic_disable = tegra_cursor_atomic_disable, > @@ -866,8 +851,6 @@ static const uint32_t tegra_overlay_plane_formats[] = { > }; > > static const struct drm_plane_helper_funcs tegra_overlay_plane_helper_funcs = { > - .prepare_fb = tegra_plane_prepare_fb, > - .cleanup_fb = tegra_plane_cleanup_fb, > .atomic_check = tegra_plane_atomic_check, > .atomic_update = tegra_plane_atomic_update, > .atomic_disable = tegra_plane_atomic_disable, > diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c > index 29e4b400e25e..881bf489478b 100644 > --- a/drivers/gpu/drm/vc4/vc4_plane.c > +++ b/drivers/gpu/drm/vc4/vc4_plane.c > @@ -735,8 +735,6 @@ void vc4_plane_async_set_fb(struct drm_plane *plane, struct drm_framebuffer *fb) > } > > static const struct drm_plane_helper_funcs vc4_plane_helper_funcs = { > - .prepare_fb = NULL, > - .cleanup_fb = NULL, > .atomic_check = vc4_plane_atomic_check, > .atomic_update = vc4_plane_atomic_update, > }; > -- > Regards, > > Laurent Pinchart > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 1/6] drm: Don't implement empty prepare_fb()/cleanup_fb() Date: Fri, 19 Aug 2016 10:59:22 +0200 Message-ID: <20160819085922.GX6232@phenom.ffwll.local> References: <1471595974-28960-1-git-send-email-laurent.pinchart+renesas@ideasonboard.com> <1471595974-28960-2-git-send-email-laurent.pinchart+renesas@ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 947836E029 for ; Fri, 19 Aug 2016 08:59:26 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id o80so2593517wme.0 for ; Fri, 19 Aug 2016 01:59:26 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1471595974-28960-2-git-send-email-laurent.pinchart+renesas@ideasonboard.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Laurent Pinchart Cc: linux-renesas-soc@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-media@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBBdWcgMTksIDIwMTYgYXQgMTE6Mzk6MjlBTSArMDMwMCwgTGF1cmVudCBQaW5jaGFy dCB3cm90ZToKPiBUaGUgcGxhbmUgLnByZXBhcmVfZmIoKSBhbmQgLmNsZWFudXBfZmIoKSBoZWxw ZXJzIGFyZSBvcHRpb25hbCwgdGhlcmUncwo+IG5vIG5lZWQgdG8gaW1wbGVtZW50IGVtcHR5IHN0 dWJzLCBhbmQgbm8gbmVlZCB0byBleHBsaWNpdGx5IHNldCB0aGUKPiBmdW5jdGlvbiBwb2ludGVy cyB0byBOVUxMIGVpdGhlci4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBMYXVyZW50IFBpbmNoYXJ0IDxs YXVyZW50LnBpbmNoYXJ0K3JlbmVzYXNAaWRlYXNvbmJvYXJkLmNvbT4KClJlYmFzZWQgb250byBD aHJpcycgcGF0Y2ggKHdoaWNoIEkgaGFkIGFscmVhZHkgaW4gdGhlIHF1ZXVlKSBhbmQgYXBwbGll ZAp0byBkcm0tbWlzYy4KClRoYW5rcywgRGFuaWVsCgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0v YXJjL2FyY3BndV9jcnRjLmMgICAgICAgICAgICAgICB8ICAyIC0tCj4gIGRyaXZlcnMvZ3B1L2Ry bS9mc2wtZGN1L2ZzbF9kY3VfZHJtX3BsYW5lLmMgICAgIHwgMTUgLS0tLS0tLS0tLS0tLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24va2lyaW4va2lyaW5fZHJtX2FkZS5jIHwgMTUgLS0t LS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5jICAgICAgICAgICAgICAg ICAgICAgIHwgMTcgLS0tLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRf cGxhbmUuYyAgICAgICAgICAgICAgICAgfCAgMiAtLQo+ICA1IGZpbGVzIGNoYW5nZWQsIDUxIGRl bGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJjL2FyY3BndV9j cnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJjL2FyY3BndV9jcnRjLmMKPiBpbmRleCBlZTBhNjFj Mjg2MWIuLjcxMzBiMDQ0YjAwNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJjL2Fy Y3BndV9jcnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJjL2FyY3BndV9jcnRjLmMKPiBA QCAtMTgzLDggKzE4Myw2IEBAIHN0YXRpYyB2b2lkIGFyY19wZ3VfcGxhbmVfYXRvbWljX3VwZGF0 ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAgfQo+ICAKPiAgc3RhdGljIGNvbnN0IHN0cnVj dCBkcm1fcGxhbmVfaGVscGVyX2Z1bmNzIGFyY19wZ3VfcGxhbmVfaGVscGVyX2Z1bmNzID0gewo+ IC0JLnByZXBhcmVfZmIgPSBOVUxMLAo+IC0JLmNsZWFudXBfZmIgPSBOVUxMLAo+ICAJLmF0b21p Y191cGRhdGUgPSBhcmNfcGd1X3BsYW5lX2F0b21pY191cGRhdGUsCj4gIH07Cj4gIAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9wbGFuZS5jIGIvZHJp dmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fcGxhbmUuYwo+IGluZGV4IGU1MDQ2N2Ew ZGViMC4uYTdlNTQ4NmJkMWU5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9mc2wtZGN1 L2ZzbF9kY3VfZHJtX3BsYW5lLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xf ZGN1X2RybV9wbGFuZS5jCj4gQEAgLTE2OSwyNSArMTY5LDEwIEBAIHN0YXRpYyB2b2lkIGZzbF9k Y3VfZHJtX3BsYW5lX2F0b21pY191cGRhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gIAly ZXR1cm47Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lkCj4gLWZzbF9kY3VfZHJtX3BsYW5lX2NsZWFu dXBfZmIoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gLQkJCSAgICAgY29uc3Qgc3RydWN0IGRy bV9wbGFuZV9zdGF0ZSAqbmV3X3N0YXRlKQo+IC17Cj4gLX0KPiAtCj4gLXN0YXRpYyBpbnQKPiAt ZnNsX2RjdV9kcm1fcGxhbmVfcHJlcGFyZV9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAt CQkJICAgICBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpuZXdfc3RhdGUpCj4gLXsKPiAt CXJldHVybiAwOwo+IC19Cj4gLQo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9oZWxw ZXJfZnVuY3MgZnNsX2RjdV9kcm1fcGxhbmVfaGVscGVyX2Z1bmNzID0gewo+ICAJLmF0b21pY19j aGVjayA9IGZzbF9kY3VfZHJtX3BsYW5lX2F0b21pY19jaGVjaywKPiAgCS5hdG9taWNfZGlzYWJs ZSA9IGZzbF9kY3VfZHJtX3BsYW5lX2F0b21pY19kaXNhYmxlLAo+ICAJLmF0b21pY191cGRhdGUg PSBmc2xfZGN1X2RybV9wbGFuZV9hdG9taWNfdXBkYXRlLAo+IC0JLmNsZWFudXBfZmIgPSBmc2xf ZGN1X2RybV9wbGFuZV9jbGVhbnVwX2ZiLAo+IC0JLnByZXBhcmVfZmIgPSBmc2xfZGN1X2RybV9w bGFuZV9wcmVwYXJlX2ZiLAo+ICB9Owo+ICAKPiAgc3RhdGljIHZvaWQgZnNsX2RjdV9kcm1fcGxh bmVfZGVzdHJveShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2hpc2lsaWNvbi9raXJpbi9raXJpbl9kcm1fYWRlLmMgYi9kcml2ZXJzL2dwdS9k cm0vaGlzaWxpY29uL2tpcmluL2tpcmluX2RybV9hZGUuYwo+IGluZGV4IGMzNzA3ZDQ3Y2Q4OS4u NjM1ZWFkMDM5YjhiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24va2ly aW4va2lyaW5fZHJtX2FkZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9raXJp bi9raXJpbl9kcm1fYWRlLmMKPiBAQCAtODE1LDE5ICs4MTUsNiBAQCBzdGF0aWMgdm9pZCBhZGVf ZGlzYWJsZV9jaGFubmVsKHN0cnVjdCBhZGVfcGxhbmUgKmFwbGFuZSkKPiAgCWFkZV9jb21wb3Np dG9yX3JvdXRpbmdfZGlzYWJsZShiYXNlLCBjaCk7Cj4gIH0KPiAgCj4gLXN0YXRpYyBpbnQgYWRl X3BsYW5lX3ByZXBhcmVfZmIoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gLQkJCQljb25zdCBz dHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpuZXdfc3RhdGUpCj4gLXsKPiAtCS8qIGRvIG5vdGhpbmcg Ki8KPiAtCXJldHVybiAwOwo+IC19Cj4gLQo+IC1zdGF0aWMgdm9pZCBhZGVfcGxhbmVfY2xlYW51 cF9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAtCQkJCSBjb25zdCBzdHJ1Y3QgZHJtX3Bs YW5lX3N0YXRlICpvbGRfc3RhdGUpCj4gLXsKPiAtCS8qIGRvIG5vdGhpbmcgKi8KPiAtfQo+IC0K PiAgc3RhdGljIGludCBhZGVfcGxhbmVfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fcGxhbmUgKnBs YW5lLAo+ICAJCQkJICBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSkKPiAgewo+IEBAIC04 OTUsOCArODgyLDYgQEAgc3RhdGljIHZvaWQgYWRlX3BsYW5lX2F0b21pY19kaXNhYmxlKHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLAo+ICB9Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9w bGFuZV9oZWxwZXJfZnVuY3MgYWRlX3BsYW5lX2hlbHBlcl9mdW5jcyA9IHsKPiAtCS5wcmVwYXJl X2ZiID0gYWRlX3BsYW5lX3ByZXBhcmVfZmIsCj4gLQkuY2xlYW51cF9mYiA9IGFkZV9wbGFuZV9j bGVhbnVwX2ZiLAo+ICAJLmF0b21pY19jaGVjayA9IGFkZV9wbGFuZV9hdG9taWNfY2hlY2ssCj4g IAkuYXRvbWljX3VwZGF0ZSA9IGFkZV9wbGFuZV9hdG9taWNfdXBkYXRlLAo+ICAJLmF0b21pY19k aXNhYmxlID0gYWRlX3BsYW5lX2F0b21pY19kaXNhYmxlLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vdGVncmEvZGMuYyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5jCj4gaW5kZXgg ODQ5NWJkMDFiNTQ0Li4zZGU3Y2UzM2QzZDQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L3RlZ3JhL2RjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZGMuYwo+IEBAIC00ODAs MTcgKzQ4MCw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2Z1bmNzIHRlZ3JhX3By aW1hcnlfcGxhbmVfZnVuY3MgPSB7Cj4gIAkuYXRvbWljX2Rlc3Ryb3lfc3RhdGUgPSB0ZWdyYV9w bGFuZV9hdG9taWNfZGVzdHJveV9zdGF0ZSwKPiAgfTsKPiAgCj4gLXN0YXRpYyBpbnQgdGVncmFf cGxhbmVfcHJlcGFyZV9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAtCQkJCSAgY29uc3Qg c3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqbmV3X3N0YXRlKQo+IC17Cj4gLQlyZXR1cm4gMDsKPiAt fQo+IC0KPiAtc3RhdGljIHZvaWQgdGVncmFfcGxhbmVfY2xlYW51cF9mYihzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZSwKPiAtCQkJCSAgIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm9sZF9m YikKPiAtewo+IC19Cj4gLQo+ICBzdGF0aWMgaW50IHRlZ3JhX3BsYW5lX3N0YXRlX2FkZChzdHJ1 Y3QgdGVncmFfcGxhbmUgKnBsYW5lLAo+ICAJCQkJIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0 YXRlKQo+ICB7Cj4gQEAgLTYyNCw4ICs2MTMsNiBAQCBzdGF0aWMgdm9pZCB0ZWdyYV9wbGFuZV9h dG9taWNfZGlzYWJsZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAgfQo+ICAKPiAgc3RhdGlj IGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfaGVscGVyX2Z1bmNzIHRlZ3JhX3ByaW1hcnlfcGxhbmVf aGVscGVyX2Z1bmNzID0gewo+IC0JLnByZXBhcmVfZmIgPSB0ZWdyYV9wbGFuZV9wcmVwYXJlX2Zi LAo+IC0JLmNsZWFudXBfZmIgPSB0ZWdyYV9wbGFuZV9jbGVhbnVwX2ZiLAo+ICAJLmF0b21pY19j aGVjayA9IHRlZ3JhX3BsYW5lX2F0b21pY19jaGVjaywKPiAgCS5hdG9taWNfdXBkYXRlID0gdGVn cmFfcGxhbmVfYXRvbWljX3VwZGF0ZSwKPiAgCS5hdG9taWNfZGlzYWJsZSA9IHRlZ3JhX3BsYW5l X2F0b21pY19kaXNhYmxlLAo+IEBAIC03OTYsOCArNzgzLDYgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBkcm1fcGxhbmVfZnVuY3MgdGVncmFfY3Vyc29yX3BsYW5lX2Z1bmNzID0gewo+ICB9Owo+ICAK PiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfaGVscGVyX2Z1bmNzIHRlZ3JhX2N1cnNv cl9wbGFuZV9oZWxwZXJfZnVuY3MgPSB7Cj4gLQkucHJlcGFyZV9mYiA9IHRlZ3JhX3BsYW5lX3By ZXBhcmVfZmIsCj4gLQkuY2xlYW51cF9mYiA9IHRlZ3JhX3BsYW5lX2NsZWFudXBfZmIsCj4gIAku YXRvbWljX2NoZWNrID0gdGVncmFfY3Vyc29yX2F0b21pY19jaGVjaywKPiAgCS5hdG9taWNfdXBk YXRlID0gdGVncmFfY3Vyc29yX2F0b21pY191cGRhdGUsCj4gIAkuYXRvbWljX2Rpc2FibGUgPSB0 ZWdyYV9jdXJzb3JfYXRvbWljX2Rpc2FibGUsCj4gQEAgLTg2Niw4ICs4NTEsNiBAQCBzdGF0aWMg Y29uc3QgdWludDMyX3QgdGVncmFfb3ZlcmxheV9wbGFuZV9mb3JtYXRzW10gPSB7Cj4gIH07Cj4g IAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9oZWxwZXJfZnVuY3MgdGVncmFfb3Zl cmxheV9wbGFuZV9oZWxwZXJfZnVuY3MgPSB7Cj4gLQkucHJlcGFyZV9mYiA9IHRlZ3JhX3BsYW5l X3ByZXBhcmVfZmIsCj4gLQkuY2xlYW51cF9mYiA9IHRlZ3JhX3BsYW5lX2NsZWFudXBfZmIsCj4g IAkuYXRvbWljX2NoZWNrID0gdGVncmFfcGxhbmVfYXRvbWljX2NoZWNrLAo+ICAJLmF0b21pY191 cGRhdGUgPSB0ZWdyYV9wbGFuZV9hdG9taWNfdXBkYXRlLAo+ICAJLmF0b21pY19kaXNhYmxlID0g dGVncmFfcGxhbmVfYXRvbWljX2Rpc2FibGUsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS92YzQvdmM0X3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9wbGFuZS5jCj4gaW5k ZXggMjllNGI0MDBlMjVlLi44ODFiZjQ4OTQ3OGIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3ZjNC92YzRfcGxhbmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3BsYW5l LmMKPiBAQCAtNzM1LDggKzczNSw2IEBAIHZvaWQgdmM0X3BsYW5lX2FzeW5jX3NldF9mYihzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSwgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpCj4gIH0KPiAg Cj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2hlbHBlcl9mdW5jcyB2YzRfcGxhbmVf aGVscGVyX2Z1bmNzID0gewo+IC0JLnByZXBhcmVfZmIgPSBOVUxMLAo+IC0JLmNsZWFudXBfZmIg PSBOVUxMLAo+ICAJLmF0b21pY19jaGVjayA9IHZjNF9wbGFuZV9hdG9taWNfY2hlY2ssCj4gIAku YXRvbWljX3VwZGF0ZSA9IHZjNF9wbGFuZV9hdG9taWNfdXBkYXRlLAo+ICB9Owo+IC0tIAo+IFJl Z2FyZHMsCj4gCj4gTGF1cmVudCBQaW5jaGFydAo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+IGRyaS1k ZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUg RW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5n IGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=