From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH v2 2/3] drm/sysfs: Don't pollute connector->kdev if drm_sysfs_connector_add() fails Date: Wed, 6 Nov 2013 17:14:24 +0200 Message-ID: <1383750864-4060-1-git-send-email-ville.syrjala@linux.intel.com> References: <87fvrbs4mr.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <87fvrbs4mr.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org To: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkN1 cnJlbnRseSBpZiBkcm1fc3lzZnNfY29ubmVjdG9yX2FkZCgpIGZhaWxzLCBpdCBjYW4gbGVhdmUg Y29ubmVjdG9yLT5rZGV2CnBvcHVsYXRlZCB3aXRoIGFuIEVSUl9QVFIgdmFsdWUsIG9yIHBvaW50 aW5nIHRvIGFuIGFscmVhZHkgZnJlZWQgZGV2aWNlLgpVc2UgYSB0ZW1wb3Jhcnkga2RldiBwb2lu dGVyIGR1cmluZyBkcm1fc3lzZnNfY29ubmVjdG9yX2FkZCgpLCBhbmQKb25seSBzZXQgY29ubmVj dG9yLT5rZGV2IGlmIHRoZSBmdW5jdGlvbiBzdWNjZWVkcy4gVGhpcyBhdm9pZHMgb29wc2luZwpp ZiBkcm1fc3lzZnNfY29ubmVjdG9yX2FkZCgpIGdldHMgY2FsbGVkIGZvciBhIGNvbm5lY3RvciB3 aGVyZQpkcm1fc3lzZnNfY29ubmVjdG9yX2FkZCgpIHByZXZpb3VzbHkgZmFpbGVkLgoKR2l2ZSBk cm1fc3lzZnNfZGV2aWNlX2FkZCgpIHRoZSBzYW1lIHRyZWF0bWVudCBmb3IgdGhlIHNha2Ugb2YK Y29uc2lzdGVuY3kuCgp2Mjogcy9kcm1fY29ubmVjdG9yX3N5c2ZzX2FkZC9kcm1fc3lzZnNfY29u bmVjdG9yX2FkZAogICAgTWFrZSBkcm1fc3lzZnNfZGV2aWNlX2FkZCgpIHRvbGVyYXRlIG11bHRp cGxlIGNhbGxzCgpSZXZpZXdlZC1ieTogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNv bT4KU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4Lmlu dGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX3N5c2ZzLmMgfCA0NiArKysrKysrKysr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyOCBp bnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZHJtX3N5c2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3N5c2ZzLmMKaW5kZXggMWEzNWVh NS4uOTVjNzAxYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9zeXNmcy5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fc3lzZnMuYwpAQCAtMzcwLDYgKzM3MCw3IEBAIHN0YXRpYyBz dHJ1Y3QgYmluX2F0dHJpYnV0ZSBlZGlkX2F0dHIgPSB7CiBpbnQgZHJtX3N5c2ZzX2Nvbm5lY3Rv cl9hZGQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHsKIAlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gY29ubmVjdG9yLT5kZXY7CisJc3RydWN0IGRldmljZSAqa2RldjsKIAlpbnQg YXR0cl9jbnQgPSAwOwogCWludCBvcHRfY250ID0gMDsKIAlpbnQgaTsKQEAgLTM3OCwyMiArMzc5 LDIyIEBAIGludCBkcm1fc3lzZnNfY29ubmVjdG9yX2FkZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yKQogCWlmIChjb25uZWN0b3ItPmtkZXYpCiAJCXJldHVybiAwOwogCi0JY29ubmVj dG9yLT5rZGV2ID0gZGV2aWNlX2NyZWF0ZShkcm1fY2xhc3MsIGRldi0+cHJpbWFyeS0+a2RldiwK LQkJCQkJMCwgY29ubmVjdG9yLCAiY2FyZCVkLSVzIiwKLQkJCQkJZGV2LT5wcmltYXJ5LT5pbmRl eCwgZHJtX2dldF9jb25uZWN0b3JfbmFtZShjb25uZWN0b3IpKTsKKwlrZGV2ID0gZGV2aWNlX2Ny ZWF0ZShkcm1fY2xhc3MsIGRldi0+cHJpbWFyeS0+a2RldiwKKwkJCSAgICAgMCwgY29ubmVjdG9y LCAiY2FyZCVkLSVzIiwKKwkJCSAgICAgZGV2LT5wcmltYXJ5LT5pbmRleCwgZHJtX2dldF9jb25u ZWN0b3JfbmFtZShjb25uZWN0b3IpKTsKIAlEUk1fREVCVUcoImFkZGluZyBcIiVzXCIgdG8gc3lz ZnNcbiIsCiAJCSAgZHJtX2dldF9jb25uZWN0b3JfbmFtZShjb25uZWN0b3IpKTsKIAotCWlmIChJ U19FUlIoY29ubmVjdG9yLT5rZGV2KSkgewotCQlEUk1fRVJST1IoImZhaWxlZCB0byByZWdpc3Rl ciBjb25uZWN0b3IgZGV2aWNlOiAlbGRcbiIsIFBUUl9FUlIoY29ubmVjdG9yLT5rZGV2KSk7Ci0J CXJldCA9IFBUUl9FUlIoY29ubmVjdG9yLT5rZGV2KTsKKwlpZiAoSVNfRVJSKGtkZXYpKSB7CisJ CURSTV9FUlJPUigiZmFpbGVkIHRvIHJlZ2lzdGVyIGNvbm5lY3RvciBkZXZpY2U6ICVsZFxuIiwg UFRSX0VSUihrZGV2KSk7CisJCXJldCA9IFBUUl9FUlIoa2Rldik7CiAJCWdvdG8gb3V0OwogCX0K IAogCS8qIFN0YW5kYXJkIGF0dHJpYnV0ZXMgKi8KIAogCWZvciAoYXR0cl9jbnQgPSAwOyBhdHRy X2NudCA8IEFSUkFZX1NJWkUoY29ubmVjdG9yX2F0dHJzKTsgYXR0cl9jbnQrKykgewotCQlyZXQg PSBkZXZpY2VfY3JlYXRlX2ZpbGUoY29ubmVjdG9yLT5rZGV2LCAmY29ubmVjdG9yX2F0dHJzW2F0 dHJfY250XSk7CisJCXJldCA9IGRldmljZV9jcmVhdGVfZmlsZShrZGV2LCAmY29ubmVjdG9yX2F0 dHJzW2F0dHJfY250XSk7CiAJCWlmIChyZXQpCiAJCQlnb3RvIGVycl9vdXRfZmlsZXM7CiAJfQpA QCAtNDEwLDcgKzQxMSw3IEBAIGludCBkcm1fc3lzZnNfY29ubmVjdG9yX2FkZChzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCQljYXNlIERSTV9NT0RFX0NPTk5FQ1RPUl9Db21wb25l bnQ6CiAJCWNhc2UgRFJNX01PREVfQ09OTkVDVE9SX1RWOgogCQkJZm9yIChvcHRfY250ID0gMDsg b3B0X2NudCA8IEFSUkFZX1NJWkUoY29ubmVjdG9yX2F0dHJzX29wdDEpOyBvcHRfY250KyspIHsK LQkJCQlyZXQgPSBkZXZpY2VfY3JlYXRlX2ZpbGUoY29ubmVjdG9yLT5rZGV2LCAmY29ubmVjdG9y X2F0dHJzX29wdDFbb3B0X2NudF0pOworCQkJCXJldCA9IGRldmljZV9jcmVhdGVfZmlsZShrZGV2 LCAmY29ubmVjdG9yX2F0dHJzX29wdDFbb3B0X2NudF0pOwogCQkJCWlmIChyZXQpCiAJCQkJCWdv dG8gZXJyX291dF9maWxlczsKIAkJCX0KQEAgLTQxOSwyMSArNDIwLDIzIEBAIGludCBkcm1fc3lz ZnNfY29ubmVjdG9yX2FkZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCQkJYnJl YWs7CiAJfQogCi0JcmV0ID0gc3lzZnNfY3JlYXRlX2Jpbl9maWxlKCZjb25uZWN0b3ItPmtkZXYt PmtvYmosICZlZGlkX2F0dHIpOworCXJldCA9IHN5c2ZzX2NyZWF0ZV9iaW5fZmlsZSgma2Rldi0+ a29iaiwgJmVkaWRfYXR0cik7CiAJaWYgKHJldCkKIAkJZ290byBlcnJfb3V0X2ZpbGVzOwogCiAJ LyogTGV0IHVzZXJzcGFjZSBrbm93IHdlIGhhdmUgYSBuZXcgY29ubmVjdG9yICovCiAJZHJtX3N5 c2ZzX2hvdHBsdWdfZXZlbnQoZGV2KTsKIAorCWNvbm5lY3Rvci0+a2RldiA9IGtkZXY7CisKIAly ZXR1cm4gMDsKIAogZXJyX291dF9maWxlczoKIAlmb3IgKGkgPSAwOyBpIDwgb3B0X2NudDsgaSsr KQotCQlkZXZpY2VfcmVtb3ZlX2ZpbGUoY29ubmVjdG9yLT5rZGV2LCAmY29ubmVjdG9yX2F0dHJz X29wdDFbaV0pOworCQlkZXZpY2VfcmVtb3ZlX2ZpbGUoa2RldiwgJmNvbm5lY3Rvcl9hdHRyc19v cHQxW2ldKTsKIAlmb3IgKGkgPSAwOyBpIDwgYXR0cl9jbnQ7IGkrKykKLQkJZGV2aWNlX3JlbW92 ZV9maWxlKGNvbm5lY3Rvci0+a2RldiwgJmNvbm5lY3Rvcl9hdHRyc1tpXSk7Ci0JZGV2aWNlX3Vu cmVnaXN0ZXIoY29ubmVjdG9yLT5rZGV2KTsKKwkJZGV2aWNlX3JlbW92ZV9maWxlKGtkZXYsICZj b25uZWN0b3JfYXR0cnNbaV0pOworCWRldmljZV91bnJlZ2lzdGVyKGtkZXYpOwogCiBvdXQ6CiAJ cmV0dXJuIHJldDsKQEAgLTUwMSw2ICs1MDQsMTAgQEAgRVhQT1JUX1NZTUJPTChkcm1fc3lzZnNf aG90cGx1Z19ldmVudCk7CiBpbnQgZHJtX3N5c2ZzX2RldmljZV9hZGQoc3RydWN0IGRybV9taW5v ciAqbWlub3IpCiB7CiAJY2hhciAqbWlub3Jfc3RyOworCXN0cnVjdCBkZXZpY2UgKmtkZXY7CisK KwlpZiAobWlub3ItPmtkZXYpCisJCXJldHVybiAwOwogCiAJaWYgKG1pbm9yLT50eXBlID09IERS TV9NSU5PUl9DT05UUk9MKQogCQltaW5vcl9zdHIgPSAiY29udHJvbEQlZCI7CkBAIC01MDksMTMg KzUxNiwxNiBAQCBpbnQgZHJtX3N5c2ZzX2RldmljZV9hZGQoc3RydWN0IGRybV9taW5vciAqbWlu b3IpCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBtaW5vcl9zdHIgPSAiY2FyZCVkIjsK IAotCW1pbm9yLT5rZGV2ID0gZGV2aWNlX2NyZWF0ZShkcm1fY2xhc3MsIG1pbm9yLT5kZXYtPmRl diwKLQkJCQkgICAgTUtERVYoRFJNX01BSk9SLCBtaW5vci0+aW5kZXgpLAotCQkJCSAgICBtaW5v ciwgbWlub3Jfc3RyLCBtaW5vci0+aW5kZXgpOwotCWlmIChJU19FUlIobWlub3ItPmtkZXYpKSB7 Ci0JCURSTV9FUlJPUigiZGV2aWNlIGNyZWF0ZSBmYWlsZWQgJWxkXG4iLCBQVFJfRVJSKG1pbm9y LT5rZGV2KSk7Ci0JCXJldHVybiBQVFJfRVJSKG1pbm9yLT5rZGV2KTsKKwlrZGV2ID0gZGV2aWNl X2NyZWF0ZShkcm1fY2xhc3MsIG1pbm9yLT5kZXYtPmRldiwKKwkJCSAgICAgTUtERVYoRFJNX01B Sk9SLCBtaW5vci0+aW5kZXgpLAorCQkJICAgICBtaW5vciwgbWlub3Jfc3RyLCBtaW5vci0+aW5k ZXgpOworCWlmIChJU19FUlIoa2RldikpIHsKKwkJRFJNX0VSUk9SKCJkZXZpY2UgY3JlYXRlIGZh aWxlZCAlbGRcbiIsIFBUUl9FUlIoa2RldikpOworCQlyZXR1cm4gUFRSX0VSUihrZGV2KTsKIAl9 CisKKwltaW5vci0+a2RldiA9IGtkZXY7CisKIAlyZXR1cm4gMDsKIH0KIAotLSAKMS44LjEuNQoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK