From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vaishali Thakkar Subject: [PATCH] drm/core: Remove drm_dev_unref() and it's uses Date: Thu, 26 Apr 2018 15:58:19 +0530 Message-ID: <20180426102819.6985-1-vthakkar1994@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: alexander.deucher-5C7GfCeVMHo@public.gmane.org Cc: linux-renesas-soc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, alexandre.belloni-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org, heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org, airlied-cv59FeDIM0c@public.gmane.org, gustavo-THi1TnShQwVAfugRpC6u6w@public.gmane.org, linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, joonas.lahtinen-VuQAYsv1563Yd54FQh9/CA@public.gmane.org, stefan-XLVq0VzYD2Y@public.gmane.org, hjc-TNX95d0MmH7DzftRWevZcw@public.gmane.org, eric-WhKQ6XTQaPysTnJN9+BGXg@public.gmane.org, thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, kraxel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, benjamin.gaignard-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, marex-ynQEQJNshbs@public.gmane.org, David1.Zhou-5C7GfCeVMHo@public.gmane.org, linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, jy0922.shim-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org, linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, tomi.valkeinen-l0cyMroinI0@public.gmane.org, linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org, krzk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org, z.liuxinliang-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org, maxime.ripard-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org, kong.kongxinwei-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org, kgene-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, bskeggs-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, ck.hu-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org, airlied-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, puck.chen-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org, intel-gfx@l SXQncyBiZWVuIGEgd2hpbGUgc2luY2Ugd2UgaW50cm9kdWNlZCBkcm1fZGV2e2dldC9wdXR9IGZ1 bmN0aW9ucwp0byByZXBsYWNlIHJlZmVyZW5jZS91bnJlZmVyZW5jZSBpbiBkcm0gc3Vic3lzdGVt IGZvciB0aGUKY29uc2lzdGVuY3kgcHVycG9zZS4gU28sIHdpdGggdGhpcyBwYXRjaCwgbGV0J3Mg anVzdCByZXBsYWNlCmFsbCBjdXJyZW50IHVzZSBjYXNlcyBvZiBkcm1fZGV2X3VucmVmKCkgd2l0 aCBkcm1fZGV2X3B1dCBhbmQgcmVtb3ZlCnRoZSBmdW5jdGlvbiBpdHNlbGYuCgpDb2NjaW5lbGxl IHdhcyB1c2VkIGZvciBtYXNzLXBhdGNoaW5nLgoKU2lnbmVkLW9mZi1ieTogVmFpc2hhbGkgVGhh a2thciA8dnRoYWtrYXIxOTk0QGdtYWlsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfZHJ2LmMgICAgICAgICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9h cmMvYXJjcGd1X2Rydi5jICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogZHJpdmVycy9ncHUv ZHJtL2FybWFkYS9hcm1hZGFfZHJ2LmMgICAgICAgICAgICAgICAgfCAgNiArKystLS0KIGRyaXZl cnMvZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNkY19kYy5jICAgICAgIHwgIDQgKystLQog ZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMyAt LS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2Rydi5jICAgICAg ICAgICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kcnYu YyAgICAgICAgICAgIHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9k cm1fZHJ2LmMgICAgICAgICAgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2hp Ym1jL2hpYm1jX2RybV9kcnYuYyAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9oaXNpbGlj b24va2lyaW4va2lyaW5fZHJtX2Rydi5jICAgIHwgIDggKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9kbWFidWYuYyAgIHwgIDIgKy0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ldmljdC5jICAgIHwgIDIgKy0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ndHQuYyAgICAgIHwgIDIgKy0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9vYmplY3QuYyAgIHwgIDIgKy0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3JlcXVlc3QuYyAgICAgIHwgIDIg Ky0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3ZtYS5jICAgICAgICAgIHwg IDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9icmVhZGNydW1icy5j IHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pbXgvaW14LWRybS1jb3JlLmMgICAgICAgICAgICAg ICAgIHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMgICAg ICAgICAgICAgfCAgNiArKystLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jICAgICAg ICAgICAgICAgICAgICAgIHwgIDggKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNm Yl9kcnYuYyAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJtL25vdXZl YXUvbm91dmVhdV9wbGF0Zm9ybS5jICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL29t YXBkcm0vb21hcF9kcnYuYyAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9k cm0vcGwxMTEvcGwxMTFfZHJ2LmMgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIGRyaXZlcnMv Z3B1L2RybS9xeGwvcXhsX2Rydi5jICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZl cnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfZHJ2LmMgICAgICAgICAgICAgIHwgIDIgKy0KIGRy aXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZHJ2LmMgICAgICAgIHwgIDQgKyst LQogZHJpdmVycy9ncHUvZHJtL3NobW9iaWxlL3NobW9iX2RybV9kcnYuYyAgICAgICAgICAgfCAg NCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kcnYuYyAgICAgICAgICAgICAgICAgICAg ICB8ICA4ICsrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vc3RtL2Rydi5jICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9kcnYuYyAg ICAgICAgICAgICAgICAgIHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RybS5jICAg ICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vdGlueWRybS9j b3JlL3Rpbnlkcm0tY29yZS5jICAgICAgICB8ICA2ICsrKy0tLQogZHJpdmVycy9ncHUvZHJtL3R2 ZTIwMC90dmUyMDBfZHJ2LmMgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9k cm0vdWRsL3VkbF9kcnYuYyAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dw dS9kcm0vdmM0L3ZjNF9kcnYuYyAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIGRyaXZl cnMvZ3B1L2RybS92Z2VtL3ZnZW1fZHJ2LmMgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRy aXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9kcm1fYnVzLmMgICAgICAgICAgIHwgIDIgKy0K IGRyaXZlcnMvZ3B1L2RybS96dGUvenhfZHJtX2Rydi5jICAgICAgICAgICAgICAgICAgIHwgIDQg KystLQogaW5jbHVkZS9kcm0vZHJtX2Rydi5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgMSAtCiA0MSBmaWxlcyBjaGFuZ2VkLCA3MyBpbnNlcnRpb25zKCspLCA4NyBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMKaW5kZXggMGIxOTQ4MmIz NmI4Li41ZmI0NTVmZWJlYmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2 LmMKQEAgLTY0Nyw3ICs2NDcsNyBAQCBzdGF0aWMgaW50IGFtZGdwdV9wY2lfcHJvYmUoc3RydWN0 IHBjaV9kZXYgKnBkZXYsCiBlcnJfcGNpOgogCXBjaV9kaXNhYmxlX2RldmljZShwZGV2KTsKIGVy cl9mcmVlOgotCWRybV9kZXZfdW5yZWYoZGV2KTsKKwlkcm1fZGV2X3B1dChkZXYpOwogCXJldHVy biByZXQ7CiB9CiAKQEAgLTY1Nyw3ICs2NTcsNyBAQCBhbWRncHVfcGNpX3JlbW92ZShzdHJ1Y3Qg cGNpX2RldiAqcGRldikKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcGNpX2dldF9kcnZkYXRh KHBkZXYpOwogCiAJZHJtX2Rldl91bnJlZ2lzdGVyKGRldik7Ci0JZHJtX2Rldl91bnJlZihkZXYp OworCWRybV9kZXZfcHV0KGRldik7CiAJcGNpX2Rpc2FibGVfZGV2aWNlKHBkZXYpOwogCXBjaV9z ZXRfZHJ2ZGF0YShwZGV2LCBOVUxMKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h cmMvYXJjcGd1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2FyYy9hcmNwZ3VfZHJ2LmMKaW5kZXgg ZjA2N2RlNGUxZTgyLi5kY2IwNmQ0ZTkxMzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h cmMvYXJjcGd1X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcmMvYXJjcGd1X2Rydi5jCkBA IC0yMTYsNyArMjE2LDcgQEAgc3RhdGljIGludCBhcmNwZ3VfcHJvYmUoc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldikKIAlhcmNwZ3VfdW5sb2FkKGRybSk7CiAKIGVycl91bnJlZjoKLQlkcm1f ZGV2X3VucmVmKGRybSk7CisJZHJtX2Rldl9wdXQoZHJtKTsKIAogCXJldHVybiByZXQ7CiB9CkBA IC0yMjcsNyArMjI3LDcgQEAgc3RhdGljIGludCBhcmNwZ3VfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2UgKnBkZXYpCiAKIAlkcm1fZGV2X3VucmVnaXN0ZXIoZHJtKTsKIAlhcmNwZ3VfdW5s b2FkKGRybSk7Ci0JZHJtX2Rldl91bnJlZihkcm0pOworCWRybV9kZXZfcHV0KGRybSk7CiAKIAly ZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2Ry di5jIGIvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfZHJ2LmMKaW5kZXggNGIxMWI2YjUy ZjFkLi5kMTcwNWQyOThhMzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJt YWRhX2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2Rydi5jCkBAIC0x MDksNyArMTA5LDcgQEAgc3RhdGljIGludCBhcm1hZGFfZHJtX2JpbmQoc3RydWN0IGRldmljZSAq ZGV2KQogCiAJLyoKIAkgKiBUaGUgZHJtX2RldmljZSBzdHJ1Y3R1cmUgbXVzdCBiZSBhdCB0aGUg c3RhcnQgb2YKLQkgKiBhcm1hZGFfcHJpdmF0ZSBmb3IgZHJtX2Rldl91bnJlZigpIHRvIHdvcmsg Y29ycmVjdGx5LgorCSAqIGFybWFkYV9wcml2YXRlIGZvciBkcm1fZGV2X3B1dCgpIHRvIHdvcmsg Y29ycmVjdGx5LgogCSAqLwogCUJVSUxEX0JVR19PTihvZmZzZXRvZihzdHJ1Y3QgYXJtYWRhX3By aXZhdGUsIGRybSkgIT0gMCk7CiAKQEAgLTE4MCw3ICsxODAsNyBAQCBzdGF0aWMgaW50IGFybWFk YV9kcm1fYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJZHJtX21vZGVfY29uZmlnX2NsZWFudXAo JnByaXYtPmRybSk7CiAJZHJtX21tX3Rha2Vkb3duKCZwcml2LT5saW5lYXIpOwogCWZsdXNoX3dv cmsoJnByaXYtPmZiX3VucmVmX3dvcmspOwotCWRybV9kZXZfdW5yZWYoJnByaXYtPmRybSk7CisJ ZHJtX2Rldl9wdXQoJnByaXYtPmRybSk7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtMjAwLDcgKzIw MCw3IEBAIHN0YXRpYyB2b2lkIGFybWFkYV9kcm1fdW5iaW5kKHN0cnVjdCBkZXZpY2UgKmRldikK IAlkcm1fbW1fdGFrZWRvd24oJnByaXYtPmxpbmVhcik7CiAJZmx1c2hfd29yaygmcHJpdi0+ZmJf dW5yZWZfd29yayk7CiAKLQlkcm1fZGV2X3VucmVmKCZwcml2LT5kcm0pOworCWRybV9kZXZfcHV0 KCZwcml2LT5kcm0pOwogfQogCiBzdGF0aWMgaW50IGNvbXBhcmVfb2Yoc3RydWN0IGRldmljZSAq ZGV2LCB2b2lkICpkYXRhKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2Rj L2F0bWVsX2hsY2RjX2RjLmMgYi9kcml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxj ZGNfZGMuYwppbmRleCBjMWVhNWMzNmIwMDYuLjFjODQ4NzgwM2E3MCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX2RjLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX2RjLmMKQEAgLTc3NCw3ICs3NzQsNyBAQCBz dGF0aWMgaW50IGF0bWVsX2hsY2RjX2RjX2RybV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwZGV2KQogCWF0bWVsX2hsY2RjX2RjX3VubG9hZChkZGV2KTsKIAogZXJyX3VucmVmOgotCWRy bV9kZXZfdW5yZWYoZGRldik7CisJZHJtX2Rldl9wdXQoZGRldik7CiAKIAlyZXR1cm4gcmV0Owog fQpAQCAtNzg1LDcgKzc4NSw3IEBAIHN0YXRpYyBpbnQgYXRtZWxfaGxjZGNfZGNfZHJtX3JlbW92 ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCiAJZHJtX2Rldl91bnJlZ2lzdGVyKGRk ZXYpOwogCWF0bWVsX2hsY2RjX2RjX3VubG9hZChkZGV2KTsKLQlkcm1fZGV2X3VucmVmKGRkZXYp OworCWRybV9kZXZfcHV0KGRkZXYpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYwppbmRleCBh MWI5MzM4NzM2ZTMuLjNkYzUwN2IxM2NmMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jCkBAIC02NTYsMTkgKzY1Niw2 IEBAIHZvaWQgZHJtX2Rldl9wdXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIH0KIEVYUE9SVF9T WU1CT0woZHJtX2Rldl9wdXQpOwogCi0vKioKLSAqIGRybV9kZXZfdW5yZWYgLSBEcm9wIHJlZmVy ZW5jZSBvZiBhIERSTSBkZXZpY2UKLSAqIEBkZXY6IGRldmljZSB0byBkcm9wIHJlZmVyZW5jZSBv ZiBvciBOVUxMCi0gKgotICogVGhpcyBpcyBhIGNvbXBhdGliaWxpdHkgYWxpYXMgZm9yIGRybV9k ZXZfcHV0KCkgYW5kIHNob3VsZCBub3QgYmUgdXNlZCBieSBuZXcKLSAqIGNvZGUuCi0gKi8KLXZv aWQgZHJtX2Rldl91bnJlZihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQotewotCWRybV9kZXZfcHV0 KGRldik7Ci19Ci1FWFBPUlRfU1lNQk9MKGRybV9kZXZfdW5yZWYpOwotCiBzdGF0aWMgaW50IGNy ZWF0ZV9jb21wYXRfY29udHJvbF9saW5rKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CiAJc3Ry dWN0IGRybV9taW5vciAqbWlub3I7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZp di9ldG5hdml2X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9kcnYuYwpp bmRleCBhYjUwMDkwZDA2NmMuLjcxNjE4N2EwNzIyNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2V0bmF2aXYvZXRuYXZpdl9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9l dG5hdml2X2Rydi5jCkBAIC02MTMsNyArNjEzLDcgQEAgc3RhdGljIGludCBldG5hdml2X2JpbmQo c3RydWN0IGRldmljZSAqZGV2KQogb3V0X2JpbmQ6CiAJa2ZyZWUocHJpdik7CiBvdXRfdW5yZWY6 Ci0JZHJtX2Rldl91bnJlZihkcm0pOworCWRybV9kZXZfcHV0KGRybSk7CiAKIAlyZXR1cm4gcmV0 OwogfQpAQCAtNjMwLDcgKzYzMCw3IEBAIHN0YXRpYyB2b2lkIGV0bmF2aXZfdW5iaW5kKHN0cnVj dCBkZXZpY2UgKmRldikKIAlkcm0tPmRldl9wcml2YXRlID0gTlVMTDsKIAlrZnJlZShwcml2KTsK IAotCWRybV9kZXZfdW5yZWYoZHJtKTsKKwlkcm1fZGV2X3B1dChkcm0pOwogfQogCiBzdGF0aWMg Y29uc3Qgc3RydWN0IGNvbXBvbmVudF9tYXN0ZXJfb3BzIGV0bmF2aXZfbWFzdGVyX29wcyA9IHsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kcnYuYyBiL2Ry aXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kcnYuYwppbmRleCBhNTE4ZTljNmQ2Y2Mu LjM2MjllNWM5M2UzYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3Nf ZHJtX2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kcnYuYwpA QCAtNDExLDcgKzQxMSw3IEBAIHN0YXRpYyBpbnQgZXh5bm9zX2RybV9iaW5kKHN0cnVjdCBkZXZp Y2UgKmRldikKIGVycl9mcmVlX3ByaXZhdGU6CiAJa2ZyZWUocHJpdmF0ZSk7CiBlcnJfZnJlZV9k cm06Ci0JZHJtX2Rldl91bnJlZihkcm0pOworCWRybV9kZXZfcHV0KGRybSk7CiAKIAlyZXR1cm4g cmV0OwogfQpAQCAtNDM1LDcgKzQzNSw3IEBAIHN0YXRpYyB2b2lkIGV4eW5vc19kcm1fdW5iaW5k KHN0cnVjdCBkZXZpY2UgKmRldikKIAlkcm0tPmRldl9wcml2YXRlID0gTlVMTDsKIAlkZXZfc2V0 X2RydmRhdGEoZGV2LCBOVUxMKTsKIAotCWRybV9kZXZfdW5yZWYoZHJtKTsKKwlkcm1fZGV2X3B1 dChkcm0pOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGNvbXBvbmVudF9tYXN0ZXJfb3BzIGV4 eW5vc19kcm1fb3BzID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNs X2RjdV9kcm1fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9kcnYu YwppbmRleCA4MDIzMjMyMWEyNDQuLjY2NGFjOWRjMWY2NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Zz bC1kY3UvZnNsX2RjdV9kcm1fZHJ2LmMKQEAgLTM1OCw3ICszNTgsNyBAQCBzdGF0aWMgaW50IGZz bF9kY3VfZHJtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJcmV0dXJuIDA7 CiAKIHVucmVmOgotCWRybV9kZXZfdW5yZWYoZHJtKTsKKwlkcm1fZGV2X3B1dChkcm0pOwogdW5y ZWdpc3Rlcl9waXhfY2xrOgogCWNsa191bnJlZ2lzdGVyKGZzbF9kZXYtPnBpeF9jbGspOwogZGlz YWJsZV9jbGs6CkBAIC0zNzEsNyArMzcxLDcgQEAgc3RhdGljIGludCBmc2xfZGN1X2RybV9yZW1v dmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAlzdHJ1Y3QgZnNsX2RjdV9kcm1fZGV2 aWNlICpmc2xfZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CiAKIAlkcm1fZGV2X3Vu cmVnaXN0ZXIoZnNsX2Rldi0+ZHJtKTsKLQlkcm1fZGV2X3VucmVmKGZzbF9kZXYtPmRybSk7CisJ ZHJtX2Rldl9wdXQoZnNsX2Rldi0+ZHJtKTsKIAljbGtfZGlzYWJsZV91bnByZXBhcmUoZnNsX2Rl di0+Y2xrKTsKIAljbGtfdW5yZWdpc3Rlcihmc2xfZGV2LT5waXhfY2xrKTsKIApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9oaWJtYy9oaWJtY19kcm1fZHJ2LmMgYi9kcml2 ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2hpYm1jL2hpYm1jX2RybV9kcnYuYwppbmRleCBkNGY2ZjFm OWRmNWIuLmVjODc4YzdlM2Y3NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNv bi9oaWJtYy9oaWJtY19kcm1fZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9o aWJtYy9oaWJtY19kcm1fZHJ2LmMKQEAgLTM4Nyw3ICszODcsNyBAQCBzdGF0aWMgaW50IGhpYm1j X3BjaV9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwKIGVycl9kaXNhYmxlOgogCXBjaV9kaXNh YmxlX2RldmljZShwZGV2KTsKIGVycl9mcmVlOgotCWRybV9kZXZfdW5yZWYoZGV2KTsKKwlkcm1f ZGV2X3B1dChkZXYpOwogCiAJcmV0dXJuIHJldDsKIH0KQEAgLTM5OCw3ICszOTgsNyBAQCBzdGF0 aWMgdm9pZCBoaWJtY19wY2lfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQogCiAJZHJtX2Rl dl91bnJlZ2lzdGVyKGRldik7CiAJaGlibWNfdW5sb2FkKGRldik7Ci0JZHJtX2Rldl91bnJlZihk ZXYpOworCWRybV9kZXZfcHV0KGRldik7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgcGNpX2RldmljZV9p ZCBoaWJtY19wY2lfdGFibGVbXSA9IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9oaXNp bGljb24va2lyaW4va2lyaW5fZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9r aXJpbi9raXJpbl9kcm1fZHJ2LmMKaW5kZXggZGRiMDQwM2YxOTc1Li5lNmE2MmQ1YTAwYTMgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24va2lyaW4va2lyaW5fZHJtX2Rydi5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24va2lyaW4va2lyaW5fZHJtX2Rydi5jCkBA IC0xOTMsNyArMTkzLDcgQEAgc3RhdGljIGludCBraXJpbl9kcm1fYmluZChzdHJ1Y3QgZGV2aWNl ICpkZXYpCiAKIAlyZXQgPSBraXJpbl9kcm1fa21zX2luaXQoZHJtX2Rldik7CiAJaWYgKHJldCkK LQkJZ290byBlcnJfZHJtX2Rldl91bnJlZjsKKwkJZ290byBlcnJfZHJtX2Rldl9wdXQ7CiAKIAly ZXQgPSBkcm1fZGV2X3JlZ2lzdGVyKGRybV9kZXYsIDApOwogCWlmIChyZXQpCkBAIC0yMDMsOCAr MjAzLDggQEAgc3RhdGljIGludCBraXJpbl9kcm1fYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYpCiAK IGVycl9rbXNfY2xlYW51cDoKIAlraXJpbl9kcm1fa21zX2NsZWFudXAoZHJtX2Rldik7Ci1lcnJf ZHJtX2Rldl91bnJlZjoKLQlkcm1fZGV2X3VucmVmKGRybV9kZXYpOworZXJyX2RybV9kZXZfcHV0 OgorCWRybV9kZXZfcHV0KGRybV9kZXYpOwogCiAJcmV0dXJuIHJldDsKIH0KQEAgLTIxNSw3ICsy MTUsNyBAQCBzdGF0aWMgdm9pZCBraXJpbl9kcm1fdW5iaW5kKHN0cnVjdCBkZXZpY2UgKmRldikK IAogCWRybV9kZXZfdW5yZWdpc3Rlcihkcm1fZGV2KTsKIAlraXJpbl9kcm1fa21zX2NsZWFudXAo ZHJtX2Rldik7Ci0JZHJtX2Rldl91bnJlZihkcm1fZGV2KTsKKwlkcm1fZGV2X3B1dChkcm1fZGV2 KTsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBjb21wb25lbnRfbWFzdGVyX29wcyBraXJpbl9k cm1fb3BzID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2h1 Z2VfcGFnZXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMK aW5kZXggMDViYmVmMzYzZmZmLi4yMmRlNjA5MjBiMWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYwpAQCAtMTcyMCw3ICsxNzIwLDcgQEAgaW50IGk5MTVf Z2VtX2h1Z2VfcGFnZV9tb2NrX3NlbGZ0ZXN0cyh2b2lkKQogCiAJaTkxNV9tb2RwYXJhbXMuZW5h YmxlX3BwZ3R0ID0gc2F2ZWRfcHBndHQ7CiAKLQlkcm1fZGV2X3VucmVmKCZkZXZfcHJpdi0+ZHJt KTsKKwlkcm1fZGV2X3B1dCgmZGV2X3ByaXYtPmRybSk7CiAKIAlyZXR1cm4gZXJyOwogfQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2RtYWJ1Zi5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2RtYWJ1Zi5jCmluZGV4 IDg5ZGMyNWE1YTUzYi4uYTcwNTViMTJlNTNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZG1hYnVmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2RtYWJ1Zi5jCkBAIC0zODksNyArMzg5LDcgQEAgaW50IGk5 MTVfZ2VtX2RtYWJ1Zl9tb2NrX3NlbGZ0ZXN0cyh2b2lkKQogCiAJZXJyID0gaTkxNV9zdWJ0ZXN0 cyh0ZXN0cywgaTkxNSk7CiAKLQlkcm1fZGV2X3VucmVmKCZpOTE1LT5kcm0pOworCWRybV9kZXZf cHV0KCZpOTE1LT5kcm0pOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ldmljdC5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2V2aWN0LmMKaW5kZXggYWI5ZDdiZWUwYWFlLi43YjIx ZTQxMzVhYTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1 X2dlbV9ldmljdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dl bV9ldmljdC5jCkBAIC00OTAsNyArNDkwLDcgQEAgaW50IGk5MTVfZ2VtX2V2aWN0X21vY2tfc2Vs ZnRlc3RzKHZvaWQpCiAJZXJyID0gaTkxNV9zdWJ0ZXN0cyh0ZXN0cywgaTkxNSk7CiAJbXV0ZXhf dW5sb2NrKCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKIAotCWRybV9kZXZfdW5yZWYoJmk5MTUt PmRybSk7CisJZHJtX2Rldl9wdXQoJmk5MTUtPmRybSk7CiAJcmV0dXJuIGVycjsKIH0KIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2d0dC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2d0dC5jCmluZGV4IGY3ZGM5 MjZmNGVmMS4uMWNmNGU5YWYwYjY1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9z ZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRl c3RzL2k5MTVfZ2VtX2d0dC5jCkBAIC0xNjQ2LDcgKzE2NDYsNyBAQCBpbnQgaTkxNV9nZW1fZ3R0 X21vY2tfc2VsZnRlc3RzKHZvaWQpCiAJZXJyID0gaTkxNV9zdWJ0ZXN0cyh0ZXN0cywgaTkxNSk7 CiAJbXV0ZXhfdW5sb2NrKCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKIAotCWRybV9kZXZfdW5y ZWYoJmk5MTUtPmRybSk7CisJZHJtX2Rldl9wdXQoJmk5MTUtPmRybSk7CiAJcmV0dXJuIGVycjsK IH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2Vt X29iamVjdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX29iamVj dC5jCmluZGV4IGZiZGIyNDE5ZDQxOC4uNzA2NmYyMmVmOGYxIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fb2JqZWN0LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX29iamVjdC5jCkBAIC01ODYsNyArNTg2LDcg QEAgaW50IGk5MTVfZ2VtX29iamVjdF9tb2NrX3NlbGZ0ZXN0cyh2b2lkKQogCiAJZXJyID0gaTkx NV9zdWJ0ZXN0cyh0ZXN0cywgaTkxNSk7CiAKLQlkcm1fZGV2X3VucmVmKCZpOTE1LT5kcm0pOwor CWRybV9kZXZfcHV0KCZpOTE1LT5kcm0pOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3JlcXVlc3QuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3JlcXVlc3QuYwppbmRleCA5NGJjMmUxODk4YTQu LjVkMDY5ZGU0YTE5YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3Rz L2k5MTVfcmVxdWVzdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1 X3JlcXVlc3QuYwpAQCAtMjYyLDcgKzI2Miw3IEBAIGludCBpOTE1X3JlcXVlc3RfbW9ja19zZWxm dGVzdHModm9pZCkKIAkJcmV0dXJuIC1FTk9NRU07CiAKIAllcnIgPSBpOTE1X3N1YnRlc3RzKHRl c3RzLCBpOTE1KTsKLQlkcm1fZGV2X3VucmVmKCZpOTE1LT5kcm0pOworCWRybV9kZXZfcHV0KCZp OTE1LT5kcm0pOwogCiAJcmV0dXJuIGVycjsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3ZtYS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRl c3RzL2k5MTVfdm1hLmMKaW5kZXggZWI4OWUzMDFiNjAyLi45ZmJiYTVkZWZiM2UgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3ZtYS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3ZtYS5jCkBAIC03MzQsNyArNzM0LDcgQEAg aW50IGk5MTVfdm1hX21vY2tfc2VsZnRlc3RzKHZvaWQpCiAJZXJyID0gaTkxNV9zdWJ0ZXN0cyh0 ZXN0cywgaTkxNSk7CiAJbXV0ZXhfdW5sb2NrKCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKIAot CWRybV9kZXZfdW5yZWYoJmk5MTUtPmRybSk7CisJZHJtX2Rldl9wdXQoJmk5MTUtPmRybSk7CiAJ cmV0dXJuIGVycjsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRl c3RzL2ludGVsX2JyZWFkY3J1bWJzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMv aW50ZWxfYnJlYWRjcnVtYnMuYwppbmRleCA0NjU4MDAyNmM3ZmMuLmI2YzlkZWVlZGE3YiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX2JyZWFkY3J1bWJz LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX2JyZWFkY3J1bWJz LmMKQEAgLTQ2Myw3ICs0NjMsNyBAQCBpbnQgaW50ZWxfYnJlYWRjcnVtYnNfbW9ja19zZWxmdGVz dHModm9pZCkKIAkJcmV0dXJuIC1FTk9NRU07CiAKIAllcnIgPSBpOTE1X3N1YnRlc3RzKHRlc3Rz LCBpOTE1LT5lbmdpbmVbUkNTXSk7Ci0JZHJtX2Rldl91bnJlZigmaTkxNS0+ZHJtKTsKKwlkcm1f ZGV2X3B1dCgmaTkxNS0+ZHJtKTsKIAogCXJldHVybiBlcnI7CiB9CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaW14L2lteC1kcm0tY29yZS5jIGIvZHJpdmVycy9ncHUvZHJtL2lteC9pbXgt ZHJtLWNvcmUuYwppbmRleCAxZDA1M2JiZWZjMDIuLjI3ZjU0Y2JlZTdmYiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2lteC9pbXgtZHJtLWNvcmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aW14L2lteC1kcm0tY29yZS5jCkBAIC0zMDcsNyArMzA3LDcgQEAgc3RhdGljIGludCBpbXhfZHJt X2JpbmQoc3RydWN0IGRldmljZSAqZGV2KQogZXJyX2ttczoKIAlkcm1fbW9kZV9jb25maWdfY2xl YW51cChkcm0pOwogZXJyX3VucmVmOgotCWRybV9kZXZfdW5yZWYoZHJtKTsKKwlkcm1fZGV2X3B1 dChkcm0pOwogCiAJcmV0dXJuIHJldDsKIH0KQEAgLTMyNyw3ICszMjcsNyBAQCBzdGF0aWMgdm9p ZCBpbXhfZHJtX3VuYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJY29tcG9uZW50X3VuYmluZF9h bGwoZHJtLT5kZXYsIGRybSk7CiAJZGV2X3NldF9kcnZkYXRhKGRldiwgTlVMTCk7CiAKLQlkcm1f ZGV2X3VucmVmKGRybSk7CisJZHJtX2Rldl9wdXQoZHJtKTsKIH0KIAogc3RhdGljIGNvbnN0IHN0 cnVjdCBjb21wb25lbnRfbWFzdGVyX29wcyBpbXhfZHJtX29wcyA9IHsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kcm1fZHJ2LmMKaW5kZXggYTJjYTkwZmM0MDNjLi41ZDAyNGExNTRlMWEgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jCkBAIC0zNDEsNyArMzQxLDcgQEAg c3RhdGljIGludCBtdGtfZHJtX2JpbmQoc3RydWN0IGRldmljZSAqZGV2KQogZXJyX2RlaW5pdDoK IAltdGtfZHJtX2ttc19kZWluaXQoZHJtKTsKIGVycl9mcmVlOgotCWRybV9kZXZfdW5yZWYoZHJt KTsKKwlkcm1fZGV2X3B1dChkcm0pOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTM1MCw3ICszNTAs NyBAQCBzdGF0aWMgdm9pZCBtdGtfZHJtX3VuYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJc3Ry dWN0IG10a19kcm1fcHJpdmF0ZSAqcHJpdmF0ZSA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwogCiAJ ZHJtX2Rldl91bnJlZ2lzdGVyKHByaXZhdGUtPmRybSk7Ci0JZHJtX2Rldl91bnJlZihwcml2YXRl LT5kcm0pOworCWRybV9kZXZfcHV0KHByaXZhdGUtPmRybSk7CiAJcHJpdmF0ZS0+ZHJtID0gTlVM TDsKIH0KIApAQCAtNTA0LDcgKzUwNCw3IEBAIHN0YXRpYyBpbnQgbXRrX2RybV9yZW1vdmUoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAogCWRybV9kZXZfdW5yZWdpc3Rlcihkcm0pOwog CW10a19kcm1fa21zX2RlaW5pdChkcm0pOwotCWRybV9kZXZfdW5yZWYoZHJtKTsKKwlkcm1fZGV2 X3B1dChkcm0pOwogCiAJY29tcG9uZW50X21hc3Rlcl9kZWwoJnBkZXYtPmRldiwgJm10a19kcm1f b3BzKTsKIAlwbV9ydW50aW1lX2Rpc2FibGUoJnBkZXYtPmRldik7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5j CmluZGV4IDMwY2Q1MTRkOGY3Yy4uNTU4YTgyZjgyOGI4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vbXNtL21zbV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYwpA QCAtMjYwLDcgKzI2MCw3IEBAIHN0YXRpYyBpbnQgbXNtX2RybV91bmluaXQoc3RydWN0IGRldmlj ZSAqZGV2KQogCW1zbV9tZHNzX2Rlc3Ryb3koZGRldik7CiAKIAlkZGV2LT5kZXZfcHJpdmF0ZSA9 IE5VTEw7Ci0JZHJtX2Rldl91bnJlZihkZGV2KTsKKwlkcm1fZGV2X3B1dChkZGV2KTsKIAogCWtm cmVlKHByaXYpOwogCkBAIC0zNjgsNyArMzY4LDcgQEAgc3RhdGljIGludCBtc21fZHJtX2luaXQo c3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2RyaXZlciAqZHJ2KQogCiAJcHJpdiA9IGt6 YWxsb2Moc2l6ZW9mKCpwcml2KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFwcml2KSB7Ci0JCWRybV9k ZXZfdW5yZWYoZGRldik7CisJCWRybV9kZXZfcHV0KGRkZXYpOwogCQlyZXR1cm4gLUVOT01FTTsK IAl9CiAKQEAgLTM3OCw3ICszNzgsNyBAQCBzdGF0aWMgaW50IG1zbV9kcm1faW5pdChzdHJ1Y3Qg ZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZHJpdmVyICpkcnYpCiAJcmV0ID0gbXNtX21kc3NfaW5p dChkZGV2KTsKIAlpZiAocmV0KSB7CiAJCWtmcmVlKHByaXYpOwotCQlkcm1fZGV2X3VucmVmKGRk ZXYpOworCQlkcm1fZGV2X3B1dChkZGV2KTsKIAkJcmV0dXJuIHJldDsKIAl9CiAKQEAgLTM5OCw3 ICszOTgsNyBAQCBzdGF0aWMgaW50IG1zbV9kcm1faW5pdChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0 cnVjdCBkcm1fZHJpdmVyICpkcnYpCiAJaWYgKHJldCkgewogCQltc21fbWRzc19kZXN0cm95KGRk ZXYpOwogCQlrZnJlZShwcml2KTsKLQkJZHJtX2Rldl91bnJlZihkZGV2KTsKKwkJZHJtX2Rldl9w dXQoZGRldik7CiAJCXJldHVybiByZXQ7CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vbXhzZmIvbXhzZmJfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXhzZmIvbXhzZmJfZHJ2LmMK aW5kZXggNWNhZThkYjlkY2Q0Li4xY2E5YmFmY2Q0ZjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9teHNmYi9teHNmYl9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXhzZmIvbXhzZmJf ZHJ2LmMKQEAgLTQwMyw3ICs0MDMsNyBAQCBzdGF0aWMgaW50IG14c2ZiX3Byb2JlKHN0cnVjdCBw bGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiBlcnJfdW5sb2FkOgogCW14c2ZiX3VubG9hZChkcm0pOwog ZXJyX2ZyZWU6Ci0JZHJtX2Rldl91bnJlZihkcm0pOworCWRybV9kZXZfcHV0KGRybSk7CiAKIAly ZXR1cm4gcmV0OwogfQpAQCAtNDE0LDcgKzQxNCw3IEBAIHN0YXRpYyBpbnQgbXhzZmJfcmVtb3Zl KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAKIAlkcm1fZGV2X3VucmVnaXN0ZXIoZHJt KTsKIAlteHNmYl91bmxvYWQoZHJtKTsKLQlkcm1fZGV2X3VucmVmKGRybSk7CisJZHJtX2Rldl9w dXQoZHJtKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25v dXZlYXUvbm91dmVhdV9wbGF0Zm9ybS5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVh dV9wbGF0Zm9ybS5jCmluZGV4IDFhZGExODZmYWI3Ny4uMDM5ZTIzNTQ4ZTA4IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X3BsYXRmb3JtLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9wbGF0Zm9ybS5jCkBAIC0zNiw3ICszNiw3IEBAIHN0 YXRpYyBpbnQgbm91dmVhdV9wbGF0Zm9ybV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQogCiAJcmV0ID0gZHJtX2Rldl9yZWdpc3Rlcihkcm0sIDApOwogCWlmIChyZXQgPCAwKSB7 Ci0JCWRybV9kZXZfdW5yZWYoZHJtKTsKKwkJZHJtX2Rldl9wdXQoZHJtKTsKIAkJcmV0dXJuIHJl dDsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmMg Yi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Rydi5jCmluZGV4IDM2MzI4NTRjMmI5MS4u ZTEyY2VkYzE1ZTI3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Ry di5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmMKQEAgLTU5OCw3ICs1 OTgsNyBAQCBzdGF0aWMgaW50IG9tYXBkcm1faW5pdChzdHJ1Y3Qgb21hcF9kcm1fcHJpdmF0ZSAq cHJpdiwgc3RydWN0IGRldmljZSAqZGV2KQogCW9tYXBfZHJtX2lycV91bmluc3RhbGwoZGRldik7 CiBlcnJfZnJlZV9kcm1fZGV2OgogCW9tYXBfZ2VtX2RlaW5pdChkZGV2KTsKLQlkcm1fZGV2X3Vu cmVmKGRkZXYpOworCWRybV9kZXZfcHV0KGRkZXYpOwogZXJyX2Rlc3Ryb3lfd3E6CiAJZGVzdHJv eV93b3JrcXVldWUocHJpdi0+d3EpOwogCW9tYXBfZGlzY29ubmVjdF9kc3NkZXZzKCk7CkBAIC02 MjcsNyArNjI3LDcgQEAgc3RhdGljIHZvaWQgb21hcGRybV9jbGVhbnVwKHN0cnVjdCBvbWFwX2Ry bV9wcml2YXRlICpwcml2KQogCW9tYXBfZHJtX2lycV91bmluc3RhbGwoZGRldik7CiAJb21hcF9n ZW1fZGVpbml0KGRkZXYpOwogCi0JZHJtX2Rldl91bnJlZihkZGV2KTsKKwlkcm1fZGV2X3B1dChk ZGV2KTsKIAogCWRlc3Ryb3lfd29ya3F1ZXVlKHByaXYtPndxKTsKIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3BsMTExL3BsMTExX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3BsMTExL3Bs MTExX2Rydi5jCmluZGV4IDQ2MjEyNTlkNTM4Ny4uNmUyMTMwOGRkNmM2IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vcGwxMTEvcGwxMTFfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Bs MTExL3BsMTExX2Rydi5jCkBAIC0zMDQsNyArMzA0LDcgQEAgc3RhdGljIGludCBwbDExMV9hbWJh X3Byb2JlKHN0cnVjdCBhbWJhX2RldmljZSAqYW1iYV9kZXYsCiAJcmV0dXJuIDA7CiAKIGRldl91 bnJlZjoKLQlkcm1fZGV2X3VucmVmKGRybSk7CisJZHJtX2Rldl9wdXQoZHJtKTsKIAlyZXR1cm4g cmV0OwogfQogCkBAIC0zMTgsNyArMzE4LDcgQEAgc3RhdGljIGludCBwbDExMV9hbWJhX3JlbW92 ZShzdHJ1Y3QgYW1iYV9kZXZpY2UgKmFtYmFfZGV2KQogCWlmIChwcml2LT5wYW5lbCkKIAkJZHJt X3BhbmVsX2JyaWRnZV9yZW1vdmUocHJpdi0+YnJpZGdlKTsKIAlkcm1fbW9kZV9jb25maWdfY2xl YW51cChkcm0pOwotCWRybV9kZXZfdW5yZWYoZHJtKTsKKwlkcm1fZGV2X3B1dChkcm0pOwogCiAJ cmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9kcnYuYyBi L2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2Rydi5jCmluZGV4IDI0NDVlNzVjZjdlYS4uODZiZDQy ZGNhMDljIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9kcnYuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9kcnYuYwpAQCAtMTE5LDcgKzExOSw3IEBAIHF4bF9wY2lf cmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQogCiAJZGV2LT5kZXZfcHJpdmF0ZSA9IE5VTEw7 CiAJa2ZyZWUocWRldik7Ci0JZHJtX2Rldl91bnJlZihkZXYpOworCWRybV9kZXZfcHV0KGRldik7 CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHF4bF9mb3BzID0gewpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9kcnYuYyBiL2RyaXZl cnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfZHJ2LmMKaW5kZXggMzkxN2Q4MzljMDRjLi4xYWRj ZjgwOTEyZTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfZHJ2 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9kcnYuYwpAQCAtMzc4LDcg KzM3OCw3IEBAIHN0YXRpYyBpbnQgcmNhcl9kdV9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldikKIAlkcm1fa21zX2hlbHBlcl9wb2xsX2ZpbmkoZGRldik7CiAJZHJtX21vZGVfY29u ZmlnX2NsZWFudXAoZGRldik7CiAKLQlkcm1fZGV2X3VucmVmKGRkZXYpOworCWRybV9kZXZfcHV0 KGRkZXYpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcm9j a2NoaXAvcm9ja2NoaXBfZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tj aGlwX2RybV9kcnYuYwppbmRleCBmODE0ZDM3YjFkYjIuLjljODQ2YmU4ZmM2NCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9kcnYuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2Rydi5jCkBAIC0xODQsNyArMTg0LDcg QEAgc3RhdGljIGludCByb2NrY2hpcF9kcm1fYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYpCiBlcnJf ZnJlZToKIAlkcm1fZGV2LT5kZXZfcHJpdmF0ZSA9IE5VTEw7CiAJZGV2X3NldF9kcnZkYXRhKGRl diwgTlVMTCk7Ci0JZHJtX2Rldl91bnJlZihkcm1fZGV2KTsKKwlkcm1fZGV2X3B1dChkcm1fZGV2 KTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0yMDQsNyArMjA0LDcgQEAgc3RhdGljIHZvaWQgcm9j a2NoaXBfZHJtX3VuYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYpCiAKIAlkcm1fZGV2LT5kZXZfcHJp dmF0ZSA9IE5VTEw7CiAJZGV2X3NldF9kcnZkYXRhKGRldiwgTlVMTCk7Ci0JZHJtX2Rldl91bnJl Zihkcm1fZGV2KTsKKwlkcm1fZGV2X3B1dChkcm1fZGV2KTsKIH0KIAogc3RhdGljIGNvbnN0IHN0 cnVjdCBmaWxlX29wZXJhdGlvbnMgcm9ja2NoaXBfZHJtX2RyaXZlcl9mb3BzID0gewpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3NobW9iaWxlL3NobW9iX2RybV9kcnYuYyBiL2RyaXZlcnMv Z3B1L2RybS9zaG1vYmlsZS9zaG1vYl9kcm1fZHJ2LmMKaW5kZXggNTkyNTcyNTU0ZWIwLi44ZDFm ZjU5NmM3NzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zaG1vYmlsZS9zaG1vYl9kcm1f ZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3NobW9iaWxlL3NobW9iX2RybV9kcnYuYwpAQCAt MTk4LDcgKzE5OCw3IEBAIHN0YXRpYyBpbnQgc2htb2JfZHJtX3JlbW92ZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KQogCWRybV9rbXNfaGVscGVyX3BvbGxfZmluaShkZGV2KTsKIAlkcm1f bW9kZV9jb25maWdfY2xlYW51cChkZGV2KTsKIAlkcm1faXJxX3VuaW5zdGFsbChkZGV2KTsKLQlk cm1fZGV2X3VucmVmKGRkZXYpOworCWRybV9kZXZfcHV0KGRkZXYpOwogCiAJcmV0dXJuIDA7CiB9 CkBAIC0yOTQsNyArMjk0LDcgQEAgc3RhdGljIGludCBzaG1vYl9kcm1fcHJvYmUoc3RydWN0IHBs YXRmb3JtX2RldmljZSAqcGRldikKIAlkcm1fa21zX2hlbHBlcl9wb2xsX2ZpbmkoZGRldik7CiAJ ZHJtX21vZGVfY29uZmlnX2NsZWFudXAoZGRldik7CiBlcnJfZnJlZV9kcm1fZGV2OgotCWRybV9k ZXZfdW5yZWYoZGRldik7CisJZHJtX2Rldl9wdXQoZGRldik7CiAKIAlyZXR1cm4gcmV0OwogfQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfZHJ2LmMgYi9kcml2ZXJzL2dwdS9k cm0vc3RpL3N0aV9kcnYuYwppbmRleCA1NWI2OTY3ZDI3ZTEuLmU4ZDYxOTk4NzhjZSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L3N0aS9zdGlfZHJ2LmMKQEAgLTI0Miw3ICsyNDIsNyBAQCBzdGF0aWMgaW50IHN0aV9iaW5kKHN0 cnVjdCBkZXZpY2UgKmRldikKIAogCXJldCA9IHN0aV9pbml0KGRkZXYpOwogCWlmIChyZXQpCi0J CWdvdG8gZXJyX2RybV9kZXZfdW5yZWY7CisJCWdvdG8gZXJyX2RybV9kZXZfcHV0OwogCiAJcmV0 ID0gY29tcG9uZW50X2JpbmRfYWxsKGRkZXYtPmRldiwgZGRldik7CiAJaWYgKHJldCkKQEAgLTI2 Niw4ICsyNjYsOCBAQCBzdGF0aWMgaW50IHN0aV9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldikKIAlk cm1fbW9kZV9jb25maWdfY2xlYW51cChkZGV2KTsKIGVycl9jbGVhbnVwOgogCXN0aV9jbGVhbnVw KGRkZXYpOwotZXJyX2RybV9kZXZfdW5yZWY6Ci0JZHJtX2Rldl91bnJlZihkZGV2KTsKK2Vycl9k cm1fZGV2X3B1dDoKKwlkcm1fZGV2X3B1dChkZGV2KTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0y NzcsNyArMjc3LDcgQEAgc3RhdGljIHZvaWQgc3RpX3VuYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYp CiAKIAlkcm1fZGV2X3VucmVnaXN0ZXIoZGRldik7CiAJc3RpX2NsZWFudXAoZGRldik7Ci0JZHJt X2Rldl91bnJlZihkZGV2KTsKKwlkcm1fZGV2X3B1dChkZGV2KTsKIH0KIAogc3RhdGljIGNvbnN0 IHN0cnVjdCBjb21wb25lbnRfbWFzdGVyX29wcyBzdGlfb3BzID0gewpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3N0bS9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdG0vZHJ2LmMKaW5kZXgg OWFiMDBhODdmN2NjLi42ZWNlM2FjYWJkNTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9z dG0vZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3N0bS9kcnYuYwpAQCAtMTU5LDcgKzE1OSw3 IEBAIHN0YXRpYyBpbnQgc3RtX2RybV9wbGF0Zm9ybV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2KQogCXJldHVybiAwOwogCiBlcnJfdW5yZWY6Ci0JZHJtX2Rldl91bnJlZihkZGV2 KTsKKwlkcm1fZGV2X3B1dChkZGV2KTsKIAogCXJldHVybiByZXQ7CiB9CkBAIC0xNzIsNyArMTcy LDcgQEAgc3RhdGljIGludCBzdG1fZHJtX3BsYXRmb3JtX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2KQogCiAJZHJtX2Rldl91bnJlZ2lzdGVyKGRkZXYpOwogCWRydl91bmxvYWQo ZGRldik7Ci0JZHJtX2Rldl91bnJlZihkZGV2KTsKKwlkcm1fZGV2X3B1dChkZGV2KTsKIAogCXJl dHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2Rydi5j IGIvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2Rydi5jCmluZGV4IDUwZDE5NjA1YzM4Zi4u NDJjODgxZDUyNzVkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfZHJ2 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2Rydi5jCkBAIC0xNDMsNyArMTQz LDcgQEAgc3RhdGljIGludCBzdW40aV9kcnZfYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJZHJt X21vZGVfY29uZmlnX2NsZWFudXAoZHJtKTsKIAlvZl9yZXNlcnZlZF9tZW1fZGV2aWNlX3JlbGVh c2UoZGV2KTsKIGZyZWVfZHJtOgotCWRybV9kZXZfdW5yZWYoZHJtKTsKKwlkcm1fZGV2X3B1dChk cm0pOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTE1Niw3ICsxNTYsNyBAQCBzdGF0aWMgdm9pZCBz dW40aV9kcnZfdW5iaW5kKHN0cnVjdCBkZXZpY2UgKmRldikKIAlzdW40aV9mcmFtZWJ1ZmZlcl9m cmVlKGRybSk7CiAJZHJtX21vZGVfY29uZmlnX2NsZWFudXAoZHJtKTsKIAlvZl9yZXNlcnZlZF9t ZW1fZGV2aWNlX3JlbGVhc2UoZGV2KTsKLQlkcm1fZGV2X3VucmVmKGRybSk7CisJZHJtX2Rldl9w dXQoZHJtKTsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBjb21wb25lbnRfbWFzdGVyX29wcyBz dW40aV9kcnZfbWFzdGVyX29wcyA9IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90ZWdy YS9kcm0uYyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kcm0uYwppbmRleCA3YWZlMmY2MzVmNzQu LmY1MTE5ZjJiYmY1ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RybS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kcm0uYwpAQCAtMTIxMCw3ICsxMjEwLDcgQEAgc3Rh dGljIGludCBob3N0MXhfZHJtX3Byb2JlKHN0cnVjdCBob3N0MXhfZGV2aWNlICpkZXYpCiAJcmV0 dXJuIDA7CiAKIHVucmVmOgotCWRybV9kZXZfdW5yZWYoZHJtKTsKKwlkcm1fZGV2X3B1dChkcm0p OwogCXJldHVybiBlcnI7CiB9CiAKQEAgLTEyMTksNyArMTIxOSw3IEBAIHN0YXRpYyBpbnQgaG9z dDF4X2RybV9yZW1vdmUoc3RydWN0IGhvc3QxeF9kZXZpY2UgKmRldikKIAlzdHJ1Y3QgZHJtX2Rl dmljZSAqZHJtID0gZGV2X2dldF9kcnZkYXRhKCZkZXYtPmRldik7CiAKIAlkcm1fZGV2X3VucmVn aXN0ZXIoZHJtKTsKLQlkcm1fZGV2X3VucmVmKGRybSk7CisJZHJtX2Rldl9wdXQoZHJtKTsKIAog CXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vY29yZS90 aW55ZHJtLWNvcmUuYyBiL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL2NvcmUvdGlueWRybS1jb3Jl LmMKaW5kZXggNGM2NjE2Mjc4YzQ4Li5jYTJiNmE4Yjc0YzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS90aW55ZHJtL2NvcmUvdGlueWRybS1jb3JlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L3Rpbnlkcm0vY29yZS90aW55ZHJtLWNvcmUuYwpAQCAtMTM1LDcgKzEzNSw3IEBAIHN0YXRpYyBp bnQgdGlueWRybV9pbml0KHN0cnVjdCBkZXZpY2UgKnBhcmVudCwgc3RydWN0IHRpbnlkcm1fZGV2 aWNlICp0ZGV2LAogCS8qCiAJICogV2UgZG9uJ3QgZW1iZWQgZHJtX2RldmljZSwgYmVjYXVzZSB0 aGF0IHByZXZlbnQgdXMgZnJvbSB1c2luZwogCSAqIGRldm1fa3phbGxvYygpIHRvIGFsbG9jYXRl IHRpbnlkcm1fZGV2aWNlIGluIHRoZSBkcml2ZXIgc2luY2UKLQkgKiBkcm1fZGV2X3VucmVmKCkg ZnJlZXMgdGhlIHN0cnVjdHVyZS4gVGhlIGRldm1fIGZ1bmN0aW9ucyBwcm92aWRlCisJICogZHJt X2Rldl9wdXQoKSBmcmVlcyB0aGUgc3RydWN0dXJlLiBUaGUgZGV2bV8gZnVuY3Rpb25zIHByb3Zp ZGUKIAkgKiBmb3IgZWFzeSBlcnJvciBoYW5kbGluZy4KIAkgKi8KIAlkcm0gPSBkcm1fZGV2X2Fs bG9jKGRyaXZlciwgcGFyZW50KTsKQEAgLTE1NSw3ICsxNTUsNyBAQCBzdGF0aWMgdm9pZCB0aW55 ZHJtX2Zpbmkoc3RydWN0IHRpbnlkcm1fZGV2aWNlICp0ZGV2KQogCWRybV9tb2RlX2NvbmZpZ19j bGVhbnVwKHRkZXYtPmRybSk7CiAJbXV0ZXhfZGVzdHJveSgmdGRldi0+ZGlydHlfbG9jayk7CiAJ dGRldi0+ZHJtLT5kZXZfcHJpdmF0ZSA9IE5VTEw7Ci0JZHJtX2Rldl91bnJlZih0ZGV2LT5kcm0p OworCWRybV9kZXZfcHV0KHRkZXYtPmRybSk7CiB9CiAKIHN0YXRpYyB2b2lkIGRldm1fdGlueWRy bV9yZWxlYXNlKHZvaWQgKmRhdGEpCkBAIC0xNzIsNyArMTcyLDcgQEAgc3RhdGljIHZvaWQgZGV2 bV90aW55ZHJtX3JlbGVhc2Uodm9pZCAqZGF0YSkKICAqCiAgKiBUaGlzIGZ1bmN0aW9uIGluaXRp YWxpemVzIEB0ZGV2LCB0aGUgdW5kZXJseWluZyBEUk0gZGV2aWNlIGFuZCBpdCdzCiAgKiBtb2Rl X2NvbmZpZy4gUmVzb3VyY2VzIHdpbGwgYmUgYXV0b21hdGljYWxseSBmcmVlZCBvbiBkcml2ZXIg ZGV0YWNoIChkZXZyZXMpCi0gKiB1c2luZyBkcm1fbW9kZV9jb25maWdfY2xlYW51cCgpIGFuZCBk cm1fZGV2X3VucmVmKCkuCisgKiB1c2luZyBkcm1fbW9kZV9jb25maWdfY2xlYW51cCgpIGFuZCBk cm1fZGV2X3B1dCgpLgogICoKICAqIFJldHVybnM6CiAgKiBaZXJvIG9uIHN1Y2Nlc3MsIG5lZ2F0 aXZlIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90 dmUyMDAvdHZlMjAwX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3R2ZTIwMC90dmUyMDBfZHJ2LmMK aW5kZXggYWMzNDRkZGIyM2JjLi5lMzZhNzhlZjY4YjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS90dmUyMDAvdHZlMjAwX2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90dmUyMDAvdHZl MjAwX2Rydi5jCkBAIC0yNTAsNyArMjUwLDcgQEAgc3RhdGljIGludCB0dmUyMDBfcHJvYmUoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIGNsa19kaXNhYmxlOgogCWNsa19kaXNhYmxlX3Vu cHJlcGFyZShwcml2LT5wY2xrKTsKIGRldl91bnJlZjoKLQlkcm1fZGV2X3VucmVmKGRybSk7CisJ ZHJtX2Rldl9wdXQoZHJtKTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0yNjUsNyArMjY1LDcgQEAg c3RhdGljIGludCB0dmUyMDBfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJ CWRybV9wYW5lbF9icmlkZ2VfcmVtb3ZlKHByaXYtPmJyaWRnZSk7CiAJZHJtX21vZGVfY29uZmln X2NsZWFudXAoZHJtKTsKIAljbGtfZGlzYWJsZV91bnByZXBhcmUocHJpdi0+cGNsayk7Ci0JZHJt X2Rldl91bnJlZihkcm0pOworCWRybV9kZXZfcHV0KGRybSk7CiAKIAlyZXR1cm4gMDsKIH0KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS91ZGwvdWRsX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJt L3VkbC91ZGxfZHJ2LmMKaW5kZXggM2M0NWEzMDY0NzI2Li5kNWU5NGViN2E0Y2EgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS91ZGwvdWRsX2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS91 ZGwvdWRsX2Rydi5jCkBAIC05NCw3ICs5NCw3IEBAIHN0YXRpYyBpbnQgdWRsX3VzYl9wcm9iZShz dHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZXJmYWNlLAogCXJldHVybiAwOwogCiBlcnJfZnJlZToK LQlkcm1fZGV2X3VucmVmKGRldik7CisJZHJtX2Rldl9wdXQoZGV2KTsKIAlyZXR1cm4gcjsKIH0K IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZHJ2LmMgYi9kcml2ZXJzL2dw dS9kcm0vdmM0L3ZjNF9kcnYuYwppbmRleCA5NGI5OWM5MDQyNWEuLjI1OWM4NWZjZDMyYyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL3ZjNC92YzRfZHJ2LmMKQEAgLTMxMiw3ICszMTIsNyBAQCBzdGF0aWMgaW50IHZjNF9kcm1f YmluZChzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJdmM0X2dlbV9kZXN0cm95KGRybSk7CiAJdmM0X2Jv X2NhY2hlX2Rlc3Ryb3koZHJtKTsKIGRldl91bnJlZjoKLQlkcm1fZGV2X3VucmVmKGRybSk7CisJ ZHJtX2Rldl9wdXQoZHJtKTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0zMjcsNyArMzI3LDcgQEAg c3RhdGljIHZvaWQgdmM0X2RybV91bmJpbmQoc3RydWN0IGRldmljZSAqZGV2KQogCiAJZHJtX21v ZGVfY29uZmlnX2NsZWFudXAoZHJtKTsKIAotCWRybV9kZXZfdW5yZWYoZHJtKTsKKwlkcm1fZGV2 X3B1dChkcm0pOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGNvbXBvbmVudF9tYXN0ZXJfb3Bz IHZjNF9kcm1fb3BzID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZnZW0vdmdlbV9k cnYuYyBiL2RyaXZlcnMvZ3B1L2RybS92Z2VtL3ZnZW1fZHJ2LmMKaW5kZXggMjUyNGZmMTE2ZjAw Li4zMDVmODc2NjU0OTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92Z2VtL3ZnZW1fZHJ2 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZnZW0vdmdlbV9kcnYuYwpAQCAtNTA1LDcgKzUwNSw3 IEBAIHN0YXRpYyBpbnQgX19pbml0IHZnZW1faW5pdCh2b2lkKQogc3RhdGljIHZvaWQgX19leGl0 IHZnZW1fZXhpdCh2b2lkKQogewogCWRybV9kZXZfdW5yZWdpc3RlcigmdmdlbV9kZXZpY2UtPmRy bSk7Ci0JZHJtX2Rldl91bnJlZigmdmdlbV9kZXZpY2UtPmRybSk7CisJZHJtX2Rldl9wdXQoJnZn ZW1fZGV2aWNlLT5kcm0pOwogfQogCiBtb2R1bGVfaW5pdCh2Z2VtX2luaXQpOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2RybV9idXMuYyBiL2RyaXZlcnMvZ3B1 L2RybS92aXJ0aW8vdmlydGdwdV9kcm1fYnVzLmMKaW5kZXggN2RmOGQwYzkwMjZhLi4wOTRiODc2 ZjZkYTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9kcm1fYnVz LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2RybV9idXMuYwpAQCAtODUs NiArODUsNiBAQCBpbnQgZHJtX3ZpcnRpb19pbml0KHN0cnVjdCBkcm1fZHJpdmVyICpkcml2ZXIs IHN0cnVjdCB2aXJ0aW9fZGV2aWNlICp2ZGV2KQogCXJldHVybiAwOwogCiBlcnJfZnJlZToKLQlk cm1fZGV2X3VucmVmKGRldik7CisJZHJtX2Rldl9wdXQoZGV2KTsKIAlyZXR1cm4gcmV0OwogfQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9kcm1fZHJ2LmMgYi9kcml2ZXJzL2dw dS9kcm0venRlL3p4X2RybV9kcnYuYwppbmRleCA2ZjQyMDVlODAzNzguLjAyYWUxY2FmNmU4YSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9kcm1fZHJ2LmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL3p0ZS96eF9kcm1fZHJ2LmMKQEAgLTEyMiw3ICsxMjIsNyBAQCBzdGF0aWMgaW50 IHp4X2RybV9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldikKIAljb21wb25lbnRfdW5iaW5kX2FsbChk ZXYsIGRybSk7CiBvdXRfdW5yZWdpc3RlcjoKIAlkZXZfc2V0X2RydmRhdGEoZGV2LCBOVUxMKTsK LQlkcm1fZGV2X3VucmVmKGRybSk7CisJZHJtX2Rldl9wdXQoZHJtKTsKIAlyZXR1cm4gcmV0Owog fQogCkBAIC0xMzYsNyArMTM2LDcgQEAgc3RhdGljIHZvaWQgenhfZHJtX3VuYmluZChzdHJ1Y3Qg ZGV2aWNlICpkZXYpCiAJZHJtX21vZGVfY29uZmlnX2NsZWFudXAoZHJtKTsKIAljb21wb25lbnRf dW5iaW5kX2FsbChkZXYsIGRybSk7CiAJZGV2X3NldF9kcnZkYXRhKGRldiwgTlVMTCk7Ci0JZHJt X2Rldl91bnJlZihkcm0pOworCWRybV9kZXZfcHV0KGRybSk7CiB9CiAKIHN0YXRpYyBjb25zdCBz dHJ1Y3QgY29tcG9uZW50X21hc3Rlcl9vcHMgenhfZHJtX21hc3Rlcl9vcHMgPSB7CmRpZmYgLS1n aXQgYS9pbmNsdWRlL2RybS9kcm1fZHJ2LmggYi9pbmNsdWRlL2RybS9kcm1fZHJ2LmgKaW5kZXgg ZDIzZGNkZDFiZDk1Li5jMTZkZDQ0MjRiOGEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9k cnYuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fZHJ2LmgKQEAgLTYyMiw3ICs2MjIsNiBAQCB2b2lk IGRybV9kZXZfdW5yZWdpc3RlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIAogdm9pZCBkcm1f ZGV2X2dldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIHZvaWQgZHJtX2Rldl9wdXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldik7Ci12b2lkIGRybV9kZXZfdW5yZWYoc3RydWN0IGRybV9kZXZpY2Ug KmRldik7CiB2b2lkIGRybV9wdXRfZGV2KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogdm9pZCBk cm1fZGV2X3VucGx1ZyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIAotLSAKMi4xNC4xCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxp bmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg0-f65.google.com ([74.125.83.65]:46033 "EHLO mail-pg0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754723AbeDZKcC (ORCPT ); Thu, 26 Apr 2018 06:32:02 -0400 From: Vaishali Thakkar To: alexander.deucher@amd.com Cc: christian.koenig@amd.com, David1.Zhou@amd.com, airlied@linux.ie, brodkin@synopsys.com, linux@armlinux.org.uk, boris.brezillon@bootlin.com, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, gustavo@padovan.org, maarten.lankhorst@linux.intel.com, seanpaul@chromium.org, l.stach@pengutronix.de, christian.gmeiner@gmail.com, inki.dae@samsung.com, jy0922.shim@samsung.com, sw0312.kim@samsung.com, kyungmin.park@samsung.com, kgene@kernel.org, krzk@kernel.org, stefan@agner.ch, alison.wang@freescale.com, z.liuxinliang@hisilicon.com, zourongrong@gmail.com, kong.kongxinwei@hisilicon.com, puck.chen@hisilicon.com, jani.nikula@linux.intel.com, joonas.lahtinen@linux.intel.com, rodrigo.vivi@intel.com, p.zabel@pengutronix.de, ck.hu@mediatek.com, matthias.bgg@gmail.com, robdclark@gmail.com, marex@denx.de, bskeggs@redhat.com, tomi.valkeinen@ti.com, eric@anholt.net, airlied@redhat.com, kraxel@redhat.com, laurent.pinchart@ideasonboard.com, hjc@rock-chips.com, heiko@sntech.de, benjamin.gaignard@linaro.org, vincent.abriou@st.com, yannick.fertre@st.com, philippe.cornu@st.com, maxime.ripard@bootlin.com, wens@csie.org, thierry.reding@gmail.com, jonathanh@nvidia.com, noralf@tronnes.org, linus.walleij@linaro.org, shawnguo@kernel.org, amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, etnaviv@lists.freedesktop.org, linux-samsung-soc@vger.kernel.org, intel-gfx@lists.freedesktop.org, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, nouveau@lists.freedesktop.org, virtualization@lists.linux-foundation.org, linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-tegra@vger.kernel.org, Vaishali Thakkar Subject: [PATCH] drm/core: Remove drm_dev_unref() and it's uses Date: Thu, 26 Apr 2018 15:58:19 +0530 Message-Id: <20180426102819.6985-1-vthakkar1994@gmail.com> Sender: linux-renesas-soc-owner@vger.kernel.org List-ID: It's been a while since we introduced drm_dev{get/put} functions to replace reference/unreference in drm subsystem for the consistency purpose. So, with this patch, let's just replace all current use cases of drm_dev_unref() with drm_dev_put and remove the function itself. Coccinelle was used for mass-patching. Signed-off-by: Vaishali Thakkar --- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 4 ++-- drivers/gpu/drm/arc/arcpgu_drv.c | 4 ++-- drivers/gpu/drm/armada/armada_drv.c | 6 +++--- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 4 ++-- drivers/gpu/drm/drm_drv.c | 13 ------------- drivers/gpu/drm/etnaviv/etnaviv_drv.c | 4 ++-- drivers/gpu/drm/exynos/exynos_drm_drv.c | 4 ++-- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 4 ++-- drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 4 ++-- drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c | 8 ++++---- drivers/gpu/drm/i915/selftests/huge_pages.c | 2 +- drivers/gpu/drm/i915/selftests/i915_gem_dmabuf.c | 2 +- drivers/gpu/drm/i915/selftests/i915_gem_evict.c | 2 +- drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 2 +- drivers/gpu/drm/i915/selftests/i915_gem_object.c | 2 +- drivers/gpu/drm/i915/selftests/i915_request.c | 2 +- drivers/gpu/drm/i915/selftests/i915_vma.c | 2 +- drivers/gpu/drm/i915/selftests/intel_breadcrumbs.c | 2 +- drivers/gpu/drm/imx/imx-drm-core.c | 4 ++-- drivers/gpu/drm/mediatek/mtk_drm_drv.c | 6 +++--- drivers/gpu/drm/msm/msm_drv.c | 8 ++++---- drivers/gpu/drm/mxsfb/mxsfb_drv.c | 4 ++-- drivers/gpu/drm/nouveau/nouveau_platform.c | 2 +- drivers/gpu/drm/omapdrm/omap_drv.c | 4 ++-- drivers/gpu/drm/pl111/pl111_drv.c | 4 ++-- drivers/gpu/drm/qxl/qxl_drv.c | 2 +- drivers/gpu/drm/rcar-du/rcar_du_drv.c | 2 +- drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 4 ++-- drivers/gpu/drm/shmobile/shmob_drm_drv.c | 4 ++-- drivers/gpu/drm/sti/sti_drv.c | 8 ++++---- drivers/gpu/drm/stm/drv.c | 4 ++-- drivers/gpu/drm/sun4i/sun4i_drv.c | 4 ++-- drivers/gpu/drm/tegra/drm.c | 4 ++-- drivers/gpu/drm/tinydrm/core/tinydrm-core.c | 6 +++--- drivers/gpu/drm/tve200/tve200_drv.c | 4 ++-- drivers/gpu/drm/udl/udl_drv.c | 2 +- drivers/gpu/drm/vc4/vc4_drv.c | 4 ++-- drivers/gpu/drm/vgem/vgem_drv.c | 2 +- drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 2 +- drivers/gpu/drm/zte/zx_drm_drv.c | 4 ++-- include/drm/drm_drv.h | 1 - 41 files changed, 73 insertions(+), 87 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c index 0b19482b36b8..5fb455febeba 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c @@ -647,7 +647,7 @@ static int amdgpu_pci_probe(struct pci_dev *pdev, err_pci: pci_disable_device(pdev); err_free: - drm_dev_unref(dev); + drm_dev_put(dev); return ret; } @@ -657,7 +657,7 @@ amdgpu_pci_remove(struct pci_dev *pdev) struct drm_device *dev = pci_get_drvdata(pdev); drm_dev_unregister(dev); - drm_dev_unref(dev); + drm_dev_put(dev); pci_disable_device(pdev); pci_set_drvdata(pdev, NULL); } diff --git a/drivers/gpu/drm/arc/arcpgu_drv.c b/drivers/gpu/drm/arc/arcpgu_drv.c index f067de4e1e82..dcb06d4e9135 100644 --- a/drivers/gpu/drm/arc/arcpgu_drv.c +++ b/drivers/gpu/drm/arc/arcpgu_drv.c @@ -216,7 +216,7 @@ static int arcpgu_probe(struct platform_device *pdev) arcpgu_unload(drm); err_unref: - drm_dev_unref(drm); + drm_dev_put(drm); return ret; } @@ -227,7 +227,7 @@ static int arcpgu_remove(struct platform_device *pdev) drm_dev_unregister(drm); arcpgu_unload(drm); - drm_dev_unref(drm); + drm_dev_put(drm); return 0; } diff --git a/drivers/gpu/drm/armada/armada_drv.c b/drivers/gpu/drm/armada/armada_drv.c index 4b11b6b52f1d..d1705d298a39 100644 --- a/drivers/gpu/drm/armada/armada_drv.c +++ b/drivers/gpu/drm/armada/armada_drv.c @@ -109,7 +109,7 @@ static int armada_drm_bind(struct device *dev) /* * The drm_device structure must be at the start of - * armada_private for drm_dev_unref() to work correctly. + * armada_private for drm_dev_put() to work correctly. */ BUILD_BUG_ON(offsetof(struct armada_private, drm) != 0); @@ -180,7 +180,7 @@ static int armada_drm_bind(struct device *dev) drm_mode_config_cleanup(&priv->drm); drm_mm_takedown(&priv->linear); flush_work(&priv->fb_unref_work); - drm_dev_unref(&priv->drm); + drm_dev_put(&priv->drm); return ret; } @@ -200,7 +200,7 @@ static void armada_drm_unbind(struct device *dev) drm_mm_takedown(&priv->linear); flush_work(&priv->fb_unref_work); - drm_dev_unref(&priv->drm); + drm_dev_put(&priv->drm); } static int compare_of(struct device *dev, void *data) diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c index c1ea5c36b006..1c8487803a70 100644 --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c @@ -774,7 +774,7 @@ static int atmel_hlcdc_dc_drm_probe(struct platform_device *pdev) atmel_hlcdc_dc_unload(ddev); err_unref: - drm_dev_unref(ddev); + drm_dev_put(ddev); return ret; } @@ -785,7 +785,7 @@ static int atmel_hlcdc_dc_drm_remove(struct platform_device *pdev) drm_dev_unregister(ddev); atmel_hlcdc_dc_unload(ddev); - drm_dev_unref(ddev); + drm_dev_put(ddev); return 0; } diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c index a1b9338736e3..3dc507b13cf2 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c @@ -656,19 +656,6 @@ void drm_dev_put(struct drm_device *dev) } EXPORT_SYMBOL(drm_dev_put); -/** - * drm_dev_unref - Drop reference of a DRM device - * @dev: device to drop reference of or NULL - * - * This is a compatibility alias for drm_dev_put() and should not be used by new - * code. - */ -void drm_dev_unref(struct drm_device *dev) -{ - drm_dev_put(dev); -} -EXPORT_SYMBOL(drm_dev_unref); - static int create_compat_control_link(struct drm_device *dev) { struct drm_minor *minor; diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.c b/drivers/gpu/drm/etnaviv/etnaviv_drv.c index ab50090d066c..716187a07227 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_drv.c +++ b/drivers/gpu/drm/etnaviv/etnaviv_drv.c @@ -613,7 +613,7 @@ static int etnaviv_bind(struct device *dev) out_bind: kfree(priv); out_unref: - drm_dev_unref(drm); + drm_dev_put(drm); return ret; } @@ -630,7 +630,7 @@ static void etnaviv_unbind(struct device *dev) drm->dev_private = NULL; kfree(priv); - drm_dev_unref(drm); + drm_dev_put(drm); } static const struct component_master_ops etnaviv_master_ops = { diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c index a518e9c6d6cc..3629e5c93e3a 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c @@ -411,7 +411,7 @@ static int exynos_drm_bind(struct device *dev) err_free_private: kfree(private); err_free_drm: - drm_dev_unref(drm); + drm_dev_put(drm); return ret; } @@ -435,7 +435,7 @@ static void exynos_drm_unbind(struct device *dev) drm->dev_private = NULL; dev_set_drvdata(dev, NULL); - drm_dev_unref(drm); + drm_dev_put(drm); } static const struct component_master_ops exynos_drm_ops = { diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c index 80232321a244..664ac9dc1f65 100644 --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c @@ -358,7 +358,7 @@ static int fsl_dcu_drm_probe(struct platform_device *pdev) return 0; unref: - drm_dev_unref(drm); + drm_dev_put(drm); unregister_pix_clk: clk_unregister(fsl_dev->pix_clk); disable_clk: @@ -371,7 +371,7 @@ static int fsl_dcu_drm_remove(struct platform_device *pdev) struct fsl_dcu_drm_device *fsl_dev = platform_get_drvdata(pdev); drm_dev_unregister(fsl_dev->drm); - drm_dev_unref(fsl_dev->drm); + drm_dev_put(fsl_dev->drm); clk_disable_unprepare(fsl_dev->clk); clk_unregister(fsl_dev->pix_clk); diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c index d4f6f1f9df5b..ec878c7e3f75 100644 --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c @@ -387,7 +387,7 @@ static int hibmc_pci_probe(struct pci_dev *pdev, err_disable: pci_disable_device(pdev); err_free: - drm_dev_unref(dev); + drm_dev_put(dev); return ret; } @@ -398,7 +398,7 @@ static void hibmc_pci_remove(struct pci_dev *pdev) drm_dev_unregister(dev); hibmc_unload(dev); - drm_dev_unref(dev); + drm_dev_put(dev); } static struct pci_device_id hibmc_pci_table[] = { diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c index ddb0403f1975..e6a62d5a00a3 100644 --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c @@ -193,7 +193,7 @@ static int kirin_drm_bind(struct device *dev) ret = kirin_drm_kms_init(drm_dev); if (ret) - goto err_drm_dev_unref; + goto err_drm_dev_put; ret = drm_dev_register(drm_dev, 0); if (ret) @@ -203,8 +203,8 @@ static int kirin_drm_bind(struct device *dev) err_kms_cleanup: kirin_drm_kms_cleanup(drm_dev); -err_drm_dev_unref: - drm_dev_unref(drm_dev); +err_drm_dev_put: + drm_dev_put(drm_dev); return ret; } @@ -215,7 +215,7 @@ static void kirin_drm_unbind(struct device *dev) drm_dev_unregister(drm_dev); kirin_drm_kms_cleanup(drm_dev); - drm_dev_unref(drm_dev); + drm_dev_put(drm_dev); } static const struct component_master_ops kirin_drm_ops = { diff --git a/drivers/gpu/drm/i915/selftests/huge_pages.c b/drivers/gpu/drm/i915/selftests/huge_pages.c index 05bbef363fff..22de60920b1a 100644 --- a/drivers/gpu/drm/i915/selftests/huge_pages.c +++ b/drivers/gpu/drm/i915/selftests/huge_pages.c @@ -1720,7 +1720,7 @@ int i915_gem_huge_page_mock_selftests(void) i915_modparams.enable_ppgtt = saved_ppgtt; - drm_dev_unref(&dev_priv->drm); + drm_dev_put(&dev_priv->drm); return err; } diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/selftests/i915_gem_dmabuf.c index 89dc25a5a53b..a7055b12e53c 100644 --- a/drivers/gpu/drm/i915/selftests/i915_gem_dmabuf.c +++ b/drivers/gpu/drm/i915/selftests/i915_gem_dmabuf.c @@ -389,7 +389,7 @@ int i915_gem_dmabuf_mock_selftests(void) err = i915_subtests(tests, i915); - drm_dev_unref(&i915->drm); + drm_dev_put(&i915->drm); return err; } diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_evict.c b/drivers/gpu/drm/i915/selftests/i915_gem_evict.c index ab9d7bee0aae..7b21e4135aa5 100644 --- a/drivers/gpu/drm/i915/selftests/i915_gem_evict.c +++ b/drivers/gpu/drm/i915/selftests/i915_gem_evict.c @@ -490,7 +490,7 @@ int i915_gem_evict_mock_selftests(void) err = i915_subtests(tests, i915); mutex_unlock(&i915->drm.struct_mutex); - drm_dev_unref(&i915->drm); + drm_dev_put(&i915->drm); return err; } diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c index f7dc926f4ef1..1cf4e9af0b65 100644 --- a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c @@ -1646,7 +1646,7 @@ int i915_gem_gtt_mock_selftests(void) err = i915_subtests(tests, i915); mutex_unlock(&i915->drm.struct_mutex); - drm_dev_unref(&i915->drm); + drm_dev_put(&i915->drm); return err; } diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_object.c b/drivers/gpu/drm/i915/selftests/i915_gem_object.c index fbdb2419d418..7066f22ef8f1 100644 --- a/drivers/gpu/drm/i915/selftests/i915_gem_object.c +++ b/drivers/gpu/drm/i915/selftests/i915_gem_object.c @@ -586,7 +586,7 @@ int i915_gem_object_mock_selftests(void) err = i915_subtests(tests, i915); - drm_dev_unref(&i915->drm); + drm_dev_put(&i915->drm); return err; } diff --git a/drivers/gpu/drm/i915/selftests/i915_request.c b/drivers/gpu/drm/i915/selftests/i915_request.c index 94bc2e1898a4..5d069de4a19a 100644 --- a/drivers/gpu/drm/i915/selftests/i915_request.c +++ b/drivers/gpu/drm/i915/selftests/i915_request.c @@ -262,7 +262,7 @@ int i915_request_mock_selftests(void) return -ENOMEM; err = i915_subtests(tests, i915); - drm_dev_unref(&i915->drm); + drm_dev_put(&i915->drm); return err; } diff --git a/drivers/gpu/drm/i915/selftests/i915_vma.c b/drivers/gpu/drm/i915/selftests/i915_vma.c index eb89e301b602..9fbba5defb3e 100644 --- a/drivers/gpu/drm/i915/selftests/i915_vma.c +++ b/drivers/gpu/drm/i915/selftests/i915_vma.c @@ -734,7 +734,7 @@ int i915_vma_mock_selftests(void) err = i915_subtests(tests, i915); mutex_unlock(&i915->drm.struct_mutex); - drm_dev_unref(&i915->drm); + drm_dev_put(&i915->drm); return err; } diff --git a/drivers/gpu/drm/i915/selftests/intel_breadcrumbs.c b/drivers/gpu/drm/i915/selftests/intel_breadcrumbs.c index 46580026c7fc..b6c9deeeda7b 100644 --- a/drivers/gpu/drm/i915/selftests/intel_breadcrumbs.c +++ b/drivers/gpu/drm/i915/selftests/intel_breadcrumbs.c @@ -463,7 +463,7 @@ int intel_breadcrumbs_mock_selftests(void) return -ENOMEM; err = i915_subtests(tests, i915->engine[RCS]); - drm_dev_unref(&i915->drm); + drm_dev_put(&i915->drm); return err; } diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c index 1d053bbefc02..27f54cbee7fb 100644 --- a/drivers/gpu/drm/imx/imx-drm-core.c +++ b/drivers/gpu/drm/imx/imx-drm-core.c @@ -307,7 +307,7 @@ static int imx_drm_bind(struct device *dev) err_kms: drm_mode_config_cleanup(drm); err_unref: - drm_dev_unref(drm); + drm_dev_put(drm); return ret; } @@ -327,7 +327,7 @@ static void imx_drm_unbind(struct device *dev) component_unbind_all(drm->dev, drm); dev_set_drvdata(dev, NULL); - drm_dev_unref(drm); + drm_dev_put(drm); } static const struct component_master_ops imx_drm_ops = { diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c index a2ca90fc403c..5d024a154e1a 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c @@ -341,7 +341,7 @@ static int mtk_drm_bind(struct device *dev) err_deinit: mtk_drm_kms_deinit(drm); err_free: - drm_dev_unref(drm); + drm_dev_put(drm); return ret; } @@ -350,7 +350,7 @@ static void mtk_drm_unbind(struct device *dev) struct mtk_drm_private *private = dev_get_drvdata(dev); drm_dev_unregister(private->drm); - drm_dev_unref(private->drm); + drm_dev_put(private->drm); private->drm = NULL; } @@ -504,7 +504,7 @@ static int mtk_drm_remove(struct platform_device *pdev) drm_dev_unregister(drm); mtk_drm_kms_deinit(drm); - drm_dev_unref(drm); + drm_dev_put(drm); component_master_del(&pdev->dev, &mtk_drm_ops); pm_runtime_disable(&pdev->dev); diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c index 30cd514d8f7c..558a82f828b8 100644 --- a/drivers/gpu/drm/msm/msm_drv.c +++ b/drivers/gpu/drm/msm/msm_drv.c @@ -260,7 +260,7 @@ static int msm_drm_uninit(struct device *dev) msm_mdss_destroy(ddev); ddev->dev_private = NULL; - drm_dev_unref(ddev); + drm_dev_put(ddev); kfree(priv); @@ -368,7 +368,7 @@ static int msm_drm_init(struct device *dev, struct drm_driver *drv) priv = kzalloc(sizeof(*priv), GFP_KERNEL); if (!priv) { - drm_dev_unref(ddev); + drm_dev_put(ddev); return -ENOMEM; } @@ -378,7 +378,7 @@ static int msm_drm_init(struct device *dev, struct drm_driver *drv) ret = msm_mdss_init(ddev); if (ret) { kfree(priv); - drm_dev_unref(ddev); + drm_dev_put(ddev); return ret; } @@ -398,7 +398,7 @@ static int msm_drm_init(struct device *dev, struct drm_driver *drv) if (ret) { msm_mdss_destroy(ddev); kfree(priv); - drm_dev_unref(ddev); + drm_dev_put(ddev); return ret; } diff --git a/drivers/gpu/drm/mxsfb/mxsfb_drv.c b/drivers/gpu/drm/mxsfb/mxsfb_drv.c index 5cae8db9dcd4..1ca9bafcd4f2 100644 --- a/drivers/gpu/drm/mxsfb/mxsfb_drv.c +++ b/drivers/gpu/drm/mxsfb/mxsfb_drv.c @@ -403,7 +403,7 @@ static int mxsfb_probe(struct platform_device *pdev) err_unload: mxsfb_unload(drm); err_free: - drm_dev_unref(drm); + drm_dev_put(drm); return ret; } @@ -414,7 +414,7 @@ static int mxsfb_remove(struct platform_device *pdev) drm_dev_unregister(drm); mxsfb_unload(drm); - drm_dev_unref(drm); + drm_dev_put(drm); return 0; } diff --git a/drivers/gpu/drm/nouveau/nouveau_platform.c b/drivers/gpu/drm/nouveau/nouveau_platform.c index 1ada186fab77..039e23548e08 100644 --- a/drivers/gpu/drm/nouveau/nouveau_platform.c +++ b/drivers/gpu/drm/nouveau/nouveau_platform.c @@ -36,7 +36,7 @@ static int nouveau_platform_probe(struct platform_device *pdev) ret = drm_dev_register(drm, 0); if (ret < 0) { - drm_dev_unref(drm); + drm_dev_put(drm); return ret; } diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c index 3632854c2b91..e12cedc15e27 100644 --- a/drivers/gpu/drm/omapdrm/omap_drv.c +++ b/drivers/gpu/drm/omapdrm/omap_drv.c @@ -598,7 +598,7 @@ static int omapdrm_init(struct omap_drm_private *priv, struct device *dev) omap_drm_irq_uninstall(ddev); err_free_drm_dev: omap_gem_deinit(ddev); - drm_dev_unref(ddev); + drm_dev_put(ddev); err_destroy_wq: destroy_workqueue(priv->wq); omap_disconnect_dssdevs(); @@ -627,7 +627,7 @@ static void omapdrm_cleanup(struct omap_drm_private *priv) omap_drm_irq_uninstall(ddev); omap_gem_deinit(ddev); - drm_dev_unref(ddev); + drm_dev_put(ddev); destroy_workqueue(priv->wq); diff --git a/drivers/gpu/drm/pl111/pl111_drv.c b/drivers/gpu/drm/pl111/pl111_drv.c index 4621259d5387..6e21308dd6c6 100644 --- a/drivers/gpu/drm/pl111/pl111_drv.c +++ b/drivers/gpu/drm/pl111/pl111_drv.c @@ -304,7 +304,7 @@ static int pl111_amba_probe(struct amba_device *amba_dev, return 0; dev_unref: - drm_dev_unref(drm); + drm_dev_put(drm); return ret; } @@ -318,7 +318,7 @@ static int pl111_amba_remove(struct amba_device *amba_dev) if (priv->panel) drm_panel_bridge_remove(priv->bridge); drm_mode_config_cleanup(drm); - drm_dev_unref(drm); + drm_dev_put(drm); return 0; } diff --git a/drivers/gpu/drm/qxl/qxl_drv.c b/drivers/gpu/drm/qxl/qxl_drv.c index 2445e75cf7ea..86bd42dca09c 100644 --- a/drivers/gpu/drm/qxl/qxl_drv.c +++ b/drivers/gpu/drm/qxl/qxl_drv.c @@ -119,7 +119,7 @@ qxl_pci_remove(struct pci_dev *pdev) dev->dev_private = NULL; kfree(qdev); - drm_dev_unref(dev); + drm_dev_put(dev); } static const struct file_operations qxl_fops = { diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c index 3917d839c04c..1adcf80912e1 100644 --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c @@ -378,7 +378,7 @@ static int rcar_du_remove(struct platform_device *pdev) drm_kms_helper_poll_fini(ddev); drm_mode_config_cleanup(ddev); - drm_dev_unref(ddev); + drm_dev_put(ddev); return 0; } diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c index f814d37b1db2..9c846be8fc64 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c @@ -184,7 +184,7 @@ static int rockchip_drm_bind(struct device *dev) err_free: drm_dev->dev_private = NULL; dev_set_drvdata(dev, NULL); - drm_dev_unref(drm_dev); + drm_dev_put(drm_dev); return ret; } @@ -204,7 +204,7 @@ static void rockchip_drm_unbind(struct device *dev) drm_dev->dev_private = NULL; dev_set_drvdata(dev, NULL); - drm_dev_unref(drm_dev); + drm_dev_put(drm_dev); } static const struct file_operations rockchip_drm_driver_fops = { diff --git a/drivers/gpu/drm/shmobile/shmob_drm_drv.c b/drivers/gpu/drm/shmobile/shmob_drm_drv.c index 592572554eb0..8d1ff596c774 100644 --- a/drivers/gpu/drm/shmobile/shmob_drm_drv.c +++ b/drivers/gpu/drm/shmobile/shmob_drm_drv.c @@ -198,7 +198,7 @@ static int shmob_drm_remove(struct platform_device *pdev) drm_kms_helper_poll_fini(ddev); drm_mode_config_cleanup(ddev); drm_irq_uninstall(ddev); - drm_dev_unref(ddev); + drm_dev_put(ddev); return 0; } @@ -294,7 +294,7 @@ static int shmob_drm_probe(struct platform_device *pdev) drm_kms_helper_poll_fini(ddev); drm_mode_config_cleanup(ddev); err_free_drm_dev: - drm_dev_unref(ddev); + drm_dev_put(ddev); return ret; } diff --git a/drivers/gpu/drm/sti/sti_drv.c b/drivers/gpu/drm/sti/sti_drv.c index 55b6967d27e1..e8d6199878ce 100644 --- a/drivers/gpu/drm/sti/sti_drv.c +++ b/drivers/gpu/drm/sti/sti_drv.c @@ -242,7 +242,7 @@ static int sti_bind(struct device *dev) ret = sti_init(ddev); if (ret) - goto err_drm_dev_unref; + goto err_drm_dev_put; ret = component_bind_all(ddev->dev, ddev); if (ret) @@ -266,8 +266,8 @@ static int sti_bind(struct device *dev) drm_mode_config_cleanup(ddev); err_cleanup: sti_cleanup(ddev); -err_drm_dev_unref: - drm_dev_unref(ddev); +err_drm_dev_put: + drm_dev_put(ddev); return ret; } @@ -277,7 +277,7 @@ static void sti_unbind(struct device *dev) drm_dev_unregister(ddev); sti_cleanup(ddev); - drm_dev_unref(ddev); + drm_dev_put(ddev); } static const struct component_master_ops sti_ops = { diff --git a/drivers/gpu/drm/stm/drv.c b/drivers/gpu/drm/stm/drv.c index 9ab00a87f7cc..6ece3acabd56 100644 --- a/drivers/gpu/drm/stm/drv.c +++ b/drivers/gpu/drm/stm/drv.c @@ -159,7 +159,7 @@ static int stm_drm_platform_probe(struct platform_device *pdev) return 0; err_unref: - drm_dev_unref(ddev); + drm_dev_put(ddev); return ret; } @@ -172,7 +172,7 @@ static int stm_drm_platform_remove(struct platform_device *pdev) drm_dev_unregister(ddev); drv_unload(ddev); - drm_dev_unref(ddev); + drm_dev_put(ddev); return 0; } diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c index 50d19605c38f..42c881d5275d 100644 --- a/drivers/gpu/drm/sun4i/sun4i_drv.c +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c @@ -143,7 +143,7 @@ static int sun4i_drv_bind(struct device *dev) drm_mode_config_cleanup(drm); of_reserved_mem_device_release(dev); free_drm: - drm_dev_unref(drm); + drm_dev_put(drm); return ret; } @@ -156,7 +156,7 @@ static void sun4i_drv_unbind(struct device *dev) sun4i_framebuffer_free(drm); drm_mode_config_cleanup(drm); of_reserved_mem_device_release(dev); - drm_dev_unref(drm); + drm_dev_put(drm); } static const struct component_master_ops sun4i_drv_master_ops = { diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c index 7afe2f635f74..f5119f2bbf5f 100644 --- a/drivers/gpu/drm/tegra/drm.c +++ b/drivers/gpu/drm/tegra/drm.c @@ -1210,7 +1210,7 @@ static int host1x_drm_probe(struct host1x_device *dev) return 0; unref: - drm_dev_unref(drm); + drm_dev_put(drm); return err; } @@ -1219,7 +1219,7 @@ static int host1x_drm_remove(struct host1x_device *dev) struct drm_device *drm = dev_get_drvdata(&dev->dev); drm_dev_unregister(drm); - drm_dev_unref(drm); + drm_dev_put(drm); return 0; } diff --git a/drivers/gpu/drm/tinydrm/core/tinydrm-core.c b/drivers/gpu/drm/tinydrm/core/tinydrm-core.c index 4c6616278c48..ca2b6a8b74c2 100644 --- a/drivers/gpu/drm/tinydrm/core/tinydrm-core.c +++ b/drivers/gpu/drm/tinydrm/core/tinydrm-core.c @@ -135,7 +135,7 @@ static int tinydrm_init(struct device *parent, struct tinydrm_device *tdev, /* * We don't embed drm_device, because that prevent us from using * devm_kzalloc() to allocate tinydrm_device in the driver since - * drm_dev_unref() frees the structure. The devm_ functions provide + * drm_dev_put() frees the structure. The devm_ functions provide * for easy error handling. */ drm = drm_dev_alloc(driver, parent); @@ -155,7 +155,7 @@ static void tinydrm_fini(struct tinydrm_device *tdev) drm_mode_config_cleanup(tdev->drm); mutex_destroy(&tdev->dirty_lock); tdev->drm->dev_private = NULL; - drm_dev_unref(tdev->drm); + drm_dev_put(tdev->drm); } static void devm_tinydrm_release(void *data) @@ -172,7 +172,7 @@ static void devm_tinydrm_release(void *data) * * This function initializes @tdev, the underlying DRM device and it's * mode_config. Resources will be automatically freed on driver detach (devres) - * using drm_mode_config_cleanup() and drm_dev_unref(). + * using drm_mode_config_cleanup() and drm_dev_put(). * * Returns: * Zero on success, negative error code on failure. diff --git a/drivers/gpu/drm/tve200/tve200_drv.c b/drivers/gpu/drm/tve200/tve200_drv.c index ac344ddb23bc..e36a78ef68b7 100644 --- a/drivers/gpu/drm/tve200/tve200_drv.c +++ b/drivers/gpu/drm/tve200/tve200_drv.c @@ -250,7 +250,7 @@ static int tve200_probe(struct platform_device *pdev) clk_disable: clk_disable_unprepare(priv->pclk); dev_unref: - drm_dev_unref(drm); + drm_dev_put(drm); return ret; } @@ -265,7 +265,7 @@ static int tve200_remove(struct platform_device *pdev) drm_panel_bridge_remove(priv->bridge); drm_mode_config_cleanup(drm); clk_disable_unprepare(priv->pclk); - drm_dev_unref(drm); + drm_dev_put(drm); return 0; } diff --git a/drivers/gpu/drm/udl/udl_drv.c b/drivers/gpu/drm/udl/udl_drv.c index 3c45a3064726..d5e94eb7a4ca 100644 --- a/drivers/gpu/drm/udl/udl_drv.c +++ b/drivers/gpu/drm/udl/udl_drv.c @@ -94,7 +94,7 @@ static int udl_usb_probe(struct usb_interface *interface, return 0; err_free: - drm_dev_unref(dev); + drm_dev_put(dev); return r; } diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c index 94b99c90425a..259c85fcd32c 100644 --- a/drivers/gpu/drm/vc4/vc4_drv.c +++ b/drivers/gpu/drm/vc4/vc4_drv.c @@ -312,7 +312,7 @@ static int vc4_drm_bind(struct device *dev) vc4_gem_destroy(drm); vc4_bo_cache_destroy(drm); dev_unref: - drm_dev_unref(drm); + drm_dev_put(drm); return ret; } @@ -327,7 +327,7 @@ static void vc4_drm_unbind(struct device *dev) drm_mode_config_cleanup(drm); - drm_dev_unref(drm); + drm_dev_put(drm); } static const struct component_master_ops vc4_drm_ops = { diff --git a/drivers/gpu/drm/vgem/vgem_drv.c b/drivers/gpu/drm/vgem/vgem_drv.c index 2524ff116f00..305f87665499 100644 --- a/drivers/gpu/drm/vgem/vgem_drv.c +++ b/drivers/gpu/drm/vgem/vgem_drv.c @@ -505,7 +505,7 @@ static int __init vgem_init(void) static void __exit vgem_exit(void) { drm_dev_unregister(&vgem_device->drm); - drm_dev_unref(&vgem_device->drm); + drm_dev_put(&vgem_device->drm); } module_init(vgem_init); diff --git a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c index 7df8d0c9026a..094b876f6da6 100644 --- a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c +++ b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c @@ -85,6 +85,6 @@ int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) return 0; err_free: - drm_dev_unref(dev); + drm_dev_put(dev); return ret; } diff --git a/drivers/gpu/drm/zte/zx_drm_drv.c b/drivers/gpu/drm/zte/zx_drm_drv.c index 6f4205e80378..02ae1caf6e8a 100644 --- a/drivers/gpu/drm/zte/zx_drm_drv.c +++ b/drivers/gpu/drm/zte/zx_drm_drv.c @@ -122,7 +122,7 @@ static int zx_drm_bind(struct device *dev) component_unbind_all(dev, drm); out_unregister: dev_set_drvdata(dev, NULL); - drm_dev_unref(drm); + drm_dev_put(drm); return ret; } @@ -136,7 +136,7 @@ static void zx_drm_unbind(struct device *dev) drm_mode_config_cleanup(drm); component_unbind_all(dev, drm); dev_set_drvdata(dev, NULL); - drm_dev_unref(drm); + drm_dev_put(drm); } static const struct component_master_ops zx_drm_master_ops = { diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h index d23dcdd1bd95..c16dd4424b8a 100644 --- a/include/drm/drm_drv.h +++ b/include/drm/drm_drv.h @@ -622,7 +622,6 @@ void drm_dev_unregister(struct drm_device *dev); void drm_dev_get(struct drm_device *dev); void drm_dev_put(struct drm_device *dev); -void drm_dev_unref(struct drm_device *dev); void drm_put_dev(struct drm_device *dev); void drm_dev_unplug(struct drm_device *dev); -- 2.14.1