From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= Subject: Re: [PATCH v3 1/2] drm/tinydrm: Move tinydrm_of_find_backlight into drm_of.c Date: Fri, 29 Sep 2017 17:41:04 +0200 Message-ID: <08dd8e6a-3028-098e-e193-9f408c6a9633@tronnes.org> References: <20170928140836.ja5dcovqxsmbdnha@phenom.ffwll.local> <37f72839-d110-da4a-467a-cbae6cc0abc7@tronnes.org> <20170929032231.GB9859@meghana-HP-Pavilion-Notebook> <20170929122025.GA29498@meghana-HP-Pavilion-Notebook> <4b32d910-f0af-e9cb-feb7-4bc4174bc9c3@tronnes.org> <20170929141324.GA30107@meghana-HP-Pavilion-Notebook> 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 3F44D6EBD1 for ; Fri, 29 Sep 2017 15:41:09 +0000 (UTC) In-Reply-To: <20170929141324.GA30107@meghana-HP-Pavilion-Notebook> 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@ffwll.ch, outreachy-kernel@googlegroups.com, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org CkRlbiAyOS4wOS4yMDE3IDE2LjEzLCBza3JldiBNZWdoYW5hIE1hZGh5YXN0aGE6Cj4gT24gRnJp LCBTZXAgMjksIDIwMTcgYXQgMDI6MzM6MTJQTSArMDIwMCwgTm9yYWxmIFRyw7hubmVzIHdyb3Rl Ogo+PiBEZW4gMjkuMDkuMjAxNyAxNC4yMCwgc2tyZXYgTWVnaGFuYSBNYWRoeWFzdGhhOgo+Pj4g T24gRnJpLCBTZXAgMjksIDIwMTcgYXQgMDI6MTA6MzFQTSArMDIwMCwgTm9yYWxmIFRyw7hubmVz IHdyb3RlOgo+Pj4+IERlbiAyOS4wOS4yMDE3IDA1LjIyLCBza3JldiBNZWdoYW5hIE1hZGh5YXN0 aGE6Cj4+Pj4+IE9uIFRodSwgU2VwIDI4LCAyMDE3IGF0IDA2OjAyOjI3UE0gKzAyMDAsIE5vcmFs ZiBUcsO4bm5lcyB3cm90ZToKPj4+Pj4+IERlbiAyOC4wOS4yMDE3IDE2LjA4LCBza3JldiBEYW5p ZWwgVmV0dGVyOgo+Pj4+Pj4+IE9uIFRodSwgU2VwIDI4LCAyMDE3IGF0IDAyOjQ0OjM0UE0gKzA1 MzAsIE1lZ2hhbmEgTWFkaHlhc3RoYSB3cm90ZToKPj4+Pj4+Pj4gUmVuYW1lIHRpbnlkcm1fb2Zf ZmluZF9iYWNrbGlnaHQgdG8gZHJtX29mX2ZpbmRfYmFja2xpZ2h0Cj4+Pj4+Pj4+IGFuZCBtb3Zl IGl0IGludG8gZHJtX29mLmMgZnJvbSB0aW55ZHJtLWhlbHBlcnMuYy4gVGhpcyBpcwo+Pj4+Pj4+ PiBiZWNhdXNlIG90aGVyIGRyaXZlcnMgaW4gdGhlIGRybSBzdWJzeXN0ZW0gbWlnaHQgbmVlZCB0 byBjYWxsCj4+Pj4+Pj4+IHRoaXMgZnVuY3Rpb24uIEluIHRoYXQgY2FzZSBhbmQgb3RoZXJ3aXNl LCBpdCBpcyBiZXR0ZXIgZnJvbQo+Pj4+Pj4+PiBhbiBvcmdhbml6YXRpb25hbCBwb2ludCBvZiB2 aWV3IHRvIG1vdmUgaXQgaW50byBkcm1fb2YuYyBhbG9uZwo+Pj4+Pj4+PiB3aXRoIHRoZSBvdGhl ciBfb2YuYyBmdW5jdGlvbnMuCj4+Pj4+Pj4+Cj4+Pj4+Pj4+IFNpZ25lZC1vZmYtYnk6IE1lZ2hh bmEgTWFkaHlhc3RoYSA8bWVnaGFuYS5tYWRoeWFzdGhhQGdtYWlsLmNvbT4KPj4+Pj4+Pj4gLS0t Cj4+Pj4+Pj4+IENoYW5nZXMgaW4gdjM6Cj4+Pj4+Pj4+IC1DaGFuZ2UgaXQgYmFjayB0byBhIHNp bmdsZSBwYXRjaCBmcm9tIHR3byBwYXRjaGVzIGluIHYyCj4+Pj4+Pj4+Cj4+Pj4+Pj4+ICAgZHJp dmVycy9ncHUvZHJtL2RybV9vZi5jICAgICAgICAgICAgICAgICAgICAgICB8IDQ0ICsrKysrKysr KysrKysrKysrKysrKysrKysrCj4+Pj4+Pj4+ICAgZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vY29y ZS90aW55ZHJtLWhlbHBlcnMuYyB8IDQwIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+Pj4+Pj4+ ICAgZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vbWkwMjgzcXQuYyAgICAgICAgICAgICB8ICAzICst Cj4+Pj4+Pj4+ICAgaW5jbHVkZS9kcm0vZHJtX29mLmggICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAxICsKPj4+Pj4+Pj4gICBpbmNsdWRlL2RybS90aW55ZHJtL3Rpbnlkcm0taGVscGVycy5o ICAgICAgICAgIHwgIDEgLQo+Pj4+Pj4+PiAgIDUgZmlsZXMgY2hhbmdlZCwgNDcgaW5zZXJ0aW9u cygrKSwgNDIgZGVsZXRpb25zKC0pCj4+Pj4+Pj4+Cj4+Pj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX29mLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX29mLmMKPj4+Pj4+Pj4g aW5kZXggOGRhZmJkZi4uZDg3OGQzYSAxMDA2NDQKPj4+Pj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2RybV9vZi5jCj4+Pj4+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fb2YuYwo+Pj4+ Pj4+PiBAQCAtMSw2ICsxLDcgQEAKPj4+Pj4+Pj4gICAjaW5jbHVkZSA8bGludXgvY29tcG9uZW50 Lmg+Cj4+Pj4+Pj4+ICAgI2luY2x1ZGUgPGxpbnV4L2V4cG9ydC5oPgo+Pj4+Pj4+PiAgICNpbmNs dWRlIDxsaW51eC9saXN0Lmg+Cj4+Pj4+Pj4+ICsjaW5jbHVkZSA8bGludXgvYmFja2xpZ2h0Lmg+ Cj4+Pj4+Pj4+ICAgI2luY2x1ZGUgPGxpbnV4L29mX2dyYXBoLmg+Cj4+Pj4+Pj4+ICAgI2luY2x1 ZGUgPGRybS9kcm1QLmg+Cj4+Pj4+Pj4+ICAgI2luY2x1ZGUgPGRybS9kcm1fYnJpZGdlLmg+Cj4+ Pj4+Pj4+IEBAIC0yNjAsMyArMjYxLDQ2IEBAIGludCBkcm1fb2ZfZmluZF9wYW5lbF9vcl9icmlk Z2UoY29uc3Qgc3RydWN0IGRldmljZV9ub2RlICpucCwKPj4+Pj4+Pj4gICAJcmV0dXJuIHJldDsK Pj4+Pj4+Pj4gICB9Cj4+Pj4+Pj4+ICAgRVhQT1JUX1NZTUJPTF9HUEwoZHJtX29mX2ZpbmRfcGFu ZWxfb3JfYnJpZGdlKTsKPj4+Pj4+Pj4gKwo+Pj4+Pj4+PiArLyoqCj4+Pj4+Pj4+ICsgKiBkcm1f b2ZfZmluZF9iYWNrbGlnaHQgLSBGaW5kIGJhY2tsaWdodCBkZXZpY2UgaW4gZGV2aWNlLXRyZWUK Pj4+Pj4+Pj4gKyAqIEBkZXY6IERldmljZQo+Pj4+Pj4+PiArICoKPj4+Pj4+Pj4gKyAqIFRoaXMg ZnVuY3Rpb24gbG9va3MgZm9yIGEgRFQgbm9kZSBwb2ludGVkIHRvIGJ5IGEgcHJvcGVydHkgbmFt ZWQgJ2JhY2tsaWdodCcKPj4+Pj4+Pj4gKyAqIGFuZCB1c2VzIG9mX2ZpbmRfYmFja2xpZ2h0X2J5 X25vZGUoKSB0byBnZXQgdGhlIGJhY2tsaWdodCBkZXZpY2UuCj4+Pj4+Pj4+ICsgKiBBZGRpdGlv bmFsbHkgaWYgdGhlIGJyaWdodG5lc3MgcHJvcGVydHkgaXMgemVybywgaXQgaXMgc2V0IHRvCj4+ Pj4+Pj4+ICsgKiBtYXhfYnJpZ2h0bmVzcy4KPj4+Pj4+Pj4gKyAqCj4+Pj4+Pj4+ICsgKiBOb3Rl OiBJdCBpcyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgdGhlIGNhbGxlciB0byBjYWxsIHB1dF9kZXZp Y2UoKSB3aGVuCj4+Pj4+Pj4+ICsgKiByZWxlYXNpbmcgdGhlIHJlc291cmNlLgo+Pj4+Pj4+PiAr ICoKPj4+Pj4+Pj4gKyAqIFJldHVybnM6Cj4+Pj4+Pj4+ICsgKiBOVUxMIGlmIHRoZXJlJ3Mgbm8g YmFja2xpZ2h0IHByb3BlcnR5Lgo+Pj4+Pj4+PiArICogRXJyb3IgcG9pbnRlciAtRVBST0JFX0RF RkVSIGlmIHRoZSBEVCBub2RlIGlzIGZvdW5kLCBidXQgbm8gYmFja2xpZ2h0IGRldmljZQo+Pj4+ Pj4+PiArICogaXMgZm91bmQuCj4+Pj4+Pj4+ICsgKiBJZiB0aGUgYmFja2xpZ2h0IGRldmljZSBp cyBmb3VuZCwgYSBwb2ludGVyIHRvIHRoZSBzdHJ1Y3R1cmUgaXMgcmV0dXJuZWQuCj4+Pj4+Pj4+ ICsgKi8KPj4+Pj4+Pj4gK3N0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpkcm1fb2ZfZmluZF9iYWNr bGlnaHQoc3RydWN0IGRldmljZSAqZGV2KQo+Pj4+Pj4+PiArewo+Pj4+Pj4+PiArCXN0cnVjdCBi YWNrbGlnaHRfZGV2aWNlICpiYWNrbGlnaHQ7Cj4+Pj4+Pj4+ICsJc3RydWN0IGRldmljZV9ub2Rl ICpucDsKPj4+Pj4+Pj4gKwo+Pj4+Pj4+PiArCW5wID0gb2ZfcGFyc2VfcGhhbmRsZShkZXYtPm9m X25vZGUsICJiYWNrbGlnaHQiLCAwKTsKPj4+Pj4+Pj4gKwlpZiAoIW5wKQo+Pj4+Pj4+PiArCQly ZXR1cm4gTlVMTDsKPj4+Pj4+Pj4gKwo+Pj4+Pj4+PiArCWJhY2tsaWdodCA9IG9mX2ZpbmRfYmFj a2xpZ2h0X2J5X25vZGUobnApOwo+Pj4+Pj4+PiArCW9mX25vZGVfcHV0KG5wKTsKPj4+Pj4+Pj4g Kwo+Pj4+Pj4+PiArCWlmICghYmFja2xpZ2h0KQo+Pj4+Pj4+PiArCQlyZXR1cm4gRVJSX1BUUigt RVBST0JFX0RFRkVSKTsKPj4+Pj4+Pj4gKwo+Pj4+Pj4+PiArCWlmICghYmFja2xpZ2h0LT5wcm9w cy5icmlnaHRuZXNzKSB7Cj4+Pj4+Pj4+ICsJCWJhY2tsaWdodC0+cHJvcHMuYnJpZ2h0bmVzcyA9 IGJhY2tsaWdodC0+cHJvcHMubWF4X2JyaWdodG5lc3M7Cj4+Pj4+Pj4+ICsJCURSTV9ERUJVR19L TVMoIkJhY2tsaWdodCBicmlnaHRuZXNzIHNldCB0byAlZFxuIiwKPj4+Pj4+Pj4gKwkJCSAgICAg IGJhY2tsaWdodC0+cHJvcHMuYnJpZ2h0bmVzcyk7Cj4+Pj4+Pj4+ICsJfQo+Pj4+Pj4+PiArCj4+ Pj4+Pj4+ICsJcmV0dXJuIGJhY2tsaWdodDsKPj4+Pj4+Pj4gK30KPj4+Pj4+Pj4gK0VYUE9SVF9T WU1CT0woZHJtX29mX2ZpbmRfYmFja2xpZ2h0KTsKCjxzbmlwPgoKPj4+Pj4+IEFub3RoZXIgcHJv YmxlbSBJIGRpc2NvdmVyZWQgd2hlbiB0cnlpbmcgdG8gY29tcGlsZSB0aGlzLCBpcyB0aGF0IGlm Cj4+Pj4+PiBEUk0gaXMgYnVpbHRpbiBhbmQgTENEX0NMQVNTX0RFVklDRSBpcyBhIG1vZHVsZToK Pj4+Pj4+Cj4+Pj4+PiBkcml2ZXJzL2dwdS9kcm0vZHJtX29mLmM6MjkyOiB1bmRlZmluZWQgcmVm ZXJlbmNlIHRvCj4+Pj4+PiBgb2ZfZmluZF9iYWNrbGlnaHRfYnlfbm9kZScKPj4+Pj4+Cj4+Pj4+ PiBJIHNlZSB0aGF0IEkgc29sdmVkIHRoaXMgaW4gdGlueWRybSBieSBqdXN0IHNlbGVjdGluZwo+ Pj4+Pj4gQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGFuZCBMQ0RfQ0xBU1NfREVWSUNFLiBJJ20gbm90 IGF3YXJlIG9mIGEgd2F5IHRvCj4+Pj4+PiBmb3JjZSBMQ0RfQ0xBU1NfREVWSUNFIHRvIGJlIGJ1 aWx0aW4gaWYgRFJNIGlzIGJ1aWx0aW4uCj4+Pj4+Pgo+Pj4+Pj4gQXJuZCBmaXhlZCBhIHNpbWls YXIgdHlwZSBvZiBkZXBlbmRlY3kgaW4gdGhlIHJlcGFwZXIgZHJpdmVyIGJ5IGZvcmNpbmcKPj4+ Pj4+IHJlcGFwZXIgdG8gYmUgYSBtb2R1bGUgaWYgbmVjZXNzYXJ5LiBUbyBiZSBob25lc3QsIEkg ZG9uJ3Qga25vdyB3aHkgaGlzCj4+Pj4+PiBmaXggd29ya3M6Cj4+Pj4+PiBodHRwczovL2dpdGh1 Yi5jb20vdG9ydmFsZHMvbGludXgvY29tbWl0LzgzMTJhM2ZlODRiOTZlMzBhMDEwZmEyMGY5MzM2 MDZkOTc2YWMwMDIKPj4+Pj4gSSBkaWRuJ3QgcXVpdGUgdW5kZXJzdGFuZCBob3cgd2UgY291bGQg dXNlIHRoaXMgZml4IGZvciB0aGUgY3VycmVudAo+Pj4+PiBjYXNlLiBJc24ndCB0aGlzIHNwZWNp ZmljIHRvIHRoZSByZXBhcGVyIGRyaXZlciBkZXBlbmRlbmN5ID8KPj4+PiBUaGlzIGlzIHRoZSBz b2x1dGlvbiBEYW5pZWwgbWVudGlvbnM6Cj4+Pj4KPj4+PiAgwqBtZW51Y29uZmlnIERSTQo+Pj4+ ICDCoMKgwqDCoCB0cmlzdGF0ZSAiRGlyZWN0IFJlbmRlcmluZyBNYW5hZ2VyIChYRnJlZTg2IDQu MS4wIGFuZCBoaWdoZXIgRFJJCj4+Pj4gc3VwcG9ydCkiCj4+Pj4gIMKgwqDCoMKgIGRlcGVuZHMg b24gKEFHUCB8fCBBR1A9bikgJiYgIUVNVUxBVEVEX0NNUFhDSEcgJiYgSEFTX0RNQQo+Pj4+ICvC oMKgIGRlcGVuZHMgb24gKExDRF9DTEFTU19ERVZJQ0UgfHwgTENEX0NMQVNTX0RFVklDRT1uKQo+ Pj4gSSBoYWQgdHJpZWQgdGhpcyBidXQgaXQgcmVzdWx0ZWQgaW4gYSByZWN1cnNpdmUgZGVwZW5k ZW5jaWVzIGVycm9yLgo+PiBXaGF0J3MgdGhlIGVycm9yPwo+PiBDb3VsZCB0aGlzIGhhdmUgc29t ZXRoaW5nIHRvIGRvIHdpdGggdGlueWRybSBzZWxlY3RpbmcgYmFja2xpZ2h0IGFuZAo+PiBkZXBl bmRpbmcgb24gRFJNPwo+Pgo+PiBOb3JhbGYuCj4gTG9va3MgbGlrZSBhIGNhc2Ugb2YgY2lyY3Vs YXIgZGVwZW5kZW5jaWVzLiBUaGUgZXhhY3QgZXJyb3IgaXMgdGhpczoKPgo+IHNjcmlwdHMva2Nv bmZpZy9tY29uZiAgS2NvbmZpZwo+IGRyaXZlcnMvZ3B1L2RybS9LY29uZmlnOjc6ZXJyb3I6IHJl Y3Vyc2l2ZSBkZXBlbmRlbmN5IGRldGVjdGVkIQo+IEZvciBhIHJlc29sdXRpb24gcmVmZXIgdG8g RG9jdW1lbnRhdGlvbi9rYnVpbGQva2NvbmZpZy1sYW5ndWFnZS50eHQKPiBzdWJzZWN0aW9uICJL Y29uZmlnIHJlY3Vyc2l2ZSBkZXBlbmRlbmN5IGxpbWl0YXRpb25zIgo+IGRyaXZlcnMvZ3B1L2Ry bS9LY29uZmlnOjc6CXN5bWJvbCBEUk0gZGVwZW5kcyBvbiBMQ0RfQ0xBU1NfREVWSUNFCj4gRm9y IGEgcmVzb2x1dGlvbiByZWZlciB0byBEb2N1bWVudGF0aW9uL2tidWlsZC9rY29uZmlnLWxhbmd1 YWdlLnR4dAo+IHN1YnNlY3Rpb24gIktjb25maWcgcmVjdXJzaXZlIGRlcGVuZGVuY3kgbGltaXRh dGlvbnMiCj4gZHJpdmVycy92aWRlby9iYWNrbGlnaHQvS2NvbmZpZzoxNjoJc3ltYm9sIExDRF9D TEFTU19ERVZJQ0UgaXMKPiBzZWxlY3RlZCBieSBGQl9DTFBTNzExWAo+IEZvciBhIHJlc29sdXRp b24gcmVmZXIgdG8gRG9jdW1lbnRhdGlvbi9rYnVpbGQva2NvbmZpZy1sYW5ndWFnZS50eHQKPiBz dWJzZWN0aW9uICJLY29uZmlnIHJlY3Vyc2l2ZSBkZXBlbmRlbmN5IGxpbWl0YXRpb25zIgo+IGRy aXZlcnMvdmlkZW8vZmJkZXYvS2NvbmZpZzozMzg6CXN5bWJvbCBGQl9DTFBTNzExWCBkZXBlbmRz IG9uIEZCCj4gRm9yIGEgcmVzb2x1dGlvbiByZWZlciB0byBEb2N1bWVudGF0aW9uL2tidWlsZC9r Y29uZmlnLWxhbmd1YWdlLnR4dAo+IHN1YnNlY3Rpb24gIktjb25maWcgcmVjdXJzaXZlIGRlcGVu ZGVuY3kgbGltaXRhdGlvbnMiCj4gZHJpdmVycy92aWRlby9mYmRldi9LY29uZmlnOjU6CXN5bWJv bCBGQiBpcyBzZWxlY3RlZCBieQo+IERSTV9LTVNfRkJfSEVMUEVSCj4gRm9yIGEgcmVzb2x1dGlv biByZWZlciB0byBEb2N1bWVudGF0aW9uL2tidWlsZC9rY29uZmlnLWxhbmd1YWdlLnR4dAo+IHN1 YnNlY3Rpb24gIktjb25maWcgcmVjdXJzaXZlIGRlcGVuZGVuY3kgbGltaXRhdGlvbnMiCj4gZHJp dmVycy9ncHUvZHJtL0tjb25maWc6NzM6CXN5bWJvbCBEUk1fS01TX0ZCX0hFTFBFUiBpcyBzZWxl Y3RlZCBieQo+IERSTV9GQkRFVl9FTVVMQVRJT04KPiBGb3IgYSByZXNvbHV0aW9uIHJlZmVyIHRv IERvY3VtZW50YXRpb24va2J1aWxkL2tjb25maWctbGFuZ3VhZ2UudHh0Cj4gc3Vic2VjdGlvbiAi S2NvbmZpZyByZWN1cnNpdmUgZGVwZW5kZW5jeSBsaW1pdGF0aW9ucyIKPiBkcml2ZXJzL2dwdS9k cm0vS2NvbmZpZzo5MDoJc3ltYm9sIERSTV9GQkRFVl9FTVVMQVRJT04gZGVwZW5kcyBvbgo+IERS TQo+Cj4gTG9uZyBzdG9yeSBzaG9ydCwgdGhlIGRlcGVuZGVuY3kgbG9vcCBpcyBhcyBmb2xsb3dz Ogo+Cj4gRFJNIC0+IExDRF9DTEFTU19ERVZJQ0UgLT4gIEZCX0NMUFM3MTFYIC0+IEZCIC0+IERS TV9LTVNfRkJfSEVMUEVSIC0+Cj4gRFJNX0ZCREVWX0VNVUxBVElPTiAtPiBEUk0KCkkgaGF2ZSBt ZXNzZWQgdXAgdGhlIG9wdGlvbnMgaGVyZSwgaXQgc2hvdWxkIGJlIEJBQ0tMSUdIVF9DTEFTU19E RVZJQ0U6CgptZW51Y29uZmlnIERSTQogwqDCoMKgIGRlcGVuZHMgb24gKEJBQ0tMSUdIVF9DTEFT U19ERVZJQ0UgfHwgQkFDS0xJR0hUX0NMQVNTX0RFVklDRT1uKQoKSXQgZG9lc24ndCBoZWxwIHdp dGggdGhlIHJlY3VzcnNpdmUgcHJvYmxlbSwgYnV0IGF0IGxlYXN0IGl0IG1ha2VzIHNlbnNlOgoK ZHJpdmVycy9ncHUvZHJtL0tjb25maWc6NzrCoMKgwqDCoMKgIHN5bWJvbCBEUk0gZGVwZW5kcyBv biBCQUNLTElHSFRfQ0xBU1NfREVWSUNFCmRyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L0tjb25maWc6 MTU4OsKgwqDCoCBzeW1ib2wgQkFDS0xJR0hUX0NMQVNTX0RFVklDRSBpcyAKc2VsZWN0ZWQgYnkg RFJNX1JBREVPTgpkcml2ZXJzL2dwdS9kcm0vS2NvbmZpZzoxNjQ6wqDCoMKgIHN5bWJvbCBEUk1f UkFERU9OIGRlcGVuZHMgb24gRFJNCgpJIGRvbid0IGtub3cgaG93IHRvIHNvbHZlIHRoaXMuLi4K Ck5vcmFsZi4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6470705412124442624 X-Received: by 10.46.91.143 with SMTP id m15mr422007lje.2.1506699669787; Fri, 29 Sep 2017 08:41:09 -0700 (PDT) X-BeenThere: outreachy-kernel@googlegroups.com Received: by 10.46.4.83 with SMTP id 80ls1212438lje.17.gmail; Fri, 29 Sep 2017 08:41:08 -0700 (PDT) X-Google-Smtp-Source: AOwi7QBVOKeo4PXE3HaHhTCITDs1I7FzpQZf3oJuis1tYNFkEt9fWha7bp/xmp1+RBKSoLdo9+kW X-Received: by 10.46.23.218 with SMTP id 87mr411318ljx.30.1506699668267; Fri, 29 Sep 2017 08:41:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1506699668; cv=none; d=google.com; s=arc-20160816; b=NBv+ln7/uEeKo+GQ+VVwUU/2uZcNmG+OrHoT5bx9WkBe2LOF1WQWY2pgclnJQJ3DV5 mv/cWyADBLuRBBuwus63n5aT4eNEpdEPERk3FPt3vc45aUmSiqae9nLh4O281AF1GZQ0 1zVazv9e8LQMVn8/m4gq8x5yZ1LJj51b9od8/NtrukmRHJtGsvqePxysKfeBD/9pxpUR VCXSXv3cnYTyipuhy2F04xLs8zUh0W/G6t4uk6xp+vXKaK1cU8+aUnQYfy5F/OjlhkVE 8OHiE83qS3RBio5vtCOlc9O8cdM2urx2Q5y+KBOp+YOQfKoOhGaPQBy/3a8Bs5hQY6YZ gxrA== 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:from:references:to:subject:arc-authentication-results; bh=zRptTZPeRIlF8fsVsbjHxMmUz/OgROO+SF67Tho6iuI=; b=DGXkckrwv9sYyMap2NLZeny9p82Xm5K+ZMG6J+T4/bj7XPjNWdPYjy9I02Ioia2lEy z9NGe+KznKhd7NXi7x1nLwkqsx9a4fz/BEUvevEcYt84oai/arwbNufttUzOcMDSfy3Q 3sqBMiD55uaHHHRP96aCpFYc7GwOjn3iU3ysc8d1qhc5pPYggGmdIGD3c1ebzj2YaDVI J+OsEhL4xHZxiL+xce1mJRP+dEAZZ2fXQ7Ab7/3qNal3qB7vrWsnsd5EHKIimFad24Wy MVGJJd1UcnuoyZHtVht9rF0xgL/6SMqT5mnt1JqppSNbF7Dy5alL3VR2HL9eUYxTnmYq VQAA== 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 u82si184852lfg.0.2017.09.29.08.41.08 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 29 Sep 2017 08:41:08 -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]:60533 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 1dxxPX-0004Bl-8T; Fri, 29 Sep 2017 17:41:07 +0200 Subject: Re: [PATCH v3 1/2] drm/tinydrm: Move tinydrm_of_find_backlight into drm_of.c To: Meghana Madhyastha , daniel@ffwll.ch, outreachy-kernel@googlegroups.com, dri-devel@lists.freedesktop.org References: <20170928140836.ja5dcovqxsmbdnha@phenom.ffwll.local> <37f72839-d110-da4a-467a-cbae6cc0abc7@tronnes.org> <20170929032231.GB9859@meghana-HP-Pavilion-Notebook> <20170929122025.GA29498@meghana-HP-Pavilion-Notebook> <4b32d910-f0af-e9cb-feb7-4bc4174bc9c3@tronnes.org> <20170929141324.GA30107@meghana-HP-Pavilion-Notebook> From: =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= Message-ID: <08dd8e6a-3028-098e-e193-9f408c6a9633@tronnes.org> Date: Fri, 29 Sep 2017 17:41:04 +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: <20170929141324.GA30107@meghana-HP-Pavilion-Notebook> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Den 29.09.2017 16.13, skrev Meghana Madhyastha: > On Fri, Sep 29, 2017 at 02:33:12PM +0200, Noralf Trønnes wrote: >> Den 29.09.2017 14.20, skrev Meghana Madhyastha: >>> On Fri, Sep 29, 2017 at 02:10:31PM +0200, Noralf Trønnes wrote: >>>> Den 29.09.2017 05.22, skrev Meghana Madhyastha: >>>>> On Thu, Sep 28, 2017 at 06:02:27PM +0200, Noralf Trønnes wrote: >>>>>> Den 28.09.2017 16.08, skrev Daniel Vetter: >>>>>>> On Thu, Sep 28, 2017 at 02:44:34PM +0530, Meghana Madhyastha wrote: >>>>>>>> Rename tinydrm_of_find_backlight to drm_of_find_backlight >>>>>>>> and move it into drm_of.c from tinydrm-helpers.c. This is >>>>>>>> because other drivers in the drm subsystem might need to call >>>>>>>> this function. In that case and otherwise, it is better from >>>>>>>> an organizational point of view to move it into drm_of.c along >>>>>>>> with the other _of.c functions. >>>>>>>> >>>>>>>> Signed-off-by: Meghana Madhyastha >>>>>>>> --- >>>>>>>> Changes in v3: >>>>>>>> -Change it back to a single patch from two patches in v2 >>>>>>>> >>>>>>>> drivers/gpu/drm/drm_of.c | 44 ++++++++++++++++++++++++++ >>>>>>>> drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c | 40 ----------------------- >>>>>>>> drivers/gpu/drm/tinydrm/mi0283qt.c | 3 +- >>>>>>>> include/drm/drm_of.h | 1 + >>>>>>>> include/drm/tinydrm/tinydrm-helpers.h | 1 - >>>>>>>> 5 files changed, 47 insertions(+), 42 deletions(-) >>>>>>>> >>>>>>>> diff --git a/drivers/gpu/drm/drm_of.c b/drivers/gpu/drm/drm_of.c >>>>>>>> index 8dafbdf..d878d3a 100644 >>>>>>>> --- a/drivers/gpu/drm/drm_of.c >>>>>>>> +++ b/drivers/gpu/drm/drm_of.c >>>>>>>> @@ -1,6 +1,7 @@ >>>>>>>> #include >>>>>>>> #include >>>>>>>> #include >>>>>>>> +#include >>>>>>>> #include >>>>>>>> #include >>>>>>>> #include >>>>>>>> @@ -260,3 +261,46 @@ int drm_of_find_panel_or_bridge(const struct device_node *np, >>>>>>>> return ret; >>>>>>>> } >>>>>>>> EXPORT_SYMBOL_GPL(drm_of_find_panel_or_bridge); >>>>>>>> + >>>>>>>> +/** >>>>>>>> + * drm_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. >>>>>>>> + * >>>>>>>> + * Note: It is the responsibility of the caller to call put_device() when >>>>>>>> + * releasing the resource. >>>>>>>> + * >>>>>>>> + * 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 *drm_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(drm_of_find_backlight); >>>>>> Another problem I discovered when trying to compile this, is that if >>>>>> DRM is builtin and LCD_CLASS_DEVICE is a module: >>>>>> >>>>>> drivers/gpu/drm/drm_of.c:292: undefined reference to >>>>>> `of_find_backlight_by_node' >>>>>> >>>>>> I see that I solved this in tinydrm by just selecting >>>>>> BACKLIGHT_LCD_SUPPORT and LCD_CLASS_DEVICE. I'm not aware of a way to >>>>>> force LCD_CLASS_DEVICE to be builtin if DRM is builtin. >>>>>> >>>>>> Arnd fixed a similar type of dependecy in the repaper driver by forcing >>>>>> repaper to be a module if necessary. To be honest, I don't know why his >>>>>> fix works: >>>>>> https://github.com/torvalds/linux/commit/8312a3fe84b96e30a010fa20f933606d976ac002 >>>>> I didn't quite understand how we could use this fix for the current >>>>> case. Isn't this specific to the repaper driver dependency ? >>>> This is the solution Daniel mentions: >>>> >>>>  menuconfig DRM >>>>      tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI >>>> support)" >>>>      depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && HAS_DMA >>>> +   depends on (LCD_CLASS_DEVICE || LCD_CLASS_DEVICE=n) >>> I had tried this but it resulted in a recursive dependencies error. >> What's the error? >> Could this have something to do with tinydrm selecting backlight and >> depending on DRM? >> >> Noralf. > Looks like a case of circular dependencies. The exact error is this: > > scripts/kconfig/mconf Kconfig > drivers/gpu/drm/Kconfig:7:error: recursive dependency detected! > For a resolution refer to Documentation/kbuild/kconfig-language.txt > subsection "Kconfig recursive dependency limitations" > drivers/gpu/drm/Kconfig:7: symbol DRM depends on LCD_CLASS_DEVICE > For a resolution refer to Documentation/kbuild/kconfig-language.txt > subsection "Kconfig recursive dependency limitations" > drivers/video/backlight/Kconfig:16: symbol LCD_CLASS_DEVICE is > selected by FB_CLPS711X > For a resolution refer to Documentation/kbuild/kconfig-language.txt > subsection "Kconfig recursive dependency limitations" > drivers/video/fbdev/Kconfig:338: symbol FB_CLPS711X depends on FB > For a resolution refer to Documentation/kbuild/kconfig-language.txt > subsection "Kconfig recursive dependency limitations" > drivers/video/fbdev/Kconfig:5: symbol FB is selected by > DRM_KMS_FB_HELPER > For a resolution refer to Documentation/kbuild/kconfig-language.txt > subsection "Kconfig recursive dependency limitations" > drivers/gpu/drm/Kconfig:73: symbol DRM_KMS_FB_HELPER is selected by > DRM_FBDEV_EMULATION > For a resolution refer to Documentation/kbuild/kconfig-language.txt > subsection "Kconfig recursive dependency limitations" > drivers/gpu/drm/Kconfig:90: symbol DRM_FBDEV_EMULATION depends on > DRM > > Long story short, the dependency loop is as follows: > > DRM -> LCD_CLASS_DEVICE -> FB_CLPS711X -> FB -> DRM_KMS_FB_HELPER -> > DRM_FBDEV_EMULATION -> DRM I have messed up the options here, it should be BACKLIGHT_CLASS_DEVICE: menuconfig DRM     depends on (BACKLIGHT_CLASS_DEVICE || BACKLIGHT_CLASS_DEVICE=n) It doesn't help with the recusrsive problem, but at least it makes sense: drivers/gpu/drm/Kconfig:7:      symbol DRM depends on BACKLIGHT_CLASS_DEVICE drivers/video/backlight/Kconfig:158:    symbol BACKLIGHT_CLASS_DEVICE is selected by DRM_RADEON drivers/gpu/drm/Kconfig:164:    symbol DRM_RADEON depends on DRM I don't know how to solve this... Noralf.