From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sam Ravnborg Subject: Re: [PATCH v2 03/12] drm/drv: DOC: Add driver example code Date: Sun, 10 Feb 2019 22:03:52 +0100 Message-ID: <20190210210352.GA2983@ravnborg.org> References: <20190210131039.52664-1-noralf@tronnes.org> <20190210131039.52664-4-noralf@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from asavdk3.altibox.net (asavdk3.altibox.net [109.247.116.14]) by gabe.freedesktop.org (Postfix) with ESMTPS id A96DF6E103 for ; Sun, 10 Feb 2019 21:03:58 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190210131039.52664-4-noralf@tronnes.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Noralf =?iso-8859-1?Q?Tr=F8nnes?= Cc: daniel.vetter@ffwll.ch, david@lechnology.com, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SGkgTm9yYWxmCgpPbiBTdW4sIEZlYiAxMCwgMjAxOSBhdCAwMjoxMDozMFBNICswMTAwLCBOb3Jh bGYgVHLDuG5uZXMgd3JvdGU6Cj4gQWRkIGRyaXZlciBleGFtcGxlIHRoYXQgc2hvd3MgaG93IGRl dm1fZHJtX2Rldl9pbml0KCkgY2FuIGJlIHVzZWQuCj4gCj4gU2lnbmVkLW9mZi1ieTogTm9yYWxm IFRyw7hubmVzIDxub3JhbGZAdHJvbm5lcy5vcmc+CgpBbHdheXMgZ29vZCB3aXRoIGV4YW1wbGVz IQoKCj4gLS0tCj4gCj4gSSdtIG5vdCBzdXJlIGhvdyBkZXRhaWxlZCBzdWNoIGFuIGV4YW1wbGUg c3VjaCBiZSBhbmQgYSBkZXNjcmlwdGlvbiBvZiAKPiBzb21lIGtpbmQgaXMgYWxzbyByZXF1aXJl ZC4gSGVscCBpcyBuZWVkZWQgOi0pCj4gCj4gTm9yYWxmLgo+IAo+ICBkcml2ZXJzL2dwdS9kcm0v ZHJtX2Rydi5jIHwgMTE4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4g IDEgZmlsZSBjaGFuZ2VkLCAxMTggaW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYwo+IGluZGV4 IDM1MWYxMjhlYzRiNy4uOTljYTM1NTE2ODhmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jCj4gQEAgLTI4Niw2 ICsyODYsMTI0IEBAIHZvaWQgZHJtX21pbm9yX3JlbGVhc2Uoc3RydWN0IGRybV9taW5vciAqbWlu b3IpCj4gICAqIE5vdGUgdGhhdCB0aGUgbGlmZXRpbWUgcnVsZXMgZm9yICZkcm1fZGV2aWNlIGlu c3RhbmNlIGhhcyBzdGlsbCBhIGxvdCBvZgo+ICAgKiBoaXN0b3JpY2FsIGJhZ2dhZ2UuIEhlbmNl IHVzZSB0aGUgcmVmZXJlbmNlIGNvdW50aW5nIHByb3ZpZGVkIGJ5Cj4gICAqIGRybV9kZXZfZ2V0 KCkgYW5kIGRybV9kZXZfcHV0KCkgb25seSBjYXJlZnVsbHkuCj4gKyAqCj4gKyAqIERpc3BsYXkg ZHJpdmVyIGV4YW1wbGUKPiArICogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKTWF5YmUgYWRkIHNv bWV0aGluZyBsaWtlIHRoaXM6CgpUaGUgZm9sbG93aW5nIGV4YW1wbGUgc2hvd3MgYSB0eXBpY2Fs IHN0cnVjdHVyZSBvZiBhIERSTSBkaXNwbGF5IGRyaXZlci4KVGhlIGV4YW1wbGUgZm9jdXMgb24g dGhlIHByb2JlKCkgZnVuY3Rpb24gYW5kIHRoZSBvdGhlciBmdW5jdGlvbnMgdGhhdCBpcwphbG1v c3QgYWx3YXlzIHByZXNlbnQuClRoZSBleGFtcGxlIGlzIHVzZWQgdG8gZGVtb25zdHJhdGUgdGhl IHVzZSBvZiBkZXZtX2RybV9kZXZfaW5pdCgpLCBhbmQKc2hvd3MgaG93IHRoZSB1c2Ugb2YgYSBk ZXZpY2UgbWFuYWdlZCBkcm1fZGV2aWNlIGFsbG93cyBmb3Igc2ltcGxlcgpyZW1vdmUoKSBhbmQg c2h1dHRkb3duKCkgZnVuY3Rpb25zLgoKCj4gKyAqCj4gKyAqIC4uIGNvZGUtYmxvY2s6OiBjCj4g KyAqCj4gKyAqCXN0cnVjdCBkcml2ZXJfZGV2aWNlIHsKPiArICoJCXN0cnVjdCBkcm1fZGV2aWNl IGRybTsKPiArICoJCXZvaWQgKnVzZXJzcGFjZV9mYWNpbmc7Cj4gKyAqCQlzdHJ1Y3QgY2xrICpw Y2xrOwo+ICsgKgl9Owo+ICsgKgo+ICsgKglzdGF0aWMgaW5saW5lIHN0cnVjdCBkcml2ZXJfZGV2 aWNlICpkcm1fdG9fcHJpdihzdHJ1Y3QgZHJtX2RldmljZSAqZHJtKQo+ICsgKgl7Cj4gKyAqCQly ZXR1cm4gY29udGFpbmVyX29mKGRybSwgc3RydWN0IGRyaXZlcl9kZXZpY2UsIGRybSk7Cj4gKyAq CX0KPiArICoKPiArICoJc3RhdGljIHZvaWQgZHJpdmVyX2RybV9yZWxlYXNlKHN0cnVjdCBkcm1f ZGV2aWNlICpkcm0pCj4gKyAqCXsKPiArICoJCXN0cnVjdCBkcml2ZXJfZGV2aWNlICpwcml2ID0g ZHJtX3RvX3ByaXYoZHJtKTsKPiArICoKPiArICoJCWRybV9tb2RlX2NvbmZpZ19jbGVhbnVwKGRy bSk7Cj4gKyAqCQlkcm1fZGV2X2ZpbmkoZHJtKTsKPiArICoJCWtmcmVlKHByaXYtPnVzZXJzcGFj ZV9mYWNpbmcpOwo+ICsgKgkJa2ZyZWUocHJpdik7Cj4gKyAqCX0KPiArICoKPiArICoJc3RhdGlj IHN0cnVjdCBkcm1fZHJpdmVyIGRyaXZlcl9kcm1fZHJpdmVyID0gewo+ICsgKgkJWy4uLl0KPiAr ICoJCS5yZWxlYXNlID0gZHJpdmVyX2RybV9yZWxlYXNlLAo+ICsgKgl9Owo+ICsgKgo+ICsgKglz dGF0aWMgaW50IGRyaXZlcl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICsg Kgl7Cj4gKyAqCQlzdHJ1Y3QgZHJpdmVyX2RldmljZSAqcHJpdjsKPiArICoJCXN0cnVjdCBkcm1f ZGV2aWNlICpkcm07Cj4gKyAqCQlpbnQgcmV0Owo+ICsgKgo+ICsgKgkJcHJpdiA9IGt6YWxsb2Mo c2l6ZW9mKCpwcml2KSwgR0ZQX0tFUk5FTCk7CkFkZCBhIGNvbW1lbnQgdGhhdCBleHBsYWlucyB3 aHkgd2UgY2Fubm90IHVzZSBkZXZtX2t6YWxsb2MoKT8KSXQgaXMgdXNlZCBpbiBhIGxvdCBvZiBw bGFjZXMgdG9kYXkuLi4KCj4gKyAqCQlpZiAoIXByaXYpCj4gKyAqCQkJcmV0dXJuIC1FTk9NRU07 Cj4gKyAqCj4gKyAqCQlkcm0gPSAmcHJpdi0+ZHJtOwo+ICsgKgo+ICsgKgkJcmV0ID0gZGV2bV9k cm1fZGV2X2luaXQoJnBkZXYtPmRldiwgZHJtLCAmZHJpdmVyX2RybV9kcml2ZXIpOwo+ICsgKgkJ aWYgKHJldCkgewo+ICsgKgkJCWtmcmVlKGRybSk7ClRoaXMgc2hvdWxkIGJlIGtmcmVlKHByaXYp OwoKPiArICoJCQlyZXR1cm4gcmV0Owo+ICsgKgkJfQo+ICsgKgo+ICsgKgkJZHJtX21vZGVfY29u ZmlnX2luaXQoZHJtKTsKPiArICoKPiArICoJCXByaXYtPnVzZXJzcGFjZV9mYWNpbmcgPSBremFs bG9jKC4uLiwgR0ZQX0tFUk5FTCk7Cj4gKyAqCQlpZiAoIXByaXYtPnVzZXJzcGFjZV9mYWNpbmcp Cj4gKyAqCQkJcmV0dXJuIC1FTk9NRU07CklmIHdlIGZhaWwgaGVyZSB3ZSBzaG91bGQgYWxzbyBm cmVlIHByaXY/Cgo+ICsgKgo+ICsgKgkJcHJpdi0+cGNsayA9IGRldm1fY2xrX2dldChkZXYsICJQ Q0xLIik7Cj4gKyAqCQlpZiAoSVNfRVJSKHByaXYtPnBjbGspKQo+ICsgKgkJCXJldHVybiBQVFJf RVJSKHByaXYtPnBjbGspOwo+ICsgKgo+ICsgKgkJWyBGdXJ0aGVyIHNldHVwLCBkaXNwbGF5IHBp cGVsaW5lIGV0YyBdCj4gKyAqCj4gKyAqCQlkcm1fbW9kZV9jb25maWdfcmVzZXQoZHJtKTsKPiAr ICoKPiArICoJCXJldCA9IGRybV9kZXZfcmVnaXN0ZXIoZHJtKTsKPiArICoJCWlmIChyZXQpCj4g KyAqCQkJcmV0dXJuIHJldDsKPiArICoKPiArICoJCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYs IGRybSk7Cj4gKyAqCj4gKyAqCQlkcm1fZmJkZXZfZ2VuZXJpY19zZXR1cChkcm0sIDMyKTsKPiAr ICoKPiArICoJCXJldHVybiAwOwo+ICsgKgl9Cj4gKyAqCj4gKyAqCVsgVGhpcyBmdW5jdGlvbiBp cyBjYWxsZWQgYmVmb3JlIHRoZSBkZXZtXyByZXNvdXJjZXMgYXJlIHJlbGVhc2VkIF0KPiArICoJ c3RhdGljIGludCBkcml2ZXJfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4g KyAqCXsKPiArICoJCXN0cnVjdCBkcm1fZGV2aWNlICpkcm0gPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0 YShwZGV2KTsKPiArICoKPiArICoJCWRybV9kZXZfdW5yZWdpc3Rlcihkcm0pOwo+ICsgKgkJZHJt X2F0b21pY19oZWxwZXJfc2h1dGRvd24oZHJtKQo+ICsgKgo+ICsgKgkJcmV0dXJuIDA7Cj4gKyAq CX0KPiArICoKPiArICoJc3RhdGljIHZvaWQgZHJpdmVyX3NodXRkb3duKHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2UgKnBkZXYpCj4gKyAqCXsKPiArICoJCWRybV9hdG9taWNfaGVscGVyX3NodXRkb3du KHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpKTsKPiArICoJfQo+ICsgKgo+ICsgKglzdGF0aWMg aW50IF9fbWF5YmVfdW51c2VkIGRyaXZlcl9wbV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldikK PiArICoJewo+ICsgKgkJcmV0dXJuIGRybV9tb2RlX2NvbmZpZ19oZWxwZXJfc3VzcGVuZChkZXZf Z2V0X2RydmRhdGEoZGV2KSk7Cj4gKyAqCX0KPiArICoKPiArICoJc3RhdGljIGludCBfX21heWJl X3VudXNlZCBkcml2ZXJfcG1fcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldikKPiArICoJewo+ICsg KgkJZHJtX21vZGVfY29uZmlnX2hlbHBlcl9yZXN1bWUoZGV2X2dldF9kcnZkYXRhKGRldikpOwo+ ICsgKgo+ICsgKgkJcmV0dXJuIDA7Cj4gKyAqCX0KPiArICoKPiArICoJc3RhdGljIGNvbnN0IHN0 cnVjdCBkZXZfcG1fb3BzIGRyaXZlcl9wbV9vcHMgPSB7Cj4gKyAqCQlTRVRfU1lTVEVNX1NMRUVQ X1BNX09QUyhkcml2ZXJfcG1fc3VzcGVuZCwgZHJpdmVyX3BtX3Jlc3VtZSkKPiArICoJfTsKPiAr ICoKPiArICoJc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgZHJpdmVyX2RyaXZlciA9IHsK PiArICoJCS5kcml2ZXIgPSB7Cj4gKyAqCQkJWy4uLl0KPiArICoJCQkucG0gPSAmZHJpdmVyX3Bt X29wcywKPiArICoJCX0sCj4gKyAqCQkucHJvYmUgPSBkcml2ZXJfcHJvYmUsCj4gKyAqCQkucmVt b3ZlID0gZHJpdmVyX3JlbW92ZSwKPiArICoJCS5zaHV0ZG93biA9IGRyaXZlcl9zaHV0ZG93biwK PiArICoJfTsKPiArICoJbW9kdWxlX3BsYXRmb3JtX2RyaXZlcihkcml2ZXJfZHJpdmVyKTsKPiAr ICoKPiAgICovCj4gIAo+ICAvKioKPiAtLSAKPiAyLjIwLjEKPiAKPiBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK PiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==