From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= Subject: Re: [PATCH v2] drm/tinydrm: Move backlight helpers to a separate file Date: Mon, 25 Sep 2017 18:31:58 +0200 Message-ID: References: <20170922150935.GA15912@meghana-HP-Pavilion-Notebook> <3dd313c8-daa7-a395-183c-c2dfac4dd4b4@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from smtp.domeneshop.no (smtp.domeneshop.no [IPv6:2a01:5b40:0:3005::1]) by gabe.freedesktop.org (Postfix) with ESMTPS id D51156E37F for ; Mon, 25 Sep 2017 16:32:02 +0000 (UTC) In-Reply-To: <3dd313c8-daa7-a395-183c-c2dfac4dd4b4@tronnes.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Meghana Madhyastha , Daniel Vetter , dri-devel@lists.freedesktop.org, outreachy-kernel@googlegroups.com List-Id: dri-devel@lists.freedesktop.org CkRlbiAyNS4wOS4yMDE3IDE2LjU2LCBza3JldiBOb3JhbGYgVHLDuG5uZXM6Cj4gSGkgTWVnaGFu YSwKPgo+Cj4gRGVuIDIyLjA5LjIwMTcgMTcuMDksIHNrcmV2IE1lZ2hhbmEgTWFkaHlhc3RoYToK Pj4gTW92ZSBiYWNrbGlnaHQgaGVscGVycyBmcm9tIHRpbnlkcm0taGVscGVycy5jIHRvCj4+IHRp bnlkcm0tYmFja2xpZ2h0LmMuIFRoaXMgaXMgYmVjYXVzZSBpdCBpcyBvcmdhbml6YXRpb25hbGx5 Cj4+IHNpbXBsZXIgdG8gdW5kZXJzdGFuZCBhbmQgYWR2YW50YWdlb3VzIHRvIGdyb3VwIGZ1bmN0 aW9ucwo+PiBwZXJmb3JtaW5nIGEgc2ltaWxhciBmdW5jdGlvbiB0byBhIHNlcGFyYXRlIGZpbGUg YXMgb3Bwb3NlZCB0bwo+PiBoYXZpbmcgb25lIGhlbHBlciBmaWxlIHdpdGggaGV0ZXJlZ2Vub3Vz IGhlbHBlciBmdW5jdGlvbnMuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IE1lZ2hhbmEgTWFkaHlhc3Ro YSA8bWVnaGFuYS5tYWRoeWFzdGhhQGdtYWlsLmNvbT4KPj4gLS0tCj4KPiBJIGRvbid0IHRoaW5r IHRoZXJlIGlzIG11Y2ggZ2FpbiBpbiBqdXN0IG1vdmluZyB0aGUgY29kZSBsaWtlIHRoaXMuCj4K PiBUaGUgaWRlYSBpcyB0byBhZGQgYSBkcm1fYmFja2xpZ2h0IGhlbHBlciB0aGF0IGNhbiBiZSB1 c2VmdWwgZm9yIGFsbAo+IERSTSBkcml2ZXJzIHRoYXQgdXNlIHRoZSBiYWNrbGlnaHQgc3Vic3lz dGVtLgo+CgpUaGUgZnVsbCBwYXRoIHRvIHRoYXQgaGVscGVyIHdvdWxkIGJlOgpkcml2ZXJzL2dw dS9kcm0vZHJtX2JhY2tsaWdodC5jCgo+IFRoaXMgaXMgd2hhdCB0aGUgVE9ETyBzYXlzOgo+IGh0 dHBzOi8vZHJpLmZyZWVkZXNrdG9wLm9yZy9kb2NzL2RybS9ncHUvdG9kby5odG1sI3Rpbnlkcm0K Pgo+IC0gYmFja2xpZ2h0IGhlbHBlcnMsIHByb2JhYmx5IGJlc3QgdG8gcHV0IHRoZW0gaW50byBh IG5ldyAKPiBkcm1fYmFja2xpZ2h0LmMuCj4gwqAgVGhpcyBpcyBiZWNhdXNlIGRyaXZlcnMvdmlk ZW8gaXMgZGUtZmFjdG8gdW5tYWludGFpbmVkLiBXZSBjb3VsZCBhbHNvCj4gwqAgbW92ZSBkcml2 ZXJzL3ZpZGVvL2JhY2tsaWdodCB0byBkcml2ZXJzL2dwdS9iYWNrbGlnaHQgYW5kIHRha2UgaXQg YWxsCj4gwqAgb3ZlciB3aXRoaW4gZHJtLW1pc2MsIGJ1dCB0aGF04oCZcyBtb3JlIHdvcmsuCj4K PiBUaGVyZSBpcyBhbHNvIHRoaXMgZGlzY3Vzc2lvbiB0byB0YWtlIGludG8gYWNjb3VudDoKPiBL TVMgYmFja2xpZ2h0IEFCSSBwcm9wb3NpdGlvbgo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL2FyY2hpdmVzL2RyaS1kZXZlbC8yMDE3LUZlYnJ1YXJ5LzEzMzIwNi5odG1sIAo+Cj4KPiBJ IGRvbid0IHJlbWVtYmVyIHdoYXQgY2FtZSBvdXQgb2YgdGhhdCBkaXNjdXNzaW9uLgo+Cj4gTm9y YWxmLgo+Cj4+IENoYW5nZXMgaW4gdjI6Cj4+IMKgIC1JbXByb3ZlZCBjb21taXQgbWVzc2FnZSBi eSBleHBsYWluaW5nIHdoeSB0aGUgY2hhbmdlcyB3ZXJlIG1hZGUuCj4+Cj4+IMKgIGRyaXZlcnMv Z3B1L2RybS90aW55ZHJtL2NvcmUvTWFrZWZpbGXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKg IDIgKy0KPj4gwqAgZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vY29yZS90aW55ZHJtLWJhY2tsaWdo dC5jIHwgMTAzIAo+PiArKysrKysrKysrKysrKysrKysrKysrKwo+PiDCoCBkcml2ZXJzL2dwdS9k cm0vdGlueWRybS9jb3JlL3Rpbnlkcm0taGVscGVycy5jwqDCoCB8wqAgOTQgCj4+IC0tLS0tLS0t LS0tLS0tLS0tLS0tLQo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vdGlueWRybS9taTAyODNxdC5jwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoCAxICsKPj4gwqAgZHJpdmVycy9ncHUvZHJt L3Rpbnlkcm0vbWlwaS1kYmkuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqAgMSAr Cj4+IMKgIGluY2x1ZGUvZHJtL3Rpbnlkcm0vdGlueWRybS1iYWNrbGlnaHQuaMKgwqDCoMKgwqDC oMKgwqDCoCB8wqAgMTggKysrKwo+PiDCoCA2IGZpbGVzIGNoYW5nZWQsIDEyNCBpbnNlcnRpb25z KCspLCA5NSBkZWxldGlvbnMoLSkKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1 L2RybS90aW55ZHJtL2NvcmUvdGlueWRybS1iYWNrbGlnaHQuYwo+PiDCoCBjcmVhdGUgbW9kZSAx MDA2NDQgaW5jbHVkZS9kcm0vdGlueWRybS90aW55ZHJtLWJhY2tsaWdodC5oCj4+Cj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9jb3JlL01ha2VmaWxlIAo+PiBiL2RyaXZl cnMvZ3B1L2RybS90aW55ZHJtL2NvcmUvTWFrZWZpbGUKPj4gaW5kZXggZmIyMjFlNi4uMzg5Y2E3 YSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vY29yZS9NYWtlZmlsZQo+ PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9jb3JlL01ha2VmaWxlCj4+IEBAIC0xLDMg KzEsMyBAQAo+PiAtdGlueWRybS15IDo9IHRpbnlkcm0tY29yZS5vIHRpbnlkcm0tcGlwZS5vIHRp bnlkcm0taGVscGVycy5vCj4+ICt0aW55ZHJtLXkgOj0gdGlueWRybS1jb3JlLm8gdGlueWRybS1w aXBlLm8gdGlueWRybS1iYWNrbGlnaHQubyAKPj4gdGlueWRybS1oZWxwZXJzLm8KPj4gwqAgwqAg b2JqLSQoQ09ORklHX0RSTV9USU5ZRFJNKSArPSB0aW55ZHJtLm8KPj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS90aW55ZHJtL2NvcmUvdGlueWRybS1iYWNrbGlnaHQuYyAKPj4gYi9kcml2 ZXJzL2dwdS9kcm0vdGlueWRybS9jb3JlL3Rpbnlkcm0tYmFja2xpZ2h0LmMKPj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMC4uZGM2ZjE3ZAo+PiAtLS0gL2Rldi9udWxsCj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL2NvcmUvdGlueWRybS1iYWNrbGlnaHQuYwo+ PiBAQCAtMCwwICsxLDEwMyBAQAo+PiArI2luY2x1ZGUgPGxpbnV4L2JhY2tsaWdodC5oPgo+PiAr I2luY2x1ZGUgPGxpbnV4L2RtYS1idWYuaD4KPj4gKyNpbmNsdWRlIDxsaW51eC9wbS5oPgo+PiAr I2luY2x1ZGUgPGxpbnV4L3N3YWIuaD4KPj4gKwo+PiArI2luY2x1ZGUgPGRybS90aW55ZHJtL3Rp bnlkcm0uaD4KPj4gKyNpbmNsdWRlIDxkcm0vdGlueWRybS90aW55ZHJtLWJhY2tsaWdodC5oPgo+ PiArCj4+ICsvKioKPj4gKyAqIHRpbnlkcm1fb2ZfZmluZF9iYWNrbGlnaHQgLSBGaW5kIGJhY2ts aWdodCBkZXZpY2UgaW4gZGV2aWNlLXRyZWUKPj4gKyAqIEBkZXY6IERldmljZQo+PiArICoKPj4g KyAqIFRoaXMgZnVuY3Rpb24gbG9va3MgZm9yIGEgRFQgbm9kZSBwb2ludGVkIHRvIGJ5IGEgcHJv cGVydHkgbmFtZWQgCj4+ICdiYWNrbGlnaHQnCj4+ICsgKiBhbmQgdXNlcyBvZl9maW5kX2JhY2ts aWdodF9ieV9ub2RlKCkgdG8gZ2V0IHRoZSBiYWNrbGlnaHQgZGV2aWNlLgo+PiArICogQWRkaXRp b25hbGx5IGlmIHRoZSBicmlnaHRuZXNzIHByb3BlcnR5IGlzIHplcm8sIGl0IGlzIHNldCB0bwo+ PiArICogbWF4X2JyaWdodG5lc3MuCj4+ICsgKgo+PiArICogUmV0dXJuczoKPj4gKyAqIE5VTEwg aWYgdGhlcmUncyBubyBiYWNrbGlnaHQgcHJvcGVydHkuCj4+ICsgKiBFcnJvciBwb2ludGVyIC1F UFJPQkVfREVGRVIgaWYgdGhlIERUIG5vZGUgaXMgZm91bmQsIGJ1dCBubyAKPj4gYmFja2xpZ2h0 IGRldmljZQo+PiArICogaXMgZm91bmQuCj4+ICsgKiBJZiB0aGUgYmFja2xpZ2h0IGRldmljZSBp cyBmb3VuZCwgYSBwb2ludGVyIHRvIHRoZSBzdHJ1Y3R1cmUgaXMgCj4+IHJldHVybmVkLgo+PiAr ICovCj4+ICsKPj4gK3N0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICp0aW55ZHJtX29mX2ZpbmRfYmFj a2xpZ2h0KHN0cnVjdCBkZXZpY2UgKmRldikKPj4gK3sKPj4gK8KgwqDCoCBzdHJ1Y3QgYmFja2xp Z2h0X2RldmljZSAqYmFja2xpZ2h0Owo+PiArwqDCoMKgIHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnA7 Cj4+ICsKPj4gK8KgwqDCoCBucCA9IG9mX3BhcnNlX3BoYW5kbGUoZGV2LT5vZl9ub2RlLCAiYmFj a2xpZ2h0IiwgMCk7Cj4+ICvCoMKgwqAgaWYgKCFucCkKPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVy biBOVUxMOwo+PiArCj4+ICvCoMKgwqAgYmFja2xpZ2h0ID0gb2ZfZmluZF9iYWNrbGlnaHRfYnlf bm9kZShucCk7Cj4+ICvCoMKgwqAgb2Zfbm9kZV9wdXQobnApOwo+PiArCj4+ICvCoMKgwqAgaWYg KCFiYWNrbGlnaHQpCj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gRVJSX1BUUigtRVBST0JFX0RF RkVSKTsKPj4gKwo+PiArwqDCoMKgIGlmICghYmFja2xpZ2h0LT5wcm9wcy5icmlnaHRuZXNzKSB7 Cj4+ICvCoMKgwqDCoMKgwqDCoCBiYWNrbGlnaHQtPnByb3BzLmJyaWdodG5lc3MgPSBiYWNrbGln aHQtPnByb3BzLm1heF9icmlnaHRuZXNzOwo+PiArwqDCoMKgwqDCoMKgwqAgRFJNX0RFQlVHX0tN UygiQmFja2xpZ2h0IGJyaWdodG5lc3Mgc2V0IHRvICVkXG4iLAo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBiYWNrbGlnaHQtPnByb3BzLmJyaWdodG5lc3MpOwo+PiArwqDC oMKgIH0KPj4gKwo+PiArwqDCoMKgIHJldHVybiBiYWNrbGlnaHQ7Cj4+ICt9Cj4+ICtFWFBPUlRf U1lNQk9MKHRpbnlkcm1fb2ZfZmluZF9iYWNrbGlnaHQpOwo+PiArCj4+ICsvKioKPj4gKyAqIHRp bnlkcm1fZW5hYmxlX2JhY2tsaWdodCAtIEVuYWJsZSBiYWNrbGlnaHQgaGVscGVyCj4+ICsgKiBA YmFja2xpZ2h0OiBCYWNrbGlnaHQgZGV2aWNlCj4+ICsgKgo+PiArICogUmV0dXJuczoKPj4gKyAq IFplcm8gb24gc3VjY2VzcywgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgo+PiArICov Cj4+ICtpbnQgdGlueWRybV9lbmFibGVfYmFja2xpZ2h0KHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNl ICpiYWNrbGlnaHQpCj4+ICt7Cj4+ICvCoMKgwqAgdW5zaWduZWQgaW50IG9sZF9zdGF0ZTsKPj4g K8KgwqDCoCBpbnQgcmV0Owo+PiArCj4+ICvCoMKgwqAgaWYgKCFiYWNrbGlnaHQpCj4+ICvCoMKg wqDCoMKgwqDCoCByZXR1cm4gMDsKPj4gKwo+PiArwqDCoMKgIG9sZF9zdGF0ZSA9IGJhY2tsaWdo dC0+cHJvcHMuc3RhdGU7Cj4+ICvCoMKgwqAgYmFja2xpZ2h0LT5wcm9wcy5zdGF0ZSAmPSB+Qkxf Q09SRV9GQkJMQU5LOwo+PiArwqDCoMKgIERSTV9ERUJVR19LTVMoIkJhY2tsaWdodCBzdGF0ZTog MHgleCAtPiAweCV4XG4iLCBvbGRfc3RhdGUsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBiYWNrbGlnaHQtPnByb3BzLnN0YXRlKTsKPj4gKwo+PiArwqDCoMKgIHJldCA9IGJhY2tsaWdo dF91cGRhdGVfc3RhdHVzKGJhY2tsaWdodCk7Cj4+ICvCoMKgwqAgaWYgKHJldCkKPj4gK8KgwqDC oMKgwqDCoMKgIERSTV9FUlJPUigiRmFpbGVkIHRvIGVuYWJsZSBiYWNrbGlnaHQgJWRcbiIsIHJl dCk7Cj4+ICsKPj4gK8KgwqDCoCByZXR1cm4gcmV0Owo+PiArfQo+PiArRVhQT1JUX1NZTUJPTCh0 aW55ZHJtX2VuYWJsZV9iYWNrbGlnaHQpOwo+PiArCj4+ICsvKioKPj4gKyAqIHRpbnlkcm1fZGlz YWJsZV9iYWNrbGlnaHQgLSBEaXNhYmxlIGJhY2tsaWdodCBoZWxwZXIKPj4gKyAqIEBiYWNrbGln aHQ6IEJhY2tsaWdodCBkZXZpY2UKPj4gKyAqCj4+ICsgKiBSZXR1cm5zOgo+PiArICogWmVybyBv biBzdWNjZXNzLCBuZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCj4+ICsgKi8KPj4gK2lu dCB0aW55ZHJtX2Rpc2FibGVfYmFja2xpZ2h0KHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpiYWNr bGlnaHQpCj4+ICt7Cj4+ICvCoMKgwqAgdW5zaWduZWQgaW50IG9sZF9zdGF0ZTsKPj4gK8KgwqDC oCBpbnQgcmV0Owo+PiArCj4+ICvCoMKgwqAgaWYgKCFiYWNrbGlnaHQpCj4+ICvCoMKgwqDCoMKg wqDCoCByZXR1cm4gMDsKPj4gKwo+PiArwqDCoMKgIG9sZF9zdGF0ZSA9IGJhY2tsaWdodC0+cHJv cHMuc3RhdGU7Cj4+ICvCoMKgwqAgYmFja2xpZ2h0LT5wcm9wcy5zdGF0ZSB8PSBCTF9DT1JFX0ZC QkxBTks7Cj4+ICvCoMKgwqAgRFJNX0RFQlVHX0tNUygiQmFja2xpZ2h0IHN0YXRlOiAweCV4IC0+ IDB4JXhcbiIsIG9sZF9zdGF0ZSwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJhY2ts aWdodC0+cHJvcHMuc3RhdGUpOwo+PiArwqDCoMKgIHJldCA9IGJhY2tsaWdodF91cGRhdGVfc3Rh dHVzKGJhY2tsaWdodCk7Cj4+ICvCoMKgwqAgaWYgKHJldCkKPj4gK8KgwqDCoMKgwqDCoMKgIERS TV9FUlJPUigiRmFpbGVkIHRvIGRpc2FibGUgYmFja2xpZ2h0ICVkXG4iLCByZXQpOwo+PiArCj4+ ICvCoMKgwqAgcmV0dXJuIHJldDsKPj4gK30KPj4gK0VYUE9SVF9TWU1CT0wodGlueWRybV9kaXNh YmxlX2JhY2tsaWdodCk7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9j b3JlL3Rpbnlkcm0taGVscGVycy5jIAo+PiBiL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL2NvcmUv dGlueWRybS1oZWxwZXJzLmMKPj4gaW5kZXggYmQ2Y2NlMC4uZWU4YWQ4YyAxMDA2NDQKPj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vY29yZS90aW55ZHJtLWhlbHBlcnMuYwo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9jb3JlL3Rpbnlkcm0taGVscGVycy5jCj4+IEBAIC0y MzYsMTAwICsyMzYsNiBAQCB2b2lkIHRpbnlkcm1feHJnYjg4ODhfdG9fZ3JheTgodTggKmRzdCwg dm9pZCAKPj4gKnZhZGRyLCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKPj4gwqAgfQo+PiDC oCBFWFBPUlRfU1lNQk9MKHRpbnlkcm1feHJnYjg4ODhfdG9fZ3JheTgpOwo+PiDCoCAtLyoqCj4+ IC0gKiB0aW55ZHJtX29mX2ZpbmRfYmFja2xpZ2h0IC0gRmluZCBiYWNrbGlnaHQgZGV2aWNlIGlu IGRldmljZS10cmVlCj4+IC0gKiBAZGV2OiBEZXZpY2UKPj4gLSAqCj4+IC0gKiBUaGlzIGZ1bmN0 aW9uIGxvb2tzIGZvciBhIERUIG5vZGUgcG9pbnRlZCB0byBieSBhIHByb3BlcnR5IG5hbWVkIAo+ PiAnYmFja2xpZ2h0Jwo+PiAtICogYW5kIHVzZXMgb2ZfZmluZF9iYWNrbGlnaHRfYnlfbm9kZSgp IHRvIGdldCB0aGUgYmFja2xpZ2h0IGRldmljZS4KPj4gLSAqIEFkZGl0aW9uYWxseSBpZiB0aGUg YnJpZ2h0bmVzcyBwcm9wZXJ0eSBpcyB6ZXJvLCBpdCBpcyBzZXQgdG8KPj4gLSAqIG1heF9icmln aHRuZXNzLgo+PiAtICoKPj4gLSAqIFJldHVybnM6Cj4+IC0gKiBOVUxMIGlmIHRoZXJlJ3Mgbm8g YmFja2xpZ2h0IHByb3BlcnR5Lgo+PiAtICogRXJyb3IgcG9pbnRlciAtRVBST0JFX0RFRkVSIGlm IHRoZSBEVCBub2RlIGlzIGZvdW5kLCBidXQgbm8gCj4+IGJhY2tsaWdodCBkZXZpY2UKPj4gLSAq IGlzIGZvdW5kLgo+PiAtICogSWYgdGhlIGJhY2tsaWdodCBkZXZpY2UgaXMgZm91bmQsIGEgcG9p bnRlciB0byB0aGUgc3RydWN0dXJlIGlzIAo+PiByZXR1cm5lZC4KPj4gLSAqLwo+PiAtc3RydWN0 IGJhY2tsaWdodF9kZXZpY2UgKnRpbnlkcm1fb2ZfZmluZF9iYWNrbGlnaHQoc3RydWN0IGRldmlj ZSAqZGV2KQo+PiAtewo+PiAtwqDCoMKgIHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpiYWNrbGln aHQ7Cj4+IC3CoMKgwqAgc3RydWN0IGRldmljZV9ub2RlICpucDsKPj4gLQo+PiAtwqDCoMKgIG5w ID0gb2ZfcGFyc2VfcGhhbmRsZShkZXYtPm9mX25vZGUsICJiYWNrbGlnaHQiLCAwKTsKPj4gLcKg wqDCoCBpZiAoIW5wKQo+PiAtwqDCoMKgwqDCoMKgwqAgcmV0dXJuIE5VTEw7Cj4+IC0KPj4gLcKg wqDCoCBiYWNrbGlnaHQgPSBvZl9maW5kX2JhY2tsaWdodF9ieV9ub2RlKG5wKTsKPj4gLcKgwqDC oCBvZl9ub2RlX3B1dChucCk7Cj4+IC0KPj4gLcKgwqDCoCBpZiAoIWJhY2tsaWdodCkKPj4gLcKg wqDCoMKgwqDCoMKgIHJldHVybiBFUlJfUFRSKC1FUFJPQkVfREVGRVIpOwo+PiAtCj4+IC3CoMKg wqAgaWYgKCFiYWNrbGlnaHQtPnByb3BzLmJyaWdodG5lc3MpIHsKPj4gLcKgwqDCoMKgwqDCoMKg IGJhY2tsaWdodC0+cHJvcHMuYnJpZ2h0bmVzcyA9IGJhY2tsaWdodC0+cHJvcHMubWF4X2JyaWdo dG5lc3M7Cj4+IC3CoMKgwqDCoMKgwqDCoCBEUk1fREVCVUdfS01TKCJCYWNrbGlnaHQgYnJpZ2h0 bmVzcyBzZXQgdG8gJWRcbiIsCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGJhY2tsaWdodC0+cHJvcHMuYnJpZ2h0bmVzcyk7Cj4+IC3CoMKgwqAgfQo+PiAtCj4+IC3CoMKg wqAgcmV0dXJuIGJhY2tsaWdodDsKPj4gLX0KPj4gLUVYUE9SVF9TWU1CT0wodGlueWRybV9vZl9m aW5kX2JhY2tsaWdodCk7Cj4+IC0KPj4gLS8qKgo+PiAtICogdGlueWRybV9lbmFibGVfYmFja2xp Z2h0IC0gRW5hYmxlIGJhY2tsaWdodCBoZWxwZXIKPj4gLSAqIEBiYWNrbGlnaHQ6IEJhY2tsaWdo dCBkZXZpY2UKPj4gLSAqCj4+IC0gKiBSZXR1cm5zOgo+PiAtICogWmVybyBvbiBzdWNjZXNzLCBu ZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCj4+IC0gKi8KPj4gLWludCB0aW55ZHJtX2Vu YWJsZV9iYWNrbGlnaHQoc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJhY2tsaWdodCkKPj4gLXsK Pj4gLcKgwqDCoCB1bnNpZ25lZCBpbnQgb2xkX3N0YXRlOwo+PiAtwqDCoMKgIGludCByZXQ7Cj4+ IC0KPj4gLcKgwqDCoCBpZiAoIWJhY2tsaWdodCkKPj4gLcKgwqDCoMKgwqDCoMKgIHJldHVybiAw Owo+PiAtCj4+IC3CoMKgwqAgb2xkX3N0YXRlID0gYmFja2xpZ2h0LT5wcm9wcy5zdGF0ZTsKPj4g LcKgwqDCoCBiYWNrbGlnaHQtPnByb3BzLnN0YXRlICY9IH5CTF9DT1JFX0ZCQkxBTks7Cj4+IC3C oMKgwqAgRFJNX0RFQlVHX0tNUygiQmFja2xpZ2h0IHN0YXRlOiAweCV4IC0+IDB4JXhcbiIsIG9s ZF9zdGF0ZSwKPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJhY2tsaWdodC0+cHJvcHMu c3RhdGUpOwo+PiAtCj4+IC3CoMKgwqAgcmV0ID0gYmFja2xpZ2h0X3VwZGF0ZV9zdGF0dXMoYmFj a2xpZ2h0KTsKPj4gLcKgwqDCoCBpZiAocmV0KQo+PiAtwqDCoMKgwqDCoMKgwqAgRFJNX0VSUk9S KCJGYWlsZWQgdG8gZW5hYmxlIGJhY2tsaWdodCAlZFxuIiwgcmV0KTsKPj4gLQo+PiAtwqDCoMKg IHJldHVybiByZXQ7Cj4+IC19Cj4+IC1FWFBPUlRfU1lNQk9MKHRpbnlkcm1fZW5hYmxlX2JhY2ts aWdodCk7Cj4+IC0KPj4gLS8qKgo+PiAtICogdGlueWRybV9kaXNhYmxlX2JhY2tsaWdodCAtIERp c2FibGUgYmFja2xpZ2h0IGhlbHBlcgo+PiAtICogQGJhY2tsaWdodDogQmFja2xpZ2h0IGRldmlj ZQo+PiAtICoKPj4gLSAqIFJldHVybnM6Cj4+IC0gKiBaZXJvIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZl IGVycm9yIGNvZGUgb24gZmFpbHVyZS4KPj4gLSAqLwo+PiAtaW50IHRpbnlkcm1fZGlzYWJsZV9i YWNrbGlnaHQoc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJhY2tsaWdodCkKPj4gLXsKPj4gLcKg wqDCoCB1bnNpZ25lZCBpbnQgb2xkX3N0YXRlOwo+PiAtwqDCoMKgIGludCByZXQ7Cj4+IC0KPj4g LcKgwqDCoCBpZiAoIWJhY2tsaWdodCkKPj4gLcKgwqDCoMKgwqDCoMKgIHJldHVybiAwOwo+PiAt Cj4+IC3CoMKgwqAgb2xkX3N0YXRlID0gYmFja2xpZ2h0LT5wcm9wcy5zdGF0ZTsKPj4gLcKgwqDC oCBiYWNrbGlnaHQtPnByb3BzLnN0YXRlIHw9IEJMX0NPUkVfRkJCTEFOSzsKPj4gLcKgwqDCoCBE Uk1fREVCVUdfS01TKCJCYWNrbGlnaHQgc3RhdGU6IDB4JXggLT4gMHgleFxuIiwgb2xkX3N0YXRl LAo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYmFja2xpZ2h0LT5wcm9wcy5zdGF0ZSk7 Cj4+IC3CoMKgwqAgcmV0ID0gYmFja2xpZ2h0X3VwZGF0ZV9zdGF0dXMoYmFja2xpZ2h0KTsKPj4g LcKgwqDCoCBpZiAocmV0KQo+PiAtwqDCoMKgwqDCoMKgwqAgRFJNX0VSUk9SKCJGYWlsZWQgdG8g ZGlzYWJsZSBiYWNrbGlnaHQgJWRcbiIsIHJldCk7Cj4+IC0KPj4gLcKgwqDCoCByZXR1cm4gcmV0 Owo+PiAtfQo+PiAtRVhQT1JUX1NZTUJPTCh0aW55ZHJtX2Rpc2FibGVfYmFja2xpZ2h0KTsKPj4g wqAgwqAgI2lmIElTX0VOQUJMRUQoQ09ORklHX1NQSSkKPj4gwqAgZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS90aW55ZHJtL21pMDI4M3F0LmMgCj4+IGIvZHJpdmVycy9ncHUvZHJtL3Rpbnlk cm0vbWkwMjgzcXQuYwo+PiBpbmRleCA3ZTViYjdkLi5jMTYxZDQ1IDEwMDY0NAo+PiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vdGlueWRybS9taTAyODNxdC5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS90aW55ZHJtL21pMDI4M3F0LmMKPj4gQEAgLTEyLDYgKzEyLDcgQEAKPj4gwqAgI2luY2x1ZGUg PGRybS90aW55ZHJtL2lsaTkzNDEuaD4KPj4gwqAgI2luY2x1ZGUgPGRybS90aW55ZHJtL21pcGkt ZGJpLmg+Cj4+IMKgICNpbmNsdWRlIDxkcm0vdGlueWRybS90aW55ZHJtLWhlbHBlcnMuaD4KPj4g KyNpbmNsdWRlIDxkcm0vdGlueWRybS90aW55ZHJtLWJhY2tsaWdodC5oPgo+PiDCoCAjaW5jbHVk ZSA8bGludXgvZGVsYXkuaD4KPj4gwqAgI2luY2x1ZGUgPGxpbnV4L2dwaW8vY29uc3VtZXIuaD4K Pj4gwqAgI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3Rpbnlkcm0vbWlwaS1kYmkuYyAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9t aXBpLWRiaS5jCj4+IGluZGV4IDJjYWVhYmMuLmRjODRmMjYgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS90aW55ZHJtL21pcGktZGJpLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Rp bnlkcm0vbWlwaS1kYmkuYwo+PiBAQCAtMTEsNiArMTEsNyBAQAo+PiDCoCDCoCAjaW5jbHVkZSA8 ZHJtL3Rpbnlkcm0vbWlwaS1kYmkuaD4KPj4gwqAgI2luY2x1ZGUgPGRybS90aW55ZHJtL3Rpbnlk cm0taGVscGVycy5oPgo+PiArI2luY2x1ZGUgPGRybS90aW55ZHJtL3Rpbnlkcm0tYmFja2xpZ2h0 Lmg+Cj4+IMKgICNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+Cj4+IMKgICNpbmNsdWRlIDxsaW51 eC9kbWEtYnVmLmg+Cj4+IMKgICNpbmNsdWRlIDxsaW51eC9ncGlvL2NvbnN1bWVyLmg+Cj4+IGRp ZmYgLS1naXQgYS9pbmNsdWRlL2RybS90aW55ZHJtL3Rpbnlkcm0tYmFja2xpZ2h0LmggCj4+IGIv aW5jbHVkZS9kcm0vdGlueWRybS90aW55ZHJtLWJhY2tsaWdodC5oCj4+IG5ldyBmaWxlIG1vZGUg MTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAuLjZhN2I2ZDUKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysg Yi9pbmNsdWRlL2RybS90aW55ZHJtL3Rpbnlkcm0tYmFja2xpZ2h0LmgKPj4gQEAgLTAsMCArMSwx OCBAQAo+PiArLyoKPj4gKyAqIENvcHlyaWdodCAoQykgMjAxNiBOb3JhbGYgVHLDuG5uZXMKPj4g KyAqCj4+ICsgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+PiArICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKPj4gKyAqIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y Cj4+ICsgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+PiArICovCj4+ICsK Pj4gKyNpZm5kZWYgX19MSU5VWF9USU5ZRFJNX0JBQ0tMSUdIVF9ICj4+ICsjZGVmaW5lIF9fTElO VVhfVElOWURSTV9CQUNLTElHSFRfSAo+PiArCj4+ICtzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZTsK Pj4gK3N0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICp0aW55ZHJtX29mX2ZpbmRfYmFja2xpZ2h0KHN0 cnVjdCBkZXZpY2UgKmRldik7Cj4+ICtpbnQgdGlueWRybV9lbmFibGVfYmFja2xpZ2h0KHN0cnVj dCBiYWNrbGlnaHRfZGV2aWNlICpiYWNrbGlnaHQpOwo+PiAraW50IHRpbnlkcm1fZGlzYWJsZV9i YWNrbGlnaHQoc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJhY2tsaWdodCk7Cj4+ICsKPj4gKyNl bmRpZiAvKiBfX0xJTlVYX1RJTllEUk1fQkFDS0xJR0hUX0ggKi8KPgo+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gZHJpLWRldmVsIG1haWxpbmcgbGlz dAo+IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo+CgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6468555141619384320 X-Received: by 10.223.152.207 with SMTP id w73mr411058wrb.13.1506357122746; Mon, 25 Sep 2017 09:32:02 -0700 (PDT) X-BeenThere: outreachy-kernel@googlegroups.com Received: by 10.223.154.16 with SMTP id z16ls2839271wrb.4.gmail; Mon, 25 Sep 2017 09:32:01 -0700 (PDT) X-Google-Smtp-Source: AOwi7QBatKDmTe6hJwZpQXHyU5b7P95F6okh/5Jjjf1jej2Se1THDw3mZL02FfbIiM2eVVqXYvZa X-Received: by 10.223.134.37 with SMTP id 34mr409717wrv.1.1506357121828; Mon, 25 Sep 2017 09:32:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1506357121; cv=none; d=google.com; s=arc-20160816; b=ByPQcUZVHWPGpW17kZqTT+XtKH6Hlfu/oFijmqpSlqZcSWm+3kmZUQDae+AB9QwZLj PIh9QeWx02obhdTn8rr1SIc9xGo1LY/sOCAaGwqCSuTAP+2GwfcJHHygGuXpjcaKIg3e wosBV9YY1Ge25Mn1GUFgFydd677HpJhpya06XOSumlIvu/inxa61ma/NH9eATsVkyCFt QYDQUn8k0F+zB/ZpWowDUuJ3Y0AAn+/vsR5dKm1YnMmWq7N48r7I70OQsJdp1zw0CBQ3 F+YwwfO4bp3FoktV/Ula6WQ0kJD0PDsObogrDXfCw5x1cCBZcPIdyvWAXIciz926jw7g c/bA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:references:to:from:subject:arc-authentication-results; bh=3/5KWSlCAWI3f73eK66onWOSSkadZlVZYpaAbgicV5Y=; b=Cranuk2/K+2vJQDpMeQ8CQE25jAodfh8ExULQrraTZatFR3v/Lbo/FCE7ZkyplCzmc B4Oq4dOU9DGHHUtmMbOkafg9a6/BYSw2V7WvANtTcxK64gNp0ONTsA8v4YkNQ1g5bdQY 5XNffpm0MDNlcSNWtMAFHCd+t6YUvHEcsWgubBFAqKkup2Ux0ukWG/pVwO65aksAY18s kRN02z9lM19Bwd6RLxkffLX759Iphkx3BDjiFUPee7PLPXCVmLp8bNbJ5NMugts4sTL6 YAw/Rp6Ia+6bCdTsGbRvGBEzZSAXsqbcYIVBn8+Xx5JFaGef3Tsba1reUgIwFONxTMpv NEag== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of noralf@tronnes.org designates 2a01:5b40:0:3005::1 as permitted sender) smtp.mailfrom=noralf@tronnes.org Return-Path: Received: from smtp.domeneshop.no (smtp.domeneshop.no. [2a01:5b40:0:3005::1]) by gmr-mx.google.com with ESMTPS id 65si178846lfv.4.2017.09.25.09.32.01 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 25 Sep 2017 09:32:01 -0700 (PDT) Received-SPF: pass (google.com: domain of noralf@tronnes.org designates 2a01:5b40:0:3005::1 as permitted sender) client-ip=2a01:5b40:0:3005::1; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of noralf@tronnes.org designates 2a01:5b40:0:3005::1 as permitted sender) smtp.mailfrom=noralf@tronnes.org Received: from 211.81-166-168.customer.lyse.net ([81.166.168.211]:56619 helo=[192.168.10.157]) by smtp.domeneshop.no with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1dwWIa-00030y-QM; Mon, 25 Sep 2017 18:32:00 +0200 Subject: Re: [PATCH v2] drm/tinydrm: Move backlight helpers to a separate file From: =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= To: Meghana Madhyastha , Daniel Vetter , dri-devel@lists.freedesktop.org, outreachy-kernel@googlegroups.com References: <20170922150935.GA15912@meghana-HP-Pavilion-Notebook> <3dd313c8-daa7-a395-183c-c2dfac4dd4b4@tronnes.org> Message-ID: Date: Mon, 25 Sep 2017 18:31:58 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <3dd313c8-daa7-a395-183c-c2dfac4dd4b4@tronnes.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Den 25.09.2017 16.56, skrev Noralf Trønnes: > Hi Meghana, > > > Den 22.09.2017 17.09, skrev Meghana Madhyastha: >> Move backlight helpers from tinydrm-helpers.c to >> tinydrm-backlight.c. This is because it is organizationally >> simpler to understand and advantageous to group functions >> performing a similar function to a separate file as opposed to >> having one helper file with heteregenous helper functions. >> >> Signed-off-by: Meghana Madhyastha >> --- > > I don't think there is much gain in just moving the code like this. > > The idea is to add a drm_backlight helper that can be useful for all > DRM drivers that use the backlight subsystem. > The full path to that helper would be: drivers/gpu/drm/drm_backlight.c > This is what the TODO says: > https://dri.freedesktop.org/docs/drm/gpu/todo.html#tinydrm > > - backlight helpers, probably best to put them into a new > drm_backlight.c. >   This is because drivers/video is de-facto unmaintained. We could also >   move drivers/video/backlight to drivers/gpu/backlight and take it all >   over within drm-misc, but that’s more work. > > There is also this discussion to take into account: > KMS backlight ABI proposition > https://lists.freedesktop.org/archives/dri-devel/2017-February/133206.html > > > I don't remember what came out of that discussion. > > Noralf. > >> Changes in v2: >>   -Improved commit message by explaining why the changes were made. >> >>   drivers/gpu/drm/tinydrm/core/Makefile            |   2 +- >>   drivers/gpu/drm/tinydrm/core/tinydrm-backlight.c | 103 >> +++++++++++++++++++++++ >>   drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c   |  94 >> --------------------- >>   drivers/gpu/drm/tinydrm/mi0283qt.c               |   1 + >>   drivers/gpu/drm/tinydrm/mipi-dbi.c               |   1 + >>   include/drm/tinydrm/tinydrm-backlight.h          |  18 ++++ >>   6 files changed, 124 insertions(+), 95 deletions(-) >>   create mode 100644 drivers/gpu/drm/tinydrm/core/tinydrm-backlight.c >>   create mode 100644 include/drm/tinydrm/tinydrm-backlight.h >> >> diff --git a/drivers/gpu/drm/tinydrm/core/Makefile >> b/drivers/gpu/drm/tinydrm/core/Makefile >> index fb221e6..389ca7a 100644 >> --- a/drivers/gpu/drm/tinydrm/core/Makefile >> +++ b/drivers/gpu/drm/tinydrm/core/Makefile >> @@ -1,3 +1,3 @@ >> -tinydrm-y := tinydrm-core.o tinydrm-pipe.o tinydrm-helpers.o >> +tinydrm-y := tinydrm-core.o tinydrm-pipe.o tinydrm-backlight.o >> tinydrm-helpers.o >>     obj-$(CONFIG_DRM_TINYDRM) += tinydrm.o >> diff --git a/drivers/gpu/drm/tinydrm/core/tinydrm-backlight.c >> b/drivers/gpu/drm/tinydrm/core/tinydrm-backlight.c >> new file mode 100644 >> index 0000000..dc6f17d >> --- /dev/null >> +++ b/drivers/gpu/drm/tinydrm/core/tinydrm-backlight.c >> @@ -0,0 +1,103 @@ >> +#include >> +#include >> +#include >> +#include >> + >> +#include >> +#include >> + >> +/** >> + * tinydrm_of_find_backlight - Find backlight device in device-tree >> + * @dev: Device >> + * >> + * This function looks for a DT node pointed to by a property named >> 'backlight' >> + * and uses of_find_backlight_by_node() to get the backlight device. >> + * Additionally if the brightness property is zero, it is set to >> + * max_brightness. >> + * >> + * Returns: >> + * NULL if there's no backlight property. >> + * Error pointer -EPROBE_DEFER if the DT node is found, but no >> backlight device >> + * is found. >> + * If the backlight device is found, a pointer to the structure is >> returned. >> + */ >> + >> +struct backlight_device *tinydrm_of_find_backlight(struct device *dev) >> +{ >> +    struct backlight_device *backlight; >> +    struct device_node *np; >> + >> +    np = of_parse_phandle(dev->of_node, "backlight", 0); >> +    if (!np) >> +        return NULL; >> + >> +    backlight = of_find_backlight_by_node(np); >> +    of_node_put(np); >> + >> +    if (!backlight) >> +        return ERR_PTR(-EPROBE_DEFER); >> + >> +    if (!backlight->props.brightness) { >> +        backlight->props.brightness = backlight->props.max_brightness; >> +        DRM_DEBUG_KMS("Backlight brightness set to %d\n", >> +                  backlight->props.brightness); >> +    } >> + >> +    return backlight; >> +} >> +EXPORT_SYMBOL(tinydrm_of_find_backlight); >> + >> +/** >> + * tinydrm_enable_backlight - Enable backlight helper >> + * @backlight: Backlight device >> + * >> + * Returns: >> + * Zero on success, negative error code on failure. >> + */ >> +int tinydrm_enable_backlight(struct backlight_device *backlight) >> +{ >> +    unsigned int old_state; >> +    int ret; >> + >> +    if (!backlight) >> +        return 0; >> + >> +    old_state = backlight->props.state; >> +    backlight->props.state &= ~BL_CORE_FBBLANK; >> +    DRM_DEBUG_KMS("Backlight state: 0x%x -> 0x%x\n", old_state, >> +              backlight->props.state); >> + >> +    ret = backlight_update_status(backlight); >> +    if (ret) >> +        DRM_ERROR("Failed to enable backlight %d\n", ret); >> + >> +    return ret; >> +} >> +EXPORT_SYMBOL(tinydrm_enable_backlight); >> + >> +/** >> + * tinydrm_disable_backlight - Disable backlight helper >> + * @backlight: Backlight device >> + * >> + * Returns: >> + * Zero on success, negative error code on failure. >> + */ >> +int tinydrm_disable_backlight(struct backlight_device *backlight) >> +{ >> +    unsigned int old_state; >> +    int ret; >> + >> +    if (!backlight) >> +        return 0; >> + >> +    old_state = backlight->props.state; >> +    backlight->props.state |= BL_CORE_FBBLANK; >> +    DRM_DEBUG_KMS("Backlight state: 0x%x -> 0x%x\n", old_state, >> +              backlight->props.state); >> +    ret = backlight_update_status(backlight); >> +    if (ret) >> +        DRM_ERROR("Failed to disable backlight %d\n", ret); >> + >> +    return ret; >> +} >> +EXPORT_SYMBOL(tinydrm_disable_backlight); >> diff --git a/drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c >> b/drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c >> index bd6cce0..ee8ad8c 100644 >> --- a/drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c >> +++ b/drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c >> @@ -236,100 +236,6 @@ void tinydrm_xrgb8888_to_gray8(u8 *dst, void >> *vaddr, struct drm_framebuffer *fb, >>   } >>   EXPORT_SYMBOL(tinydrm_xrgb8888_to_gray8); >>   -/** >> - * tinydrm_of_find_backlight - Find backlight device in device-tree >> - * @dev: Device >> - * >> - * This function looks for a DT node pointed to by a property named >> 'backlight' >> - * and uses of_find_backlight_by_node() to get the backlight device. >> - * Additionally if the brightness property is zero, it is set to >> - * max_brightness. >> - * >> - * Returns: >> - * NULL if there's no backlight property. >> - * Error pointer -EPROBE_DEFER if the DT node is found, but no >> backlight device >> - * is found. >> - * If the backlight device is found, a pointer to the structure is >> returned. >> - */ >> -struct backlight_device *tinydrm_of_find_backlight(struct device *dev) >> -{ >> -    struct backlight_device *backlight; >> -    struct device_node *np; >> - >> -    np = of_parse_phandle(dev->of_node, "backlight", 0); >> -    if (!np) >> -        return NULL; >> - >> -    backlight = of_find_backlight_by_node(np); >> -    of_node_put(np); >> - >> -    if (!backlight) >> -        return ERR_PTR(-EPROBE_DEFER); >> - >> -    if (!backlight->props.brightness) { >> -        backlight->props.brightness = backlight->props.max_brightness; >> -        DRM_DEBUG_KMS("Backlight brightness set to %d\n", >> -                  backlight->props.brightness); >> -    } >> - >> -    return backlight; >> -} >> -EXPORT_SYMBOL(tinydrm_of_find_backlight); >> - >> -/** >> - * tinydrm_enable_backlight - Enable backlight helper >> - * @backlight: Backlight device >> - * >> - * Returns: >> - * Zero on success, negative error code on failure. >> - */ >> -int tinydrm_enable_backlight(struct backlight_device *backlight) >> -{ >> -    unsigned int old_state; >> -    int ret; >> - >> -    if (!backlight) >> -        return 0; >> - >> -    old_state = backlight->props.state; >> -    backlight->props.state &= ~BL_CORE_FBBLANK; >> -    DRM_DEBUG_KMS("Backlight state: 0x%x -> 0x%x\n", old_state, >> -              backlight->props.state); >> - >> -    ret = backlight_update_status(backlight); >> -    if (ret) >> -        DRM_ERROR("Failed to enable backlight %d\n", ret); >> - >> -    return ret; >> -} >> -EXPORT_SYMBOL(tinydrm_enable_backlight); >> - >> -/** >> - * tinydrm_disable_backlight - Disable backlight helper >> - * @backlight: Backlight device >> - * >> - * Returns: >> - * Zero on success, negative error code on failure. >> - */ >> -int tinydrm_disable_backlight(struct backlight_device *backlight) >> -{ >> -    unsigned int old_state; >> -    int ret; >> - >> -    if (!backlight) >> -        return 0; >> - >> -    old_state = backlight->props.state; >> -    backlight->props.state |= BL_CORE_FBBLANK; >> -    DRM_DEBUG_KMS("Backlight state: 0x%x -> 0x%x\n", old_state, >> -              backlight->props.state); >> -    ret = backlight_update_status(backlight); >> -    if (ret) >> -        DRM_ERROR("Failed to disable backlight %d\n", ret); >> - >> -    return ret; >> -} >> -EXPORT_SYMBOL(tinydrm_disable_backlight); >>     #if IS_ENABLED(CONFIG_SPI) >>   diff --git a/drivers/gpu/drm/tinydrm/mi0283qt.c >> b/drivers/gpu/drm/tinydrm/mi0283qt.c >> index 7e5bb7d..c161d45 100644 >> --- a/drivers/gpu/drm/tinydrm/mi0283qt.c >> +++ b/drivers/gpu/drm/tinydrm/mi0283qt.c >> @@ -12,6 +12,7 @@ >>   #include >>   #include >>   #include >> +#include >>   #include >>   #include >>   #include >> diff --git a/drivers/gpu/drm/tinydrm/mipi-dbi.c >> b/drivers/gpu/drm/tinydrm/mipi-dbi.c >> index 2caeabc..dc84f26 100644 >> --- a/drivers/gpu/drm/tinydrm/mipi-dbi.c >> +++ b/drivers/gpu/drm/tinydrm/mipi-dbi.c >> @@ -11,6 +11,7 @@ >>     #include >>   #include >> +#include >>   #include >>   #include >>   #include >> diff --git a/include/drm/tinydrm/tinydrm-backlight.h >> b/include/drm/tinydrm/tinydrm-backlight.h >> new file mode 100644 >> index 0000000..6a7b6d5 >> --- /dev/null >> +++ b/include/drm/tinydrm/tinydrm-backlight.h >> @@ -0,0 +1,18 @@ >> +/* >> + * Copyright (C) 2016 Noralf Trønnes >> + * >> + * This program is free software; you can redistribute it and/or modify >> + * it under the terms of the GNU General Public License as published by >> + * the Free Software Foundation; either version 2 of the License, or >> + * (at your option) any later version. >> + */ >> + >> +#ifndef __LINUX_TINYDRM_BACKLIGHT_H >> +#define __LINUX_TINYDRM_BACKLIGHT_H >> + >> +struct backlight_device; >> +struct backlight_device *tinydrm_of_find_backlight(struct device *dev); >> +int tinydrm_enable_backlight(struct backlight_device *backlight); >> +int tinydrm_disable_backlight(struct backlight_device *backlight); >> + >> +#endif /* __LINUX_TINYDRM_BACKLIGHT_H */ > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel >