From mboxrd@z Thu Jan 1 00:00:00 1970 From: Axel Lin Date: Fri, 25 Nov 2011 07:06:27 +0000 Subject: [lm-sensors] [PATCH] hwmon: convert drivers/hwmon/* to use Message-Id: <1322204787.11718.1.camel@phoenix> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-kernel@vger.kernel.org Cc: Corentin Labbe , Dirk Eibach , "Mark M. Hoffman" , Steve Glendinning , Riku Voipio , Guillaume Ligneul , David George , "Hans J. Koch" , Marc Hulsman , Rudolf Marek , Jean Delvare , Guenter Roeck , lm-sensors@lm-sensors.org VGhpcyBwYXRjaCBjb252ZXJ0cyB0aGUgZHJpdmVycyBpbiBkcml2ZXJzL2h3bW9uLyogdG8gdXNl IHRoZQptb2R1bGVfaTJjX2RyaXZlcigpIG1hY3JvIHdoaWNoIG1ha2VzIHRoZSBjb2RlIHNtYWxs ZXIgYW5kIGEgYml0CnNpbXBsZXIuCgpDYzogQ29yZW50aW4gTGFiYmUgPGNvcmVudGluLmxhYmJl QGdlb21hdHlzLmZyPgpDYzogRGlyayBFaWJhY2ggPGVpYmFjaEBnZHN5cy5kZT4KQ2M6ICJNYXJr IE0uIEhvZmZtYW4iIDxtaG9mZm1hbkBsaWdodGxpbmsuY29tPgpDYzogU3RldmUgR2xlbmRpbm5p bmcgPHN0ZXZlLmdsZW5kaW5uaW5nQHNtc2MuY29tPgpDYzogUmlrdSBWb2lwaW8gPHJpa3Uudm9p cGlvQGlraS5maT4KQ2M6IEd1aWxsYXVtZSBMaWduZXVsIDxndWlsbGF1bWUubGlnbmV1bEBnbWFp bC5jb20+CkNjOiBEYXZpZCBHZW9yZ2UgPGRhdmlkLmdlb3JnZUBza2EuYWMuemE+CkNjOiAiSGFu cyBKLiBLb2NoIiA8aGprQGhhbnNqa29jaC5kZT4KQ2M6IE1hcmMgSHVsc21hbiA8bS5odWxzbWFu QHR1ZGVsZnQubmw+CkNjOiBSdWRvbGYgTWFyZWsgPHIubWFyZWtAYXNzZW1ibGVyLmN6PgpTaWdu ZWQtb2ZmLWJ5OiBBeGVsIExpbiA8YXhlbC5saW5AZ21haWwuY29tPgotLS0KIGRyaXZlcnMvaHdt b24vYWQ3NDE0LmMgICAgICB8ICAgMTIgKy0tLS0tLS0tLS0tCiBkcml2ZXJzL2h3bW9uL2FkNzQx OC5jICAgICAgfCAgIDEzICstLS0tLS0tLS0tLS0KIGRyaXZlcnMvaHdtb24vYWRtMTAyMS5jICAg ICB8ICAgMTMgKy0tLS0tLS0tLS0tLQogZHJpdmVycy9od21vbi9hZG0xMDI1LmMgICAgIHwgICAx MyArLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2h3bW9uL2FkbTEwMjYuYyAgICAgfCAgIDEzICstLS0t LS0tLS0tLS0KIGRyaXZlcnMvaHdtb24vYWRtMTAyOS5jICAgICB8ICAgMTggKy0tLS0tLS0tLS0t LS0tLS0tCiBkcml2ZXJzL2h3bW9uL2FkbTEwMzEuYyAgICAgfCAgIDEzICstLS0tLS0tLS0tLS0K IGRyaXZlcnMvaHdtb24vYWRtOTI0MC5jICAgICB8ICAgMTQgKy0tLS0tLS0tLS0tLS0KIGRyaXZl cnMvaHdtb24vYWRzMTAxNS5jICAgICB8ICAgMTMgKy0tLS0tLS0tLS0tLQogZHJpdmVycy9od21v bi9hZHQ3NDExLmMgICAgIHwgICAxMiArLS0tLS0tLS0tLS0KIGRyaXZlcnMvaHdtb24vYWR0NzQ2 Mi5jICAgICB8ICAgMTMgKy0tLS0tLS0tLS0tLQogZHJpdmVycy9od21vbi9hZHQ3NDcwLmMgICAg IHwgICAxMyArLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2h3bW9uL2FkdDc0NzUuYyAgICAgfCAgIDEz ICstLS0tLS0tLS0tLS0KIGRyaXZlcnMvaHdtb24vYW1jNjgyMS5jICAgICB8ICAgMTUgKy0tLS0t LS0tLS0tLS0tCiBkcml2ZXJzL2h3bW9uL2FzYjEwMC5jICAgICAgfCAgIDEzICstLS0tLS0tLS0t LS0KIGRyaXZlcnMvaHdtb24vYXR4cDEuYyAgICAgICB8ICAgMTMgKy0tLS0tLS0tLS0tLQogZHJp dmVycy9od21vbi9kczE2MjEuYyAgICAgIHwgICAxNCArLS0tLS0tLS0tLS0tLQogZHJpdmVycy9o d21vbi9kczYyMC5jICAgICAgIHwgICAxMyArLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2h3bW9uL2Vt YzE0MDMuYyAgICAgfCAgIDEzICstLS0tLS0tLS0tLS0KIGRyaXZlcnMvaHdtb24vZW1jMjEwMy5j ICAgICB8ICAgMTMgKy0tLS0tLS0tLS0tLQogZHJpdmVycy9od21vbi9lbWM2dzIwMS5jICAgIHwg ICAxMiArLS0tLS0tLS0tLS0KIGRyaXZlcnMvaHdtb24vZjc1Mzc1cy5jICAgICB8ICAgMTMgKy0t LS0tLS0tLS0tLQogZHJpdmVycy9od21vbi9mc2NobWQuYyAgICAgIHwgICAxMyArLS0tLS0tLS0t LS0tCiBkcml2ZXJzL2h3bW9uL2c3NjBhLmMgICAgICAgfCAgIDE1ICstLS0tLS0tLS0tLS0tLQog ZHJpdmVycy9od21vbi9nbDUxOHNtLmMgICAgIHwgICAxMyArLS0tLS0tLS0tLS0tCiBkcml2ZXJz L2h3bW9uL2dsNTIwc20uYyAgICAgfCAgIDE1ICstLS0tLS0tLS0tLS0tLQogZHJpdmVycy9od21v bi9qYzQyLmMgICAgICAgIHwgICAxMyArLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2h3bW9uL2xpbmVh Z2UtcGVtLmMgfCAgIDEzICstLS0tLS0tLS0tLS0KIGRyaXZlcnMvaHdtb24vbG02My5jICAgICAg ICB8ICAgMTMgKy0tLS0tLS0tLS0tLQogZHJpdmVycy9od21vbi9sbTczLmMgICAgICAgIHwgICAx NSArLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvaHdtb24vbG03NS5jICAgICAgICB8ICAgMTcgKy0t LS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvaHdtb24vbG03Ny5jICAgICAgICB8ICAgMTMgKy0tLS0t LS0tLS0tLQogZHJpdmVycy9od21vbi9sbTgwLmMgICAgICAgIHwgICAxMyArLS0tLS0tLS0tLS0t CiBkcml2ZXJzL2h3bW9uL2xtODMuYyAgICAgICAgfCAgIDEzICstLS0tLS0tLS0tLS0KIGRyaXZl cnMvaHdtb24vbG04NS5jICAgICAgICB8ICAgMTQgKy0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvaHdt b24vbG04Ny5jICAgICAgICB8ICAgMTMgKy0tLS0tLS0tLS0tLQogZHJpdmVycy9od21vbi9sbTkw LmMgICAgICAgIHwgICAxMyArLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2h3bW9uL2xtOTIuYyAgICAg ICAgfCAgIDEzICstLS0tLS0tLS0tLS0KIGRyaXZlcnMvaHdtb24vbG05My5jICAgICAgICB8ICAg MTMgKy0tLS0tLS0tLS0tLQogZHJpdmVycy9od21vbi9sbTk1MjQxLmMgICAgIHwgICAxMyArLS0t LS0tLS0tLS0tCiBkcml2ZXJzL2h3bW9uL2xtOTUyNDUuYyAgICAgfCAgIDEzICstLS0tLS0tLS0t LS0KIGRyaXZlcnMvaHdtb24vbHRjNDE1MS5jICAgICB8ICAgMTMgKy0tLS0tLS0tLS0tLQogZHJp dmVycy9od21vbi9sdGM0MjE1LmMgICAgIHwgICAxMyArLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2h3 bW9uL2x0YzQyNDUuYyAgICAgfCAgIDEzICstLS0tLS0tLS0tLS0KIGRyaXZlcnMvaHdtb24vbHRj NDI2MS5jICAgICB8ICAgMTMgKy0tLS0tLS0tLS0tLQogZHJpdmVycy9od21vbi9tYXgxNjA2NS5j ICAgIHwgICAxMyArLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2h3bW9uL21heDE2MTkuYyAgICAgfCAg IDEzICstLS0tLS0tLS0tLS0KIGRyaXZlcnMvaHdtb24vbWF4MTY2OC5jICAgICB8ICAgMTMgKy0t LS0tLS0tLS0tLQogZHJpdmVycy9od21vbi9tYXg2NjM5LmMgICAgIHwgICAxMyArLS0tLS0tLS0t LS0tCiBkcml2ZXJzL2h3bW9uL21heDY2NDIuYyAgICAgfCAgIDEzICstLS0tLS0tLS0tLS0KIGRy aXZlcnMvaHdtb24vbWF4NjY1MC5jICAgICB8ICAgMTMgKy0tLS0tLS0tLS0tLQogZHJpdmVycy9o d21vbi9zaHQyMS5jICAgICAgIHwgICAyMyArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVy cy9od21vbi9zbW02NjUuYyAgICAgIHwgICAxMyArLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2h3bW9u L3Ntc2M0N20xOTIuYyAgfCAgIDEzICstLS0tLS0tLS0tLS0KIGRyaXZlcnMvaHdtb24vdGhtYzUw LmMgICAgICB8ICAgMTMgKy0tLS0tLS0tLS0tLQogZHJpdmVycy9od21vbi90bXAxMDIuYyAgICAg IHwgICAxMiArLS0tLS0tLS0tLS0KIGRyaXZlcnMvaHdtb24vdG1wNDAxLmMgICAgICB8ICAgMTMg Ky0tLS0tLS0tLS0tLQogZHJpdmVycy9od21vbi90bXA0MjEuYyAgICAgIHwgICAxMyArLS0tLS0t LS0tLS0tCiBkcml2ZXJzL2h3bW9uL3c4Mzc5MWQuYyAgICAgfCAgIDEzICstLS0tLS0tLS0tLS0K IGRyaXZlcnMvaHdtb24vdzgzNzkyZC5jICAgICB8ICAgMTYgKy0tLS0tLS0tLS0tLS0tLQogZHJp dmVycy9od21vbi93ODM3OTMuYyAgICAgIHwgICAxMyArLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2h3 bW9uL3c4Mzc5NS5jICAgICAgfCAgIDEzICstLS0tLS0tLS0tLS0KIGRyaXZlcnMvaHdtb24vdzgz bDc4NXRzLmMgICB8ICAgMTMgKy0tLS0tLS0tLS0tLQogZHJpdmVycy9od21vbi93ODNsNzg2bmcu YyAgIHwgICAxNSArLS0tLS0tLS0tLS0tLS0KIDY0IGZpbGVzIGNoYW5nZWQsIDY0IGluc2VydGlv bnMoKyksIDc5OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2h3bW9uL2FkNzQx NC5jIGIvZHJpdmVycy9od21vbi9hZDc0MTQuYwppbmRleCBkZjI5YTdmLi4yMmMyNDIwIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2h3bW9uL2FkNzQxNC5jCisrKyBiL2RyaXZlcnMvaHdtb24vYWQ3NDE0 LmMKQEAgLTI1MiwxNyArMjUyLDcgQEAgc3RhdGljIHN0cnVjdCBpMmNfZHJpdmVyIGFkNzQxNF9k cml2ZXIgPSB7CiAJLmlkX3RhYmxlID0gYWQ3NDE0X2lkLAogfTsKIAotc3RhdGljIGludCBfX2lu aXQgYWQ3NDE0X2luaXQodm9pZCkKLXsKLQlyZXR1cm4gaTJjX2FkZF9kcml2ZXIoJmFkNzQxNF9k cml2ZXIpOwotfQotbW9kdWxlX2luaXQoYWQ3NDE0X2luaXQpOwotCi1zdGF0aWMgdm9pZCBfX2V4 aXQgYWQ3NDE0X2V4aXQodm9pZCkKLXsKLQlpMmNfZGVsX2RyaXZlcigmYWQ3NDE0X2RyaXZlcik7 Ci19Ci1tb2R1bGVfZXhpdChhZDc0MTRfZXhpdCk7Cittb2R1bGVfaTJjX2RyaXZlcihhZDc0MTRf ZHJpdmVyKTsKIAogTU9EVUxFX0FVVEhPUigiU3RlZmFuIFJvZXNlIDxzciBhdCBkZW54LmRlPiwg IgogCSAgICAgICJGcmFuayBFZGVsaGFldXNlciA8ZnJhbmsuZWRlbGhhZXVzZXIgYXQgc3BhbnNp b24uY29tPiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi9hZDc0MTguYyBiL2RyaXZlcnMv aHdtb24vYWQ3NDE4LmMKaW5kZXggOGNiNzE4Yy4uMzY3MjQ0YiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9od21vbi9hZDc0MTguYworKysgYi9kcml2ZXJzL2h3bW9uL2FkNzQxOC5jCkBAIC0yODksMjAg KzI4OSw5IEBAIHN0YXRpYyBpbnQgYWQ3NDE4X3JlbW92ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xp ZW50KQogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IF9faW5pdCBhZDc0MThfaW5pdCh2b2lk KQotewotCXJldHVybiBpMmNfYWRkX2RyaXZlcigmYWQ3NDE4X2RyaXZlcik7Ci19Ci0KLXN0YXRp YyB2b2lkIF9fZXhpdCBhZDc0MThfZXhpdCh2b2lkKQotewotCWkyY19kZWxfZHJpdmVyKCZhZDc0 MThfZHJpdmVyKTsKLX0KK21vZHVsZV9pMmNfZHJpdmVyKGFkNzQxOF9kcml2ZXIpOwogCiBNT0RV TEVfQVVUSE9SKCJBbGVzc2FuZHJvIFp1bW1vIDxhLnp1bW1vQHRvd2VydGVjaC5pdD4iKTsKIE1P RFVMRV9ERVNDUklQVElPTigiQUQ3NDE2LzE3LzE4IGRyaXZlciIpOwogTU9EVUxFX0xJQ0VOU0Uo IkdQTCIpOwogTU9EVUxFX1ZFUlNJT04oRFJWX1ZFUlNJT04pOwotCi1tb2R1bGVfaW5pdChhZDc0 MThfaW5pdCk7Ci1tb2R1bGVfZXhpdChhZDc0MThfZXhpdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2h3bW9uL2FkbTEwMjEuYyBiL2RyaXZlcnMvaHdtb24vYWRtMTAyMS5jCmluZGV4IDFhZDBhODgu LjU0OThhZWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaHdtb24vYWRtMTAyMS5jCisrKyBiL2RyaXZl cnMvaHdtb24vYWRtMTAyMS5jCkBAIC00NTEsMTUgKzQ1MSw3IEBAIHN0YXRpYyBzdHJ1Y3QgYWRt MTAyMV9kYXRhICphZG0xMDIxX3VwZGF0ZV9kZXZpY2Uoc3RydWN0IGRldmljZSAqZGV2KQogCXJl dHVybiBkYXRhOwogfQogCi1zdGF0aWMgaW50IF9faW5pdCBzZW5zb3JzX2FkbTEwMjFfaW5pdCh2 b2lkKQotewotCXJldHVybiBpMmNfYWRkX2RyaXZlcigmYWRtMTAyMV9kcml2ZXIpOwotfQotCi1z dGF0aWMgdm9pZCBfX2V4aXQgc2Vuc29yc19hZG0xMDIxX2V4aXQodm9pZCkKLXsKLQlpMmNfZGVs X2RyaXZlcigmYWRtMTAyMV9kcml2ZXIpOwotfQorbW9kdWxlX2kyY19kcml2ZXIoYWRtMTAyMV9k cml2ZXIpOwogCiBNT0RVTEVfQVVUSE9SICgiRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5s PiBhbmQgIgogCQkiUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPiIpOwpAQCAt NDY4LDYgKzQ2MCwzIEBAIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKIAogbW9kdWxlX3BhcmFtKHJl YWRfb25seSwgYm9vbCwgMCk7CiBNT0RVTEVfUEFSTV9ERVNDKHJlYWRfb25seSwgIkRvbid0IHNl dCBhbnkgdmFsdWVzLCByZWFkIG9ubHkgbW9kZSIpOwotCi1tb2R1bGVfaW5pdChzZW5zb3JzX2Fk bTEwMjFfaW5pdCkKLW1vZHVsZV9leGl0KHNlbnNvcnNfYWRtMTAyMV9leGl0KQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9od21vbi9hZG0xMDI1LmMgYi9kcml2ZXJzL2h3bW9uL2FkbTEwMjUuYwppbmRl eCA2MGJlZmMwLi5mMDJjMzhiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2h3bW9uL2FkbTEwMjUuYwor KysgYi9kcml2ZXJzL2h3bW9uL2FkbTEwMjUuYwpAQCAtNTg5LDE5ICs1ODksOCBAQCBzdGF0aWMg c3RydWN0IGFkbTEwMjVfZGF0YSAqYWRtMTAyNV91cGRhdGVfZGV2aWNlKHN0cnVjdCBkZXZpY2Ug KmRldikKIAlyZXR1cm4gZGF0YTsKIH0KIAotc3RhdGljIGludCBfX2luaXQgc2Vuc29yc19hZG0x MDI1X2luaXQodm9pZCkKLXsKLQlyZXR1cm4gaTJjX2FkZF9kcml2ZXIoJmFkbTEwMjVfZHJpdmVy KTsKLX0KLQotc3RhdGljIHZvaWQgX19leGl0IHNlbnNvcnNfYWRtMTAyNV9leGl0KHZvaWQpCi17 Ci0JaTJjX2RlbF9kcml2ZXIoJmFkbTEwMjVfZHJpdmVyKTsKLX0KK21vZHVsZV9pMmNfZHJpdmVy KGFkbTEwMjVfZHJpdmVyKTsKIAogTU9EVUxFX0FVVEhPUigiSmVhbiBEZWx2YXJlIDxraGFsaUBs aW51eC1mci5vcmc+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIkFETTEwMjUgZHJpdmVyIik7CiBN T0RVTEVfTElDRU5TRSgiR1BMIik7Ci0KLW1vZHVsZV9pbml0KHNlbnNvcnNfYWRtMTAyNV9pbml0 KTsKLW1vZHVsZV9leGl0KHNlbnNvcnNfYWRtMTAyNV9leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvaHdtb24vYWRtMTAyNi5jIGIvZHJpdmVycy9od21vbi9hZG0xMDI2LmMKaW5kZXggMDUzMTg2 Ny4uYmUxNzA4MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9od21vbi9hZG0xMDI2LmMKKysrIGIvZHJp dmVycy9od21vbi9hZG0xMDI2LmMKQEAgLTE3NjEsMjAgKzE3NjEsOSBAQCBzdGF0aWMgaW50IGFk bTEwMjZfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCiAJcmV0dXJuIDA7CiB9CiAK LXN0YXRpYyBpbnQgX19pbml0IHNtX2FkbTEwMjZfaW5pdCh2b2lkKQotewotCXJldHVybiBpMmNf YWRkX2RyaXZlcigmYWRtMTAyNl9kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgc21f YWRtMTAyNl9leGl0KHZvaWQpCi17Ci0JaTJjX2RlbF9kcml2ZXIoJmFkbTEwMjZfZHJpdmVyKTsK LX0KK21vZHVsZV9pMmNfZHJpdmVyKGFkbTEwMjZfZHJpdmVyKTsKIAogTU9EVUxFX0xJQ0VOU0Uo IkdQTCIpOwogTU9EVUxFX0FVVEhPUigiUGhpbGlwIFBva29ybnkgPHBwb2tvcm55QHBlbmd1aW5j b21wdXRpbmcuY29tPiwgIgogCSAgICAgICJKdXN0aW4gVGhpZXNzZW4gPGp0aGllc3NlbkBwZW5n dWluY29tcHV0aW5nLmNvbT4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigiQURNMTAyNiBkcml2ZXIi KTsKLQotbW9kdWxlX2luaXQoc21fYWRtMTAyNl9pbml0KTsKLW1vZHVsZV9leGl0KHNtX2FkbTEw MjZfZXhpdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2h3bW9uL2FkbTEwMjkuYyBiL2RyaXZlcnMv aHdtb24vYWRtMTAyOS5jCmluZGV4IDBiOGEzYjEuLjhlNWFkYjIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvaHdtb24vYWRtMTAyOS5jCisrKyBiL2RyaXZlcnMvaHdtb24vYWRtMTAyOS5jCkBAIC00NDYs MjQgKzQ0Niw4IEBAIHN0YXRpYyBzdHJ1Y3QgYWRtMTAyOV9kYXRhICphZG0xMDI5X3VwZGF0ZV9k ZXZpY2Uoc3RydWN0IGRldmljZSAqZGV2KQogCXJldHVybiBkYXRhOwogfQogCi0vKgotCUNvbW1v biBtb2R1bGUgc3R1ZmYKLSovCi1zdGF0aWMgaW50IF9faW5pdCBzZW5zb3JzX2FkbTEwMjlfaW5p dCh2b2lkKQotewotCi0JcmV0dXJuIGkyY19hZGRfZHJpdmVyKCZhZG0xMDI5X2RyaXZlcik7Ci19 Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBzZW5zb3JzX2FkbTEwMjlfZXhpdCh2b2lkKQotewotCi0J aTJjX2RlbF9kcml2ZXIoJmFkbTEwMjlfZHJpdmVyKTsKLX0KK21vZHVsZV9pMmNfZHJpdmVyKGFk bTEwMjlfZHJpdmVyKTsKIAogTU9EVUxFX0FVVEhPUigiQ29yZW50aW4gTEFCQkUgPGNvcmVudGlu LmxhYmJlQGdlb21hdHlzLmZyPiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJhZG0xMDI5IGRyaXZl ciIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOwotCi1tb2R1bGVfaW5pdChzZW5zb3JzX2Fk bTEwMjlfaW5pdCk7Ci1tb2R1bGVfZXhpdChzZW5zb3JzX2FkbTEwMjlfZXhpdCk7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2h3bW9uL2FkbTEwMzEuYyBiL2RyaXZlcnMvaHdtb24vYWRtMTAzMS5jCmlu ZGV4IDA2ODNlNmIuLjcxYmU0MmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaHdtb24vYWRtMTAzMS5j CisrKyBiL2RyaXZlcnMvaHdtb24vYWRtMTAzMS5jCkBAIC0xMDc4LDE5ICsxMDc4LDggQEAgc3Rh dGljIHN0cnVjdCBhZG0xMDMxX2RhdGEgKmFkbTEwMzFfdXBkYXRlX2RldmljZShzdHJ1Y3QgZGV2 aWNlICpkZXYpCiAJcmV0dXJuIGRhdGE7CiB9CiAKLXN0YXRpYyBpbnQgX19pbml0IHNlbnNvcnNf YWRtMTAzMV9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIGkyY19hZGRfZHJpdmVyKCZhZG0xMDMxX2Ry aXZlcik7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBzZW5zb3JzX2FkbTEwMzFfZXhpdCh2b2lk KQotewotCWkyY19kZWxfZHJpdmVyKCZhZG0xMDMxX2RyaXZlcik7Ci19Cittb2R1bGVfaTJjX2Ry aXZlcihhZG0xMDMxX2RyaXZlcik7CiAKIE1PRFVMRV9BVVRIT1IoIkFsZXhhbmRyZSBkJ0FsdG9u IDxhbGV4QGFsZXhkYWx0b24ub3JnPiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJBRE0xMDMxL0FE TTEwMzAgZHJpdmVyIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7Ci0KLW1vZHVsZV9pbml0KHNl bnNvcnNfYWRtMTAzMV9pbml0KTsKLW1vZHVsZV9leGl0KHNlbnNvcnNfYWRtMTAzMV9leGl0KTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHdtb24vYWRtOTI0MC5jIGIvZHJpdmVycy9od21vbi9hZG05 MjQwLmMKaW5kZXggOWUyMzRiOS4uNWUzMDdiYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9od21vbi9h ZG05MjQwLmMKKysrIGIvZHJpdmVycy9od21vbi9hZG05MjQwLmMKQEAgLTc5NSwyMSArNzk1LDkg QEAgc3RhdGljIHN0cnVjdCBhZG05MjQwX2RhdGEgKmFkbTkyNDBfdXBkYXRlX2RldmljZShzdHJ1 Y3QgZGV2aWNlICpkZXYpCiAJcmV0dXJuIGRhdGE7CiB9CiAKLXN0YXRpYyBpbnQgX19pbml0IHNl bnNvcnNfYWRtOTI0MF9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIGkyY19hZGRfZHJpdmVyKCZhZG05 MjQwX2RyaXZlcik7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBzZW5zb3JzX2FkbTkyNDBfZXhp dCh2b2lkKQotewotCWkyY19kZWxfZHJpdmVyKCZhZG05MjQwX2RyaXZlcik7Ci19Cittb2R1bGVf aTJjX2RyaXZlcihhZG05MjQwX2RyaXZlcik7CiAKIE1PRFVMRV9BVVRIT1IoIk1pY2hpZWwgUm9v ayA8bWljaGllbEBncmVuZGVscHJvamVjdC5ubD4sICIKIAkJIkdyYW50IENvYWR5IDxnY29hZHku bGtAZ21haWwuY29tPiBhbmQgb3RoZXJzIik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIkFETTkyNDAv RFMxNzgwL0xNODEgZHJpdmVyIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7Ci0KLW1vZHVsZV9p bml0KHNlbnNvcnNfYWRtOTI0MF9pbml0KTsKLW1vZHVsZV9leGl0KHNlbnNvcnNfYWRtOTI0MF9l eGl0KTsKLQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi9hZHMxMDE1LmMgYi9kcml2ZXJzL2h3 bW9uL2FkczEwMTUuYwppbmRleCBlZWRjYTNjLi42MGJlMzU4IDEwMDY0NAotLS0gYS9kcml2ZXJz L2h3bW9uL2FkczEwMTUuYworKysgYi9kcml2ZXJzL2h3bW9uL2FkczEwMTUuYwpAQCAtMzA2LDE5 ICszMDYsOCBAQCBzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIgYWRzMTAxNV9kcml2ZXIgPSB7CiAJ LmlkX3RhYmxlID0gYWRzMTAxNV9pZCwKIH07CiAKLXN0YXRpYyBpbnQgX19pbml0IHNlbnNvcnNf YWRzMTAxNV9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIGkyY19hZGRfZHJpdmVyKCZhZHMxMDE1X2Ry aXZlcik7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBzZW5zb3JzX2FkczEwMTVfZXhpdCh2b2lk KQotewotCWkyY19kZWxfZHJpdmVyKCZhZHMxMDE1X2RyaXZlcik7Ci19Cittb2R1bGVfaTJjX2Ry aXZlcihhZHMxMDE1X2RyaXZlcik7CiAKIE1PRFVMRV9BVVRIT1IoIkRpcmsgRWliYWNoIDxlaWJh Y2hAZ2RzeXMuZGU+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIkFEUzEwMTUgZHJpdmVyIik7CiBN T0RVTEVfTElDRU5TRSgiR1BMIik7Ci0KLW1vZHVsZV9pbml0KHNlbnNvcnNfYWRzMTAxNV9pbml0 KTsKLW1vZHVsZV9leGl0KHNlbnNvcnNfYWRzMTAxNV9leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvaHdtb24vYWR0NzQxMS5jIGIvZHJpdmVycy9od21vbi9hZHQ3NDExLmMKaW5kZXggNWNjM2Uz Ny4uZTRkODZjYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9od21vbi9hZHQ3NDExLmMKKysrIGIvZHJp dmVycy9od21vbi9hZHQ3NDExLmMKQEAgLTM0OCwxNyArMzQ4LDcgQEAgc3RhdGljIHN0cnVjdCBp MmNfZHJpdmVyIGFkdDc0MTFfZHJpdmVyID0gewogCS5jbGFzcyA9IEkyQ19DTEFTU19IV01PTiwK IH07CiAKLXN0YXRpYyBpbnQgX19pbml0IHNlbnNvcnNfYWR0NzQxMV9pbml0KHZvaWQpCi17Ci0J cmV0dXJuIGkyY19hZGRfZHJpdmVyKCZhZHQ3NDExX2RyaXZlcik7Ci19Ci1tb2R1bGVfaW5pdChz ZW5zb3JzX2FkdDc0MTFfaW5pdCkKLQotc3RhdGljIHZvaWQgX19leGl0IHNlbnNvcnNfYWR0NzQx MV9leGl0KHZvaWQpCi17Ci0JaTJjX2RlbF9kcml2ZXIoJmFkdDc0MTFfZHJpdmVyKTsKLX0KLW1v ZHVsZV9leGl0KHNlbnNvcnNfYWR0NzQxMV9leGl0KQorbW9kdWxlX2kyY19kcml2ZXIoYWR0NzQx MV9kcml2ZXIpOwogCiBNT0RVTEVfQVVUSE9SKCJTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0 cm9uaXguZGU+IGFuZCAiCiAJIldvbGZyYW0gU2FuZyA8dy5zYW5nQHBlbmd1dHJvbml4LmRlPiIp OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi9hZHQ3NDYyLmMgYi9kcml2ZXJzL2h3bW9uL2Fk dDc0NjIuYwppbmRleCAyYWYwYzdiLi4xYmViOGE5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2h3bW9u L2FkdDc0NjIuYworKysgYi9kcml2ZXJzL2h3bW9uL2FkdDc0NjIuYwpAQCAtMTk3NSwxOSArMTk3 NSw4IEBAIHN0YXRpYyBpbnQgYWR0NzQ2Ml9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVu dCkKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBfX2luaXQgYWR0NzQ2Ml9pbml0KHZvaWQp Ci17Ci0JcmV0dXJuIGkyY19hZGRfZHJpdmVyKCZhZHQ3NDYyX2RyaXZlcik7Ci19Ci0KLXN0YXRp YyB2b2lkIF9fZXhpdCBhZHQ3NDYyX2V4aXQodm9pZCkKLXsKLQlpMmNfZGVsX2RyaXZlcigmYWR0 NzQ2Ml9kcml2ZXIpOwotfQorbW9kdWxlX2kyY19kcml2ZXIoYWR0NzQ2Ml9kcml2ZXIpOwogCiBN T0RVTEVfQVVUSE9SKCJEYXJyaWNrIEouIFdvbmcgPGRqd29uZ0B1cy5pYm0uY29tPiIpOwogTU9E VUxFX0RFU0NSSVBUSU9OKCJBRFQ3NDYyIGRyaXZlciIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIp OwotCi1tb2R1bGVfaW5pdChhZHQ3NDYyX2luaXQpOwotbW9kdWxlX2V4aXQoYWR0NzQ2Ml9leGl0 KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHdtb24vYWR0NzQ3MC5jIGIvZHJpdmVycy9od21vbi9h ZHQ3NDcwLmMKaW5kZXggYzZkMWNlMC4uZGRjYTIxNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9od21v bi9hZHQ3NDcwLmMKKysrIGIvZHJpdmVycy9od21vbi9hZHQ3NDcwLmMKQEAgLTEzMTcsMTkgKzEz MTcsOCBAQCBzdGF0aWMgaW50IGFkdDc0NzBfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgX19pbml0IGFkdDc0NzBfaW5pdCh2b2lk KQotewotCXJldHVybiBpMmNfYWRkX2RyaXZlcigmYWR0NzQ3MF9kcml2ZXIpOwotfQotCi1zdGF0 aWMgdm9pZCBfX2V4aXQgYWR0NzQ3MF9leGl0KHZvaWQpCi17Ci0JaTJjX2RlbF9kcml2ZXIoJmFk dDc0NzBfZHJpdmVyKTsKLX0KK21vZHVsZV9pMmNfZHJpdmVyKGFkdDc0NzBfZHJpdmVyKTsKIAog TU9EVUxFX0FVVEhPUigiRGFycmljayBKLiBXb25nIDxkandvbmdAdXMuaWJtLmNvbT4iKTsKIE1P RFVMRV9ERVNDUklQVElPTigiQURUNzQ3MCBkcml2ZXIiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwi KTsKLQotbW9kdWxlX2luaXQoYWR0NzQ3MF9pbml0KTsKLW1vZHVsZV9leGl0KGFkdDc0NzBfZXhp dCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2h3bW9uL2FkdDc0NzUuYyBiL2RyaXZlcnMvaHdtb24v YWR0NzQ3NS5jCmluZGV4IGI1ZmNkODcuLmM3NTM1NDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaHdt b24vYWR0NzQ3NS5jCisrKyBiL2RyaXZlcnMvaHdtb24vYWR0NzQ3NS5jCkBAIC0xNjAwLDE5ICsx NjAwLDggQEAgc3RhdGljIHN0cnVjdCBhZHQ3NDc1X2RhdGEgKmFkdDc0NzVfdXBkYXRlX2Rldmlj ZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJcmV0dXJuIGRhdGE7CiB9CiAKLXN0YXRpYyBpbnQgX19p bml0IHNlbnNvcnNfYWR0NzQ3NV9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIGkyY19hZGRfZHJpdmVy KCZhZHQ3NDc1X2RyaXZlcik7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBzZW5zb3JzX2FkdDc0 NzVfZXhpdCh2b2lkKQotewotCWkyY19kZWxfZHJpdmVyKCZhZHQ3NDc1X2RyaXZlcik7Ci19Citt b2R1bGVfaTJjX2RyaXZlcihhZHQ3NDc1X2RyaXZlcik7CiAKIE1PRFVMRV9BVVRIT1IoIkFkdmFu Y2VkIE1pY3JvIERldmljZXMsIEluYyIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJhZHQ3NDc1IGRy aXZlciIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwotCi1tb2R1bGVfaW5pdChzZW5zb3JzX2Fk dDc0NzVfaW5pdCk7Ci1tb2R1bGVfZXhpdChzZW5zb3JzX2FkdDc0NzVfZXhpdCk7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2h3bW9uL2FtYzY4MjEuYyBiL2RyaXZlcnMvaHdtb24vYW1jNjgyMS5jCmlu ZGV4IDQwMzM5NzQuLmRhNmNhNGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaHdtb24vYW1jNjgyMS5j CisrKyBiL2RyaXZlcnMvaHdtb24vYW1jNjgyMS5jCkBAIC0xMDk1LDIwICsxMDk1LDcgQEAgc3Rh dGljIHN0cnVjdCBhbWM2ODIxX2RhdGEgKmFtYzY4MjFfdXBkYXRlX2RldmljZShzdHJ1Y3QgZGV2 aWNlICpkZXYpCiAJcmV0dXJuIGRhdGE7CiB9CiAKLQotc3RhdGljIGludCBfX2luaXQgYW1jNjgy MV9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIGkyY19hZGRfZHJpdmVyKCZhbWM2ODIxX2RyaXZlcik7 Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBhbWM2ODIxX2V4aXQodm9pZCkKLXsKLQlpMmNfZGVs X2RyaXZlcigmYW1jNjgyMV9kcml2ZXIpOwotfQotCi1tb2R1bGVfaW5pdChhbWM2ODIxX2luaXQp OwotbW9kdWxlX2V4aXQoYW1jNjgyMV9leGl0KTsKLQorbW9kdWxlX2kyY19kcml2ZXIoYW1jNjgy MV9kcml2ZXIpOwogCiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiBNT0RVTEVfQVVUSE9SKCJULiBN ZXJ0ZWxqIDx0b21hei5tZXJ0ZWxqQGd1ZXN0LmFybmVzLnNpPiIpOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9od21vbi9hc2IxMDAuYyBiL2RyaXZlcnMvaHdtb24vYXNiMTAwLmMKaW5kZXggZDdiZDFm My4uMGYzMDBjNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9od21vbi9hc2IxMDAuYworKysgYi9kcml2 ZXJzL2h3bW9uL2FzYjEwMC5jCkBAIC05NzEsMTkgKzk3MSw4IEBAIHN0YXRpYyBzdHJ1Y3QgYXNi MTAwX2RhdGEgKmFzYjEwMF91cGRhdGVfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldikKIAlyZXR1 cm4gZGF0YTsKIH0KIAotc3RhdGljIGludCBfX2luaXQgYXNiMTAwX2luaXQodm9pZCkKLXsKLQly ZXR1cm4gaTJjX2FkZF9kcml2ZXIoJmFzYjEwMF9kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBf X2V4aXQgYXNiMTAwX2V4aXQodm9pZCkKLXsKLQlpMmNfZGVsX2RyaXZlcigmYXNiMTAwX2RyaXZl cik7Ci19Cittb2R1bGVfaTJjX2RyaXZlcihhc2IxMDBfZHJpdmVyKTsKIAogTU9EVUxFX0FVVEhP UigiTWFyayBNLiBIb2ZmbWFuIDxtaG9mZm1hbkBsaWdodGxpbmsuY29tPiIpOwogTU9EVUxFX0RF U0NSSVBUSU9OKCJBU0IxMDAgQmFjaCBkcml2ZXIiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsK LQotbW9kdWxlX2luaXQoYXNiMTAwX2luaXQpOwotbW9kdWxlX2V4aXQoYXNiMTAwX2V4aXQpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi9hdHhwMS5jIGIvZHJpdmVycy9od21vbi9hdHhwMS5j CmluZGV4IDMzY2MxNDMuLjcwMWJjOWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaHdtb24vYXR4cDEu YworKysgYi9kcml2ZXJzL2h3bW9uL2F0eHAxLmMKQEAgLTM2NywxNSArMzY3LDQgQEAgc3RhdGlj IGludCBhdHhwMV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKIAlyZXR1cm4gMDsK IH07CiAKLXN0YXRpYyBpbnQgX19pbml0IGF0eHAxX2luaXQodm9pZCkKLXsKLQlyZXR1cm4gaTJj X2FkZF9kcml2ZXIoJmF0eHAxX2RyaXZlcik7Ci19OwotCi1zdGF0aWMgdm9pZCBfX2V4aXQgYXR4 cDFfZXhpdCh2b2lkKQotewotCWkyY19kZWxfZHJpdmVyKCZhdHhwMV9kcml2ZXIpOwotfTsKLQot bW9kdWxlX2luaXQoYXR4cDFfaW5pdCk7Ci1tb2R1bGVfZXhpdChhdHhwMV9leGl0KTsKK21vZHVs ZV9pMmNfZHJpdmVyKGF0eHAxX2RyaXZlcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2h3bW9uL2Rz MTYyMS5jIGIvZHJpdmVycy9od21vbi9kczE2MjEuYwppbmRleCBlZjFhYzk5Ni4uOTgzMmFjNSAx MDA2NDQKLS0tIGEvZHJpdmVycy9od21vbi9kczE2MjEuYworKysgYi9kcml2ZXJzL2h3bW9uL2Rz MTYyMS5jCkBAIC0zMDUsMjAgKzMwNSw4IEBAIHN0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciBkczE2 MjFfZHJpdmVyID0gewogCS5hZGRyZXNzX2xpc3QJPSBub3JtYWxfaTJjLAogfTsKIAotc3RhdGlj IGludCBfX2luaXQgZHMxNjIxX2luaXQodm9pZCkKLXsKLQlyZXR1cm4gaTJjX2FkZF9kcml2ZXIo JmRzMTYyMV9kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgZHMxNjIxX2V4aXQodm9p ZCkKLXsKLQlpMmNfZGVsX2RyaXZlcigmZHMxNjIxX2RyaXZlcik7Ci19Ci0KK21vZHVsZV9pMmNf ZHJpdmVyKGRzMTYyMV9kcml2ZXIpOwogCiBNT0RVTEVfQVVUSE9SKCJDaHJpc3RpYW4gVy4gWnVj a3NjaHdlcmR0IDx6YW55QHRyaXEubmV0PiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJEUzE2MjEg ZHJpdmVyIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7Ci0KLW1vZHVsZV9pbml0KGRzMTYyMV9p bml0KTsKLW1vZHVsZV9leGl0KGRzMTYyMV9leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHdt b24vZHM2MjAuYyBiL2RyaXZlcnMvaHdtb24vZHM2MjAuYwppbmRleCAyMjVhZTRmLi4yZTJiNDMw IDEwMDY0NAotLS0gYS9kcml2ZXJzL2h3bW9uL2RzNjIwLmMKKysrIGIvZHJpdmVycy9od21vbi9k czYyMC5jCkBAIC0yOTcsMTkgKzI5Nyw4IEBAIHN0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciBkczYy MF9kcml2ZXIgPSB7CiAJLmlkX3RhYmxlID0gZHM2MjBfaWQsCiB9OwogCi1zdGF0aWMgaW50IF9f aW5pdCBkczYyMF9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIGkyY19hZGRfZHJpdmVyKCZkczYyMF9k cml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgZHM2MjBfZXhpdCh2b2lkKQotewotCWky Y19kZWxfZHJpdmVyKCZkczYyMF9kcml2ZXIpOwotfQorbW9kdWxlX2kyY19kcml2ZXIoZHM2MjBf ZHJpdmVyKTsKIAogTU9EVUxFX0FVVEhPUigiUm9sYW5kIFN0aWdnZSA8c3RpZ2dlQGFudGNvbS5k ZT4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigiRFM2MjAgZHJpdmVyIik7CiBNT0RVTEVfTElDRU5T RSgiR1BMIik7Ci0KLW1vZHVsZV9pbml0KGRzNjIwX2luaXQpOwotbW9kdWxlX2V4aXQoZHM2MjBf ZXhpdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2h3bW9uL2VtYzE0MDMuYyBiL2RyaXZlcnMvaHdt b24vZW1jMTQwMy5jCmluZGV4IGNkMmE2ZTQuLjIyM2JkM2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv aHdtb24vZW1jMTQwMy5jCisrKyBiL2RyaXZlcnMvaHdtb24vZW1jMTQwMy5jCkBAIC0zNjYsMTgg KzM2Niw3IEBAIHN0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciBzZW5zb3JfZW1jMTQwMyA9IHsKIAku YWRkcmVzc19saXN0ID0gZW1jMTQwM19hZGRyZXNzX2xpc3QsCiB9OwogCi1zdGF0aWMgaW50IF9f aW5pdCBzZW5zb3JfZW1jMTQwM19pbml0KHZvaWQpCi17Ci0JcmV0dXJuIGkyY19hZGRfZHJpdmVy KCZzZW5zb3JfZW1jMTQwMyk7Ci19Ci0KLXN0YXRpYyB2b2lkICBfX2V4aXQgc2Vuc29yX2VtYzE0 MDNfZXhpdCh2b2lkKQotewotCWkyY19kZWxfZHJpdmVyKCZzZW5zb3JfZW1jMTQwMyk7Ci19Ci0K LW1vZHVsZV9pbml0KHNlbnNvcl9lbWMxNDAzX2luaXQpOwotbW9kdWxlX2V4aXQoc2Vuc29yX2Vt YzE0MDNfZXhpdCk7Cittb2R1bGVfaTJjX2RyaXZlcihzZW5zb3JfZW1jMTQwMyk7CiAKIE1PRFVM RV9BVVRIT1IoIkthbGhhbiBUcmlzYWwgPGthbGhhbi50cmlzYWxAaW50ZWwuY29tIik7CiBNT0RV TEVfREVTQ1JJUFRJT04oImVtYzE0MDMgVGhlcm1hbCBEcml2ZXIiKTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvaHdtb24vZW1jMjEwMy5jIGIvZHJpdmVycy9od21vbi9lbWMyMTAzLmMKaW5kZXggYWY5 MTRhZDkuLmMyNTE0NDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaHdtb24vZW1jMjEwMy5jCisrKyBi L2RyaXZlcnMvaHdtb24vZW1jMjEwMy5jCkBAIC03MjIsMTkgKzcyMiw4IEBAIHN0YXRpYyBzdHJ1 Y3QgaTJjX2RyaXZlciBlbWMyMTAzX2RyaXZlciA9IHsKIAkuYWRkcmVzc19saXN0CT0gbm9ybWFs X2kyYywKIH07CiAKLXN0YXRpYyBpbnQgX19pbml0IHNlbnNvcnNfZW1jMjEwM19pbml0KHZvaWQp Ci17Ci0JcmV0dXJuIGkyY19hZGRfZHJpdmVyKCZlbWMyMTAzX2RyaXZlcik7Ci19Ci0KLXN0YXRp YyB2b2lkIF9fZXhpdCBzZW5zb3JzX2VtYzIxMDNfZXhpdCh2b2lkKQotewotCWkyY19kZWxfZHJp dmVyKCZlbWMyMTAzX2RyaXZlcik7Ci19Cittb2R1bGVfaTJjX2RyaXZlcihlbWMyMTAzX2RyaXZl cik7CiAKIE1PRFVMRV9BVVRIT1IoIlN0ZXZlIEdsZW5kaW5uaW5nIDxzdGV2ZS5nbGVuZGlubmlu Z0BzbXNjLmNvbT4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigiU01TQyBFTUMyMTAzIGh3bW9uIGRy aXZlciIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwotCi1tb2R1bGVfaW5pdChzZW5zb3JzX2Vt YzIxMDNfaW5pdCk7Ci1tb2R1bGVfZXhpdChzZW5zb3JzX2VtYzIxMDNfZXhpdCk7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2h3bW9uL2VtYzZ3MjAxLmMgYi9kcml2ZXJzL2h3bW9uL2VtYzZ3MjAxLmMK aW5kZXggMDA2NDQzMi4uY2JlZjZlMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9od21vbi9lbWM2dzIw MS5jCisrKyBiL2RyaXZlcnMvaHdtb24vZW1jNncyMDEuYwpAQCAtNTUyLDE3ICs1NTIsNyBAQCBz dGF0aWMgc3RydWN0IGkyY19kcml2ZXIgZW1jNncyMDFfZHJpdmVyID0gewogCS5hZGRyZXNzX2xp c3QJPSBub3JtYWxfaTJjLAogfTsKIAotc3RhdGljIGludCBfX2luaXQgc2Vuc29yc19lbWM2dzIw MV9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIGkyY19hZGRfZHJpdmVyKCZlbWM2dzIwMV9kcml2ZXIp OwotfQotbW9kdWxlX2luaXQoc2Vuc29yc19lbWM2dzIwMV9pbml0KTsKLQotc3RhdGljIHZvaWQg X19leGl0IHNlbnNvcnNfZW1jNncyMDFfZXhpdCh2b2lkKQotewotCWkyY19kZWxfZHJpdmVyKCZl bWM2dzIwMV9kcml2ZXIpOwotfQotbW9kdWxlX2V4aXQoc2Vuc29yc19lbWM2dzIwMV9leGl0KTsK K21vZHVsZV9pMmNfZHJpdmVyKGVtYzZ3MjAxX2RyaXZlcik7CiAKIE1PRFVMRV9BVVRIT1IoIkpl YW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJT TVNDIEVNQzZXMjAxIGhhcmR3YXJlIG1vbml0b3JpbmcgZHJpdmVyIik7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2h3bW9uL2Y3NTM3NXMuYyBiL2RyaXZlcnMvaHdtb24vZjc1Mzc1cy5jCmluZGV4IDk1 Y2JmYjMuLjgzMjYwODQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaHdtb24vZjc1Mzc1cy5jCisrKyBi L2RyaXZlcnMvaHdtb24vZjc1Mzc1cy5jCkBAIC02OTksMTkgKzY5OSw4IEBAIHN0YXRpYyBpbnQg Zjc1Mzc1X2RldGVjdChzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LAogCXJldHVybiAwOwogfQog Ci1zdGF0aWMgaW50IF9faW5pdCBzZW5zb3JzX2Y3NTM3NV9pbml0KHZvaWQpCi17Ci0JcmV0dXJu IGkyY19hZGRfZHJpdmVyKCZmNzUzNzVfZHJpdmVyKTsKLX0KLQotc3RhdGljIHZvaWQgX19leGl0 IHNlbnNvcnNfZjc1Mzc1X2V4aXQodm9pZCkKLXsKLQlpMmNfZGVsX2RyaXZlcigmZjc1Mzc1X2Ry aXZlcik7Ci19Cittb2R1bGVfaTJjX2RyaXZlcihmNzUzNzVfZHJpdmVyKTsKIAogTU9EVUxFX0FV VEhPUigiUmlrdSBWb2lwaW8iKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKIE1PRFVMRV9ERVND UklQVElPTigiRjc1MzczL0Y3NTM3NSBoYXJkd2FyZSBtb25pdG9yaW5nIGRyaXZlciIpOwotCi1t b2R1bGVfaW5pdChzZW5zb3JzX2Y3NTM3NV9pbml0KTsKLW1vZHVsZV9leGl0KHNlbnNvcnNfZjc1 Mzc1X2V4aXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi9mc2NobWQuYyBiL2RyaXZlcnMv aHdtb24vZnNjaG1kLmMKaW5kZXggYWE2ZDhiNi4uNzNiYTk0MiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9od21vbi9mc2NobWQuYworKysgYi9kcml2ZXJzL2h3bW9uL2ZzY2htZC5jCkBAIC0xMzE0LDIw ICsxMzE0LDkgQEAgc3RhdGljIHN0cnVjdCBmc2NobWRfZGF0YSAqZnNjaG1kX3VwZGF0ZV9kZXZp Y2Uoc3RydWN0IGRldmljZSAqZGV2KQogCXJldHVybiBkYXRhOwogfQogCi1zdGF0aWMgaW50IF9f aW5pdCBmc2NobWRfaW5pdCh2b2lkKQotewotCXJldHVybiBpMmNfYWRkX2RyaXZlcigmZnNjaG1k X2RyaXZlcik7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBmc2NobWRfZXhpdCh2b2lkKQotewot CWkyY19kZWxfZHJpdmVyKCZmc2NobWRfZHJpdmVyKTsKLX0KK21vZHVsZV9pMmNfZHJpdmVyKGZz Y2htZF9kcml2ZXIpOwogCiBNT0RVTEVfQVVUSE9SKCJIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUBy ZWRoYXQuY29tPiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJGU0MgUG9zZWlkb24sIEhlcm1lcywg U2N5bGxhLCBIZXJhY2xlcywgSGVpbWRhbGwsIEhhZGVzICIKIAkJCSJhbmQgU3lsZXVzIGRyaXZl ciIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwotCi1tb2R1bGVfaW5pdChmc2NobWRfaW5pdCk7 Ci1tb2R1bGVfZXhpdChmc2NobWRfZXhpdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2h3bW9uL2c3 NjBhLmMgYi9kcml2ZXJzL2h3bW9uL2c3NjBhLmMKaW5kZXggMWQ2YTZmYS4uZjhjZDVhOSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9od21vbi9nNzYwYS5jCisrKyBiL2RyaXZlcnMvaHdtb24vZzc2MGEu YwpAQCAtMjUwLDIxICsyNTAsOCBAQCBzdGF0aWMgaW50IGc3NjBhX3JlbW92ZShzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50KQogCXJldHVybiAwOwogfQogCi0vKiBtb2R1bGUgbWFuYWdlbWVudCAq LwotCi1zdGF0aWMgaW50IF9faW5pdCBnNzYwYV9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIGkyY19h ZGRfZHJpdmVyKCZnNzYwYV9kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgZzc2MGFf ZXhpdCh2b2lkKQotewotCWkyY19kZWxfZHJpdmVyKCZnNzYwYV9kcml2ZXIpOwotfQorbW9kdWxl X2kyY19kcml2ZXIoZzc2MGFfZHJpdmVyKTsKIAogTU9EVUxFX0FVVEhPUigiSGVyYmVydCBWYWxl cmlvIFJpZWRlbCA8aHZyQGdudS5vcmc+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIkdNVCBHNzYw QSBkcml2ZXIiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKLQotbW9kdWxlX2luaXQoZzc2MGFf aW5pdCk7Ci1tb2R1bGVfZXhpdChnNzYwYV9leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHdt b24vZ2w1MThzbS5jIGIvZHJpdmVycy9od21vbi9nbDUxOHNtLmMKaW5kZXggYTEzZTJkYS4uODli OGMwYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9od21vbi9nbDUxOHNtLmMKKysrIGIvZHJpdmVycy9o d21vbi9nbDUxOHNtLmMKQEAgLTY3NiwyMSArNjc2LDEwIEBAIHN0YXRpYyBzdHJ1Y3QgZ2w1MThf ZGF0YSAqZ2w1MThfdXBkYXRlX2RldmljZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJcmV0dXJuIGRh dGE7CiB9CiAKLXN0YXRpYyBpbnQgX19pbml0IHNlbnNvcnNfZ2w1MThzbV9pbml0KHZvaWQpCi17 Ci0JcmV0dXJuIGkyY19hZGRfZHJpdmVyKCZnbDUxOF9kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9p ZCBfX2V4aXQgc2Vuc29yc19nbDUxOHNtX2V4aXQodm9pZCkKLXsKLQlpMmNfZGVsX2RyaXZlcigm Z2w1MThfZHJpdmVyKTsKLX0KK21vZHVsZV9pMmNfZHJpdmVyKGdsNTE4X2RyaXZlcik7CiAKIE1P RFVMRV9BVVRIT1IoIkZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4sICIKIAkiS3lvc3Rp IE1hbGtraSA8a21hbGtraUBjYy5odXQuZmk+IGFuZCAiCiAJIkhvbmctR3VubiBDaGV3IDxoZ2xp bnV4QGd1bm5ldC5vcmc+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIkdMNTE4U00gZHJpdmVyIik7 CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7Ci0KLW1vZHVsZV9pbml0KHNlbnNvcnNfZ2w1MThzbV9p bml0KTsKLW1vZHVsZV9leGl0KHNlbnNvcnNfZ2w1MThzbV9leGl0KTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvaHdtb24vZ2w1MjBzbS5jIGIvZHJpdmVycy9od21vbi9nbDUyMHNtLmMKaW5kZXggY2Q2 MDg1Yi4uZTZkY2Y2NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9od21vbi9nbDUyMHNtLmMKKysrIGIv ZHJpdmVycy9od21vbi9nbDUyMHNtLmMKQEAgLTkxMCwyMyArOTEwLDEwIEBAIHN0YXRpYyBzdHJ1 Y3QgZ2w1MjBfZGF0YSAqZ2w1MjBfdXBkYXRlX2RldmljZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJ cmV0dXJuIGRhdGE7CiB9CiAKLQotc3RhdGljIGludCBfX2luaXQgc2Vuc29yc19nbDUyMHNtX2lu aXQodm9pZCkKLXsKLQlyZXR1cm4gaTJjX2FkZF9kcml2ZXIoJmdsNTIwX2RyaXZlcik7Ci19Ci0K LXN0YXRpYyB2b2lkIF9fZXhpdCBzZW5zb3JzX2dsNTIwc21fZXhpdCh2b2lkKQotewotCWkyY19k ZWxfZHJpdmVyKCZnbDUyMF9kcml2ZXIpOwotfQotCittb2R1bGVfaTJjX2RyaXZlcihnbDUyMF9k cml2ZXIpOwogCiBNT0RVTEVfQVVUSE9SKCJGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+ LCAiCiAJIkt5w7ZzdGkgTcOkbGtraSA8a21hbGtraUBjYy5odXQuZmk+LCAiCiAJIk1hYXJ0ZW4g RGVwcmV6IDxtYWFydGVuZGVwcmV6QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4iKTsKIE1PRFVMRV9E RVNDUklQVElPTigiR0w1MjBTTSBkcml2ZXIiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKLQot bW9kdWxlX2luaXQoc2Vuc29yc19nbDUyMHNtX2luaXQpOwotbW9kdWxlX2V4aXQoc2Vuc29yc19n bDUyMHNtX2V4aXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi9qYzQyLmMgYi9kcml2ZXJz L2h3bW9uL2pjNDIuYwppbmRleCAyZDNkNzI4Li5kMzNjNTkyIDEwMDY0NAotLS0gYS9kcml2ZXJz L2h3bW9uL2pjNDIuYworKysgYi9kcml2ZXJzL2h3bW9uL2pjNDIuYwpAQCAtNTg4LDE5ICs1ODgs OCBAQCBhYm9ydDoKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgaW50IF9faW5pdCBzZW5zb3Jz X2pjNDJfaW5pdCh2b2lkKQotewotCXJldHVybiBpMmNfYWRkX2RyaXZlcigmamM0Ml9kcml2ZXIp OwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgc2Vuc29yc19qYzQyX2V4aXQodm9pZCkKLXsKLQlp MmNfZGVsX2RyaXZlcigmamM0Ml9kcml2ZXIpOwotfQorbW9kdWxlX2kyY19kcml2ZXIoamM0Ml9k cml2ZXIpOwogCiBNT0RVTEVfQVVUSE9SKCJHdWVudGVyIFJvZWNrIDxndWVudGVyLnJvZWNrQGVy aWNzc29uLmNvbT4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigiSkM0MiBkcml2ZXIiKTsKIE1PRFVM RV9MSUNFTlNFKCJHUEwiKTsKLQotbW9kdWxlX2luaXQoc2Vuc29yc19qYzQyX2luaXQpOwotbW9k dWxlX2V4aXQoc2Vuc29yc19qYzQyX2V4aXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi9s aW5lYWdlLXBlbS5jIGIvZHJpdmVycy9od21vbi9saW5lYWdlLXBlbS5jCmluZGV4IDU4ZWRlZDIu LjViOGM5YWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaHdtb24vbGluZWFnZS1wZW0uYworKysgYi9k cml2ZXJzL2h3bW9uL2xpbmVhZ2UtcGVtLmMKQEAgLTU2OCwxOSArNTY4LDggQEAgc3RhdGljIHN0 cnVjdCBpMmNfZHJpdmVyIHBlbV9kcml2ZXIgPSB7CiAJLmlkX3RhYmxlID0gcGVtX2lkLAogfTsK IAotc3RhdGljIGludCBfX2luaXQgcGVtX2luaXQodm9pZCkKLXsKLQlyZXR1cm4gaTJjX2FkZF9k cml2ZXIoJnBlbV9kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgcGVtX2V4aXQodm9p ZCkKLXsKLQlpMmNfZGVsX2RyaXZlcigmcGVtX2RyaXZlcik7Ci19Cittb2R1bGVfaTJjX2RyaXZl cihwZW1fZHJpdmVyKTsKIAogTU9EVUxFX0FVVEhPUigiR3VlbnRlciBSb2VjayA8Z3VlbnRlci5y b2Vja0Blcmljc3Nvbi5jb20+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIkxpbmVhZ2UgQ1BMIFBF TSBoYXJkd2FyZSBtb25pdG9yaW5nIGRyaXZlciIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwot Ci1tb2R1bGVfaW5pdChwZW1faW5pdCk7Ci1tb2R1bGVfZXhpdChwZW1fZXhpdCk7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2h3bW9uL2xtNjMuYyBiL2RyaXZlcnMvaHdtb24vbG02My5jCmluZGV4IDk2 NDIyODYuLjJlYWUxYmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaHdtb24vbG02My5jCisrKyBiL2Ry aXZlcnMvaHdtb24vbG02My5jCkBAIC03MjcsMTkgKzcyNyw4IEBAIHN0YXRpYyBzdHJ1Y3QgbG02 M19kYXRhICpsbTYzX3VwZGF0ZV9kZXZpY2Uoc3RydWN0IGRldmljZSAqZGV2KQogCXJldHVybiBk YXRhOwogfQogCi1zdGF0aWMgaW50IF9faW5pdCBzZW5zb3JzX2xtNjNfaW5pdCh2b2lkKQotewot CXJldHVybiBpMmNfYWRkX2RyaXZlcigmbG02M19kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBf X2V4aXQgc2Vuc29yc19sbTYzX2V4aXQodm9pZCkKLXsKLQlpMmNfZGVsX2RyaXZlcigmbG02M19k cml2ZXIpOwotfQorbW9kdWxlX2kyY19kcml2ZXIobG02M19kcml2ZXIpOwogCiBNT0RVTEVfQVVU SE9SKCJKZWFuIERlbHZhcmUgPGtoYWxpQGxpbnV4LWZyLm9yZz4iKTsKIE1PRFVMRV9ERVNDUklQ VElPTigiTE02MyBkcml2ZXIiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKLQotbW9kdWxlX2lu aXQoc2Vuc29yc19sbTYzX2luaXQpOwotbW9kdWxlX2V4aXQoc2Vuc29yc19sbTYzX2V4aXQpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi9sbTczLmMgYi9kcml2ZXJzL2h3bW9uL2xtNzMuYwpp bmRleCA5ZTY0ZDk2Li4yYzYzZjE0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2h3bW9uL2xtNzMuYwor KysgYi9kcml2ZXJzL2h3bW9uL2xtNzMuYwpAQCAtMTk0LDIxICsxOTQsOCBAQCBzdGF0aWMgc3Ry dWN0IGkyY19kcml2ZXIgbG03M19kcml2ZXIgPSB7CiAJLmFkZHJlc3NfbGlzdAk9IG5vcm1hbF9p MmMsCiB9OwogCi0vKiBtb2R1bGUgZ2x1ZSAqLwotCi1zdGF0aWMgaW50IF9faW5pdCBzZW5zb3Jz X2xtNzNfaW5pdCh2b2lkKQotewotCXJldHVybiBpMmNfYWRkX2RyaXZlcigmbG03M19kcml2ZXIp OwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgc2Vuc29yc19sbTczX2V4aXQodm9pZCkKLXsKLQlp MmNfZGVsX2RyaXZlcigmbG03M19kcml2ZXIpOwotfQorbW9kdWxlX2kyY19kcml2ZXIobG03M19k cml2ZXIpOwogCiBNT0RVTEVfQVVUSE9SKCJHdWlsbGF1bWUgTGlnbmV1bCA8Z3VpbGxhdW1lLmxp Z25ldWxAZ21haWwuY29tPiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJMTTczIGRyaXZlciIpOwog TU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwotCi1tb2R1bGVfaW5pdChzZW5zb3JzX2xtNzNfaW5pdCk7 Ci1tb2R1bGVfZXhpdChzZW5zb3JzX2xtNzNfZXhpdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2h3 bW9uL2xtNzUuYyBiL2RyaXZlcnMvaHdtb24vbG03NS5jCmluZGV4IDE4ODhkZDAuLmYzYWFhMzAg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaHdtb24vbG03NS5jCisrKyBiL2RyaXZlcnMvaHdtb24vbG03 NS5jCkBAIC00MjksMjMgKzQyOSw4IEBAIHN0YXRpYyBzdHJ1Y3QgbG03NV9kYXRhICpsbTc1X3Vw ZGF0ZV9kZXZpY2Uoc3RydWN0IGRldmljZSAqZGV2KQogCXJldHVybiBkYXRhOwogfQogCi0vKi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKi8KLQotLyogbW9kdWxlIGdsdWUgKi8KLQotc3RhdGljIGludCBfX2luaXQg c2Vuc29yc19sbTc1X2luaXQodm9pZCkKLXsKLQlyZXR1cm4gaTJjX2FkZF9kcml2ZXIoJmxtNzVf ZHJpdmVyKTsKLX0KLQotc3RhdGljIHZvaWQgX19leGl0IHNlbnNvcnNfbG03NV9leGl0KHZvaWQp Ci17Ci0JaTJjX2RlbF9kcml2ZXIoJmxtNzVfZHJpdmVyKTsKLX0KK21vZHVsZV9pMmNfZHJpdmVy KGxtNzVfZHJpdmVyKTsKIAogTU9EVUxFX0FVVEhPUigiRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xA ZGRzLm5sPiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJMTTc1IGRyaXZlciIpOwogTU9EVUxFX0xJ Q0VOU0UoIkdQTCIpOwotCi1tb2R1bGVfaW5pdChzZW5zb3JzX2xtNzVfaW5pdCk7Ci1tb2R1bGVf ZXhpdChzZW5zb3JzX2xtNzVfZXhpdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2h3bW9uL2xtNzcu YyBiL2RyaXZlcnMvaHdtb24vbG03Ny5jCmluZGV4IDhkZmM2NzguLjdjZDUxNmYgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvaHdtb24vbG03Ny5jCisrKyBiL2RyaXZlcnMvaHdtb24vbG03Ny5jCkBAIC00 MjAsMTkgKzQyMCw4IEBAIHN0YXRpYyBzdHJ1Y3QgbG03N19kYXRhICpsbTc3X3VwZGF0ZV9kZXZp Y2Uoc3RydWN0IGRldmljZSAqZGV2KQogCXJldHVybiBkYXRhOwogfQogCi1zdGF0aWMgaW50IF9f aW5pdCBzZW5zb3JzX2xtNzdfaW5pdCh2b2lkKQotewotCXJldHVybiBpMmNfYWRkX2RyaXZlcigm bG03N19kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgc2Vuc29yc19sbTc3X2V4aXQo dm9pZCkKLXsKLQlpMmNfZGVsX2RyaXZlcigmbG03N19kcml2ZXIpOwotfQorbW9kdWxlX2kyY19k cml2ZXIobG03N19kcml2ZXIpOwogCiBNT0RVTEVfQVVUSE9SKCJBbmRyYXMgQkFMSSA8ZHJld2ll QGZyZWVtYWlsLmh1PiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJMTTc3IGRyaXZlciIpOwogTU9E VUxFX0xJQ0VOU0UoIkdQTCIpOwotCi1tb2R1bGVfaW5pdChzZW5zb3JzX2xtNzdfaW5pdCk7Ci1t b2R1bGVfZXhpdChzZW5zb3JzX2xtNzdfZXhpdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2h3bW9u L2xtODAuYyBiL2RyaXZlcnMvaHdtb24vbG04MC5jCmluZGV4IDE4YTBlNmMuLmRjOTgzZWMgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvaHdtb24vbG04MC5jCisrKyBiL2RyaXZlcnMvaHdtb24vbG04MC5j CkBAIC01OTUsMjAgKzU5NSw5IEBAIHN0YXRpYyBzdHJ1Y3QgbG04MF9kYXRhICpsbTgwX3VwZGF0 ZV9kZXZpY2Uoc3RydWN0IGRldmljZSAqZGV2KQogCXJldHVybiBkYXRhOwogfQogCi1zdGF0aWMg aW50IF9faW5pdCBzZW5zb3JzX2xtODBfaW5pdCh2b2lkKQotewotCXJldHVybiBpMmNfYWRkX2Ry aXZlcigmbG04MF9kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgc2Vuc29yc19sbTgw X2V4aXQodm9pZCkKLXsKLQlpMmNfZGVsX2RyaXZlcigmbG04MF9kcml2ZXIpOwotfQorbW9kdWxl X2kyY19kcml2ZXIobG04MF9kcml2ZXIpOwogCiBNT0RVTEVfQVVUSE9SKCJGcm9kbyBMb29pamFh cmQgPGZyb2RvbEBkZHMubmw+IGFuZCAiCiAJIlBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9l ZGdlLmNvbT4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigiTE04MCBkcml2ZXIiKTsKIE1PRFVMRV9M SUNFTlNFKCJHUEwiKTsKLQotbW9kdWxlX2luaXQoc2Vuc29yc19sbTgwX2luaXQpOwotbW9kdWxl X2V4aXQoc2Vuc29yc19sbTgwX2V4aXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi9sbTgz LmMgYi9kcml2ZXJzL2h3bW9uL2xtODMuYwppbmRleCA4MjkwNDc2Li5lOWE4YTA2IDEwMDY0NAot LS0gYS9kcml2ZXJzL2h3bW9uL2xtODMuYworKysgYi9kcml2ZXJzL2h3bW9uL2xtODMuYwpAQCAt NDIzLDE5ICs0MjMsOCBAQCBzdGF0aWMgc3RydWN0IGxtODNfZGF0YSAqbG04M191cGRhdGVfZGV2 aWNlKHN0cnVjdCBkZXZpY2UgKmRldikKIAlyZXR1cm4gZGF0YTsKIH0KIAotc3RhdGljIGludCBf X2luaXQgc2Vuc29yc19sbTgzX2luaXQodm9pZCkKLXsKLQlyZXR1cm4gaTJjX2FkZF9kcml2ZXIo JmxtODNfZHJpdmVyKTsKLX0KLQotc3RhdGljIHZvaWQgX19leGl0IHNlbnNvcnNfbG04M19leGl0 KHZvaWQpCi17Ci0JaTJjX2RlbF9kcml2ZXIoJmxtODNfZHJpdmVyKTsKLX0KK21vZHVsZV9pMmNf ZHJpdmVyKGxtODNfZHJpdmVyKTsKIAogTU9EVUxFX0FVVEhPUigiSmVhbiBEZWx2YXJlIDxraGFs aUBsaW51eC1mci5vcmc+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIkxNODMgZHJpdmVyIik7CiBN T0RVTEVfTElDRU5TRSgiR1BMIik7Ci0KLW1vZHVsZV9pbml0KHNlbnNvcnNfbG04M19pbml0KTsK LW1vZHVsZV9leGl0KHNlbnNvcnNfbG04M19leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHdt b24vbG04NS5jIGIvZHJpdmVycy9od21vbi9sbTg1LmMKaW5kZXggZGE3MmRjMS4uZmQyNjk4MyAx MDA2NDQKLS0tIGEvZHJpdmVycy9od21vbi9sbTg1LmMKKysrIGIvZHJpdmVycy9od21vbi9sbTg1 LmMKQEAgLTE2MTEsMjIgKzE2MTEsMTAgQEAgc3RhdGljIHN0cnVjdCBsbTg1X2RhdGEgKmxtODVf dXBkYXRlX2RldmljZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJcmV0dXJuIGRhdGE7CiB9CiAKLQot c3RhdGljIGludCBfX2luaXQgc21fbG04NV9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIGkyY19hZGRf ZHJpdmVyKCZsbTg1X2RyaXZlcik7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBzbV9sbTg1X2V4 aXQodm9pZCkKLXsKLQlpMmNfZGVsX2RyaXZlcigmbG04NV9kcml2ZXIpOwotfQorbW9kdWxlX2ky Y19kcml2ZXIobG04NV9kcml2ZXIpOwogCiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiBNT0RVTEVf QVVUSE9SKCJQaGlsaXAgUG9rb3JueSA8cHBva29ybnlAcGVuZ3VpbmNvbXB1dGluZy5jb20+LCAi CiAJIk1hcmdpdCBTY2h1YmVydC1XaGlsZSA8bWFyZ2l0c3dAdC1vbmxpbmUuZGU+LCAiCiAJIkp1 c3RpbiBUaGllc3NlbiA8anRoaWVzc2VuQHBlbmd1aW5jb21wdXRpbmcuY29tPiIpOwogTU9EVUxF X0RFU0NSSVBUSU9OKCJMTTg1LUIsIExNODUtQyBkcml2ZXIiKTsKLQotbW9kdWxlX2luaXQoc21f bG04NV9pbml0KTsKLW1vZHVsZV9leGl0KHNtX2xtODVfZXhpdCk7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2h3bW9uL2xtODcuYyBiL2RyaXZlcnMvaHdtb24vbG04Ny5jCmluZGV4IGYxZTZlNzUuLjEy NmQwY2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaHdtb24vbG04Ny5jCisrKyBiL2RyaXZlcnMvaHdt b24vbG04Ny5jCkBAIC05NjMsMTkgKzk2Myw4IEBAIHN0YXRpYyBzdHJ1Y3QgbG04N19kYXRhICps bTg3X3VwZGF0ZV9kZXZpY2Uoc3RydWN0IGRldmljZSAqZGV2KQogCXJldHVybiBkYXRhOwogfQog Ci1zdGF0aWMgaW50IF9faW5pdCBzZW5zb3JzX2xtODdfaW5pdCh2b2lkKQotewotCXJldHVybiBp MmNfYWRkX2RyaXZlcigmbG04N19kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgc2Vu c29yc19sbTg3X2V4aXQodm9pZCkKLXsKLQlpMmNfZGVsX2RyaXZlcigmbG04N19kcml2ZXIpOwot fQorbW9kdWxlX2kyY19kcml2ZXIobG04N19kcml2ZXIpOwogCiBNT0RVTEVfQVVUSE9SKCJKZWFu IERlbHZhcmUgPGtoYWxpQGxpbnV4LWZyLm9yZz4gYW5kIG90aGVycyIpOwogTU9EVUxFX0RFU0NS SVBUSU9OKCJMTTg3IGRyaXZlciIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwotCi1tb2R1bGVf aW5pdChzZW5zb3JzX2xtODdfaW5pdCk7Ci1tb2R1bGVfZXhpdChzZW5zb3JzX2xtODdfZXhpdCk7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2h3bW9uL2xtOTAuYyBiL2RyaXZlcnMvaHdtb24vbG05MC5j CmluZGV4IDYxNWJjNGYuLmU3MGNiYjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaHdtb24vbG05MC5j CisrKyBiL2RyaXZlcnMvaHdtb24vbG05MC5jCkBAIC0xNTE0LDE5ICsxNTE0LDggQEAgc3RhdGlj IHN0cnVjdCBpMmNfZHJpdmVyIGxtOTBfZHJpdmVyID0gewogCS5hZGRyZXNzX2xpc3QJPSBub3Jt YWxfaTJjLAogfTsKIAotc3RhdGljIGludCBfX2luaXQgc2Vuc29yc19sbTkwX2luaXQodm9pZCkK LXsKLQlyZXR1cm4gaTJjX2FkZF9kcml2ZXIoJmxtOTBfZHJpdmVyKTsKLX0KLQotc3RhdGljIHZv aWQgX19leGl0IHNlbnNvcnNfbG05MF9leGl0KHZvaWQpCi17Ci0JaTJjX2RlbF9kcml2ZXIoJmxt OTBfZHJpdmVyKTsKLX0KK21vZHVsZV9pMmNfZHJpdmVyKGxtOTBfZHJpdmVyKTsKIAogTU9EVUxF X0FVVEhPUigiSmVhbiBEZWx2YXJlIDxraGFsaUBsaW51eC1mci5vcmc+Iik7CiBNT0RVTEVfREVT Q1JJUFRJT04oIkxNOTAvQURNMTAzMiBkcml2ZXIiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsK LQotbW9kdWxlX2luaXQoc2Vuc29yc19sbTkwX2luaXQpOwotbW9kdWxlX2V4aXQoc2Vuc29yc19s bTkwX2V4aXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi9sbTkyLmMgYi9kcml2ZXJzL2h3 bW9uL2xtOTIuYwppbmRleCA4ZmNiZDRkNC4uOTJmMmQ0NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9o d21vbi9sbTkyLmMKKysrIGIvZHJpdmVycy9od21vbi9sbTkyLmMKQEAgLTQxNiwxOSArNDE2LDgg QEAgc3RhdGljIHN0cnVjdCBpMmNfZHJpdmVyIGxtOTJfZHJpdmVyID0gewogCS5hZGRyZXNzX2xp c3QJPSBub3JtYWxfaTJjLAogfTsKIAotc3RhdGljIGludCBfX2luaXQgc2Vuc29yc19sbTkyX2lu aXQodm9pZCkKLXsKLQlyZXR1cm4gaTJjX2FkZF9kcml2ZXIoJmxtOTJfZHJpdmVyKTsKLX0KLQot c3RhdGljIHZvaWQgX19leGl0IHNlbnNvcnNfbG05Ml9leGl0KHZvaWQpCi17Ci0JaTJjX2RlbF9k cml2ZXIoJmxtOTJfZHJpdmVyKTsKLX0KK21vZHVsZV9pMmNfZHJpdmVyKGxtOTJfZHJpdmVyKTsK IAogTU9EVUxFX0FVVEhPUigiSmVhbiBEZWx2YXJlIDxraGFsaUBsaW51eC1mci5vcmc+Iik7CiBN T0RVTEVfREVTQ1JJUFRJT04oIkxNOTIvTUFYNjYzNSBkcml2ZXIiKTsKIE1PRFVMRV9MSUNFTlNF KCJHUEwiKTsKLQotbW9kdWxlX2luaXQoc2Vuc29yc19sbTkyX2luaXQpOwotbW9kdWxlX2V4aXQo c2Vuc29yc19sbTkyX2V4aXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi9sbTkzLmMgYi9k cml2ZXJzL2h3bW9uL2xtOTMuYwppbmRleCAzYjQzZGY0Li5jYjFiZjhjIDEwMDY0NAotLS0gYS9k cml2ZXJzL2h3bW9uL2xtOTMuYworKysgYi9kcml2ZXJzL2h3bW9uL2xtOTMuYwpAQCAtMjYzNSwy MCArMjYzNSw5IEBAIHN0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciBsbTkzX2RyaXZlciA9IHsKIAku YWRkcmVzc19saXN0CT0gbm9ybWFsX2kyYywKIH07CiAKLXN0YXRpYyBpbnQgX19pbml0IGxtOTNf aW5pdCh2b2lkKQotewotCXJldHVybiBpMmNfYWRkX2RyaXZlcigmbG05M19kcml2ZXIpOwotfQot Ci1zdGF0aWMgdm9pZCBfX2V4aXQgbG05M19leGl0KHZvaWQpCi17Ci0JaTJjX2RlbF9kcml2ZXIo JmxtOTNfZHJpdmVyKTsKLX0KK21vZHVsZV9pMmNfZHJpdmVyKGxtOTNfZHJpdmVyKTsKIAogTU9E VUxFX0FVVEhPUigiTWFyayBNLiBIb2ZmbWFuIDxtaG9mZm1hbkBsaWdodGxpbmsuY29tPiwgIgog CQkiSGFucyBKLiBLb2NoIDxoamtAaGFuc2prb2NoLmRlPiIpOwogTU9EVUxFX0RFU0NSSVBUSU9O KCJMTTkzIGRyaXZlciIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwotCi1tb2R1bGVfaW5pdChs bTkzX2luaXQpOwotbW9kdWxlX2V4aXQobG05M19leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv aHdtb24vbG05NTI0MS5jIGIvZHJpdmVycy9od21vbi9sbTk1MjQxLmMKaW5kZXggNTEzOTAxZC4u NjA3NGFmZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9od21vbi9sbTk1MjQxLmMKKysrIGIvZHJpdmVy cy9od21vbi9sbTk1MjQxLmMKQEAgLTQ1NSwxOSArNDU1LDggQEAgc3RhdGljIHN0cnVjdCBpMmNf ZHJpdmVyIGxtOTUyNDFfZHJpdmVyID0gewogCS5hZGRyZXNzX2xpc3QJPSBub3JtYWxfaTJjLAog fTsKIAotc3RhdGljIGludCBfX2luaXQgc2Vuc29yc19sbTk1MjQxX2luaXQodm9pZCkKLXsKLQly ZXR1cm4gaTJjX2FkZF9kcml2ZXIoJmxtOTUyNDFfZHJpdmVyKTsKLX0KLQotc3RhdGljIHZvaWQg X19leGl0IHNlbnNvcnNfbG05NTI0MV9leGl0KHZvaWQpCi17Ci0JaTJjX2RlbF9kcml2ZXIoJmxt OTUyNDFfZHJpdmVyKTsKLX0KK21vZHVsZV9pMmNfZHJpdmVyKGxtOTUyNDFfZHJpdmVyKTsKIAog TU9EVUxFX0FVVEhPUigiRGF2aWRlIFJpenpvIDxlbHBhLnJpenpvQGdtYWlsLmNvbT4iKTsKIE1P RFVMRV9ERVNDUklQVElPTigiTE05NTI0MSBzZW5zb3IgZHJpdmVyIik7CiBNT0RVTEVfTElDRU5T RSgiR1BMIik7Ci0KLW1vZHVsZV9pbml0KHNlbnNvcnNfbG05NTI0MV9pbml0KTsKLW1vZHVsZV9l eGl0KHNlbnNvcnNfbG05NTI0MV9leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHdtb24vbG05 NTI0NS5jIGIvZHJpdmVycy9od21vbi9sbTk1MjQ1LmMKaW5kZXggZGNlOWU2OC4uODdkZTdkZSAx MDA2NDQKLS0tIGEvZHJpdmVycy9od21vbi9sbTk1MjQ1LmMKKysrIGIvZHJpdmVycy9od21vbi9s bTk1MjQ1LmMKQEAgLTUyNSwxOSArNTI1LDggQEAgc3RhdGljIHN0cnVjdCBpMmNfZHJpdmVyIGxt OTUyNDVfZHJpdmVyID0gewogCS5hZGRyZXNzX2xpc3QJPSBub3JtYWxfaTJjLAogfTsKIAotc3Rh dGljIGludCBfX2luaXQgc2Vuc29yc19sbTk1MjQ1X2luaXQodm9pZCkKLXsKLQlyZXR1cm4gaTJj X2FkZF9kcml2ZXIoJmxtOTUyNDVfZHJpdmVyKTsKLX0KLQotc3RhdGljIHZvaWQgX19leGl0IHNl bnNvcnNfbG05NTI0NV9leGl0KHZvaWQpCi17Ci0JaTJjX2RlbF9kcml2ZXIoJmxtOTUyNDVfZHJp dmVyKTsKLX0KK21vZHVsZV9pMmNfZHJpdmVyKGxtOTUyNDVfZHJpdmVyKTsKIAogTU9EVUxFX0FV VEhPUigiQWxleGFuZGVyIFN0ZWluIDxhbGV4YW5kZXIuc3RlaW5Ac3lzdGVjLWVsZWN0cm9uaWMu Y29tPiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJMTTk1MjQ1IHNlbnNvciBkcml2ZXIiKTsKIE1P RFVMRV9MSUNFTlNFKCJHUEwiKTsKLQotbW9kdWxlX2luaXQoc2Vuc29yc19sbTk1MjQ1X2luaXQp OwotbW9kdWxlX2V4aXQoc2Vuc29yc19sbTk1MjQ1X2V4aXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9od21vbi9sdGM0MTUxLmMgYi9kcml2ZXJzL2h3bW9uL2x0YzQxNTEuYwppbmRleCA0YWMwNmI3 Li5mNjQ2YjQ1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2h3bW9uL2x0YzQxNTEuYworKysgYi9kcml2 ZXJzL2h3bW9uL2x0YzQxNTEuYwpAQCAtMjM4LDE5ICsyMzgsOCBAQCBzdGF0aWMgc3RydWN0IGky Y19kcml2ZXIgbHRjNDE1MV9kcml2ZXIgPSB7CiAJLmlkX3RhYmxlCT0gbHRjNDE1MV9pZCwKIH07 CiAKLXN0YXRpYyBpbnQgX19pbml0IGx0YzQxNTFfaW5pdCh2b2lkKQotewotCXJldHVybiBpMmNf YWRkX2RyaXZlcigmbHRjNDE1MV9kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgbHRj NDE1MV9leGl0KHZvaWQpCi17Ci0JaTJjX2RlbF9kcml2ZXIoJmx0YzQxNTFfZHJpdmVyKTsKLX0K K21vZHVsZV9pMmNfZHJpdmVyKGx0YzQxNTFfZHJpdmVyKTsKIAogTU9EVUxFX0FVVEhPUigiUGVy IERhbGVuIDxwZXIuZGFsZW5AYXBwZWFydHYuY29tPiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJM VEM0MTUxIGRyaXZlciIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwotCi1tb2R1bGVfaW5pdChs dGM0MTUxX2luaXQpOwotbW9kdWxlX2V4aXQobHRjNDE1MV9leGl0KTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvaHdtb24vbHRjNDIxNS5jIGIvZHJpdmVycy9od21vbi9sdGM0MjE1LmMKaW5kZXggYzdl NmQ4ZS4uMDc4OWI2MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9od21vbi9sdGM0MjE1LmMKKysrIGIv ZHJpdmVycy9od21vbi9sdGM0MjE1LmMKQEAgLTMwOSwxOSArMzA5LDggQEAgc3RhdGljIHN0cnVj dCBpMmNfZHJpdmVyIGx0YzQyMTVfZHJpdmVyID0gewogCS5pZF90YWJsZQk9IGx0YzQyMTVfaWQs CiB9OwogCi1zdGF0aWMgaW50IF9faW5pdCBsdGM0MjE1X2luaXQodm9pZCkKLXsKLQlyZXR1cm4g aTJjX2FkZF9kcml2ZXIoJmx0YzQyMTVfZHJpdmVyKTsKLX0KLQotc3RhdGljIHZvaWQgX19leGl0 IGx0YzQyMTVfZXhpdCh2b2lkKQotewotCWkyY19kZWxfZHJpdmVyKCZsdGM0MjE1X2RyaXZlcik7 Ci19Cittb2R1bGVfaTJjX2RyaXZlcihsdGM0MjE1X2RyaXZlcik7CiAKIE1PRFVMRV9BVVRIT1Io IklyYSBXLiBTbnlkZXIgPGl3c0BvdnJvLmNhbHRlY2guZWR1PiIpOwogTU9EVUxFX0RFU0NSSVBU SU9OKCJMVEM0MjE1IGRyaXZlciIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwotCi1tb2R1bGVf aW5pdChsdGM0MjE1X2luaXQpOwotbW9kdWxlX2V4aXQobHRjNDIxNV9leGl0KTsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvaHdtb24vbHRjNDI0NS5jIGIvZHJpdmVycy9od21vbi9sdGM0MjQ1LmMKaW5k ZXggNjU5MzA4My4uNjkzYTZiZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9od21vbi9sdGM0MjQ1LmMK KysrIGIvZHJpdmVycy9od21vbi9sdGM0MjQ1LmMKQEAgLTU3OCwxOSArNTc4LDggQEAgc3RhdGlj IHN0cnVjdCBpMmNfZHJpdmVyIGx0YzQyNDVfZHJpdmVyID0gewogCS5pZF90YWJsZQk9IGx0YzQy NDVfaWQsCiB9OwogCi1zdGF0aWMgaW50IF9faW5pdCBsdGM0MjQ1X2luaXQodm9pZCkKLXsKLQly ZXR1cm4gaTJjX2FkZF9kcml2ZXIoJmx0YzQyNDVfZHJpdmVyKTsKLX0KLQotc3RhdGljIHZvaWQg X19leGl0IGx0YzQyNDVfZXhpdCh2b2lkKQotewotCWkyY19kZWxfZHJpdmVyKCZsdGM0MjQ1X2Ry aXZlcik7Ci19Cittb2R1bGVfaTJjX2RyaXZlcihsdGM0MjQ1X2RyaXZlcik7CiAKIE1PRFVMRV9B VVRIT1IoIklyYSBXLiBTbnlkZXIgPGl3c0BvdnJvLmNhbHRlY2guZWR1PiIpOwogTU9EVUxFX0RF U0NSSVBUSU9OKCJMVEM0MjQ1IGRyaXZlciIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwotCi1t b2R1bGVfaW5pdChsdGM0MjQ1X2luaXQpOwotbW9kdWxlX2V4aXQobHRjNDI0NV9leGl0KTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvaHdtb24vbHRjNDI2MS5jIGIvZHJpdmVycy9od21vbi9sdGM0MjYx LmMKaW5kZXggNGI1MDYwMS4uYzc4ZDMyMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9od21vbi9sdGM0 MjYxLmMKKysrIGIvZHJpdmVycy9od21vbi9sdGM0MjYxLmMKQEAgLTI5NiwxOSArMjk2LDggQEAg c3RhdGljIHN0cnVjdCBpMmNfZHJpdmVyIGx0YzQyNjFfZHJpdmVyID0gewogCS5pZF90YWJsZSA9 IGx0YzQyNjFfaWQsCiB9OwogCi1zdGF0aWMgaW50IF9faW5pdCBsdGM0MjYxX2luaXQodm9pZCkK LXsKLQlyZXR1cm4gaTJjX2FkZF9kcml2ZXIoJmx0YzQyNjFfZHJpdmVyKTsKLX0KLQotc3RhdGlj IHZvaWQgX19leGl0IGx0YzQyNjFfZXhpdCh2b2lkKQotewotCWkyY19kZWxfZHJpdmVyKCZsdGM0 MjYxX2RyaXZlcik7Ci19Cittb2R1bGVfaTJjX2RyaXZlcihsdGM0MjYxX2RyaXZlcik7CiAKIE1P RFVMRV9BVVRIT1IoIkd1ZW50ZXIgUm9lY2sgPGd1ZW50ZXIucm9lY2tAZXJpY3Nzb24uY29tPiIp OwogTU9EVUxFX0RFU0NSSVBUSU9OKCJMVEM0MjYxIGRyaXZlciIpOwogTU9EVUxFX0xJQ0VOU0Uo IkdQTCIpOwotCi1tb2R1bGVfaW5pdChsdGM0MjYxX2luaXQpOwotbW9kdWxlX2V4aXQobHRjNDI2 MV9leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHdtb24vbWF4MTYwNjUuYyBiL2RyaXZlcnMv aHdtb24vbWF4MTYwNjUuYwppbmRleCAzODU4ODZhLi5jYTE4ZjUyIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2h3bW9uL21heDE2MDY1LmMKKysrIGIvZHJpdmVycy9od21vbi9tYXgxNjA2NS5jCkBAIC02 OTksMTkgKzY5OSw4IEBAIHN0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciBtYXgxNjA2NV9kcml2ZXIg PSB7CiAJLmlkX3RhYmxlID0gbWF4MTYwNjVfaWQsCiB9OwogCi1zdGF0aWMgaW50IF9faW5pdCBt YXgxNjA2NV9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIGkyY19hZGRfZHJpdmVyKCZtYXgxNjA2NV9k cml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgbWF4MTYwNjVfZXhpdCh2b2lkKQotewot CWkyY19kZWxfZHJpdmVyKCZtYXgxNjA2NV9kcml2ZXIpOwotfQorbW9kdWxlX2kyY19kcml2ZXIo bWF4MTYwNjVfZHJpdmVyKTsKIAogTU9EVUxFX0FVVEhPUigiR3VlbnRlciBSb2VjayA8Z3VlbnRl ci5yb2Vja0Blcmljc3Nvbi5jb20+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIk1BWDE2MDY1IGRy aXZlciIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwotCi1tb2R1bGVfaW5pdChtYXgxNjA2NV9p bml0KTsKLW1vZHVsZV9leGl0KG1heDE2MDY1X2V4aXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9o d21vbi9tYXgxNjE5LmMgYi9kcml2ZXJzL2h3bW9uL21heDE2MTkuYwppbmRleCAwMjJkZWQwLi4x MzU4MjJlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2h3bW9uL21heDE2MTkuYworKysgYi9kcml2ZXJz L2h3bW9uL21heDE2MTkuYwpAQCAtMzUzLDIwICszNTMsOSBAQCBzdGF0aWMgc3RydWN0IG1heDE2 MTlfZGF0YSAqbWF4MTYxOV91cGRhdGVfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldikKIAlyZXR1 cm4gZGF0YTsKIH0KIAotc3RhdGljIGludCBfX2luaXQgc2Vuc29yc19tYXgxNjE5X2luaXQodm9p ZCkKLXsKLQlyZXR1cm4gaTJjX2FkZF9kcml2ZXIoJm1heDE2MTlfZHJpdmVyKTsKLX0KLQotc3Rh dGljIHZvaWQgX19leGl0IHNlbnNvcnNfbWF4MTYxOV9leGl0KHZvaWQpCi17Ci0JaTJjX2RlbF9k cml2ZXIoJm1heDE2MTlfZHJpdmVyKTsKLX0KK21vZHVsZV9pMmNfZHJpdmVyKG1heDE2MTlfZHJp dmVyKTsKIAogTU9EVUxFX0FVVEhPUigiQWxleGV5IEZpc2hlciA8ZmlzaG9yQG1haWwucnU+IGFu ZCAiCiAJIkplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPiIpOwogTU9EVUxFX0RFU0NS SVBUSU9OKCJNQVgxNjE5IHNlbnNvciBkcml2ZXIiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsK LQotbW9kdWxlX2luaXQoc2Vuc29yc19tYXgxNjE5X2luaXQpOwotbW9kdWxlX2V4aXQoc2Vuc29y c19tYXgxNjE5X2V4aXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi9tYXgxNjY4LmMgYi9k cml2ZXJzL2h3bW9uL21heDE2NjguYwppbmRleCAyMGQxYjJkLi5kNWZiMTE3IDEwMDY0NAotLS0g YS9kcml2ZXJzL2h3bW9uL21heDE2NjguYworKysgYi9kcml2ZXJzL2h3bW9uL21heDE2NjguYwpA QCAtNDg0LDE5ICs0ODQsOCBAQCBzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIgbWF4MTY2OF9kcml2 ZXIgPSB7CiAJLmFkZHJlc3NfbGlzdCA9IG1heDE2NjhfYWRkcl9saXN0LAogfTsKIAotc3RhdGlj IGludCBfX2luaXQgc2Vuc29yc19tYXgxNjY4X2luaXQodm9pZCkKLXsKLQlyZXR1cm4gaTJjX2Fk ZF9kcml2ZXIoJm1heDE2NjhfZHJpdmVyKTsKLX0KLQotc3RhdGljIHZvaWQgX19leGl0IHNlbnNv cnNfbWF4MTY2OF9leGl0KHZvaWQpCi17Ci0JaTJjX2RlbF9kcml2ZXIoJm1heDE2NjhfZHJpdmVy KTsKLX0KK21vZHVsZV9pMmNfZHJpdmVyKG1heDE2NjhfZHJpdmVyKTsKIAogTU9EVUxFX0FVVEhP UigiRGF2aWQgR2VvcmdlIDxkYXZpZC5nZW9yZ2VAc2thLmFjLnphPiIpOwogTU9EVUxFX0RFU0NS SVBUSU9OKCJNQVgxNjY4IHJlbW90ZSB0ZW1wZXJhdHVyZSBzZW5zb3IgZHJpdmVyIik7CiBNT0RV TEVfTElDRU5TRSgiR1BMIik7Ci0KLW1vZHVsZV9pbml0KHNlbnNvcnNfbWF4MTY2OF9pbml0KQot bW9kdWxlX2V4aXQoc2Vuc29yc19tYXgxNjY4X2V4aXQpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2h3 bW9uL21heDY2MzkuYyBiL2RyaXZlcnMvaHdtb24vbWF4NjYzOS5jCmluZGV4IGYyMGQ5OTcuLjY0 ODY2YTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaHdtb24vbWF4NjYzOS5jCisrKyBiL2RyaXZlcnMv aHdtb24vbWF4NjYzOS5jCkBAIC02MzUsMTkgKzYzNSw4IEBAIHN0YXRpYyBzdHJ1Y3QgaTJjX2Ry aXZlciBtYXg2NjM5X2RyaXZlciA9IHsKIAkuYWRkcmVzc19saXN0ID0gbm9ybWFsX2kyYywKIH07 CiAKLXN0YXRpYyBpbnQgX19pbml0IG1heDY2MzlfaW5pdCh2b2lkKQotewotCXJldHVybiBpMmNf YWRkX2RyaXZlcigmbWF4NjYzOV9kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgbWF4 NjYzOV9leGl0KHZvaWQpCi17Ci0JaTJjX2RlbF9kcml2ZXIoJm1heDY2MzlfZHJpdmVyKTsKLX0K K21vZHVsZV9pMmNfZHJpdmVyKG1heDY2MzlfZHJpdmVyKTsKIAogTU9EVUxFX0FVVEhPUigiUm9s YW5kIFN0aWdnZSA8c3RpZ2dlQGFudGNvbS5kZT4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigibWF4 NjYzOSBkcml2ZXIiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKLQotbW9kdWxlX2luaXQobWF4 NjYzOV9pbml0KTsKLW1vZHVsZV9leGl0KG1heDY2MzlfZXhpdCk7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2h3bW9uL21heDY2NDIuYyBiL2RyaXZlcnMvaHdtb24vbWF4NjY0Mi5jCmluZGV4IGU4NTVk M2IuLjY2ZjBkYmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaHdtb24vbWF4NjY0Mi5jCisrKyBiL2Ry aXZlcnMvaHdtb24vbWF4NjY0Mi5jCkBAIC0zNTIsMTkgKzM1Miw4IEBAIHN0YXRpYyBzdHJ1Y3Qg aTJjX2RyaXZlciBtYXg2NjQyX2RyaXZlciA9IHsKIAkuYWRkcmVzc19saXN0CT0gbm9ybWFsX2ky YywKIH07CiAKLXN0YXRpYyBpbnQgX19pbml0IG1heDY2NDJfaW5pdCh2b2lkKQotewotCXJldHVy biBpMmNfYWRkX2RyaXZlcigmbWF4NjY0Ml9kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4 aXQgbWF4NjY0Ml9leGl0KHZvaWQpCi17Ci0JaTJjX2RlbF9kcml2ZXIoJm1heDY2NDJfZHJpdmVy KTsKLX0KK21vZHVsZV9pMmNfZHJpdmVyKG1heDY2NDJfZHJpdmVyKTsKIAogTU9EVUxFX0FVVEhP UigiUGVyIERhbGVuIDxwZXIuZGFsZW5AYXBwZWFydHYuY29tPiIpOwogTU9EVUxFX0RFU0NSSVBU SU9OKCJNQVg2NjQyIHNlbnNvciBkcml2ZXIiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKLQot bW9kdWxlX2luaXQobWF4NjY0Ml9pbml0KTsKLW1vZHVsZV9leGl0KG1heDY2NDJfZXhpdCk7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2h3bW9uL21heDY2NTAuYyBiL2RyaXZlcnMvaHdtb24vbWF4NjY1 MC5jCmluZGV4IGVjZTNhYWYuLjdhMGNkYjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaHdtb24vbWF4 NjY1MC5jCisrKyBiL2RyaXZlcnMvaHdtb24vbWF4NjY1MC5jCkBAIC03MTMsMTkgKzcxMyw4IEBA IHN0YXRpYyBzdHJ1Y3QgbWF4NjY1MF9kYXRhICptYXg2NjUwX3VwZGF0ZV9kZXZpY2Uoc3RydWN0 IGRldmljZSAqZGV2KQogCXJldHVybiBkYXRhOwogfQogCi1zdGF0aWMgaW50IF9faW5pdCBzZW5z b3JzX21heDY2NTBfaW5pdCh2b2lkKQotewotCXJldHVybiBpMmNfYWRkX2RyaXZlcigmbWF4NjY1 MF9kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgc2Vuc29yc19tYXg2NjUwX2V4aXQo dm9pZCkKLXsKLQlpMmNfZGVsX2RyaXZlcigmbWF4NjY1MF9kcml2ZXIpOwotfQorbW9kdWxlX2ky Y19kcml2ZXIobWF4NjY1MF9kcml2ZXIpOwogCiBNT0RVTEVfQVVUSE9SKCJIYW5zIEouIEtvY2gi KTsKIE1PRFVMRV9ERVNDUklQVElPTigiTUFYNjY1MCBzZW5zb3IgZHJpdmVyIik7CiBNT0RVTEVf TElDRU5TRSgiR1BMIik7Ci0KLW1vZHVsZV9pbml0KHNlbnNvcnNfbWF4NjY1MF9pbml0KTsKLW1v ZHVsZV9leGl0KHNlbnNvcnNfbWF4NjY1MF9leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHdt b24vc2h0MjEuYyBiL2RyaXZlcnMvaHdtb24vc2h0MjEuYwppbmRleCAxNTM5ODc4Li42YzJkZWRl IDEwMDY0NAotLS0gYS9kcml2ZXJzL2h3bW9uL3NodDIxLmMKKysrIGIvZHJpdmVycy9od21vbi9z aHQyMS5jCkBAIC0yNjEsMjggKzI2MSw3IEBAIHN0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciBzaHQy MV9kcml2ZXIgPSB7CiAJLmlkX3RhYmxlICAgID0gc2h0MjFfaWQsCiB9OwogCi0vKioKLSAqIHNo dDIxX2luaXQoKSAtIGluaXRpYWxpemUgZHJpdmVyCi0gKgotICogQ2FsbGVkIHdoZW4ga2VybmVs IGlzIGJvb3RlZCBvciBtb2R1bGUgaXMgaW5zZXJ0ZWQuCi0gKiBSZXR1cm5zIDAgb24gc3VjY2Vz cy4KLSAqLwotc3RhdGljIGludCBfX2luaXQgc2h0MjFfaW5pdCh2b2lkKQotewotCXJldHVybiBp MmNfYWRkX2RyaXZlcigmc2h0MjFfZHJpdmVyKTsKLX0KLW1vZHVsZV9pbml0KHNodDIxX2luaXQp OwotCi0vKioKLSAqIHNodDIxX2luaXQoKSAtIGNsZWFuIHVwIGRyaXZlcgotICoKLSAqIENhbGxl ZCB3aGVuIG1vZHVsZSBpcyByZW1vdmVkLgotICovCi1zdGF0aWMgdm9pZCBfX2V4aXQgc2h0MjFf ZXhpdCh2b2lkKQotewotCWkyY19kZWxfZHJpdmVyKCZzaHQyMV9kcml2ZXIpOwotfQotbW9kdWxl X2V4aXQoc2h0MjFfZXhpdCk7Cittb2R1bGVfaTJjX2RyaXZlcihzaHQyMV9kcml2ZXIpOwogCiBN T0RVTEVfQVVUSE9SKCJVcnMgRmxlaXNjaCA8dXJzLmZsZWlzY2hAc2Vuc2lyaW9uLmNvbT4iKTsK IE1PRFVMRV9ERVNDUklQVElPTigiU2Vuc2lyaW9uIFNIVDIxIGh1bWlkaXR5IGFuZCB0ZW1wZXJh dHVyZSBzZW5zb3IgZHJpdmVyIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2h3bW9uL3NtbTY2NS5j IGIvZHJpdmVycy9od21vbi9zbW02NjUuYwppbmRleCA0MTE2MzgxLi4wZDM5MmQwIDEwMDY0NAot LS0gYS9kcml2ZXJzL2h3bW9uL3NtbTY2NS5jCisrKyBiL2RyaXZlcnMvaHdtb24vc21tNjY1LmMK QEAgLTcxOCwxOSArNzE4LDggQEAgc3RhdGljIHN0cnVjdCBpMmNfZHJpdmVyIHNtbTY2NV9kcml2 ZXIgPSB7CiAJLmlkX3RhYmxlID0gc21tNjY1X2lkLAogfTsKIAotc3RhdGljIGludCBfX2luaXQg c21tNjY1X2luaXQodm9pZCkKLXsKLQlyZXR1cm4gaTJjX2FkZF9kcml2ZXIoJnNtbTY2NV9kcml2 ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgc21tNjY1X2V4aXQodm9pZCkKLXsKLQlpMmNf ZGVsX2RyaXZlcigmc21tNjY1X2RyaXZlcik7Ci19Cittb2R1bGVfaTJjX2RyaXZlcihzbW02NjVf ZHJpdmVyKTsKIAogTU9EVUxFX0FVVEhPUigiR3VlbnRlciBSb2VjayIpOwogTU9EVUxFX0RFU0NS SVBUSU9OKCJTTU02NjUgZHJpdmVyIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7Ci0KLW1vZHVs ZV9pbml0KHNtbTY2NV9pbml0KTsKLW1vZHVsZV9leGl0KHNtbTY2NV9leGl0KTsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvaHdtb24vc21zYzQ3bTE5Mi5jIGIvZHJpdmVycy9od21vbi9zbXNjNDdtMTky LmMKaW5kZXggNDBiMjY2Ny4uOGY4ODkwOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9od21vbi9zbXNj NDdtMTkyLmMKKysrIGIvZHJpdmVycy9od21vbi9zbXNjNDdtMTkyLmMKQEAgLTYzNSwxOSArNjM1 LDggQEAgc3RhdGljIHN0cnVjdCBzbXNjNDdtMTkyX2RhdGEgKnNtc2M0N20xOTJfdXBkYXRlX2Rl dmljZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJcmV0dXJuIGRhdGE7CiB9CiAKLXN0YXRpYyBpbnQg X19pbml0IHNtc2M0N20xOTJfaW5pdCh2b2lkKQotewotCXJldHVybiBpMmNfYWRkX2RyaXZlcigm c21zYzQ3bTE5Ml9kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgc21zYzQ3bTE5Ml9l eGl0KHZvaWQpCi17Ci0JaTJjX2RlbF9kcml2ZXIoJnNtc2M0N20xOTJfZHJpdmVyKTsKLX0KK21v ZHVsZV9pMmNfZHJpdmVyKHNtc2M0N20xOTJfZHJpdmVyKTsKIAogTU9EVUxFX0FVVEhPUigiSGFy dG11dCBSaWNrIDxsaW51eEByaWNrLmNsYXJhbmV0LmRlPiIpOwogTU9EVUxFX0RFU0NSSVBUSU9O KCJTTVNDNDdNMTkyIGRyaXZlciIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwotCi1tb2R1bGVf aW5pdChzbXNjNDdtMTkyX2luaXQpOwotbW9kdWxlX2V4aXQoc21zYzQ3bTE5Ml9leGl0KTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvaHdtb24vdGhtYzUwLmMgYi9kcml2ZXJzL2h3bW9uL3RobWM1MC5j CmluZGV4IDdkZmI0ZGUuLmJkODNiYzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaHdtb24vdGhtYzUw LmMKKysrIGIvZHJpdmVycy9od21vbi90aG1jNTAuYwpAQCAtNDY1LDE4ICs0NjUsNyBAQCBzdGF0 aWMgc3RydWN0IHRobWM1MF9kYXRhICp0aG1jNTBfdXBkYXRlX2RldmljZShzdHJ1Y3QgZGV2aWNl ICpkZXYpCiAJcmV0dXJuIGRhdGE7CiB9CiAKLXN0YXRpYyBpbnQgX19pbml0IHNtX3RobWM1MF9p bml0KHZvaWQpCi17Ci0JcmV0dXJuIGkyY19hZGRfZHJpdmVyKCZ0aG1jNTBfZHJpdmVyKTsKLX0K LQotc3RhdGljIHZvaWQgX19leGl0IHNtX3RobWM1MF9leGl0KHZvaWQpCi17Ci0JaTJjX2RlbF9k cml2ZXIoJnRobWM1MF9kcml2ZXIpOwotfQorbW9kdWxlX2kyY19kcml2ZXIodGhtYzUwX2RyaXZl cik7CiAKIE1PRFVMRV9BVVRIT1IoIktyenlzenRvZiBIZWx0IDxrcnp5c3p0b2YuaDFAd3AucGw+ Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIlRITUM1MCBkcml2ZXIiKTsKLQotbW9kdWxlX2luaXQo c21fdGhtYzUwX2luaXQpOwotbW9kdWxlX2V4aXQoc21fdGhtYzUwX2V4aXQpOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9od21vbi90bXAxMDIuYyBiL2RyaXZlcnMvaHdtb24vdG1wMTAyLmMKaW5kZXgg NjQzYWE4Yy4uNDBiNzQyYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9od21vbi90bXAxMDIuYworKysg Yi9kcml2ZXJzL2h3bW9uL3RtcDEwMi5jCkBAIC0yOTIsMTcgKzI5Miw3IEBAIHN0YXRpYyBzdHJ1 Y3QgaTJjX2RyaXZlciB0bXAxMDJfZHJpdmVyID0gewogCS5pZF90YWJsZQk9IHRtcDEwMl9pZCwK IH07CiAKLXN0YXRpYyBpbnQgX19pbml0IHRtcDEwMl9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIGky Y19hZGRfZHJpdmVyKCZ0bXAxMDJfZHJpdmVyKTsKLX0KLW1vZHVsZV9pbml0KHRtcDEwMl9pbml0 KTsKLQotc3RhdGljIHZvaWQgX19leGl0IHRtcDEwMl9leGl0KHZvaWQpCi17Ci0JaTJjX2RlbF9k cml2ZXIoJnRtcDEwMl9kcml2ZXIpOwotfQotbW9kdWxlX2V4aXQodG1wMTAyX2V4aXQpOworbW9k dWxlX2kyY19kcml2ZXIodG1wMTAyX2RyaXZlcik7CiAKIE1PRFVMRV9BVVRIT1IoIlN0ZXZlbiBL aW5nIDxzZmtpbmdAZmR3ZGMuY29tPiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJUZXhhcyBJbnN0 cnVtZW50cyBUTVAxMDIgdGVtcGVyYXR1cmUgc2Vuc29yIGRyaXZlciIpOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9od21vbi90bXA0MDEuYyBiL2RyaXZlcnMvaHdtb24vdG1wNDAxLmMKaW5kZXggYWQ4 ZDUzNS4uYTMyZDRkYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9od21vbi90bXA0MDEuYworKysgYi9k cml2ZXJzL2h3bW9uL3RtcDQwMS5jCkBAIC02NjIsMTkgKzY2Miw4IEBAIHN0YXRpYyBzdHJ1Y3Qg aTJjX2RyaXZlciB0bXA0MDFfZHJpdmVyID0gewogCS5hZGRyZXNzX2xpc3QJPSBub3JtYWxfaTJj LAogfTsKIAotc3RhdGljIGludCBfX2luaXQgdG1wNDAxX2luaXQodm9pZCkKLXsKLQlyZXR1cm4g aTJjX2FkZF9kcml2ZXIoJnRtcDQwMV9kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQg dG1wNDAxX2V4aXQodm9pZCkKLXsKLQlpMmNfZGVsX2RyaXZlcigmdG1wNDAxX2RyaXZlcik7Ci19 Cittb2R1bGVfaTJjX2RyaXZlcih0bXA0MDFfZHJpdmVyKTsKIAogTU9EVUxFX0FVVEhPUigiSGFu cyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigi VGV4YXMgSW5zdHJ1bWVudHMgVE1QNDAxIHRlbXBlcmF0dXJlIHNlbnNvciBkcml2ZXIiKTsKIE1P RFVMRV9MSUNFTlNFKCJHUEwiKTsKLQotbW9kdWxlX2luaXQodG1wNDAxX2luaXQpOwotbW9kdWxl X2V4aXQodG1wNDAxX2V4aXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi90bXA0MjEuYyBi L2RyaXZlcnMvaHdtb24vdG1wNDIxLmMKaW5kZXggMDUxN2E4Zi4uYWE1NTYyZCAxMDA2NDQKLS0t IGEvZHJpdmVycy9od21vbi90bXA0MjEuYworKysgYi9kcml2ZXJzL2h3bW9uL3RtcDQyMS5jCkBA IC0zMjQsMjAgKzMyNCw5IEBAIHN0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciB0bXA0MjFfZHJpdmVy ID0gewogCS5hZGRyZXNzX2xpc3QgPSBub3JtYWxfaTJjLAogfTsKIAotc3RhdGljIGludCBfX2lu aXQgdG1wNDIxX2luaXQodm9pZCkKLXsKLQlyZXR1cm4gaTJjX2FkZF9kcml2ZXIoJnRtcDQyMV9k cml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgdG1wNDIxX2V4aXQodm9pZCkKLXsKLQlp MmNfZGVsX2RyaXZlcigmdG1wNDIxX2RyaXZlcik7Ci19Cittb2R1bGVfaTJjX2RyaXZlcih0bXA0 MjFfZHJpdmVyKTsKIAogTU9EVUxFX0FVVEhPUigiQW5kcmUgUHJlbmRlbCA8YW5kcmUucHJlbmRl bEBnbXguZGU+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIlRleGFzIEluc3RydW1lbnRzIFRNUDQy MS80MjIvNDIzIHRlbXBlcmF0dXJlIHNlbnNvciIKIAkJICAgIiBkcml2ZXIiKTsKIE1PRFVMRV9M SUNFTlNFKCJHUEwiKTsKLQotbW9kdWxlX2luaXQodG1wNDIxX2luaXQpOwotbW9kdWxlX2V4aXQo dG1wNDIxX2V4aXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi93ODM3OTFkLmMgYi9kcml2 ZXJzL2h3bW9uL3c4Mzc5MWQuYwppbmRleCA4YzI4NDRlLi4xNzI5ZjE0IDEwMDY0NAotLS0gYS9k cml2ZXJzL2h3bW9uL3c4Mzc5MWQuYworKysgYi9kcml2ZXJzL2h3bW9uL3c4Mzc5MWQuYwpAQCAt MTYyNSwxOSArMTYyNSw4IEBAIHN0YXRpYyB2b2lkIHc4Mzc5MWRfcHJpbnRfZGVidWcoc3RydWN0 IHc4Mzc5MWRfZGF0YSAqZGF0YSwgc3RydWN0IGRldmljZSAqZGV2KQogfQogI2VuZGlmCiAKLXN0 YXRpYyBpbnQgX19pbml0IHNlbnNvcnNfdzgzNzkxZF9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIGky Y19hZGRfZHJpdmVyKCZ3ODM3OTFkX2RyaXZlcik7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBz ZW5zb3JzX3c4Mzc5MWRfZXhpdCh2b2lkKQotewotCWkyY19kZWxfZHJpdmVyKCZ3ODM3OTFkX2Ry aXZlcik7Ci19Cittb2R1bGVfaTJjX2RyaXZlcih3ODM3OTFkX2RyaXZlcik7CiAKIE1PRFVMRV9B VVRIT1IoIkNoYXJsZXMgU3BpcmFraXMgPGJlemF1ckBnbWFpbC5jb20+Iik7CiBNT0RVTEVfREVT Q1JJUFRJT04oIlc4Mzc5MUQgZHJpdmVyIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7Ci0KLW1v ZHVsZV9pbml0KHNlbnNvcnNfdzgzNzkxZF9pbml0KTsKLW1vZHVsZV9leGl0KHNlbnNvcnNfdzgz NzkxZF9leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHdtb24vdzgzNzkyZC5jIGIvZHJpdmVy cy9od21vbi93ODM3OTJkLmMKaW5kZXggZjNlNzEzMC4uNDMyNDZlOCAxMDA2NDQKLS0tIGEvZHJp dmVycy9od21vbi93ODM3OTJkLmMKKysrIGIvZHJpdmVycy9od21vbi93ODM3OTJkLmMKQEAgLTE2 NDEsMjIgKzE2NDEsOCBAQCBzdGF0aWMgdm9pZCB3ODM3OTJkX3ByaW50X2RlYnVnKHN0cnVjdCB3 ODM3OTJkX2RhdGEgKmRhdGEsIHN0cnVjdCBkZXZpY2UgKmRldikKIH0KICNlbmRpZgogCi1zdGF0 aWMgaW50IF9faW5pdAotc2Vuc29yc193ODM3OTJkX2luaXQodm9pZCkKLXsKLQlyZXR1cm4gaTJj X2FkZF9kcml2ZXIoJnc4Mzc5MmRfZHJpdmVyKTsKLX0KLQotc3RhdGljIHZvaWQgX19leGl0Ci1z ZW5zb3JzX3c4Mzc5MmRfZXhpdCh2b2lkKQotewotCWkyY19kZWxfZHJpdmVyKCZ3ODM3OTJkX2Ry aXZlcik7Ci19Cittb2R1bGVfaTJjX2RyaXZlcih3ODM3OTJkX2RyaXZlcik7CiAKIE1PRFVMRV9B VVRIT1IoIkNodW5oYW8gSHVhbmcgQCBXaW5ib25kIDxEWlNoZW5AV2luYm9uZC5jb20udHc+Iik7 CiBNT0RVTEVfREVTQ1JJUFRJT04oIlc4Mzc5MkFEL0QgZHJpdmVyIGZvciBsaW51eC0yLjYiKTsK IE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKLQotbW9kdWxlX2luaXQoc2Vuc29yc193ODM3OTJkX2lu aXQpOwotbW9kdWxlX2V4aXQoc2Vuc29yc193ODM3OTJkX2V4aXQpOwotCmRpZmYgLS1naXQgYS9k cml2ZXJzL2h3bW9uL3c4Mzc5My5jIGIvZHJpdmVycy9od21vbi93ODM3OTMuYwppbmRleCA4NTRm OTExLi43N2RkNDY1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2h3bW9uL3c4Mzc5My5jCisrKyBiL2Ry aXZlcnMvaHdtb24vdzgzNzkzLmMKQEAgLTIxMjAsMTkgKzIxMjAsOCBAQCBFTkQ6CiAJcmV0dXJu IHJlczsKIH0KIAotc3RhdGljIGludCBfX2luaXQgc2Vuc29yc193ODM3OTNfaW5pdCh2b2lkKQot ewotCXJldHVybiBpMmNfYWRkX2RyaXZlcigmdzgzNzkzX2RyaXZlcik7Ci19Ci0KLXN0YXRpYyB2 b2lkIF9fZXhpdCBzZW5zb3JzX3c4Mzc5M19leGl0KHZvaWQpCi17Ci0JaTJjX2RlbF9kcml2ZXIo Jnc4Mzc5M19kcml2ZXIpOwotfQorbW9kdWxlX2kyY19kcml2ZXIodzgzNzkzX2RyaXZlcik7CiAK IE1PRFVMRV9BVVRIT1IoIll1YW4gTXUsIFN2ZW4gQW5kZXJzIik7CiBNT0RVTEVfREVTQ1JJUFRJ T04oInc4Mzc5MyBkcml2ZXIiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKLQotbW9kdWxlX2lu aXQoc2Vuc29yc193ODM3OTNfaW5pdCk7Ci1tb2R1bGVfZXhpdChzZW5zb3JzX3c4Mzc5M19leGl0 KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHdtb24vdzgzNzk1LmMgYi9kcml2ZXJzL2h3bW9uL3c4 Mzc5NS5jCmluZGV4IDg0NTIzMmQuLjI1ZDc0MWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaHdtb24v dzgzNzk1LmMKKysrIGIvZHJpdmVycy9od21vbi93ODM3OTUuYwpAQCAtMjI0NCwxOSArMjI0NCw4 IEBAIHN0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciB3ODM3OTVfZHJpdmVyID0gewogCS5hZGRyZXNz X2xpc3QJPSBub3JtYWxfaTJjLAogfTsKIAotc3RhdGljIGludCBfX2luaXQgc2Vuc29yc193ODM3 OTVfaW5pdCh2b2lkKQotewotCXJldHVybiBpMmNfYWRkX2RyaXZlcigmdzgzNzk1X2RyaXZlcik7 Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBzZW5zb3JzX3c4Mzc5NV9leGl0KHZvaWQpCi17Ci0J aTJjX2RlbF9kcml2ZXIoJnc4Mzc5NV9kcml2ZXIpOwotfQorbW9kdWxlX2kyY19kcml2ZXIodzgz Nzk1X2RyaXZlcik7CiAKIE1PRFVMRV9BVVRIT1IoIldlaSBTb25nLCBKZWFuIERlbHZhcmUgPGto YWxpQGxpbnV4LWZyLm9yZz4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigiVzgzNzk1Ry9BREcgaGFy ZHdhcmUgbW9uaXRvcmluZyBkcml2ZXIiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKLQotbW9k dWxlX2luaXQoc2Vuc29yc193ODM3OTVfaW5pdCk7Ci1tb2R1bGVfZXhpdChzZW5zb3JzX3c4Mzc5 NV9leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHdtb24vdzgzbDc4NXRzLmMgYi9kcml2ZXJz L2h3bW9uL3c4M2w3ODV0cy5jCmluZGV4IDIwNzgxZGUuLjU3ZjYzOWUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvaHdtb24vdzgzbDc4NXRzLmMKKysrIGIvZHJpdmVycy9od21vbi93ODNsNzg1dHMuYwpA QCAtMzAyLDE5ICszMDIsOCBAQCBzdGF0aWMgc3RydWN0IHc4M2w3ODV0c19kYXRhICp3ODNsNzg1 dHNfdXBkYXRlX2RldmljZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJcmV0dXJuIGRhdGE7CiB9CiAK LXN0YXRpYyBpbnQgX19pbml0IHNlbnNvcnNfdzgzbDc4NXRzX2luaXQodm9pZCkKLXsKLQlyZXR1 cm4gaTJjX2FkZF9kcml2ZXIoJnc4M2w3ODV0c19kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBf X2V4aXQgc2Vuc29yc193ODNsNzg1dHNfZXhpdCh2b2lkKQotewotCWkyY19kZWxfZHJpdmVyKCZ3 ODNsNzg1dHNfZHJpdmVyKTsKLX0KK21vZHVsZV9pMmNfZHJpdmVyKHc4M2w3ODV0c19kcml2ZXIp OwogCiBNT0RVTEVfQVVUSE9SKCJKZWFuIERlbHZhcmUgPGtoYWxpQGxpbnV4LWZyLm9yZz4iKTsK IE1PRFVMRV9ERVNDUklQVElPTigiVzgzTDc4NVRTLVMgZHJpdmVyIik7CiBNT0RVTEVfTElDRU5T RSgiR1BMIik7Ci0KLW1vZHVsZV9pbml0KHNlbnNvcnNfdzgzbDc4NXRzX2luaXQpOwotbW9kdWxl X2V4aXQoc2Vuc29yc193ODNsNzg1dHNfZXhpdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2h3bW9u L3c4M2w3ODZuZy5jIGIvZHJpdmVycy9od21vbi93ODNsNzg2bmcuYwppbmRleCAwMjU0ZTE4Li44 YjEyMGViIDEwMDY0NAotLS0gYS9kcml2ZXJzL2h3bW9uL3c4M2w3ODZuZy5jCisrKyBiL2RyaXZl cnMvaHdtb24vdzgzbDc4Nm5nLmMKQEAgLTc2OSwyMSArNzY5LDggQEAgc3RhdGljIHN0cnVjdCB3 ODNsNzg2bmdfZGF0YSAqdzgzbDc4Nm5nX3VwZGF0ZV9kZXZpY2Uoc3RydWN0IGRldmljZSAqZGV2 KQogCXJldHVybiBkYXRhOwogfQogCi1zdGF0aWMgaW50IF9faW5pdAotc2Vuc29yc193ODNsNzg2 bmdfaW5pdCh2b2lkKQotewotCXJldHVybiBpMmNfYWRkX2RyaXZlcigmdzgzbDc4Nm5nX2RyaXZl cik7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdAotc2Vuc29yc193ODNsNzg2bmdfZXhpdCh2b2lk KQotewotCWkyY19kZWxfZHJpdmVyKCZ3ODNsNzg2bmdfZHJpdmVyKTsKLX0KK21vZHVsZV9pMmNf ZHJpdmVyKHc4M2w3ODZuZ19kcml2ZXIpOwogCiBNT0RVTEVfQVVUSE9SKCJLZXZpbiBMbyIpOwog TU9EVUxFX0RFU0NSSVBUSU9OKCJ3ODNsNzg2bmcgZHJpdmVyIik7CiBNT0RVTEVfTElDRU5TRSgi R1BMIik7Ci0KLW1vZHVsZV9pbml0KHNlbnNvcnNfdzgzbDc4Nm5nX2luaXQpOwotbW9kdWxlX2V4 aXQoc2Vuc29yc193ODNsNzg2bmdfZXhpdCk7Ci0tIAoxLjcuNS40CgoKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsbS1zZW5zb3JzIG1haWxpbmcgbGlz dApsbS1zZW5zb3JzQGxtLXNlbnNvcnMub3JnCmh0dHA6Ly9saXN0cy5sbS1zZW5zb3JzLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2xtLXNlbnNvcnM From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751896Ab1KYHGp (ORCPT ); Fri, 25 Nov 2011 02:06:45 -0500 Received: from mail-yx0-f174.google.com ([209.85.213.174]:47214 "EHLO mail-yx0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750894Ab1KYHGn (ORCPT ); Fri, 25 Nov 2011 02:06:43 -0500 Message-ID: <1322204787.11718.1.camel@phoenix> Subject: [PATCH] hwmon: convert drivers/hwmon/* to use module_i2c_driver() From: Axel Lin To: linux-kernel@vger.kernel.org Cc: Corentin Labbe , Dirk Eibach , "Mark M. Hoffman" , Steve Glendinning , Riku Voipio , Guillaume Ligneul , David George , "Hans J. Koch" , Marc Hulsman , Rudolf Marek , Jean Delvare , Guenter Roeck , lm-sensors@lm-sensors.org Date: Fri, 25 Nov 2011 15:06:27 +0800 Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.1- Content-Transfer-Encoding: 8bit Mime-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch converts the drivers in drivers/hwmon/* to use the module_i2c_driver() macro which makes the code smaller and a bit simpler. Cc: Corentin Labbe Cc: Dirk Eibach Cc: "Mark M. Hoffman" Cc: Steve Glendinning Cc: Riku Voipio Cc: Guillaume Ligneul Cc: David George Cc: "Hans J. Koch" Cc: Marc Hulsman Cc: Rudolf Marek Signed-off-by: Axel Lin --- drivers/hwmon/ad7414.c | 12 +----------- drivers/hwmon/ad7418.c | 13 +------------ drivers/hwmon/adm1021.c | 13 +------------ drivers/hwmon/adm1025.c | 13 +------------ drivers/hwmon/adm1026.c | 13 +------------ drivers/hwmon/adm1029.c | 18 +----------------- drivers/hwmon/adm1031.c | 13 +------------ drivers/hwmon/adm9240.c | 14 +------------- drivers/hwmon/ads1015.c | 13 +------------ drivers/hwmon/adt7411.c | 12 +----------- drivers/hwmon/adt7462.c | 13 +------------ drivers/hwmon/adt7470.c | 13 +------------ drivers/hwmon/adt7475.c | 13 +------------ drivers/hwmon/amc6821.c | 15 +-------------- drivers/hwmon/asb100.c | 13 +------------ drivers/hwmon/atxp1.c | 13 +------------ drivers/hwmon/ds1621.c | 14 +------------- drivers/hwmon/ds620.c | 13 +------------ drivers/hwmon/emc1403.c | 13 +------------ drivers/hwmon/emc2103.c | 13 +------------ drivers/hwmon/emc6w201.c | 12 +----------- drivers/hwmon/f75375s.c | 13 +------------ drivers/hwmon/fschmd.c | 13 +------------ drivers/hwmon/g760a.c | 15 +-------------- drivers/hwmon/gl518sm.c | 13 +------------ drivers/hwmon/gl520sm.c | 15 +-------------- drivers/hwmon/jc42.c | 13 +------------ drivers/hwmon/lineage-pem.c | 13 +------------ drivers/hwmon/lm63.c | 13 +------------ drivers/hwmon/lm73.c | 15 +-------------- drivers/hwmon/lm75.c | 17 +---------------- drivers/hwmon/lm77.c | 13 +------------ drivers/hwmon/lm80.c | 13 +------------ drivers/hwmon/lm83.c | 13 +------------ drivers/hwmon/lm85.c | 14 +------------- drivers/hwmon/lm87.c | 13 +------------ drivers/hwmon/lm90.c | 13 +------------ drivers/hwmon/lm92.c | 13 +------------ drivers/hwmon/lm93.c | 13 +------------ drivers/hwmon/lm95241.c | 13 +------------ drivers/hwmon/lm95245.c | 13 +------------ drivers/hwmon/ltc4151.c | 13 +------------ drivers/hwmon/ltc4215.c | 13 +------------ drivers/hwmon/ltc4245.c | 13 +------------ drivers/hwmon/ltc4261.c | 13 +------------ drivers/hwmon/max16065.c | 13 +------------ drivers/hwmon/max1619.c | 13 +------------ drivers/hwmon/max1668.c | 13 +------------ drivers/hwmon/max6639.c | 13 +------------ drivers/hwmon/max6642.c | 13 +------------ drivers/hwmon/max6650.c | 13 +------------ drivers/hwmon/sht21.c | 23 +---------------------- drivers/hwmon/smm665.c | 13 +------------ drivers/hwmon/smsc47m192.c | 13 +------------ drivers/hwmon/thmc50.c | 13 +------------ drivers/hwmon/tmp102.c | 12 +----------- drivers/hwmon/tmp401.c | 13 +------------ drivers/hwmon/tmp421.c | 13 +------------ drivers/hwmon/w83791d.c | 13 +------------ drivers/hwmon/w83792d.c | 16 +--------------- drivers/hwmon/w83793.c | 13 +------------ drivers/hwmon/w83795.c | 13 +------------ drivers/hwmon/w83l785ts.c | 13 +------------ drivers/hwmon/w83l786ng.c | 15 +-------------- 64 files changed, 64 insertions(+), 799 deletions(-) diff --git a/drivers/hwmon/ad7414.c b/drivers/hwmon/ad7414.c index df29a7f..22c2420 100644 --- a/drivers/hwmon/ad7414.c +++ b/drivers/hwmon/ad7414.c @@ -252,17 +252,7 @@ static struct i2c_driver ad7414_driver = { .id_table = ad7414_id, }; -static int __init ad7414_init(void) -{ - return i2c_add_driver(&ad7414_driver); -} -module_init(ad7414_init); - -static void __exit ad7414_exit(void) -{ - i2c_del_driver(&ad7414_driver); -} -module_exit(ad7414_exit); +module_i2c_driver(ad7414_driver); MODULE_AUTHOR("Stefan Roese , " "Frank Edelhaeuser "); diff --git a/drivers/hwmon/ad7418.c b/drivers/hwmon/ad7418.c index 8cb718c..367244b 100644 --- a/drivers/hwmon/ad7418.c +++ b/drivers/hwmon/ad7418.c @@ -289,20 +289,9 @@ static int ad7418_remove(struct i2c_client *client) return 0; } -static int __init ad7418_init(void) -{ - return i2c_add_driver(&ad7418_driver); -} - -static void __exit ad7418_exit(void) -{ - i2c_del_driver(&ad7418_driver); -} +module_i2c_driver(ad7418_driver); MODULE_AUTHOR("Alessandro Zummo "); MODULE_DESCRIPTION("AD7416/17/18 driver"); MODULE_LICENSE("GPL"); MODULE_VERSION(DRV_VERSION); - -module_init(ad7418_init); -module_exit(ad7418_exit); diff --git a/drivers/hwmon/adm1021.c b/drivers/hwmon/adm1021.c index 1ad0a88..5498aee 100644 --- a/drivers/hwmon/adm1021.c +++ b/drivers/hwmon/adm1021.c @@ -451,15 +451,7 @@ static struct adm1021_data *adm1021_update_device(struct device *dev) return data; } -static int __init sensors_adm1021_init(void) -{ - return i2c_add_driver(&adm1021_driver); -} - -static void __exit sensors_adm1021_exit(void) -{ - i2c_del_driver(&adm1021_driver); -} +module_i2c_driver(adm1021_driver); MODULE_AUTHOR ("Frodo Looijaard and " "Philip Edelbrock "); @@ -468,6 +460,3 @@ MODULE_LICENSE("GPL"); module_param(read_only, bool, 0); MODULE_PARM_DESC(read_only, "Don't set any values, read only mode"); - -module_init(sensors_adm1021_init) -module_exit(sensors_adm1021_exit) diff --git a/drivers/hwmon/adm1025.c b/drivers/hwmon/adm1025.c index 60befc0..f02c38b 100644 --- a/drivers/hwmon/adm1025.c +++ b/drivers/hwmon/adm1025.c @@ -589,19 +589,8 @@ static struct adm1025_data *adm1025_update_device(struct device *dev) return data; } -static int __init sensors_adm1025_init(void) -{ - return i2c_add_driver(&adm1025_driver); -} - -static void __exit sensors_adm1025_exit(void) -{ - i2c_del_driver(&adm1025_driver); -} +module_i2c_driver(adm1025_driver); MODULE_AUTHOR("Jean Delvare "); MODULE_DESCRIPTION("ADM1025 driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_adm1025_init); -module_exit(sensors_adm1025_exit); diff --git a/drivers/hwmon/adm1026.c b/drivers/hwmon/adm1026.c index 0531867..be17083 100644 --- a/drivers/hwmon/adm1026.c +++ b/drivers/hwmon/adm1026.c @@ -1761,20 +1761,9 @@ static int adm1026_remove(struct i2c_client *client) return 0; } -static int __init sm_adm1026_init(void) -{ - return i2c_add_driver(&adm1026_driver); -} - -static void __exit sm_adm1026_exit(void) -{ - i2c_del_driver(&adm1026_driver); -} +module_i2c_driver(adm1026_driver); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Philip Pokorny , " "Justin Thiessen "); MODULE_DESCRIPTION("ADM1026 driver"); - -module_init(sm_adm1026_init); -module_exit(sm_adm1026_exit); diff --git a/drivers/hwmon/adm1029.c b/drivers/hwmon/adm1029.c index 0b8a3b1..8e5adb2 100644 --- a/drivers/hwmon/adm1029.c +++ b/drivers/hwmon/adm1029.c @@ -446,24 +446,8 @@ static struct adm1029_data *adm1029_update_device(struct device *dev) return data; } -/* - Common module stuff -*/ -static int __init sensors_adm1029_init(void) -{ - - return i2c_add_driver(&adm1029_driver); -} - -static void __exit sensors_adm1029_exit(void) -{ - - i2c_del_driver(&adm1029_driver); -} +module_i2c_driver(adm1029_driver); MODULE_AUTHOR("Corentin LABBE "); MODULE_DESCRIPTION("adm1029 driver"); MODULE_LICENSE("GPL v2"); - -module_init(sensors_adm1029_init); -module_exit(sensors_adm1029_exit); diff --git a/drivers/hwmon/adm1031.c b/drivers/hwmon/adm1031.c index 0683e6b..71be42c 100644 --- a/drivers/hwmon/adm1031.c +++ b/drivers/hwmon/adm1031.c @@ -1078,19 +1078,8 @@ static struct adm1031_data *adm1031_update_device(struct device *dev) return data; } -static int __init sensors_adm1031_init(void) -{ - return i2c_add_driver(&adm1031_driver); -} - -static void __exit sensors_adm1031_exit(void) -{ - i2c_del_driver(&adm1031_driver); -} +module_i2c_driver(adm1031_driver); MODULE_AUTHOR("Alexandre d'Alton "); MODULE_DESCRIPTION("ADM1031/ADM1030 driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_adm1031_init); -module_exit(sensors_adm1031_exit); diff --git a/drivers/hwmon/adm9240.c b/drivers/hwmon/adm9240.c index 9e234b9..5e307ba 100644 --- a/drivers/hwmon/adm9240.c +++ b/drivers/hwmon/adm9240.c @@ -795,21 +795,9 @@ static struct adm9240_data *adm9240_update_device(struct device *dev) return data; } -static int __init sensors_adm9240_init(void) -{ - return i2c_add_driver(&adm9240_driver); -} - -static void __exit sensors_adm9240_exit(void) -{ - i2c_del_driver(&adm9240_driver); -} +module_i2c_driver(adm9240_driver); MODULE_AUTHOR("Michiel Rook , " "Grant Coady and others"); MODULE_DESCRIPTION("ADM9240/DS1780/LM81 driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_adm9240_init); -module_exit(sensors_adm9240_exit); - diff --git a/drivers/hwmon/ads1015.c b/drivers/hwmon/ads1015.c index eedca3c..60be358 100644 --- a/drivers/hwmon/ads1015.c +++ b/drivers/hwmon/ads1015.c @@ -306,19 +306,8 @@ static struct i2c_driver ads1015_driver = { .id_table = ads1015_id, }; -static int __init sensors_ads1015_init(void) -{ - return i2c_add_driver(&ads1015_driver); -} - -static void __exit sensors_ads1015_exit(void) -{ - i2c_del_driver(&ads1015_driver); -} +module_i2c_driver(ads1015_driver); MODULE_AUTHOR("Dirk Eibach "); MODULE_DESCRIPTION("ADS1015 driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_ads1015_init); -module_exit(sensors_ads1015_exit); diff --git a/drivers/hwmon/adt7411.c b/drivers/hwmon/adt7411.c index 5cc3e37..e4d86ca 100644 --- a/drivers/hwmon/adt7411.c +++ b/drivers/hwmon/adt7411.c @@ -348,17 +348,7 @@ static struct i2c_driver adt7411_driver = { .class = I2C_CLASS_HWMON, }; -static int __init sensors_adt7411_init(void) -{ - return i2c_add_driver(&adt7411_driver); -} -module_init(sensors_adt7411_init) - -static void __exit sensors_adt7411_exit(void) -{ - i2c_del_driver(&adt7411_driver); -} -module_exit(sensors_adt7411_exit) +module_i2c_driver(adt7411_driver); MODULE_AUTHOR("Sascha Hauer and " "Wolfram Sang "); diff --git a/drivers/hwmon/adt7462.c b/drivers/hwmon/adt7462.c index 2af0c7b..1beb8a9 100644 --- a/drivers/hwmon/adt7462.c +++ b/drivers/hwmon/adt7462.c @@ -1975,19 +1975,8 @@ static int adt7462_remove(struct i2c_client *client) return 0; } -static int __init adt7462_init(void) -{ - return i2c_add_driver(&adt7462_driver); -} - -static void __exit adt7462_exit(void) -{ - i2c_del_driver(&adt7462_driver); -} +module_i2c_driver(adt7462_driver); MODULE_AUTHOR("Darrick J. Wong "); MODULE_DESCRIPTION("ADT7462 driver"); MODULE_LICENSE("GPL"); - -module_init(adt7462_init); -module_exit(adt7462_exit); diff --git a/drivers/hwmon/adt7470.c b/drivers/hwmon/adt7470.c index c6d1ce0..ddca215 100644 --- a/drivers/hwmon/adt7470.c +++ b/drivers/hwmon/adt7470.c @@ -1317,19 +1317,8 @@ static int adt7470_remove(struct i2c_client *client) return 0; } -static int __init adt7470_init(void) -{ - return i2c_add_driver(&adt7470_driver); -} - -static void __exit adt7470_exit(void) -{ - i2c_del_driver(&adt7470_driver); -} +module_i2c_driver(adt7470_driver); MODULE_AUTHOR("Darrick J. Wong "); MODULE_DESCRIPTION("ADT7470 driver"); MODULE_LICENSE("GPL"); - -module_init(adt7470_init); -module_exit(adt7470_exit); diff --git a/drivers/hwmon/adt7475.c b/drivers/hwmon/adt7475.c index b5fcd87..c753548 100644 --- a/drivers/hwmon/adt7475.c +++ b/drivers/hwmon/adt7475.c @@ -1600,19 +1600,8 @@ static struct adt7475_data *adt7475_update_device(struct device *dev) return data; } -static int __init sensors_adt7475_init(void) -{ - return i2c_add_driver(&adt7475_driver); -} - -static void __exit sensors_adt7475_exit(void) -{ - i2c_del_driver(&adt7475_driver); -} +module_i2c_driver(adt7475_driver); MODULE_AUTHOR("Advanced Micro Devices, Inc"); MODULE_DESCRIPTION("adt7475 driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_adt7475_init); -module_exit(sensors_adt7475_exit); diff --git a/drivers/hwmon/amc6821.c b/drivers/hwmon/amc6821.c index 4033974..da6ca4f 100644 --- a/drivers/hwmon/amc6821.c +++ b/drivers/hwmon/amc6821.c @@ -1095,20 +1095,7 @@ static struct amc6821_data *amc6821_update_device(struct device *dev) return data; } - -static int __init amc6821_init(void) -{ - return i2c_add_driver(&amc6821_driver); -} - -static void __exit amc6821_exit(void) -{ - i2c_del_driver(&amc6821_driver); -} - -module_init(amc6821_init); -module_exit(amc6821_exit); - +module_i2c_driver(amc6821_driver); MODULE_LICENSE("GPL"); MODULE_AUTHOR("T. Mertelj "); diff --git a/drivers/hwmon/asb100.c b/drivers/hwmon/asb100.c index d7bd1f3..0f300c6 100644 --- a/drivers/hwmon/asb100.c +++ b/drivers/hwmon/asb100.c @@ -971,19 +971,8 @@ static struct asb100_data *asb100_update_device(struct device *dev) return data; } -static int __init asb100_init(void) -{ - return i2c_add_driver(&asb100_driver); -} - -static void __exit asb100_exit(void) -{ - i2c_del_driver(&asb100_driver); -} +module_i2c_driver(asb100_driver); MODULE_AUTHOR("Mark M. Hoffman "); MODULE_DESCRIPTION("ASB100 Bach driver"); MODULE_LICENSE("GPL"); - -module_init(asb100_init); -module_exit(asb100_exit); diff --git a/drivers/hwmon/atxp1.c b/drivers/hwmon/atxp1.c index 33cc143..701bc9d 100644 --- a/drivers/hwmon/atxp1.c +++ b/drivers/hwmon/atxp1.c @@ -367,15 +367,4 @@ static int atxp1_remove(struct i2c_client *client) return 0; }; -static int __init atxp1_init(void) -{ - return i2c_add_driver(&atxp1_driver); -}; - -static void __exit atxp1_exit(void) -{ - i2c_del_driver(&atxp1_driver); -}; - -module_init(atxp1_init); -module_exit(atxp1_exit); +module_i2c_driver(atxp1_driver); diff --git a/drivers/hwmon/ds1621.c b/drivers/hwmon/ds1621.c index ef1ac996..9832ac5 100644 --- a/drivers/hwmon/ds1621.c +++ b/drivers/hwmon/ds1621.c @@ -305,20 +305,8 @@ static struct i2c_driver ds1621_driver = { .address_list = normal_i2c, }; -static int __init ds1621_init(void) -{ - return i2c_add_driver(&ds1621_driver); -} - -static void __exit ds1621_exit(void) -{ - i2c_del_driver(&ds1621_driver); -} - +module_i2c_driver(ds1621_driver); MODULE_AUTHOR("Christian W. Zuckschwerdt "); MODULE_DESCRIPTION("DS1621 driver"); MODULE_LICENSE("GPL"); - -module_init(ds1621_init); -module_exit(ds1621_exit); diff --git a/drivers/hwmon/ds620.c b/drivers/hwmon/ds620.c index 225ae4f..2e2b430 100644 --- a/drivers/hwmon/ds620.c +++ b/drivers/hwmon/ds620.c @@ -297,19 +297,8 @@ static struct i2c_driver ds620_driver = { .id_table = ds620_id, }; -static int __init ds620_init(void) -{ - return i2c_add_driver(&ds620_driver); -} - -static void __exit ds620_exit(void) -{ - i2c_del_driver(&ds620_driver); -} +module_i2c_driver(ds620_driver); MODULE_AUTHOR("Roland Stigge "); MODULE_DESCRIPTION("DS620 driver"); MODULE_LICENSE("GPL"); - -module_init(ds620_init); -module_exit(ds620_exit); diff --git a/drivers/hwmon/emc1403.c b/drivers/hwmon/emc1403.c index cd2a6e4..223bd3c 100644 --- a/drivers/hwmon/emc1403.c +++ b/drivers/hwmon/emc1403.c @@ -366,18 +366,7 @@ static struct i2c_driver sensor_emc1403 = { .address_list = emc1403_address_list, }; -static int __init sensor_emc1403_init(void) -{ - return i2c_add_driver(&sensor_emc1403); -} - -static void __exit sensor_emc1403_exit(void) -{ - i2c_del_driver(&sensor_emc1403); -} - -module_init(sensor_emc1403_init); -module_exit(sensor_emc1403_exit); +module_i2c_driver(sensor_emc1403); MODULE_AUTHOR("Kalhan Trisal "); MODULE_DESCRIPTION("SMSC EMC2103 hwmon driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_emc2103_init); -module_exit(sensors_emc2103_exit); diff --git a/drivers/hwmon/emc6w201.c b/drivers/hwmon/emc6w201.c index 0064432..cbef6e1 100644 --- a/drivers/hwmon/emc6w201.c +++ b/drivers/hwmon/emc6w201.c @@ -552,17 +552,7 @@ static struct i2c_driver emc6w201_driver = { .address_list = normal_i2c, }; -static int __init sensors_emc6w201_init(void) -{ - return i2c_add_driver(&emc6w201_driver); -} -module_init(sensors_emc6w201_init); - -static void __exit sensors_emc6w201_exit(void) -{ - i2c_del_driver(&emc6w201_driver); -} -module_exit(sensors_emc6w201_exit); +module_i2c_driver(emc6w201_driver); MODULE_AUTHOR("Jean Delvare "); MODULE_DESCRIPTION("SMSC EMC6W201 hardware monitoring driver"); diff --git a/drivers/hwmon/f75375s.c b/drivers/hwmon/f75375s.c index 95cbfb3..8326084 100644 --- a/drivers/hwmon/f75375s.c +++ b/drivers/hwmon/f75375s.c @@ -699,19 +699,8 @@ static int f75375_detect(struct i2c_client *client, return 0; } -static int __init sensors_f75375_init(void) -{ - return i2c_add_driver(&f75375_driver); -} - -static void __exit sensors_f75375_exit(void) -{ - i2c_del_driver(&f75375_driver); -} +module_i2c_driver(f75375_driver); MODULE_AUTHOR("Riku Voipio"); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("F75373/F75375 hardware monitoring driver"); - -module_init(sensors_f75375_init); -module_exit(sensors_f75375_exit); diff --git a/drivers/hwmon/fschmd.c b/drivers/hwmon/fschmd.c index aa6d8b6..73ba942 100644 --- a/drivers/hwmon/fschmd.c +++ b/drivers/hwmon/fschmd.c @@ -1314,20 +1314,9 @@ static struct fschmd_data *fschmd_update_device(struct device *dev) return data; } -static int __init fschmd_init(void) -{ - return i2c_add_driver(&fschmd_driver); -} - -static void __exit fschmd_exit(void) -{ - i2c_del_driver(&fschmd_driver); -} +module_i2c_driver(fschmd_driver); MODULE_AUTHOR("Hans de Goede "); MODULE_DESCRIPTION("FSC Poseidon, Hermes, Scylla, Heracles, Heimdall, Hades " "and Syleus driver"); MODULE_LICENSE("GPL"); - -module_init(fschmd_init); -module_exit(fschmd_exit); diff --git a/drivers/hwmon/g760a.c b/drivers/hwmon/g760a.c index 1d6a6fa..f8cd5a9 100644 --- a/drivers/hwmon/g760a.c +++ b/drivers/hwmon/g760a.c @@ -250,21 +250,8 @@ static int g760a_remove(struct i2c_client *client) return 0; } -/* module management */ - -static int __init g760a_init(void) -{ - return i2c_add_driver(&g760a_driver); -} - -static void __exit g760a_exit(void) -{ - i2c_del_driver(&g760a_driver); -} +module_i2c_driver(g760a_driver); MODULE_AUTHOR("Herbert Valerio Riedel "); MODULE_DESCRIPTION("GMT G760A driver"); MODULE_LICENSE("GPL"); - -module_init(g760a_init); -module_exit(g760a_exit); diff --git a/drivers/hwmon/gl518sm.c b/drivers/hwmon/gl518sm.c index a13e2da..89b8c0a 100644 --- a/drivers/hwmon/gl518sm.c +++ b/drivers/hwmon/gl518sm.c @@ -676,21 +676,10 @@ static struct gl518_data *gl518_update_device(struct device *dev) return data; } -static int __init sensors_gl518sm_init(void) -{ - return i2c_add_driver(&gl518_driver); -} - -static void __exit sensors_gl518sm_exit(void) -{ - i2c_del_driver(&gl518_driver); -} +module_i2c_driver(gl518_driver); MODULE_AUTHOR("Frodo Looijaard , " "Kyosti Malkki and " "Hong-Gunn Chew "); MODULE_DESCRIPTION("GL518SM driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_gl518sm_init); -module_exit(sensors_gl518sm_exit); diff --git a/drivers/hwmon/gl520sm.c b/drivers/hwmon/gl520sm.c index cd6085b..e6dcf66 100644 --- a/drivers/hwmon/gl520sm.c +++ b/drivers/hwmon/gl520sm.c @@ -910,23 +910,10 @@ static struct gl520_data *gl520_update_device(struct device *dev) return data; } - -static int __init sensors_gl520sm_init(void) -{ - return i2c_add_driver(&gl520_driver); -} - -static void __exit sensors_gl520sm_exit(void) -{ - i2c_del_driver(&gl520_driver); -} - +module_i2c_driver(gl520_driver); MODULE_AUTHOR("Frodo Looijaard , " "Kyösti Mälkki , " "Maarten Deprez "); MODULE_DESCRIPTION("GL520SM driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_gl520sm_init); -module_exit(sensors_gl520sm_exit); diff --git a/drivers/hwmon/jc42.c b/drivers/hwmon/jc42.c index 2d3d728..d33c592 100644 --- a/drivers/hwmon/jc42.c +++ b/drivers/hwmon/jc42.c @@ -588,19 +588,8 @@ abort: return ret; } -static int __init sensors_jc42_init(void) -{ - return i2c_add_driver(&jc42_driver); -} - -static void __exit sensors_jc42_exit(void) -{ - i2c_del_driver(&jc42_driver); -} +module_i2c_driver(jc42_driver); MODULE_AUTHOR("Guenter Roeck "); MODULE_DESCRIPTION("JC42 driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_jc42_init); -module_exit(sensors_jc42_exit); diff --git a/drivers/hwmon/lineage-pem.c b/drivers/hwmon/lineage-pem.c index 58eded2..5b8c9ae 100644 --- a/drivers/hwmon/lineage-pem.c +++ b/drivers/hwmon/lineage-pem.c @@ -568,19 +568,8 @@ static struct i2c_driver pem_driver = { .id_table = pem_id, }; -static int __init pem_init(void) -{ - return i2c_add_driver(&pem_driver); -} - -static void __exit pem_exit(void) -{ - i2c_del_driver(&pem_driver); -} +module_i2c_driver(pem_driver); MODULE_AUTHOR("Guenter Roeck "); MODULE_DESCRIPTION("Lineage CPL PEM hardware monitoring driver"); MODULE_LICENSE("GPL"); - -module_init(pem_init); -module_exit(pem_exit); diff --git a/drivers/hwmon/lm63.c b/drivers/hwmon/lm63.c index 9642286..2eae1bc 100644 --- a/drivers/hwmon/lm63.c +++ b/drivers/hwmon/lm63.c @@ -727,19 +727,8 @@ static struct lm63_data *lm63_update_device(struct device *dev) return data; } -static int __init sensors_lm63_init(void) -{ - return i2c_add_driver(&lm63_driver); -} - -static void __exit sensors_lm63_exit(void) -{ - i2c_del_driver(&lm63_driver); -} +module_i2c_driver(lm63_driver); MODULE_AUTHOR("Jean Delvare "); MODULE_DESCRIPTION("LM63 driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_lm63_init); -module_exit(sensors_lm63_exit); diff --git a/drivers/hwmon/lm73.c b/drivers/hwmon/lm73.c index 9e64d96..2c63f14 100644 --- a/drivers/hwmon/lm73.c +++ b/drivers/hwmon/lm73.c @@ -194,21 +194,8 @@ static struct i2c_driver lm73_driver = { .address_list = normal_i2c, }; -/* module glue */ - -static int __init sensors_lm73_init(void) -{ - return i2c_add_driver(&lm73_driver); -} - -static void __exit sensors_lm73_exit(void) -{ - i2c_del_driver(&lm73_driver); -} +module_i2c_driver(lm73_driver); MODULE_AUTHOR("Guillaume Ligneul "); MODULE_DESCRIPTION("LM73 driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_lm73_init); -module_exit(sensors_lm73_exit); diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c index 1888dd0..f3aaa30 100644 --- a/drivers/hwmon/lm75.c +++ b/drivers/hwmon/lm75.c @@ -429,23 +429,8 @@ static struct lm75_data *lm75_update_device(struct device *dev) return data; } -/*-----------------------------------------------------------------------*/ - -/* module glue */ - -static int __init sensors_lm75_init(void) -{ - return i2c_add_driver(&lm75_driver); -} - -static void __exit sensors_lm75_exit(void) -{ - i2c_del_driver(&lm75_driver); -} +module_i2c_driver(lm75_driver); MODULE_AUTHOR("Frodo Looijaard "); MODULE_DESCRIPTION("LM75 driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_lm75_init); -module_exit(sensors_lm75_exit); diff --git a/drivers/hwmon/lm77.c b/drivers/hwmon/lm77.c index 8dfc678..7cd516f 100644 --- a/drivers/hwmon/lm77.c +++ b/drivers/hwmon/lm77.c @@ -420,19 +420,8 @@ static struct lm77_data *lm77_update_device(struct device *dev) return data; } -static int __init sensors_lm77_init(void) -{ - return i2c_add_driver(&lm77_driver); -} - -static void __exit sensors_lm77_exit(void) -{ - i2c_del_driver(&lm77_driver); -} +module_i2c_driver(lm77_driver); MODULE_AUTHOR("Andras BALI "); MODULE_DESCRIPTION("LM77 driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_lm77_init); -module_exit(sensors_lm77_exit); diff --git a/drivers/hwmon/lm80.c b/drivers/hwmon/lm80.c index 18a0e6c..dc983ec 100644 --- a/drivers/hwmon/lm80.c +++ b/drivers/hwmon/lm80.c @@ -595,20 +595,9 @@ static struct lm80_data *lm80_update_device(struct device *dev) return data; } -static int __init sensors_lm80_init(void) -{ - return i2c_add_driver(&lm80_driver); -} - -static void __exit sensors_lm80_exit(void) -{ - i2c_del_driver(&lm80_driver); -} +module_i2c_driver(lm80_driver); MODULE_AUTHOR("Frodo Looijaard and " "Philip Edelbrock "); MODULE_DESCRIPTION("LM80 driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_lm80_init); -module_exit(sensors_lm80_exit); diff --git a/drivers/hwmon/lm83.c b/drivers/hwmon/lm83.c index 8290476..e9a8a06 100644 --- a/drivers/hwmon/lm83.c +++ b/drivers/hwmon/lm83.c @@ -423,19 +423,8 @@ static struct lm83_data *lm83_update_device(struct device *dev) return data; } -static int __init sensors_lm83_init(void) -{ - return i2c_add_driver(&lm83_driver); -} - -static void __exit sensors_lm83_exit(void) -{ - i2c_del_driver(&lm83_driver); -} +module_i2c_driver(lm83_driver); MODULE_AUTHOR("Jean Delvare "); MODULE_DESCRIPTION("LM83 driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_lm83_init); -module_exit(sensors_lm83_exit); diff --git a/drivers/hwmon/lm85.c b/drivers/hwmon/lm85.c index da72dc1..fd26983 100644 --- a/drivers/hwmon/lm85.c +++ b/drivers/hwmon/lm85.c @@ -1611,22 +1611,10 @@ static struct lm85_data *lm85_update_device(struct device *dev) return data; } - -static int __init sm_lm85_init(void) -{ - return i2c_add_driver(&lm85_driver); -} - -static void __exit sm_lm85_exit(void) -{ - i2c_del_driver(&lm85_driver); -} +module_i2c_driver(lm85_driver); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Philip Pokorny , " "Margit Schubert-While , " "Justin Thiessen "); MODULE_DESCRIPTION("LM85-B, LM85-C driver"); - -module_init(sm_lm85_init); -module_exit(sm_lm85_exit); diff --git a/drivers/hwmon/lm87.c b/drivers/hwmon/lm87.c index f1e6e75..126d0cc 100644 --- a/drivers/hwmon/lm87.c +++ b/drivers/hwmon/lm87.c @@ -963,19 +963,8 @@ static struct lm87_data *lm87_update_device(struct device *dev) return data; } -static int __init sensors_lm87_init(void) -{ - return i2c_add_driver(&lm87_driver); -} - -static void __exit sensors_lm87_exit(void) -{ - i2c_del_driver(&lm87_driver); -} +module_i2c_driver(lm87_driver); MODULE_AUTHOR("Jean Delvare and others"); MODULE_DESCRIPTION("LM87 driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_lm87_init); -module_exit(sensors_lm87_exit); diff --git a/drivers/hwmon/lm90.c b/drivers/hwmon/lm90.c index 615bc4f..e70cbb9 100644 --- a/drivers/hwmon/lm90.c +++ b/drivers/hwmon/lm90.c @@ -1514,19 +1514,8 @@ static struct i2c_driver lm90_driver = { .address_list = normal_i2c, }; -static int __init sensors_lm90_init(void) -{ - return i2c_add_driver(&lm90_driver); -} - -static void __exit sensors_lm90_exit(void) -{ - i2c_del_driver(&lm90_driver); -} +module_i2c_driver(lm90_driver); MODULE_AUTHOR("Jean Delvare "); MODULE_DESCRIPTION("LM90/ADM1032 driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_lm90_init); -module_exit(sensors_lm90_exit); diff --git a/drivers/hwmon/lm92.c b/drivers/hwmon/lm92.c index 8fcbd4d4..92f2d46 100644 --- a/drivers/hwmon/lm92.c +++ b/drivers/hwmon/lm92.c @@ -416,19 +416,8 @@ static struct i2c_driver lm92_driver = { .address_list = normal_i2c, }; -static int __init sensors_lm92_init(void) -{ - return i2c_add_driver(&lm92_driver); -} - -static void __exit sensors_lm92_exit(void) -{ - i2c_del_driver(&lm92_driver); -} +module_i2c_driver(lm92_driver); MODULE_AUTHOR("Jean Delvare "); MODULE_DESCRIPTION("LM92/MAX6635 driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_lm92_init); -module_exit(sensors_lm92_exit); diff --git a/drivers/hwmon/lm93.c b/drivers/hwmon/lm93.c index 3b43df4..cb1bf8c 100644 --- a/drivers/hwmon/lm93.c +++ b/drivers/hwmon/lm93.c @@ -2635,20 +2635,9 @@ static struct i2c_driver lm93_driver = { .address_list = normal_i2c, }; -static int __init lm93_init(void) -{ - return i2c_add_driver(&lm93_driver); -} - -static void __exit lm93_exit(void) -{ - i2c_del_driver(&lm93_driver); -} +module_i2c_driver(lm93_driver); MODULE_AUTHOR("Mark M. Hoffman , " "Hans J. Koch "); MODULE_DESCRIPTION("LM93 driver"); MODULE_LICENSE("GPL"); - -module_init(lm93_init); -module_exit(lm93_exit); diff --git a/drivers/hwmon/lm95241.c b/drivers/hwmon/lm95241.c index 513901d..6074afd 100644 --- a/drivers/hwmon/lm95241.c +++ b/drivers/hwmon/lm95241.c @@ -455,19 +455,8 @@ static struct i2c_driver lm95241_driver = { .address_list = normal_i2c, }; -static int __init sensors_lm95241_init(void) -{ - return i2c_add_driver(&lm95241_driver); -} - -static void __exit sensors_lm95241_exit(void) -{ - i2c_del_driver(&lm95241_driver); -} +module_i2c_driver(lm95241_driver); MODULE_AUTHOR("Davide Rizzo "); MODULE_DESCRIPTION("LM95241 sensor driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_lm95241_init); -module_exit(sensors_lm95241_exit); diff --git a/drivers/hwmon/lm95245.c b/drivers/hwmon/lm95245.c index dce9e68..87de7de 100644 --- a/drivers/hwmon/lm95245.c +++ b/drivers/hwmon/lm95245.c @@ -525,19 +525,8 @@ static struct i2c_driver lm95245_driver = { .address_list = normal_i2c, }; -static int __init sensors_lm95245_init(void) -{ - return i2c_add_driver(&lm95245_driver); -} - -static void __exit sensors_lm95245_exit(void) -{ - i2c_del_driver(&lm95245_driver); -} +module_i2c_driver(lm95245_driver); MODULE_AUTHOR("Alexander Stein "); MODULE_DESCRIPTION("LM95245 sensor driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_lm95245_init); -module_exit(sensors_lm95245_exit); diff --git a/drivers/hwmon/ltc4151.c b/drivers/hwmon/ltc4151.c index 4ac06b7..f646b45 100644 --- a/drivers/hwmon/ltc4151.c +++ b/drivers/hwmon/ltc4151.c @@ -238,19 +238,8 @@ static struct i2c_driver ltc4151_driver = { .id_table = ltc4151_id, }; -static int __init ltc4151_init(void) -{ - return i2c_add_driver(<c4151_driver); -} - -static void __exit ltc4151_exit(void) -{ - i2c_del_driver(<c4151_driver); -} +module_i2c_driver(ltc4151_driver); MODULE_AUTHOR("Per Dalen "); MODULE_DESCRIPTION("LTC4151 driver"); MODULE_LICENSE("GPL"); - -module_init(ltc4151_init); -module_exit(ltc4151_exit); diff --git a/drivers/hwmon/ltc4215.c b/drivers/hwmon/ltc4215.c index c7e6d8e..0789b63 100644 --- a/drivers/hwmon/ltc4215.c +++ b/drivers/hwmon/ltc4215.c @@ -309,19 +309,8 @@ static struct i2c_driver ltc4215_driver = { .id_table = ltc4215_id, }; -static int __init ltc4215_init(void) -{ - return i2c_add_driver(<c4215_driver); -} - -static void __exit ltc4215_exit(void) -{ - i2c_del_driver(<c4215_driver); -} +module_i2c_driver(ltc4215_driver); MODULE_AUTHOR("Ira W. Snyder "); MODULE_DESCRIPTION("LTC4215 driver"); MODULE_LICENSE("GPL"); - -module_init(ltc4215_init); -module_exit(ltc4215_exit); diff --git a/drivers/hwmon/ltc4245.c b/drivers/hwmon/ltc4245.c index 6593083..693a6bd 100644 --- a/drivers/hwmon/ltc4245.c +++ b/drivers/hwmon/ltc4245.c @@ -578,19 +578,8 @@ static struct i2c_driver ltc4245_driver = { .id_table = ltc4245_id, }; -static int __init ltc4245_init(void) -{ - return i2c_add_driver(<c4245_driver); -} - -static void __exit ltc4245_exit(void) -{ - i2c_del_driver(<c4245_driver); -} +module_i2c_driver(ltc4245_driver); MODULE_AUTHOR("Ira W. Snyder "); MODULE_DESCRIPTION("LTC4245 driver"); MODULE_LICENSE("GPL"); - -module_init(ltc4245_init); -module_exit(ltc4245_exit); diff --git a/drivers/hwmon/ltc4261.c b/drivers/hwmon/ltc4261.c index 4b50601..c78d323 100644 --- a/drivers/hwmon/ltc4261.c +++ b/drivers/hwmon/ltc4261.c @@ -296,19 +296,8 @@ static struct i2c_driver ltc4261_driver = { .id_table = ltc4261_id, }; -static int __init ltc4261_init(void) -{ - return i2c_add_driver(<c4261_driver); -} - -static void __exit ltc4261_exit(void) -{ - i2c_del_driver(<c4261_driver); -} +module_i2c_driver(ltc4261_driver); MODULE_AUTHOR("Guenter Roeck "); MODULE_DESCRIPTION("LTC4261 driver"); MODULE_LICENSE("GPL"); - -module_init(ltc4261_init); -module_exit(ltc4261_exit); diff --git a/drivers/hwmon/max16065.c b/drivers/hwmon/max16065.c index 385886a..ca18f52 100644 --- a/drivers/hwmon/max16065.c +++ b/drivers/hwmon/max16065.c @@ -699,19 +699,8 @@ static struct i2c_driver max16065_driver = { .id_table = max16065_id, }; -static int __init max16065_init(void) -{ - return i2c_add_driver(&max16065_driver); -} - -static void __exit max16065_exit(void) -{ - i2c_del_driver(&max16065_driver); -} +module_i2c_driver(max16065_driver); MODULE_AUTHOR("Guenter Roeck "); MODULE_DESCRIPTION("MAX16065 driver"); MODULE_LICENSE("GPL"); - -module_init(max16065_init); -module_exit(max16065_exit); diff --git a/drivers/hwmon/max1619.c b/drivers/hwmon/max1619.c index 022ded0..135822e 100644 --- a/drivers/hwmon/max1619.c +++ b/drivers/hwmon/max1619.c @@ -353,20 +353,9 @@ static struct max1619_data *max1619_update_device(struct device *dev) return data; } -static int __init sensors_max1619_init(void) -{ - return i2c_add_driver(&max1619_driver); -} - -static void __exit sensors_max1619_exit(void) -{ - i2c_del_driver(&max1619_driver); -} +module_i2c_driver(max1619_driver); MODULE_AUTHOR("Alexey Fisher and " "Jean Delvare "); MODULE_DESCRIPTION("MAX1619 sensor driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_max1619_init); -module_exit(sensors_max1619_exit); diff --git a/drivers/hwmon/max1668.c b/drivers/hwmon/max1668.c index 20d1b2d..d5fb117 100644 --- a/drivers/hwmon/max1668.c +++ b/drivers/hwmon/max1668.c @@ -484,19 +484,8 @@ static struct i2c_driver max1668_driver = { .address_list = max1668_addr_list, }; -static int __init sensors_max1668_init(void) -{ - return i2c_add_driver(&max1668_driver); -} - -static void __exit sensors_max1668_exit(void) -{ - i2c_del_driver(&max1668_driver); -} +module_i2c_driver(max1668_driver); MODULE_AUTHOR("David George "); MODULE_DESCRIPTION("MAX1668 remote temperature sensor driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_max1668_init) -module_exit(sensors_max1668_exit) diff --git a/drivers/hwmon/max6639.c b/drivers/hwmon/max6639.c index f20d997..64866a9 100644 --- a/drivers/hwmon/max6639.c +++ b/drivers/hwmon/max6639.c @@ -635,19 +635,8 @@ static struct i2c_driver max6639_driver = { .address_list = normal_i2c, }; -static int __init max6639_init(void) -{ - return i2c_add_driver(&max6639_driver); -} - -static void __exit max6639_exit(void) -{ - i2c_del_driver(&max6639_driver); -} +module_i2c_driver(max6639_driver); MODULE_AUTHOR("Roland Stigge "); MODULE_DESCRIPTION("max6639 driver"); MODULE_LICENSE("GPL"); - -module_init(max6639_init); -module_exit(max6639_exit); diff --git a/drivers/hwmon/max6642.c b/drivers/hwmon/max6642.c index e855d3b..66f0dbc 100644 --- a/drivers/hwmon/max6642.c +++ b/drivers/hwmon/max6642.c @@ -352,19 +352,8 @@ static struct i2c_driver max6642_driver = { .address_list = normal_i2c, }; -static int __init max6642_init(void) -{ - return i2c_add_driver(&max6642_driver); -} - -static void __exit max6642_exit(void) -{ - i2c_del_driver(&max6642_driver); -} +module_i2c_driver(max6642_driver); MODULE_AUTHOR("Per Dalen "); MODULE_DESCRIPTION("MAX6642 sensor driver"); MODULE_LICENSE("GPL"); - -module_init(max6642_init); -module_exit(max6642_exit); diff --git a/drivers/hwmon/max6650.c b/drivers/hwmon/max6650.c index ece3aaf..7a0cdb0 100644 --- a/drivers/hwmon/max6650.c +++ b/drivers/hwmon/max6650.c @@ -713,19 +713,8 @@ static struct max6650_data *max6650_update_device(struct device *dev) return data; } -static int __init sensors_max6650_init(void) -{ - return i2c_add_driver(&max6650_driver); -} - -static void __exit sensors_max6650_exit(void) -{ - i2c_del_driver(&max6650_driver); -} +module_i2c_driver(max6650_driver); MODULE_AUTHOR("Hans J. Koch"); MODULE_DESCRIPTION("MAX6650 sensor driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_max6650_init); -module_exit(sensors_max6650_exit); diff --git a/drivers/hwmon/sht21.c b/drivers/hwmon/sht21.c index 1539878..6c2dede 100644 --- a/drivers/hwmon/sht21.c +++ b/drivers/hwmon/sht21.c @@ -261,28 +261,7 @@ static struct i2c_driver sht21_driver = { .id_table = sht21_id, }; -/** - * sht21_init() - initialize driver - * - * Called when kernel is booted or module is inserted. - * Returns 0 on success. - */ -static int __init sht21_init(void) -{ - return i2c_add_driver(&sht21_driver); -} -module_init(sht21_init); - -/** - * sht21_init() - clean up driver - * - * Called when module is removed. - */ -static void __exit sht21_exit(void) -{ - i2c_del_driver(&sht21_driver); -} -module_exit(sht21_exit); +module_i2c_driver(sht21_driver); MODULE_AUTHOR("Urs Fleisch "); MODULE_DESCRIPTION("Sensirion SHT21 humidity and temperature sensor driver"); diff --git a/drivers/hwmon/smm665.c b/drivers/hwmon/smm665.c index 4116381..0d392d0 100644 --- a/drivers/hwmon/smm665.c +++ b/drivers/hwmon/smm665.c @@ -718,19 +718,8 @@ static struct i2c_driver smm665_driver = { .id_table = smm665_id, }; -static int __init smm665_init(void) -{ - return i2c_add_driver(&smm665_driver); -} - -static void __exit smm665_exit(void) -{ - i2c_del_driver(&smm665_driver); -} +module_i2c_driver(smm665_driver); MODULE_AUTHOR("Guenter Roeck"); MODULE_DESCRIPTION("SMM665 driver"); MODULE_LICENSE("GPL"); - -module_init(smm665_init); -module_exit(smm665_exit); diff --git a/drivers/hwmon/smsc47m192.c b/drivers/hwmon/smsc47m192.c index 40b2667..8f88908 100644 --- a/drivers/hwmon/smsc47m192.c +++ b/drivers/hwmon/smsc47m192.c @@ -635,19 +635,8 @@ static struct smsc47m192_data *smsc47m192_update_device(struct device *dev) return data; } -static int __init smsc47m192_init(void) -{ - return i2c_add_driver(&smsc47m192_driver); -} - -static void __exit smsc47m192_exit(void) -{ - i2c_del_driver(&smsc47m192_driver); -} +module_i2c_driver(smsc47m192_driver); MODULE_AUTHOR("Hartmut Rick "); MODULE_DESCRIPTION("SMSC47M192 driver"); MODULE_LICENSE("GPL"); - -module_init(smsc47m192_init); -module_exit(smsc47m192_exit); diff --git a/drivers/hwmon/thmc50.c b/drivers/hwmon/thmc50.c index 7dfb4de..bd83bc0 100644 --- a/drivers/hwmon/thmc50.c +++ b/drivers/hwmon/thmc50.c @@ -465,18 +465,7 @@ static struct thmc50_data *thmc50_update_device(struct device *dev) return data; } -static int __init sm_thmc50_init(void) -{ - return i2c_add_driver(&thmc50_driver); -} - -static void __exit sm_thmc50_exit(void) -{ - i2c_del_driver(&thmc50_driver); -} +module_i2c_driver(thmc50_driver); MODULE_AUTHOR("Krzysztof Helt "); MODULE_DESCRIPTION("THMC50 driver"); - -module_init(sm_thmc50_init); -module_exit(sm_thmc50_exit); diff --git a/drivers/hwmon/tmp102.c b/drivers/hwmon/tmp102.c index 643aa8c..40b742c 100644 --- a/drivers/hwmon/tmp102.c +++ b/drivers/hwmon/tmp102.c @@ -292,17 +292,7 @@ static struct i2c_driver tmp102_driver = { .id_table = tmp102_id, }; -static int __init tmp102_init(void) -{ - return i2c_add_driver(&tmp102_driver); -} -module_init(tmp102_init); - -static void __exit tmp102_exit(void) -{ - i2c_del_driver(&tmp102_driver); -} -module_exit(tmp102_exit); +module_i2c_driver(tmp102_driver); MODULE_AUTHOR("Steven King "); MODULE_DESCRIPTION("Texas Instruments TMP102 temperature sensor driver"); diff --git a/drivers/hwmon/tmp401.c b/drivers/hwmon/tmp401.c index ad8d535..a32d4dc 100644 --- a/drivers/hwmon/tmp401.c +++ b/drivers/hwmon/tmp401.c @@ -662,19 +662,8 @@ static struct i2c_driver tmp401_driver = { .address_list = normal_i2c, }; -static int __init tmp401_init(void) -{ - return i2c_add_driver(&tmp401_driver); -} - -static void __exit tmp401_exit(void) -{ - i2c_del_driver(&tmp401_driver); -} +module_i2c_driver(tmp401_driver); MODULE_AUTHOR("Hans de Goede "); MODULE_DESCRIPTION("Texas Instruments TMP401 temperature sensor driver"); MODULE_LICENSE("GPL"); - -module_init(tmp401_init); -module_exit(tmp401_exit); diff --git a/drivers/hwmon/tmp421.c b/drivers/hwmon/tmp421.c index 0517a8f..aa5562d 100644 --- a/drivers/hwmon/tmp421.c +++ b/drivers/hwmon/tmp421.c @@ -324,20 +324,9 @@ static struct i2c_driver tmp421_driver = { .address_list = normal_i2c, }; -static int __init tmp421_init(void) -{ - return i2c_add_driver(&tmp421_driver); -} - -static void __exit tmp421_exit(void) -{ - i2c_del_driver(&tmp421_driver); -} +module_i2c_driver(tmp421_driver); MODULE_AUTHOR("Andre Prendel "); MODULE_DESCRIPTION("Texas Instruments TMP421/422/423 temperature sensor" " driver"); MODULE_LICENSE("GPL"); - -module_init(tmp421_init); -module_exit(tmp421_exit); diff --git a/drivers/hwmon/w83791d.c b/drivers/hwmon/w83791d.c index 8c2844e..1729f14 100644 --- a/drivers/hwmon/w83791d.c +++ b/drivers/hwmon/w83791d.c @@ -1625,19 +1625,8 @@ static void w83791d_print_debug(struct w83791d_data *data, struct device *dev) } #endif -static int __init sensors_w83791d_init(void) -{ - return i2c_add_driver(&w83791d_driver); -} - -static void __exit sensors_w83791d_exit(void) -{ - i2c_del_driver(&w83791d_driver); -} +module_i2c_driver(w83791d_driver); MODULE_AUTHOR("Charles Spirakis "); MODULE_DESCRIPTION("W83791D driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_w83791d_init); -module_exit(sensors_w83791d_exit); diff --git a/drivers/hwmon/w83792d.c b/drivers/hwmon/w83792d.c index f3e7130..43246e8 100644 --- a/drivers/hwmon/w83792d.c +++ b/drivers/hwmon/w83792d.c @@ -1641,22 +1641,8 @@ static void w83792d_print_debug(struct w83792d_data *data, struct device *dev) } #endif -static int __init -sensors_w83792d_init(void) -{ - return i2c_add_driver(&w83792d_driver); -} - -static void __exit -sensors_w83792d_exit(void) -{ - i2c_del_driver(&w83792d_driver); -} +module_i2c_driver(w83792d_driver); MODULE_AUTHOR("Chunhao Huang @ Winbond "); MODULE_DESCRIPTION("W83792AD/D driver for linux-2.6"); MODULE_LICENSE("GPL"); - -module_init(sensors_w83792d_init); -module_exit(sensors_w83792d_exit); - diff --git a/drivers/hwmon/w83793.c b/drivers/hwmon/w83793.c index 854f911..77dd465 100644 --- a/drivers/hwmon/w83793.c +++ b/drivers/hwmon/w83793.c @@ -2120,19 +2120,8 @@ END: return res; } -static int __init sensors_w83793_init(void) -{ - return i2c_add_driver(&w83793_driver); -} - -static void __exit sensors_w83793_exit(void) -{ - i2c_del_driver(&w83793_driver); -} +module_i2c_driver(w83793_driver); MODULE_AUTHOR("Yuan Mu, Sven Anders"); MODULE_DESCRIPTION("w83793 driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_w83793_init); -module_exit(sensors_w83793_exit); diff --git a/drivers/hwmon/w83795.c b/drivers/hwmon/w83795.c index 845232d..25d741d 100644 --- a/drivers/hwmon/w83795.c +++ b/drivers/hwmon/w83795.c @@ -2244,19 +2244,8 @@ static struct i2c_driver w83795_driver = { .address_list = normal_i2c, }; -static int __init sensors_w83795_init(void) -{ - return i2c_add_driver(&w83795_driver); -} - -static void __exit sensors_w83795_exit(void) -{ - i2c_del_driver(&w83795_driver); -} +module_i2c_driver(w83795_driver); MODULE_AUTHOR("Wei Song, Jean Delvare "); MODULE_DESCRIPTION("W83795G/ADG hardware monitoring driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_w83795_init); -module_exit(sensors_w83795_exit); diff --git a/drivers/hwmon/w83l785ts.c b/drivers/hwmon/w83l785ts.c index 20781de..57f639e 100644 --- a/drivers/hwmon/w83l785ts.c +++ b/drivers/hwmon/w83l785ts.c @@ -302,19 +302,8 @@ static struct w83l785ts_data *w83l785ts_update_device(struct device *dev) return data; } -static int __init sensors_w83l785ts_init(void) -{ - return i2c_add_driver(&w83l785ts_driver); -} - -static void __exit sensors_w83l785ts_exit(void) -{ - i2c_del_driver(&w83l785ts_driver); -} +module_i2c_driver(w83l785ts_driver); MODULE_AUTHOR("Jean Delvare "); MODULE_DESCRIPTION("W83L785TS-S driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_w83l785ts_init); -module_exit(sensors_w83l785ts_exit); diff --git a/drivers/hwmon/w83l786ng.c b/drivers/hwmon/w83l786ng.c index 0254e18..8b120eb 100644 --- a/drivers/hwmon/w83l786ng.c +++ b/drivers/hwmon/w83l786ng.c @@ -769,21 +769,8 @@ static struct w83l786ng_data *w83l786ng_update_device(struct device *dev) return data; } -static int __init -sensors_w83l786ng_init(void) -{ - return i2c_add_driver(&w83l786ng_driver); -} - -static void __exit -sensors_w83l786ng_exit(void) -{ - i2c_del_driver(&w83l786ng_driver); -} +module_i2c_driver(w83l786ng_driver); MODULE_AUTHOR("Kevin Lo"); MODULE_DESCRIPTION("w83l786ng driver"); MODULE_LICENSE("GPL"); - -module_init(sensors_w83l786ng_init); -module_exit(sensors_w83l786ng_exit); -- 1.7.5.4