From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v4 32/53] xen/drivers/cpufreq/cpufreq.c: let custom parameter parsing routines return errno Date: Wed, 23 Aug 2017 19:34:25 +0200 Message-ID: <20170823173446.24801-33-jgross@suse.com> References: <20170823173446.24801-1-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dkZZP-0002Ly-Sl for xen-devel@lists.xenproject.org; Wed, 23 Aug 2017 17:35:59 +0000 Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 2C53FAF62 for ; Wed, 23 Aug 2017 17:34:58 +0000 (UTC) In-Reply-To: <20170823173446.24801-1-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Jan Beulich List-Id: xen-devel@lists.xenproject.org TW9kaWZ5IHRoZSBjdXN0b20gcGFyYW1ldGVyIHBhcnNpbmcgcm91dGluZXMgaW46Cgp4ZW4vZHJp dmVycy9jcHVmcmVxL2NwdWZyZXEuYwoKdG8gaW5kaWNhdGUgd2hldGhlciB0aGUgcGFyYW1ldGVy IHZhbHVlIHdhcyBwYXJzZWQgc3VjY2Vzc2Z1bGx5LgoKQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGlj aEBzdXNlLmNvbT4KU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29t PgotLS0KVjQ6Ci0gYWRkIF9faW5pdGRhdGEgKEphbiBCZXVsaWNoKQotIGFkYXB0IHBhcnNlX2Jv b2woKSBjYWxsCgpWMzoKLSBkb250IG1vZGlmeSBvcHRpb24gdmFsdWUgaW4gaGFuZGxpbmcgZnVu Y3Rpb24KLSByZW1vdmUgcHJvdG90eXBlIG9mIGNwdWZyZXFfY21kbGluZV9wYXJzZSgpIGZyb20g Y3B1ZnJlcS5oIGFuZCBtYWtlCiAgaXQgc3RhdGljCi0tLQogeGVuL2RyaXZlcnMvY3B1ZnJlcS9j cHVmcmVxLmMgICAgICB8IDM5ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t CiB4ZW4vaW5jbHVkZS9hY3BpL2NwdWZyZXEvY3B1ZnJlcS5oIHwgIDIgLS0KIDIgZmlsZXMgY2hh bmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVu L2RyaXZlcnMvY3B1ZnJlcS9jcHVmcmVxLmMgYi94ZW4vZHJpdmVycy9jcHVmcmVxL2NwdWZyZXEu YwppbmRleCA1NTgwYmQzNzBkLi4yMTJmNDhmOWY0IDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9j cHVmcmVxL2NwdWZyZXEuYworKysgYi94ZW4vZHJpdmVycy9jcHVmcmVxL2NwdWZyZXEuYwpAQCAt NjIsMzcgKzYyLDQxIEBAIExJU1RfSEVBRF9SRUFEX01PU1RMWShjcHVmcmVxX2dvdmVybm9yX2xp c3QpOwogLyogc2V0IHhlbiBhcyBkZWZhdWx0IGNwdWZyZXEgKi8KIGVudW0gY3B1ZnJlcV9jb250 cm9sbGVyIGNwdWZyZXFfY29udHJvbGxlciA9IEZSRVFDVExfeGVuOwogCi1zdGF0aWMgdm9pZCBf X2luaXQgc2V0dXBfY3B1ZnJlcV9vcHRpb24oY2hhciAqc3RyKQorc3RhdGljIGludCBfX2luaXQg Y3B1ZnJlcV9jbWRsaW5lX3BhcnNlKGNvbnN0IGNoYXIgKnMpOworCitzdGF0aWMgaW50IF9faW5p dCBzZXR1cF9jcHVmcmVxX29wdGlvbihjb25zdCBjaGFyICpzdHIpCiB7Ci0gICAgY2hhciAqYXJn ID0gc3RycGJyayhzdHIsICIsOiIpOworICAgIGNvbnN0IGNoYXIgKmFyZyA9IHN0cnBicmsoc3Ry LCAiLDoiKTsKICAgICBpbnQgY2hvaWNlOwogCi0gICAgaWYgKCBhcmcgKQotICAgICAgICAqYXJn KysgPSAnXDAnOwotICAgIGNob2ljZSA9IHBhcnNlX2Jvb2woc3RyLCBOVUxMKTsKKyAgICBpZiAo ICFhcmcgKQorICAgICAgICBhcmcgPSBzdHJjaHIoc3RyLCAnXDAnKTsKKyAgICBjaG9pY2UgPSBw YXJzZV9ib29sKHN0ciwgYXJnKTsKIAotICAgIGlmICggY2hvaWNlIDwgMCAmJiAhc3RyY21wKHN0 ciwgImRvbTAta2VybmVsIikgKQorICAgIGlmICggY2hvaWNlIDwgMCAmJiAhc3RybmNtcChzdHIs ICJkb20wLWtlcm5lbCIsIGFyZyAtIHN0cikgKQogICAgIHsKICAgICAgICAgeGVuX3Byb2Nlc3Nv cl9wbWJpdHMgJj0gflhFTl9QUk9DRVNTT1JfUE1fUFg7CiAgICAgICAgIGNwdWZyZXFfY29udHJv bGxlciA9IEZSRVFDVExfZG9tMF9rZXJuZWw7CiAgICAgICAgIG9wdF9kb20wX3ZjcHVzX3BpbiA9 IDE7Ci0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgaWYg KCBjaG9pY2UgPT0gMCB8fCAhc3RyY21wKHN0ciwgIm5vbmUiKSApCisgICAgaWYgKCBjaG9pY2Ug PT0gMCB8fCAhc3RybmNtcChzdHIsICJub25lIiwgYXJnIC0gc3RyKSApCiAgICAgewogICAgICAg ICB4ZW5fcHJvY2Vzc29yX3BtYml0cyAmPSB+WEVOX1BST0NFU1NPUl9QTV9QWDsKICAgICAgICAg Y3B1ZnJlcV9jb250cm9sbGVyID0gRlJFUUNUTF9ub25lOwotICAgICAgICByZXR1cm47CisgICAg ICAgIHJldHVybiAwOwogICAgIH0KIAotICAgIGlmICggY2hvaWNlID4gMCB8fCAhc3RyY21wKHN0 ciwgInhlbiIpICkKKyAgICBpZiAoIGNob2ljZSA+IDAgfHwgIXN0cm5jbXAoc3RyLCAieGVuIiwg YXJnIC0gc3RyKSApCiAgICAgewogICAgICAgICB4ZW5fcHJvY2Vzc29yX3BtYml0cyB8PSBYRU5f UFJPQ0VTU09SX1BNX1BYOwogICAgICAgICBjcHVmcmVxX2NvbnRyb2xsZXIgPSBGUkVRQ1RMX3hl bjsKLSAgICAgICAgaWYgKCBhcmcgJiYgKmFyZyApCi0gICAgICAgICAgICBjcHVmcmVxX2NtZGxp bmVfcGFyc2UoYXJnKTsKKyAgICAgICAgaWYgKCAqYXJnICYmICooYXJnICsgMSkgKQorICAgICAg ICAgICAgcmV0dXJuIGNwdWZyZXFfY21kbGluZV9wYXJzZShhcmcgKyAxKTsKICAgICB9CisKKyAg ICByZXR1cm4gKGNob2ljZSA8IDApID8gLUVJTlZBTCA6IDA7CiB9CiBjdXN0b21fcGFyYW0oImNw dWZyZXEiLCBzZXR1cF9jcHVmcmVxX29wdGlvbik7CiAKQEAgLTU3MSw3ICs1NzUsNyBAQCBzdGF0 aWMgaW50IF9faW5pdCBjcHVmcmVxX2hhbmRsZV9jb21tb25fb3B0aW9uKGNvbnN0IGNoYXIgKm5h bWUsIGNvbnN0IGNoYXIgKnZhbAogICAgIHJldHVybiAwOwogfQogCi12b2lkIF9faW5pdCBjcHVm cmVxX2NtZGxpbmVfcGFyc2UoY2hhciAqc3RyKQorc3RhdGljIGludCBfX2luaXQgY3B1ZnJlcV9j bWRsaW5lX3BhcnNlKGNvbnN0IGNoYXIgKnMpCiB7CiAgICAgc3RhdGljIHN0cnVjdCBjcHVmcmVx X2dvdmVybm9yICpfX2luaXRkYXRhIGNwdWZyZXFfZ292ZXJub3JzW10gPQogICAgIHsKQEAgLTU4 MSw4ICs1ODUsMTIgQEAgdm9pZCBfX2luaXQgY3B1ZnJlcV9jbWRsaW5lX3BhcnNlKGNoYXIgKnN0 cikKICAgICAgICAgJmNwdWZyZXFfZ292X3BlcmZvcm1hbmNlLAogICAgICAgICAmY3B1ZnJlcV9n b3ZfcG93ZXJzYXZlCiAgICAgfTsKKyAgICBzdGF0aWMgY2hhciBfX2luaXRkYXRhIGJ1ZlsxMjhd OworICAgIGNoYXIgKnN0ciA9IGJ1ZjsKICAgICB1bnNpZ25lZCBpbnQgZ292X2luZGV4ID0gMDsK KyAgICBpbnQgcmMgPSAwOwogCisgICAgc3RybGNweShidWYsIHMsIHNpemVvZihidWYpKTsKICAg ICBkbyB7CiAgICAgICAgIGNoYXIgKnZhbCwgKmVuZCA9IHN0cmNocihzdHIsICcsJyk7CiAgICAg ICAgIHVuc2lnbmVkIGludCBpOwpAQCAtNjExLDExICs2MTksMTYgQEAgdm9pZCBfX2luaXQgY3B1 ZnJlcV9jbWRsaW5lX3BhcnNlKGNoYXIgKnN0cikKICAgICAgICAgaWYgKHN0ciAmJiAhY3B1ZnJl cV9oYW5kbGVfY29tbW9uX29wdGlvbihzdHIsIHZhbCkgJiYKICAgICAgICAgICAgICghY3B1ZnJl cV9nb3Zlcm5vcnNbZ292X2luZGV4XS0+aGFuZGxlX29wdGlvbiB8fAogICAgICAgICAgICAgICFj cHVmcmVxX2dvdmVybm9yc1tnb3ZfaW5kZXhdLT5oYW5kbGVfb3B0aW9uKHN0ciwgdmFsKSkpCisg ICAgICAgIHsKICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfV0FSTklORyAiY3B1ZnJlcS8lczog b3B0aW9uICclcycgbm90IHJlY29nbml6ZWRcbiIsCiAgICAgICAgICAgICAgICAgICAgY3B1ZnJl cV9nb3Zlcm5vcnNbZ292X2luZGV4XS0+bmFtZSwgc3RyKTsKKyAgICAgICAgICAgIHJjID0gLUVJ TlZBTDsKKyAgICAgICAgfQogCiAgICAgICAgIHN0ciA9IGVuZDsKICAgICB9IHdoaWxlIChzdHIp OworCisgICAgcmV0dXJuIHJjOwogfQogCiBzdGF0aWMgaW50IGNwdV9jYWxsYmFjaygKZGlmZiAt LWdpdCBhL3hlbi9pbmNsdWRlL2FjcGkvY3B1ZnJlcS9jcHVmcmVxLmggYi94ZW4vaW5jbHVkZS9h Y3BpL2NwdWZyZXEvY3B1ZnJlcS5oCmluZGV4IDQ4YWQxZDAwMDQuLmE1Y2Q3ZDA4YTEgMTAwNjQ0 Ci0tLSBhL3hlbi9pbmNsdWRlL2FjcGkvY3B1ZnJlcS9jcHVmcmVxLmgKKysrIGIveGVuL2luY2x1 ZGUvYWNwaS9jcHVmcmVxL2NwdWZyZXEuaApAQCAtNzksOCArNzksNiBAQCBERUNMQVJFX1BFUl9D UFUoc3RydWN0IGNwdWZyZXFfcG9saWN5ICosIGNwdWZyZXFfY3B1X3BvbGljeSk7CiBleHRlcm4g aW50IF9fY3B1ZnJlcV9zZXRfcG9saWN5KHN0cnVjdCBjcHVmcmVxX3BvbGljeSAqZGF0YSwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNwdWZyZXFfcG9saWN5ICpwb2xp Y3kpOwogCi12b2lkIGNwdWZyZXFfY21kbGluZV9wYXJzZShjaGFyICopOwotCiAjZGVmaW5lIENQ VUZSRVFfU0hBUkVEX1RZUEVfTk9ORSAoMCkgLyogTm9uZSAqLwogI2RlZmluZSBDUFVGUkVRX1NI QVJFRF9UWVBFX0hXICAgKDEpIC8qIEhXIGRvZXMgbmVlZGVkIGNvb3JkaW5hdGlvbiAqLwogI2Rl ZmluZSBDUFVGUkVRX1NIQVJFRF9UWVBFX0FMTCAgKDIpIC8qIEFsbCBkZXBlbmRlbnQgQ1BVcyBz aG91bGQgc2V0IGZyZXEgKi8KLS0gCjIuMTIuMwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxp c3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=