From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zoltan Devai" Subject: Re: [RFC] [PATCH 0/2] ASoC sound support for SMDK2440boards Date: Thu, 24 May 2007 23:45:57 +0200 Message-ID: <5b7270f40705241445t59a89b24sacbd3abf0a1b129d@mail.gmail.com> References: <5b7270f40705240728p4f579269g1ddc8e8db8d59f81@mail.gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_175262_10898648.1180043157283" Return-path: Received: from an-out-0708.google.com (an-out-0708.google.com [209.85.132.243]) by alsa0.perex.cz (Postfix) with ESMTP id 4A6FF24391 for ; Thu, 24 May 2007 23:45:59 +0200 (CEST) Received: by an-out-0708.google.com with SMTP id c36so137102ana for ; Thu, 24 May 2007 14:45:57 -0700 (PDT) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: alsa-devel-bounces@alsa-project.org Errors-To: alsa-devel-bounces@alsa-project.org To: alsa-devel@alsa-project.org List-Id: alsa-devel@alsa-project.org ------=_Part_175262_10898648.1180043157283 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline 2007/5/24, Jose Henrique Spahn Torres : > I have a SMDK2410 and I am trying to run kernel 2.6.20 on it. The kernel > is running Ok, but the sound is dead. I gonna try your patch and I would > like to know which files from the RK's patch have you used? The attached two patches should enable the sound support fully. One of them adds the l3-bus, the other one the necessary Kconfig and Makefile changes, along with an ASoC hack. Add this patch also: http://mailman.alsa-project.org/pipermail/alsa-devel/2007-May/001105.html Everything should apply cleanly to 2.6.22-rc2, but probably also to 2.6.21. Zoltan ------=_Part_175262_10898648.1180043157283 Content-Type: application/octet-stream; name=l3.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_f23r3k4n Content-Disposition: attachment; filename="l3.patch" LS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2wzL2wzLWNvcmUuYwpAQCAtMCwwICsxLDIxMSBA QAorLyoKKyAqICBsaW51eC9kcml2ZXJzL2wzL2wzLWNvcmUuYworICoKKyAqICBDb3B5cmlnaHQg KEMpIDIwMDEgUnVzc2VsbCBLaW5nCisgKgorICogIEdlbmVyYWwgc3RydWN0dXJlIHRha2VuIGZy b20gaTJjLWNvcmUuYyBieSBTaW1vbiBHLiBWb2dsCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVi bGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lv biAyIG9mIHRoZSBMaWNlbnNlLgorICoKKyAqLworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgor I2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5j bHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KKyNpbmNsdWRl IDxsaW51eC9rbW9kLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4 L2wzLmg+CisKK3N0YXRpYyBERUNMQVJFX01VVEVYKGFkYXB0ZXJfbG9jayk7CitzdGF0aWMgTElT VF9IRUFEKGFkYXB0ZXJfbGlzdCk7CisKK3N0YXRpYyBERUNMQVJFX01VVEVYKGRyaXZlcl9sb2Nr KTsKK3N0YXRpYyBMSVNUX0hFQUQoZHJpdmVyX2xpc3QpOworCisvKioKKyAqIGwzX2FkZF9hZGFw dGVyIC0gcmVnaXN0ZXIgYSBuZXcgTDMgYnVzIGFkYXB0ZXIKKyAqIEBhZGFwOiBsM19hZGFwdGVy IHN0cnVjdHVyZSBmb3IgdGhlIHJlZ2lzdGVyaW5nIGFkYXB0ZXIKKyAqCisgKiBNYWtlIHRoZSBh ZGFwdGVyIGF2YWlsYWJsZSBmb3IgdXNlIGJ5IGNsaWVudHMgdXNpbmcgbmFtZSBhZGFwLT5uYW1l LgorICogVGhlIGFkYXAtPmFkYXB0ZXJzIGxpc3QgaXMgaW5pdGlhbGlzZWQgYnkgdGhpcyBmdW5j dGlvbi4KKyAqCisgKiBSZXR1cm5zIDA7CisgKi8KK2ludCBsM19hZGRfYWRhcHRlcihzdHJ1Y3Qg bDNfYWRhcHRlciAqYWRhcCkKK3sKKwlwcmludGsoIkwzIGFkZCBhZGFwdGVyXG4iKTsKKworCWRv d24oJmFkYXB0ZXJfbG9jayk7CisJbGlzdF9hZGQoJmFkYXAtPmFkYXB0ZXJzLCAmYWRhcHRlcl9s aXN0KTsKKwl1cCgmYWRhcHRlcl9sb2NrKTsKKwlyZXR1cm4gMDsJCit9CisKKy8qKgorICogbDNf ZGVsX2FkYXB0ZXIgLSB1bnJlZ2lzdGVyIGEgTDMgYnVzIGFkYXB0ZXIKKyAqIEBhZGFwOiBsM19h ZGFwdGVyIHN0cnVjdHVyZSB0byB1bnJlZ2lzdGVyCisgKgorICogUmVtb3ZlIGFuIGFkYXB0ZXIg ZnJvbSB0aGUgbGlzdCBvZiBhdmFpbGFibGUgTDMgQnVzIGFkYXB0ZXJzLgorICoKKyAqIFJldHVy bnMgMDsKKyAqLworaW50IGwzX2RlbF9hZGFwdGVyKHN0cnVjdCBsM19hZGFwdGVyICphZGFwKQor eworCWRvd24oJmFkYXB0ZXJfbG9jayk7CisJbGlzdF9kZWwoJmFkYXAtPmFkYXB0ZXJzKTsKKwl1 cCgmYWRhcHRlcl9sb2NrKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBsM19hZGFw dGVyICpfX2wzX2dldF9hZGFwdGVyKGNvbnN0IGNoYXIgKm5hbWUpCit7CisJc3RydWN0IGxpc3Rf aGVhZCAqbDsKKworCWxpc3RfZm9yX2VhY2gobCwgJmFkYXB0ZXJfbGlzdCkgeworCQlzdHJ1Y3Qg bDNfYWRhcHRlciAqYWRhcCA9IGxpc3RfZW50cnkobCwgc3RydWN0IGwzX2FkYXB0ZXIsIGFkYXB0 ZXJzKTsKKworCQlpZiAoc3RyY21wKGFkYXAtPm5hbWUsIG5hbWUpID09IDApCisJCQlyZXR1cm4g YWRhcDsKKwl9CisKKwlyZXR1cm4gTlVMTDsKK30KKworLyoqCisgKiBsM19nZXRfYWRhcHRlciAt IGdldCBhIHJlZmVyZW5jZSB0byBhbiBhZGFwdGVyCisgKiBAbmFtZTogZHJpdmVyIG5hbWUKKyAq CisgKiBPYnRhaW4gYSBsM19hZGFwdGVyIHN0cnVjdHVyZSBmb3IgdGhlIHNwZWNpZmllZCBhZGFw dGVyLiAgSWYgdGhlIGFkYXB0ZXIKKyAqIGlzIG5vdCBjdXJyZW50bHkgbG9hZCwgdGhlbiBsb2Fk IGl0LiAgVGhlIGFkYXB0ZXIgd2lsbCBiZSBsb2NrZWQgaW4gY29yZQorICogdW50aWwgYWxsIHJl ZmVyZW5jZXMgYXJlIHJlbGVhc2VkIHZpYSBsM19wdXRfYWRhcHRlci4KKyAqLworc3RydWN0IGwz X2FkYXB0ZXIgKmwzX2dldF9hZGFwdGVyKGNvbnN0IGNoYXIgKm5hbWUpCit7CisJc3RydWN0IGwz X2FkYXB0ZXIgKmFkYXA7CisJaW50IHRyeTsKKworCWZvciAodHJ5ID0gMDsgdHJ5IDwgMjsgdHJ5 ICsrKSB7CisJCWRvd24oJmFkYXB0ZXJfbG9jayk7CisJCWFkYXAgPSBfX2wzX2dldF9hZGFwdGVy KG5hbWUpOworCQlpZiAoYWRhcCAmJiAhdHJ5X21vZHVsZV9nZXQoYWRhcC0+b3duZXIpKQorCQkJ YWRhcCA9IE5VTEw7CisJCXVwKCZhZGFwdGVyX2xvY2spOworCisJCWlmIChhZGFwKQorCQkJYnJl YWs7CisKKwkJaWYgKHRyeSA9PSAwKQorCQkJcmVxdWVzdF9tb2R1bGUobmFtZSk7CisJfQorCisJ cmV0dXJuIGFkYXA7Cit9CisKKy8qKgorICogbDNfcHV0X2FkYXB0ZXIgLSByZWxlYXNlIGEgcmVm ZXJlbmNlIHRvIGFuIGFkYXB0ZXIKKyAqIEBhZGFwOiBkcml2ZXIgdG8gcmVsZWFzZSByZWZlcmVu Y2UKKyAqCisgKiBJbmRpY2F0ZSB0byB0aGUgTDMgY29yZSB0aGF0IHlvdSBubyBsb25nZXIgcmVx dWlyZSB0aGUgYWRhcHRlciByZWZlcmVuY2UuCisgKiBUaGUgYWRhcHRlciBtb2R1bGUgbWF5IGJl IHVubG9hZGVkIHdoZW4gdGhlcmUgYXJlIG5vIHJlZmVyZW5jZXMgdG8gaXRzCisgKiBkYXRhIHN0 cnVjdHVyZS4KKyAqCisgKiBZb3UgbXVzdCBub3QgdXNlIHRoZSByZWZlcmVuY2UgYWZ0ZXIgY2Fs bGluZyB0aGlzIGZ1bmN0aW9uLgorICovCit2b2lkIGwzX3B1dF9hZGFwdGVyKHN0cnVjdCBsM19h ZGFwdGVyICphZGFwKQoreworCWlmIChhZGFwICYmIGFkYXAtPm93bmVyKQorCQltb2R1bGVfcHV0 KGFkYXAtPm93bmVyKTsKK30KKworCisvKioKKyAqIGwzX3RyYW5zZmVyIC0gdHJhbnNmZXIgaW5m b3JtYXRpb24gb24gYW4gTDMgYnVzCisgKiBAYWRhcDogYWRhcHRlciBzdHJ1Y3R1cmUgdG8gcGVy Zm9ybSB0cmFuc2ZlciBvbgorICogQG1zZ3M6IGFycmF5IG9mIGwzX21zZyBzdHJ1Y3R1cmVzIGRl c2NyaWJpbmcgdHJhbnNmZXIKKyAqIEBudW06IG51bWJlciBvZiBsM19tc2cgc3RydWN0dXJlcwor ICoKKyAqIFRyYW5zZmVyIHRoZSBzcGVjaWZpZWQgbWVzc2FnZXMgdG8vZnJvbSBhIGRldmljZSBv biB0aGUgTDMgYnVzLgorICoKKyAqIFJldHVybnMgbnVtYmVyIG9mIG1lc3NhZ2VzIHN1Y2Nlc3Nm dWxseSB0cmFuc2ZlcnJlZCwgb3RoZXJ3aXNlIG5lZ2F0aXZlCisgKiBlcnJvciBjb2RlLgorICov CitpbnQgbDNfdHJhbnNmZXIoc3RydWN0IGwzX2FkYXB0ZXIgKmFkYXAsIHN0cnVjdCBsM19tc2cg bXNnc1tdLCBpbnQgbnVtKQoreworCWludCByZXQgPSAtRU5PU1lTOworCisJcHJpbnRrKCJMMyB0 cmFuc2ZlclxuIik7CisKKwlpZiAoYWRhcC0+YWxnby0+eGZlcikgeworCQlkb3duKGFkYXAtPmxv Y2spOworCQlyZXQgPSBhZGFwLT5hbGdvLT54ZmVyKGFkYXAsIG1zZ3MsIG51bSk7CisJCXVwKGFk YXAtPmxvY2spOworCX0KKwlyZXR1cm4gcmV0OworfQorCisvKioKKyAqIGwzX3dyaXRlIC0gc2Vu ZCBkYXRhIHRvIGEgZGV2aWNlIG9uIGFuIEwzIGJ1cworICogQGFkYXA6IEwzIGJ1cyBhZGFwdGVy CisgKiBAYWRkcjogTDMgYnVzIGFkZHJlc3MKKyAqIEBidWY6IGJ1ZmZlciBmb3IgYnl0ZXMgdG8g c2VuZAorICogQGxlbjogbnVtYmVyIG9mIGJ5dGVzIHRvIHNlbmQKKyAqCisgKiBTZW5kIGxlbiBi eXRlcyBwb2ludGVkIHRvIGJ5IGJ1ZiB0byBkZXZpY2UgYWRkcmVzcyBhZGRyIG9uIHRoZSBMMyBi dXMKKyAqIGRlc2NyaWJlZCBieSBjbGllbnQuCisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9m IGJ5dGVzIHRyYW5zZmVycmVkLCBvciBuZWdhdGl2ZSBlcnJvciBjb2RlLgorICovCitpbnQgbDNf d3JpdGUoc3RydWN0IGwzX2FkYXB0ZXIgKmFkYXAsIGludCBhZGRyLCBjb25zdCBjaGFyICpidWYs IGludCBsZW4pCit7CisJc3RydWN0IGwzX21zZyBtc2c7CisJaW50IHJldDsKKworCXByaW50aygi TDMgd3JpdGVcbiIpOworCisJbXNnLmFkZHIgPSBhZGRyOworCW1zZy5mbGFncyA9IDA7CisJbXNn LmJ1ZiA9IChjaGFyICopYnVmOworCW1zZy5sZW4gPSBsZW47CisKKwlyZXQgPSBsM190cmFuc2Zl cihhZGFwLCAmbXNnLCAxKTsKKwlyZXR1cm4gcmV0ID09IDEgPyBsZW4gOiByZXQ7Cit9CisKKy8q KgorICogbDNfcmVhZCAtIHJlY2VpdmUgZGF0YSBmcm9tIGEgZGV2aWNlIG9uIGFuIEwzIGJ1cwor ICogQGFkYXA6IEwzIGJ1cyBhZGFwdGVyCisgKiBAYWRkcjogTDMgYnVzIGFkZHJlc3MKKyAqIEBi dWY6IGJ1ZmZlciBmb3IgYnl0ZXMgdG8gcmVjZWl2ZQorICogQGxlbjogbnVtYmVyIG9mIGJ5dGVz IHRvIHJlY2VpdmUKKyAqCisgKiBSZWNlaXZlIGxlbiBieXRlcyBmcm9tIGRldmljZSBhZGRyZXNz IGFkZHIgb24gdGhlIEwzIGJ1cyBkZXNjcmliZWQgYnkKKyAqIGNsaWVudCB0byBhIGJ1ZmZlciBw b2ludGVkIHRvIGJ5IGJ1Zi4KKyAqCisgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgdHJh bnNmZXJyZWQsIG9yIG5lZ2F0aXZlIGVycm9yIGNvZGUuCisgKi8KK2ludCBsM19yZWFkKHN0cnVj dCBsM19hZGFwdGVyICphZGFwLCBpbnQgYWRkciwgY2hhciAqYnVmLCBpbnQgbGVuKQoreworCXN0 cnVjdCBsM19tc2cgbXNnOworCWludCByZXQ7CisKKwlwcmludGsoIkwzIHJlYWRcbiIpOworCisJ bXNnLmFkZHIgPSBhZGRyOworCW1zZy5mbGFncyA9IEwzX01fUkQ7CisJbXNnLmJ1ZiA9IGJ1ZjsK Kwltc2cubGVuID0gbGVuOworCisJcmV0ID0gbDNfdHJhbnNmZXIoYWRhcCwgJm1zZywgMSk7CisJ cmV0dXJuIHJldCA9PSAxID8gbGVuIDogcmV0OworfQorCitFWFBPUlRfU1lNQk9MKGwzX2FkZF9h ZGFwdGVyKTsKK0VYUE9SVF9TWU1CT0wobDNfZGVsX2FkYXB0ZXIpOworRVhQT1JUX1NZTUJPTChs M19nZXRfYWRhcHRlcik7CitFWFBPUlRfU1lNQk9MKGwzX3B1dF9hZGFwdGVyKTsKK0VYUE9SVF9T WU1CT0wobDNfdHJhbnNmZXIpOworRVhQT1JUX1NZTUJPTChsM193cml0ZSk7CitFWFBPUlRfU1lN Qk9MKGwzX3JlYWQpOwotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvbDMvbDMtYWxnby1iaXQu YwpAQCAtMCwwICsxLDE3NyBAQAorLyoKKyAqIEwzIGJ1cyBhbGdvcml0aG0gbW9kdWxlLgorICoK KyAqICBDb3B5cmlnaHQgKEMpIDIwMDEgUnVzc2VsbCBLaW5nLCBBbGwgUmlnaHRzIFJlc2VydmVk LgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogIE5vdGUgdGhhdCBMMyBidXNlcyBjYW4g c2hhcmUgdGhlIHNhbWUgcGlucyBhcyBJMkMgYnVzZXMsIHNvIHdlIG11c3QKKyAqICBfbm90XyBn ZW5lcmF0ZSBhbiBJMkMgc3RhcnQgY29uZGl0aW9uLiAgQW4gSTJDIHN0YXJ0IGNvbmRpdGlvbiBp cworICogIGRlZmluZWQgYXMgYSBoaWdoLXRvLWxvdyB0cmFuc2l0aW9uIG9mIHRoZSBkYXRhIGxp bmUgd2hpbGUgdGhlIGNsb2NrCisgKiAgaXMgaGlnaC4gIFRoZXJlZm9yZSwgd2UgbXVzdCBvbmx5 IGNoYW5nZSB0aGUgZGF0YSBsaW5lIHdoaWxlIHRoZQorICogIGNsb2NrIGlzIGxvdy4KKyAqLwor I2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2lu Y2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUg PGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4 L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvbDMuaD4KKyNpbmNsdWRlIDxsaW51eC9sMy1hbGdv LWJpdC5oPgorCisjZGVmaW5lIHNldGRhdChhZGFwLHZhbCkJYWRhcC0+c2V0ZGF0KGFkYXAtPmRh dGEsIHZhbCkKKyNkZWZpbmUgc2V0Y2xrKGFkYXAsdmFsKQlhZGFwLT5zZXRjbGsoYWRhcC0+ZGF0 YSwgdmFsKQorI2RlZmluZSBzZXRtb2RlKGFkYXAsdmFsKQlhZGFwLT5zZXRtb2RlKGFkYXAtPmRh dGEsIHZhbCkKKyNkZWZpbmUgc2V0ZGF0aW4oYWRhcCkJCWFkYXAtPnNldGRpcihhZGFwLT5kYXRh LCAxKQorI2RlZmluZSBzZXRkYXRvdXQoYWRhcCkJCWFkYXAtPnNldGRpcihhZGFwLT5kYXRhLCAw KQorI2RlZmluZSBnZXRkYXQoYWRhcCkJCWFkYXAtPmdldGRhdChhZGFwLT5kYXRhKQorCisvKgor ICogU2VuZCBvbmUgYnl0ZSBvZiBkYXRhIHRvIHRoZSBjaGlwLiAgRGF0YSBpcyBsYXRjaGVkIGlu dG8gdGhlIGNoaXAgb24KKyAqIHRoZSByaXNpbmcgZWRnZSBvZiB0aGUgY2xvY2suCisgKi8KK3N0 YXRpYyB2b2lkIHNlbmRieXRlKHN0cnVjdCBsM19hbGdvX2JpdF9kYXRhICphZGFwLCB1bnNpZ25l ZCBpbnQgYnl0ZSkKK3sKKwlpbnQgaTsKKworCXByaW50aygiTDMgc2VuZGJ5dGU6ICUwMlhcbiIs Ynl0ZSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgODsgaSsrKSB7CisJCXNldGNsayhhZGFwLCAwKTsK KwkJdWRlbGF5KGFkYXAtPmRhdGFfaG9sZCk7CisJCXNldGRhdChhZGFwLCBieXRlICYgMSk7CisJ CXVkZWxheShhZGFwLT5kYXRhX3NldHVwKTsKKwkJc2V0Y2xrKGFkYXAsIDEpOworCQl1ZGVsYXko YWRhcC0+Y2xvY2tfaGlnaCk7CisJCWJ5dGUgPj49IDE7CisJfQorfQorCisvKgorICogU2VuZCBh IHNldCBvZiBieXRlcyB0byB0aGUgY2hpcC4gIFdlIG5lZWQgdG8gcHVsc2UgdGhlIE1PREUgbGlu ZQorICogYmV0d2VlbiBlYWNoIGJ5dGUsIGJ1dCBuZXZlciBhdCB0aGUgc3RhcnQgbm9yIGF0IHRo ZSBlbmQgb2YgdGhlCisgKiB0cmFuc2Zlci4KKyAqLworc3RhdGljIHZvaWQgc2VuZGJ5dGVzKHN0 cnVjdCBsM19hbGdvX2JpdF9kYXRhICphZGFwLCBjb25zdCBjaGFyICpidWYsIGludCBsZW4pCit7 CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKKwkJaWYgKGkpIHsKKwkJ CXVkZWxheShhZGFwLT5tb2RlX2hvbGQpOworCQkJc2V0bW9kZShhZGFwLCAwKTsKKwkJCXVkZWxh eShhZGFwLT5tb2RlKTsKKwkJfQorCQlzZXRtb2RlKGFkYXAsIDEpOworCQl1ZGVsYXkoYWRhcC0+ bW9kZV9zZXR1cCk7CisJCXNlbmRieXRlKGFkYXAsIGJ1ZltpXSk7CisJfQorfQorCisvKgorICog UmVhZCBvbmUgYnl0ZSBvZiBkYXRhIGZyb20gdGhlIGNoaXAuICBEYXRhIGlzIGxhdGNoZWQgaW50 byB0aGUgY2hpcCBvbgorICogdGhlIHJpc2luZyBlZGdlIG9mIHRoZSBjbG9jay4KKyAqLworc3Rh dGljIHVuc2lnbmVkIGludCByZWFkYnl0ZShzdHJ1Y3QgbDNfYWxnb19iaXRfZGF0YSAqYWRhcCkK K3sKKwl1bnNpZ25lZCBpbnQgYnl0ZSA9IDA7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwg ODsgaSsrKSB7CisJCXNldGNsayhhZGFwLCAwKTsKKwkJdWRlbGF5KGFkYXAtPmRhdGFfaG9sZCAr IGFkYXAtPmRhdGFfc2V0dXApOworCQlzZXRjbGsoYWRhcCwgMSk7CisJCWlmIChnZXRkYXQoYWRh cCkpCisJCQlieXRlIHw9IDEgPDwgaTsKKwkJdWRlbGF5KGFkYXAtPmNsb2NrX2hpZ2gpOworCX0K KworCXJldHVybiBieXRlOworfQorCisvKgorICogUmVhZCBhIHNldCBvZiBieXRlcyBmcm9tIHRo ZSBjaGlwLiAgV2UgbmVlZCB0byBwdWxzZSB0aGUgTU9ERSBsaW5lCisgKiBiZXR3ZWVuIGVhY2gg Ynl0ZSwgYnV0IG5ldmVyIGF0IHRoZSBzdGFydCBub3IgYXQgdGhlIGVuZCBvZiB0aGUKKyAqIHRy YW5zZmVyLgorICovCitzdGF0aWMgdm9pZCByZWFkYnl0ZXMoc3RydWN0IGwzX2FsZ29fYml0X2Rh dGEgKmFkYXAsIGNoYXIgKmJ1ZiwgaW50IGxlbikKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7 IGkgPCBsZW47IGkrKykgeworCQlpZiAoaSkgeworCQkJdWRlbGF5KGFkYXAtPm1vZGVfaG9sZCk7 CisJCQlzZXRtb2RlKGFkYXAsIDApOworCQl9CisJCXNldG1vZGUoYWRhcCwgMSk7CisJCXVkZWxh eShhZGFwLT5tb2RlX3NldHVwKTsKKwkJYnVmW2ldID0gcmVhZGJ5dGUoYWRhcCk7CisJfQorfQor CitzdGF0aWMgaW50IGwzX3hmZXIoc3RydWN0IGwzX2FkYXB0ZXIgKmwzX2FkYXAsIHN0cnVjdCBs M19tc2cgbXNnc1tdLCBpbnQgbnVtKQoreworCXN0cnVjdCBsM19hbGdvX2JpdF9kYXRhICphZGFw ID0gbDNfYWRhcC0+YWxnb19kYXRhOworCWludCBpOworCisJLyoKKwkgKiBJZiB3ZSBzaGFyZSBh biBJMkMgYnVzLCBlbnN1cmUgdGhhdCBpdCBpcyBpbiBTVE9QIG1vZGUKKwkgKi8KKwlzZXRjbGso YWRhcCwgMSk7CisJc2V0ZGF0KGFkYXAsIDEpOworCXNldG1vZGUoYWRhcCwgMSk7CisJc2V0ZGF0 b3V0KGFkYXApOworCXVkZWxheShhZGFwLT5tb2RlKTsKKworCWZvciAoaSA9IDA7IGkgPCBudW07 IGkrKykgeworCQlzdHJ1Y3QgbDNfbXNnICpwbXNnID0gJm1zZ3NbaV07CisKKwkJaWYgKCEocG1z Zy0+ZmxhZ3MgJiBMM19NX05PQUREUikpIHsKKwkJCXNldG1vZGUoYWRhcCwgMCk7CisJCQl1ZGVs YXkoYWRhcC0+bW9kZV9zZXR1cCk7CisJCQlzZW5kYnl0ZShhZGFwLCBwbXNnLT5hZGRyKTsKKwkJ CXVkZWxheShhZGFwLT5tb2RlX2hvbGQpOworCQl9CisKKwkJaWYgKHBtc2ctPmZsYWdzICYgTDNf TV9SRCkgeworCQkJc2V0ZGF0aW4oYWRhcCk7CisJCQlyZWFkYnl0ZXMoYWRhcCwgcG1zZy0+YnVm LCBwbXNnLT5sZW4pOworCQl9IGVsc2UgeworCQkJc2V0ZGF0b3V0KGFkYXApOworCQkJc2VuZGJ5 dGVzKGFkYXAsIHBtc2ctPmJ1ZiwgcG1zZy0+bGVuKTsKKwkJfQorCX0KKworCS8qCisJICogRW5z dXJlIHRoYXQgd2UgbGVhdmUgdGhlIGJ1cyBpbiBJMkMgc3RvcCBtb2RlLgorCSAqLworCXNldGNs ayhhZGFwLCAxKTsKKwlzZXRkYXQoYWRhcCwgMSk7CisJc2V0bW9kZShhZGFwLCAwKTsKKwlzZXRk YXRpbihhZGFwKTsKKworCXJldHVybiBudW07Cit9CisKK3N0YXRpYyBzdHJ1Y3QgbDNfYWxnb3Jp dGhtIGwzX2JpdF9hbGdvID0geworCW5hbWU6CSJMMyBiaXQtc2hpZnQgYWxnb3JpdGhtIiwKKwl4 ZmVyOglsM194ZmVyLAorfTsKKworaW50IGwzX2JpdF9hZGRfYnVzKHN0cnVjdCBsM19hZGFwdGVy ICphZGFwKQoreworCWFkYXAtPmFsZ28gPSAmbDNfYml0X2FsZ287CisJcmV0dXJuIGwzX2FkZF9h ZGFwdGVyKGFkYXApOworfQorCitpbnQgbDNfYml0X2RlbF9idXMoc3RydWN0IGwzX2FkYXB0ZXIg KmFkYXApCit7CisJcmV0dXJuIGwzX2RlbF9hZGFwdGVyKGFkYXApOworfQorCitFWFBPUlRfU1lN Qk9MKGwzX2JpdF9hZGRfYnVzKTsKK0VYUE9SVF9TWU1CT0wobDNfYml0X2RlbF9idXMpOwotLS0g L2Rldi9udWxsCisrKyBiL2RyaXZlcnMvbDMvczNjMjR4eC5jCkBAIC0wLDAgKzEsMTUyIEBACisv KgorICogQ29kZSB0cmFuc2Zvcm1lZCBpbnRvIHNlcGFyYXRlIG1vZHVsZSBieSBab2x0YW4gRGV2 YWkKKyAqIHRvIHN1cHBvcnQgVURBMTM0MSBjb2RlYworICogCisgKiBPcmlnaW5hbCBjb2RlIG1h ZGUgYnkgQ2hyaXN0aWFuIFBlbGxlZ3JpbiwgCisgKiBzZWUgaHR0cDovL3d3dy5ldm9sd2FyZS5v cmcvY2hyaS9wYWNpdWdvL2Fzb3VuZC5wYXRjaAorICoKKyAqIExpY2Vuc2Ugc3RhdHVzIHVuY2xl YXIKKyAqLworCisKKyNpbmNsdWRlIDxsaW51eC9hdXRvY29uZi5oPgorI2luY2x1ZGUgPGxpbnV4 L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2lv cG9ydC5oPgorCisjaW5jbHVkZSA8bGludXgvbDMtYWxnby1iaXQuaD4KKworI2luY2x1ZGUgPGFz bS9zZW1hcGhvcmUuaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20v YXJjaC9yZWdzLWdwaW8uaD4KKworc3RydWN0IGJpdF9kYXRhIHsKKwl1bnNpZ25lZCBpbnQgc2Rh OworCXVuc2lnbmVkIGludCBzY2w7CisJdW5zaWduZWQgaW50IGwzX21vZGU7Cit9OworCitzdGF0 aWMgc3RydWN0IGJpdF9kYXRhIGJpdF9kYXRhOworCitzdGF0aWMgaW50IGdldHNkYSh2b2lkICpk YXRhKQoreworCXN0cnVjdCBiaXRfZGF0YSAqYml0cyA9IGRhdGE7CisKKwlyZXR1cm4gczNjMjQx MF9ncGlvX2dldHBpbihiaXRzLT5zZGEpOworfQorCitzdGF0aWMgREVDTEFSRV9NVVRFWChsM19s b2NrKTsKKyNkZWZpbmUgTE9DSwkmbDNfbG9jaworCitzdGF0aWMgdm9pZCBsM19zZXRzY2wodm9p ZCAqZGF0YSwgaW50IHN0YXRlKQoreworCXN0cnVjdCBiaXRfZGF0YSAqYml0cyA9IGRhdGE7CisJ dW5zaWduZWQgbG9uZyBmbGFnczsKKworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwkKKwlpZiAo c3RhdGUpCisJCXMzYzI0MTBfZ3Bpb19zZXRwaW4oYml0cy0+c2NsLDEpOworCWVsc2UKKwkJczNj MjQxMF9ncGlvX3NldHBpbihiaXRzLT5zY2wsMCk7CisJCisJczNjMjQxMF9ncGlvX2NmZ3Bpbihi aXRzLT5zY2wsIFMzQzI0MTBfR1BJT19PVVRQVVQpOworCQorCWxvY2FsX2lycV9yZXN0b3JlKGZs YWdzKTsKK30KKworc3RhdGljIHZvaWQgbDNfc2V0c2RhKHZvaWQgKmRhdGEsIGludCBzdGF0ZSkK K3sKKwlzdHJ1Y3QgYml0X2RhdGEgKmJpdHMgPSBkYXRhOworCisJaWYgKHN0YXRlKQorCQlzM2My NDEwX2dwaW9fc2V0cGluKGJpdHMtPnNkYSwxKTsKKwllbHNlCisJCXMzYzI0MTBfZ3Bpb19zZXRw aW4oYml0cy0+c2RhLDApOworfQorCitzdGF0aWMgdm9pZCBsM19zZXRkaXIodm9pZCAqZGF0YSwg aW50IGluKQoreworCXN0cnVjdCBiaXRfZGF0YSAqYml0cyA9IGRhdGE7CisJdW5zaWduZWQgbG9u ZyBmbGFnczsKKworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwkKKwlpZiAoaW4pCisJCXMzYzI0 MTBfZ3Bpb19jZmdwaW4oYml0cy0+c2RhLCBTM0MyNDEwX0dQSU9fSU5QVVQpOworCWVsc2UKKwkJ czNjMjQxMF9ncGlvX2NmZ3BpbihiaXRzLT5zZGEsIFMzQzI0MTBfR1BJT19PVVRQVVQpOworCisJ bG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworfQorCitzdGF0aWMgdm9pZCBsM19zZXRtb2RlKHZv aWQgKmRhdGEsIGludCBzdGF0ZSkKK3sKKwlzdHJ1Y3QgYml0X2RhdGEgKmJpdHMgPSBkYXRhOwor CisJaWYgKHN0YXRlKQorCQlzM2MyNDEwX2dwaW9fc2V0cGluKGJpdHMtPmwzX21vZGUsMSk7CisJ ZWxzZQorCQlzM2MyNDEwX2dwaW9fc2V0cGluKGJpdHMtPmwzX21vZGUsMCk7Cit9CisKK3N0YXRp YyBzdHJ1Y3QgbDNfYWxnb19iaXRfZGF0YSBsM19iaXRfZGF0YSA9IHsKKwkuZGF0YT0gTlVMTCwK Kwkuc2V0ZGF0PSBsM19zZXRzZGEsCisJLnNldGNsaz0gbDNfc2V0c2NsLAorCS5zZXRtb2RlPSBs M19zZXRtb2RlLAorCS5zZXRkaXI9IGwzX3NldGRpciwKKwkuZ2V0ZGF0PSBnZXRzZGEsCisJLmRh dGFfaG9sZD0gMSwKKwkuZGF0YV9zZXR1cD0gMSwKKwkuY2xvY2tfaGlnaD0gMSwKKwkubW9kZV9o b2xkPSAxLAorCS5tb2RlX3NldHVwPSAxLAorfTsKKworc3RhdGljIHN0cnVjdCBsM19hZGFwdGVy IGwzX2FkYXB0ZXIgPSB7CisJLm93bmVyPSBUSElTX01PRFVMRSwKKwkubmFtZT0gInMzYzI0eHgt bDMiLAorCS5hbGdvX2RhdGE9ICZsM19iaXRfZGF0YSwKKwkubG9jaz0gTE9DSywKK307CisKK3N0 YXRpYyBpbnQgX19pbml0IHMzYzI0eHhfbDNfYnVzX2luaXQodm9pZCkKK3sKKwlzdHJ1Y3QgYml0 X2RhdGEgKmJpdCA9ICZiaXRfZGF0YTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJcHJpbnRr KEtFUk5fSU5GTyAiUzNDMjRYWCBMMy1idXMgZHJpdmVyXG4iKTsKKworI2lmIGRlZmluZWQoQ09O RklHX0FSQ0hfU01ESzI0MTApIHx8IGRlZmluZWQoQ09ORklHX1NNREsyNDQwX0NQVTI0NDApCisJ Yml0LT5zY2wgICAgID0gUzNDMjQxMF9HUEI0OworCWJpdC0+c2RhICAgICA9IFMzQzI0MTBfR1BC MzsKKwliaXQtPmwzX21vZGUgPSBTM0MyNDEwX0dQQjI7CisjZWxzZQorI2Vycm9yIFRoZSBMMyBk cml2ZXIgY3VycmVudGx5IGRvZXMgbm90IHN1cHBvcnQgeW91ciBib2FyZAorI2VuZGlmCisKKwkv KgorCSAqIERlZmF1bHQgbGV2ZWwgZm9yIEwzIG1vZGUgaXMgbG93LgorCSAqIFdlIHNldCBTQ0wg YW5kIFNEQSBoaWdoIChpMmMgaWRsZSBzdGF0ZSkuCisJICovCisJbG9jYWxfaXJxX3NhdmUoZmxh Z3MpOworCXMzYzI0MTBfZ3Bpb19jZmdwaW4oYml0LT5zY2wsIFMzQzI0MTBfR1BJT19PVVRQVVQp OworCXMzYzI0MTBfZ3Bpb19jZmdwaW4oYml0LT5zZGEsIFMzQzI0MTBfR1BJT19PVVRQVVQpOwor CXMzYzI0MTBfZ3Bpb19jZmdwaW4oYml0LT5sM19tb2RlLCBTM0MyNDEwX0dQSU9fT1VUUFVUKTsK Kwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisKKwkvKiBpZiBuZWVkZWQgICovCisKKwlsM19i aXRfZGF0YS5kYXRhID0gYml0OworCisJcmV0dXJuIGwzX2JpdF9hZGRfYnVzKCZsM19hZGFwdGVy KTsKK30KKworc3RhdGljIHZvaWQgX19leGl0IHMzYzI0eHhfbDNfYnVzX2V4aXQodm9pZCkKK3sK KwlsM19iaXRfZGVsX2J1cygmbDNfYWRhcHRlcik7Cit9CisKK21vZHVsZV9pbml0KHMzYzI0eHhf bDNfYnVzX2luaXQpOworbW9kdWxlX2V4aXQoczNjMjR4eF9sM19idXNfZXhpdCk7Ci0tLSAvZGV2 L251bGwKKysrIGIvZHJpdmVycy9sMy9NYWtlZmlsZQpAQCAtMCwwICsxLDExIEBACisjCisjIE1h a2VmaWxlIGZvciB0aGUgTDMgYnVzIGRyaXZlci4KKyMKKworIyBMaW5rIG9yZGVyOgorIyAgKGNv cmUsIGFkYXB0ZXJzLCBhbGdvcml0aG1zLCBkcml2ZXJzKSB0aGVuIGNsaWVudHMKKworbDMtJChD T05GSUdfTDNfQUxHT0JJVCkJCSs9IGwzLWFsZ28tYml0Lm8KK2wzLSQoQ09ORklHX0JJVF9TM0My NFhYKQkrPSBzM2MyNHh4Lm8KKworb2JqLSQoQ09ORklHX0wzKQkJKz0gbDMtY29yZS5vICQobDMt eSkgJChsMy1kcnYteSkKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2wzL0tjb25maWcKQEAg LTAsMCArMSwxOCBAQAorIworIyBMMyBidXMgY29uZmlndXJhdGlvbgorIworCittZW51ICJMMyBz ZXJpYWwgYnVzIHN1cHBvcnQiCisKK2NvbmZpZyBMMworCXRyaXN0YXRlICJMMyBzdXBwb3J0Igor Citjb25maWcgTDNfQUxHT0JJVAorCWJvb2wgIkwzIGJpdC1iYW5naW5nIGludGVyZmFjZXMiCisJ ZGVwZW5kcyBvbiBMMz15CisKK2NvbmZpZyBCSVRfUzNDMjRYWAorCWJvb2wgIkwzIGJ1cyBzdXBw b3J0IGZvciB0aGUgUzNDMjR4eCBhcmNoIgorCWRlcGVuZHMgb24gTDNfQUxHT0JJVCAmJiBBUkNI X1MzQzI0MTAKKworZW5kbWVudQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvbGludXgvbDMu aApAQCAtMCwwICsxLDk1IEBACisvKgorICogIGxpbnV4L2luY2x1ZGUvbGludXgvbDMvbDMuaAor ICoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDEgUnVzc2VsbCBLaW5nLCBBbGwgUmlnaHRzIFJlc2Vy dmVkLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZS4KKyAqCisg KiBEZXJpdmVkIGZyb20gaTJjLmggYnkgU2ltb24gRy4gVm9nbAorICovCisjaWZuZGVmIEwzX0gK KyNkZWZpbmUgTDNfSAorCitzdHJ1Y3QgbDNfbXNnIHsKKwl1bnNpZ25lZCBjaGFyCWFkZHI7CS8q IHNsYXZlIGFkZHJlc3MJKi8KKwl1bnNpZ25lZCBjaGFyCWZsYWdzOwkJCisjZGVmaW5lIEwzX01f UkQJCTB4MDEKKyNkZWZpbmUgTDNfTV9OT0FERFIJMHgwMgorCXVuc2lnbmVkIHNob3J0CWxlbjsJ LyogbXNnIGxlbmd0aAkJKi8KKwl1bnNpZ25lZCBjaGFyCSpidWY7CS8qIHBvaW50ZXIgdG8gbXNn IGRhdGEJKi8KK307CisKKyNpZmRlZiBfX0tFUk5FTF9fCisKKyNpbmNsdWRlIDxsaW51eC90eXBl cy5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKworc3RydWN0IGwzX2FkYXB0ZXI7CisKK3N0 cnVjdCBsM19hbGdvcml0aG0geworCS8qIHRleHR1YWwgZGVzY3JpcHRpb24gKi8KKwljaGFyIG5h bWVbMzJdOworCisJLyogcGVyZm9ybSBidXMgdHJhbnNhY3Rpb25zICovCisJaW50ICgqeGZlciko c3RydWN0IGwzX2FkYXB0ZXIgKiwgc3RydWN0IGwzX21zZyBtc2dzW10sIGludCBudW0pOworfTsK Kworc3RydWN0IHNlbWFwaG9yZTsKKworLyoKKyAqIGwzX2FkYXB0ZXIgaXMgdGhlIHN0cnVjdHVy ZSB1c2VkIHRvIGlkZW50aWZ5IGEgcGh5c2ljYWwgTDMgYnVzIGFsb25nCisgKiB3aXRoIHRoZSBh Y2Nlc3MgYWxnb3JpdGhtcyBuZWNlc3NhcnkgdG8gYWNjZXNzIGl0LgorICovCitzdHJ1Y3QgbDNf YWRhcHRlciB7CisJLyoKKwkgKiBUaGlzIG5hbWUgaXMgdXNlZCB0byB1bmlxdWVseSBpZGVudGlm eSB0aGUgYWRhcHRlci4KKwkgKiBJdCBzaG91bGQgYmUgdGhlIHNhbWUgYXMgdGhlIG1vZHVsZSBu YW1lLgorCSAqLworCWNoYXIJCQluYW1lWzMyXTsKKworCS8qCisJICogdGhlIGFsZ29yaXRobSB0 byBhY2Nlc3MgdGhlIGJ1cworCSAqLworCXN0cnVjdCBsM19hbGdvcml0aG0JKmFsZ287CisKKwkv KgorCSAqIEFsZ29yaXRobSBzcGVjaWZpYyBkYXRhCisJICovCisJdm9pZAkJCSphbGdvX2RhdGE7 CisKKwkvKgorCSAqIFRoaXMgbWF5IGJlIE5VTEwsIG9yIHNob3VsZCBwb2ludCB0byB0aGUgbW9k dWxlIHN0cnVjdAorCSAqLworCXN0cnVjdCBtb2R1bGUJCSpvd25lcjsKKworCS8qCisJICogcHJp dmF0ZSBkYXRhIGZvciB0aGUgYWRhcHRlcgorCSAqLworCXZvaWQJCQkqZGF0YTsKKworCS8qCisJ ICogT3VyIGxvY2suICBVbmxpa2UgdGhlIGkyYyBsYXllciwgd2UgYWxsb3cgdGhpcyB0byBiZSB1 c2VkIGZvcgorCSAqIG90aGVyIHN0dWZmLCBsaWtlIHRoZSBpMmMgbGF5ZXIgbG9jay4gIFNvbWUg cGVvcGxlIGltcGxlbWVudAorCSAqIGkyYyBzdHVmZiB1c2luZyB0aGUgc2FtZSBzaWduYWxzIGFz IHRoZSBsMyBidXMuCisJICovCisJc3RydWN0IHNlbWFwaG9yZQkqbG9jazsKKworCS8qCisJICog TGlzdCBvZiBhbGwgYWRhcHRlcnMuCisJICovCisJc3RydWN0IGxpc3RfaGVhZAlhZGFwdGVyczsK K307CisKK2V4dGVybiBpbnQgbDNfYWRkX2FkYXB0ZXIoc3RydWN0IGwzX2FkYXB0ZXIgKik7Citl eHRlcm4gaW50IGwzX2RlbF9hZGFwdGVyKHN0cnVjdCBsM19hZGFwdGVyICopOworZXh0ZXJuIHZv aWQgbDNfcHV0X2FkYXB0ZXIoc3RydWN0IGwzX2FkYXB0ZXIgKik7CitleHRlcm4gc3RydWN0IGwz X2FkYXB0ZXIgKmwzX2dldF9hZGFwdGVyKGNvbnN0IGNoYXIgKm5hbWUpOworCitleHRlcm4gaW50 IGwzX3dyaXRlKHN0cnVjdCBsM19hZGFwdGVyICosIGludCwgY29uc3QgY2hhciAqLCBpbnQpOwor ZXh0ZXJuIGludCBsM19yZWFkKHN0cnVjdCBsM19hZGFwdGVyICosIGludCwgY2hhciAqLCBpbnQp OworCisjZW5kaWYKKworI2VuZGlmIC8qIEwzX0ggKi8KLS0tIC9kZXYvbnVsbAorKysgYi9pbmNs dWRlL2xpbnV4L2wzLWFsZ28tYml0LmgKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqICBsaW51eC9p bmNsdWRlL2xpbnV4L2wzL2FsZ28tYml0LmgKKyAqCisgKiAgQ29weXJpZ2h0IChDKSAyMDAxIFJ1 c3NlbGwgS2luZywgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICog aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJz aW9uIDIgb2YgdGhlIExpY2Vuc2UuCisgKgorICogTDMgQnVzIGJpdC1iYW5naW5nIGFsZ29yaXRo bS4gIERlcml2ZWQgZnJvbSBpMmMtYWxnby1iaXQuaCBieQorICogU2ltb24gRy4gVm9nbC4KKyAq LworI2lmbmRlZiBMM19BTEdPX0JJVF9ICisjZGVmaW5lIEwzX0FMR09fQklUX0ggMQorCisjaW5j bHVkZSA8bGludXgvbDMuaD4KKworc3RydWN0IGwzX2FsZ29fYml0X2RhdGEgeworCXZvaWQgKCpz ZXRkYXQpICh2b2lkICpkYXRhLCBpbnQgc3RhdGUpOworCXZvaWQgKCpzZXRjbGspICh2b2lkICpk YXRhLCBpbnQgc3RhdGUpOworCXZvaWQgKCpzZXRtb2RlKSh2b2lkICpkYXRhLCBpbnQgc3RhdGUp OworCXZvaWQgKCpzZXRkaXIpICh2b2lkICpkYXRhLCBpbnQgaW4pOwkvKiBzZXQgZGF0YSBkaXJl Y3Rpb24gKi8KKwlpbnQgICgqZ2V0ZGF0KSAodm9pZCAqZGF0YSk7CisKKwl2b2lkICpkYXRhOwor CisJLyogYnVzIHRpbWluZ3MgKHVzKSAqLworCWludAlkYXRhX2hvbGQ7CisJaW50CWRhdGFfc2V0 dXA7CisJaW50CWNsb2NrX2hpZ2g7CisJaW50CW1vZGVfaG9sZDsKKwlpbnQJbW9kZV9zZXR1cDsK KwlpbnQJbW9kZTsKK307CisKK2ludCBsM19iaXRfYWRkX2J1cyhzdHJ1Y3QgbDNfYWRhcHRlciAq KTsKK2ludCBsM19iaXRfZGVsX2J1cyhzdHJ1Y3QgbDNfYWRhcHRlciAqKTsKKworI2VuZGlmCgot LS0gYS9hcmNoL2FybS9LY29uZmlnCisrKyBiL2FyY2gvYXJtL0tjb25maWcKQEAgLTEwMTEsNyAr MTAxMSw3IEBAIHNvdXJjZSAiZHJpdmVycy93MS9LY29uZmlnIgogCiBzb3VyY2UgImRyaXZlcnMv aHdtb24vS2NvbmZpZyIKIAotI3NvdXJjZSAiZHJpdmVycy9sMy9LY29uZmlnIgorc291cmNlICJk cml2ZXJzL2wzL0tjb25maWciCiAKIHNvdXJjZSAiZHJpdmVycy9taXNjL0tjb25maWciCgotLS0g YS9kcml2ZXJzL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvTWFrZWZpbGUKQEAgLTYwLDYgKzYwLDcg QEAgb2JqLSQoQ09ORklHX0lOUFVUKQkJKz0gaW5wdXQvCiBvYmotJChDT05GSUdfSTJPKQkJKz0g bWVzc2FnZS8KIG9iai0kKENPTkZJR19SVENfTElCKQkJKz0gcnRjLwogb2JqLXkJCQkJKz0gaTJj Lworb2JqLSQoQ09ORklHX0wzKQkJKz0gbDMvCiBvYmotJChDT05GSUdfVzEpCQkrPSB3MS8KIG9i ai0kKENPTkZJR19IV01PTikJCSs9IGh3bW9uLwogb2JqLSQoQ09ORklHX1BIT05FKQkJKz0gdGVs ZXBob255Lwo= ------=_Part_175262_10898648.1180043157283 Content-Type: application/octet-stream; name=smdk2440_asoc.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_f23r3xtr Content-Disposition: attachment; filename="smdk2440_asoc.patch" LS0tIGEvaW5jbHVkZS9zb3VuZC9zb2MuaAorKysgYi9pbmNsdWRlL3NvdW5kL3NvYy5oCkBAIC0x NTgsNiArMTU4LDkgQEAgc3RydWN0IHNuZF9zb2NfY2xvY2tfaW5mbzsKIHR5cGVkZWYgaW50ICgq aHdfd3JpdGVfdCkodm9pZCAqLGNvbnN0IGNoYXIqICxpbnQpOwogdHlwZWRlZiBpbnQgKCpod19y ZWFkX3QpKHZvaWQgKixjaGFyKiAsaW50KTsKIAordHlwZWRlZiBpbnQgKCpod193cml0ZV9sM190 KSh2b2lkICosaW50LCBjb25zdCBjaGFyKiAsaW50KTsKK3R5cGVkZWYgaW50ICgqaHdfcmVhZF9s M190KSh2b2lkICosaW50LCBjaGFyKiAsaW50KTsKKwogZXh0ZXJuIHN0cnVjdCBzbmRfYWM5N19i dXNfb3BzIHNvY19hYzk3X29wczsKIAogLyogcGNtIDwtPiBEQUkgY29ubmVjdCAqLwpAQCAtMzUx LDYgKzM1NCw4IEBAIHN0cnVjdCBzbmRfc29jX2NvZGVjIHsKIAlpbnQgKCp3cml0ZSkoc3RydWN0 IHNuZF9zb2NfY29kZWMgKiwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQpOwogCWh3X3dyaXRl X3QgaHdfd3JpdGU7CiAJaHdfcmVhZF90IGh3X3JlYWQ7CisJaHdfd3JpdGVfbDNfdCBod193cml0 ZV9sMzsKKwlod19yZWFkX2wzX3QgaHdfcmVhZF9sMzsKIAl2b2lkICpyZWdfY2FjaGU7CiAJc2hv cnQgcmVnX2NhY2hlX3NpemU7CiAJc2hvcnQgcmVnX2NhY2hlX3N0ZXA7Ci0tLSBhL3NvdW5kL3Nv Yy9jb2RlY3MvS2NvbmZpZworKysgYi9zb3VuZC9zb2MvY29kZWNzL0tjb25maWcKQEAgLTIsNiAr MiwxMCBAQCBjb25maWcgU05EX1NPQ19BQzk3X0NPREVDCiAJdHJpc3RhdGUKIAlkZXBlbmRzIG9u IFNORF9TT0MKIAorY29uZmlnIFNORF9TT0NfVURBMTM0MQorCXRyaXN0YXRlCisJZGVwZW5kcyBv biBTTkRfU09DCisKIGNvbmZpZyBTTkRfU09DX1dNODczMQogCXRyaXN0YXRlCiAJZGVwZW5kcyBv biBTTkRfU09DCi0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvTWFrZWZpbGUKKysrIGIvc291bmQvc29j L2NvZGVjcy9NYWtlZmlsZQpAQCAtMSwxMCArMSwxMiBAQAogc25kLXNvYy1hYzk3LW9ianMgOj0g YWM5Ny5vCitzbmQtc29jLXVkYTEzNDEtb2JqcyA6PSB1ZGExMzQxLm8KIHNuZC1zb2Mtd204NzMx LW9ianMgOj0gd204NzMxLm8KIHNuZC1zb2Mtd204NzUwLW9ianMgOj0gd204NzUwLm8KIHNuZC1z b2Mtd204NzUzLW9ianMgOj0gd204NzUzLm8KIHNuZC1zb2Mtd205NzEyLW9ianMgOj0gd205NzEy Lm8KIAogb2JqLSQoQ09ORklHX1NORF9TT0NfQUM5N19DT0RFQykJKz0gc25kLXNvYy1hYzk3Lm8K K29iai0kKENPTkZJR19TTkRfU09DX1VEQTEzNDEpCSs9IHNuZC1zb2MtdWRhMTM0MS5vCiBvYmot JChDT05GSUdfU05EX1NPQ19XTTg3MzEpCSs9IHNuZC1zb2Mtd204NzMxLm8KIG9iai0kKENPTkZJ R19TTkRfU09DX1dNODc1MCkJKz0gc25kLXNvYy13bTg3NTAubwogb2JqLSQoQ09ORklHX1NORF9T T0NfV004NzUzKQkrPSBzbmQtc29jLXdtODc1My5vCi0tLSBhL3NvdW5kL3NvYy9zM2MyNHh4L0tj b25maWcKKysrIGIvc291bmQvc29jL3MzYzI0eHgvS2NvbmZpZwpAQCAtOCwzICs4LDggQEAgY29u ZmlnIFNORF9TM0MyNFhYX1NPQwogCiBjb25maWcgU05EX1MzQzI0WFhfU09DX0kyUwogCXRyaXN0 YXRlCisKK2NvbmZpZyBTTkRfU01ESzI0NDBfVURBMTM0MQorCXRyaXN0YXRlICJTb0MgQXVkaW8g Zm9yIFNNREsyNDQwIGJvYXJkcyB3aXRoIFVEQTEzNDEgY29kZWMiCisJc2VsZWN0IFNORF9TM0My NFhYX1NPQ19JMlMKKwlzZWxlY3QgU05EX1NPQ19VREExMzQxCi0tLSBhL3NvdW5kL3NvYy9zM2My NHh4L01ha2VmaWxlCisrKyBiL3NvdW5kL3NvYy9zM2MyNHh4L01ha2VmaWxlCkBAIC0xLDYgKzEs OCBAQAogIyBTM2MyNFhYIFBsYXRmb3JtIFN1cHBvcnQKIHNuZC1zb2MtczNjMjR4eC1vYmpzIDo9 IHMzYzI0eHgtcGNtLm8KIHNuZC1zb2MtczNjMjR4eC1pMnMtb2JqcyA6PSBzM2MyNHh4LWkycy5v CitzbmQtc29jLXNtZGsyNDQwLW9ianMgOj0gc21kazI0NDAubwogCiBvYmotJChDT05GSUdfU05E X1MzQzI0WFhfU09DKSArPSBzbmQtc29jLXMzYzI0eHgubwogb2JqLSQoQ09ORklHX1NORF9TM0My NFhYX1NPQ19JMlMpICs9IHNuZC1zb2MtczNjMjR4eC1pMnMubworb2JqLSQoQ09ORklHX1NORF9T TURLMjQ0MF9VREExMzQxKSArPSBzbmQtc29jLXNtZGsyNDQwLm8K ------=_Part_175262_10898648.1180043157283 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel ------=_Part_175262_10898648.1180043157283--