Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Feb 2010 18:48:32 +0100 (CET)
From:      Daniel Walter <d.walter@0x90.at>
To:        freebsd-acpi@freebsd.org
Subject:   Call for testers acpi_dell
Message-ID:  <alpine.BSF.2.00.1002121840460.1675@mini-beast>

next in thread | raw e-mail | index | archive | help
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

---496892480-560367094-1265996917=:1675
Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII

Hi all,

I've written a small kernel driver to support Dell Mini 1011 (aka Dell Mini 10v) 
Brightness Controll Buttons. Since I do not have any other Dell Notebooks, I'd like you to test this module on other Dell Notebooks as well.

This driver is in an early stage, but future releases will also support the rfkill switch and CRT switch.

Currently following features are implemented:
* Increase / Decrease Brightness
* Change brightness if AC is connected / disconnected

TODO:
* Add CRT Support
* Add Sysctl to define brightness levels for eco and ac powerprofile
* Add Support for RF-Kill Switch

Any suggestions are welcome

regards

Daniel
---496892480-560367094-1265996917=:1675
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=Makefile
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.BSF.2.00.1002121848320.1675@mini-beast>
Content-Description: 
Content-Disposition: attachment; filename=Makefile

S01PRD0JYWNwaV9kZWxsDQpTUkNTPQlhY3BpX2RlbGwuYyBvcHRfYWNwaS5o
IGFjcGlfaWYuaCBidXNfaWYuaCBkZXZpY2VfaWYuaA0KDQouaW5jbHVkZSA8
YnNkLmttb2QubWs+DQo=

---496892480-560367094-1265996917=:1675
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=acpi_dell.c
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.BSF.2.00.1002121848321.1675@mini-beast>
Content-Description: 
Content-Disposition: attachment; filename=acpi_dell.c

LyotDQogKiBDb3B5cmlnaHQgKGMpIDIwMTAgV0FMVEVSIERhbmllbCA8c2Fo
bmVAMHg5MC5hdD4NCiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQogKg0KICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0DQogKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMNCiAqIGFyZSBtZXQ6DQogKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodA0KICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLg0KICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQNCiAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUNCiAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uDQogKg0KICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQVVUSE9SIEFORCBDT05UUklCVVRPUlMgYGBBUyBJ
UycnIEFORA0KICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFDQogKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQ0KICogQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUNCiAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
DQogKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUw0KICogT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pDQogKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVA0KICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQ0KICogT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRg0KICogU1VDSCBEQU1BR0UuDQogKg0K
ICovDQoNCiNpbmNsdWRlIDxzeXMvY2RlZnMuaD4NCg0KI2luY2x1ZGUgIm9w
dF9hY3BpLmgiDQojaW5jbHVkZSA8c3lzL3BhcmFtLmg+DQojaW5jbHVkZSA8
c3lzL2tlcm5lbC5oPg0KI2luY2x1ZGUgPHN5cy9tb2R1bGUuaD4NCiNpbmNs
dWRlIDxzeXMvYnVzLmg+DQojaW5jbHVkZSA8c3lzL3Bvd2VyLmg+DQoNCiNp
bmNsdWRlIDxjb250cmliL2Rldi9hY3BpY2EvaW5jbHVkZS9hY3BpLmg+DQoN
CiNpbmNsdWRlIDxkZXYvYWNwaWNhL2FjcGl2YXIuaD4NCg0KI2RlZmluZSBf
Q09NUE9ORU5UCUFDUElfT0VNDQpBQ1BJX01PRFVMRV9OQU1FKCJEZWxsIikN
Cg0KLyogQ29tbWFuZHMgKi8NCiNkZWZpbmUgQUNQSV9ERUxMX0JSSUdIVE5F
U1NfR0VUCSJfQlFDIg0KI2RlZmluZSBBQ1BJX0RFTExfQlJJR0hUTkVTU19T
RVQJIl9CQ00iDQojZGVmaW5lCUFDUElfREVMTF9CUklHSFRORVNTX1NVUFBP
UlRFRAkiX0JDTCINCg0KLyogTm90aWZ5Y2F0aW9ucyAqLw0KI2RlZmluZQlB
Q1BJX0RFTExfQlJJR0hUTkVTU19JTkNSRUFTRQkweDg2DQojZGVmaW5lCUFD
UElfREVMTF9CUklHSFRORVNTX0RFQ1JFQVNFCTB4ODcNCiNkZWZpbmUgQUNQ
SV9ERUxMX1NXSVRDSF9PVVRQVVQJCTAJDQoNCi8qIERFQlVHIE5PVElGSUNB
VElPTlMgKi8NCiNkZWZpbmUJQUNQSV9ERUxMX0RFQlVHCQkJMQ0KDQpzdHJ1
Y3QgYWNwaV9kZWxsX3NvZnRjIHsNCglkZXZpY2VfdAkJZGV2Ow0KCUFDUElf
SEFORExFCQloYW5kbGU7DQoJZXZlbnRoYW5kbGVyX3RhZwlwb3dlcl9wcm9m
aWxlOw0KCWludAkJCWJyaWdodG5lc3M7DQoJaW50CQkJYnJpZ2h0bmVzc19p
bmRleDsNCglpbnQJCQllY29fYnJpZ2h0bmVzczsNCglpbnQJCQlhY19icmln
aHRuZXNzOwkNCglpbnQJCQludW1fbGV2ZWxzOw0KCWludAkJCSpicmlnaHRu
ZXNzX2xldmVsczsNCn07DQoNCnN0YXRpYyBpbnQJYWNwaV9kZWxsX3Byb2Jl
KGRldmljZV90IGRldik7DQpzdGF0aWMgaW50CWFjcGlfZGVsbF9hdHRhY2go
ZGV2aWNlX3QgZGV2KTsNCnN0YXRpYyBpbnQJYWNwaV9kZWxsX2RldGFjaChk
ZXZpY2VfdCBkZXYpOw0Kc3RhdGljIHZvaWQJYWNwaV9kZWxsX25vdGlmeShB
Q1BJX0hBTkRMRSBoLCBVSU5UMzIgbm90aWZ5LCB2b2lkICpjb250ZXh0KTsN
CnN0YXRpYyBpbnQJYWNwaV9kZWxsX2dldF9icmlnaHRuZXNzKHN0cnVjdCBh
Y3BpX2RlbGxfc29mdGMgKnNjKTsNCnN0YXRpYyBpbnQJYWNwaV9kZWxsX3Nl
dF9icmlnaHRuZXNzKHN0cnVjdCBhY3BpX2RlbGxfc29mdGMgKnNjLCBpbnQg
aW5jKTsNCnN0YXRpYyB2b2lkCWFjcGlfZGVsbF9wb3dlcnByb2ZpbGUodm9p
ZCAqY29udGV4dCk7DQpzdGF0aWMgaW50CWFjcGlfZGVsbF9nZXRfYnJpZ2h0
bmVzc19sZXZlbHMoc3RydWN0IGFjcGlfZGVsbF9zb2Z0YyAqc2MpOw0KDQov
KiBEZWNsYXJlIGxvY2sgKi8NCkFDUElfU0VSSUFMX0RFQ0woZGVsbCwgIkFD
UEkgREVMTCBleHRyYXMiKTsNCg0Kc3RhdGljIGRldmljZV9tZXRob2RfdCBh
Y3BpX2RlbGxfbWV0aG9kc1tdID0gew0KCURFVk1FVEhPRChkZXZpY2VfcHJv
YmUsCQlhY3BpX2RlbGxfcHJvYmUpLA0KCURFVk1FVEhPRChkZXZpY2VfYXR0
YWNoLAlhY3BpX2RlbGxfYXR0YWNoKSwNCglERVZNRVRIT0QoZGV2aWNlX2Rl
dGFjaCwJYWNwaV9kZWxsX2RldGFjaCksDQoNCgl7MCwgMH0NCn07DQoNCnN0
YXRpYyBkcml2ZXJfdCBhY3BpX2RlbGxfZHJpdmVyID0gew0KCSJhY3BpX2Rl
bGwiLA0KCWFjcGlfZGVsbF9tZXRob2RzLA0KCXNpemVvZihzdHJ1Y3QgYWNw
aV9kZWxsX3NvZnRjKSwNCn07DQoNCi8qIHN1cHBvcnRlZCBiYWNrbGlnaHQg
dmFsdWVzIGZvciBkZWxsIG1pbmkgMTAxMSAoYWthIGRlbGwgbWluaSAxMHYp
ICovDQpzdGF0aWMgaW50IGFjcGlfZGVsbF92YWxpZF9icmlnaHRuZXNzIFtd
ID0gew0KCTB4NjQsDQoJMHg0MSwNCgkweDE5LA0KCTB4MWUsDQoJMHgyMywN
CgkweDI4LA0KCTB4MmQsDQoJMHgzMiwNCgkweDM3LA0KCTB4M2MsDQoJMHg0
MSwNCgkweDQ2LA0KCTB4NGIsDQoJMHg1MCwNCgkweDU1LA0KCTB4NWEsDQoJ
MHg1ZiwNCgkweDY0DQp9Ow0KDQpzdGF0aWMgZGV2Y2xhc3NfdCBhY3BpX2Rl
bGxfZGV2Y2xhc3M7DQpEUklWRVJfTU9EVUxFKGFjcGlfZGVsbCwgYWNwaSwg
YWNwaV9kZWxsX2RyaXZlciwgYWNwaV9kZWxsX2RldmNsYXNzLCAwLCAwKTsN
Ck1PRFVMRV9ERVBFTkQoYWNwaV9kZWxsLCBhY3BpLCAxLCAxLCAxKTsNCg0K
c3RhdGljIGludA0KYWNwaV9kZWxsX3Byb2JlIChkZXZpY2VfdCBkZXYpDQp7
DQoJQUNQSV9IQU5ETEUJCWRldmgsaDsNCglBQ1BJX09CSkVDVF9UWVBFIAl0
X2RvczsNCgkNCglkZXZoID0gYWNwaV9nZXRfaGFuZGxlKGRldik7DQoJaWYg
KGFjcGlfZGlzYWJsZWQoImRlbGwiKSB8fCANCgkgICAgQUNQSV9GQUlMVVJF
KEFjcGlHZXRIYW5kbGUoZGV2aCwgIl9CQ0wiLCAmaCkpIHx8DQoJICAgIEFD
UElfRkFJTFVSRShBY3BpR2V0VHlwZShoLCAmdF9kb3MpKSB8fA0KCSAgICB0
X2RvcyAhPSBBQ1BJX1RZUEVfTUVUSE9EKSANCgkJcmV0dXJuIChFTlhJTyk7
DQojaWZkZWYJQUNQSV9ERUxMX0RFQlVHDQoJZGV2aWNlX3ByaW50ZihkZXYs
ICJmb3VuZCBkZXZpY2VcbiIpOw0KI2VuZGlmCQ0KCWRldmljZV9zZXRfZGVz
YyhkZXYsICJEZWxsIEFDUEkgVmlkZW8iKTsNCglyZXR1cm4gKDApOw0KDQp9
DQoNCnN0YXRpYyBpbnQNCmFjcGlfZGVsbF9hdHRhY2ggKGRldmljZV90IGRl
dikNCnsNCglzdHJ1Y3QgYWNwaV9kZWxsX3NvZnRjIAkqc2M7DQoJc3RydWN0
IGFjcGlfc29mdGMgCSphY3BpX3NjOw0KCWludAkJCWJyaWdodG5lc3M7DQoJ
DQoJc2MgPSBkZXZpY2VfZ2V0X3NvZnRjKGRldik7DQoJc2MtPmRldiA9IGRl
djsNCglzYy0+aGFuZGxlID0gYWNwaV9nZXRfaGFuZGxlKGRldik7DQoJc2Mt
Pm51bV9sZXZlbHMgPSBhY3BpX2RlbGxfZ2V0X2JyaWdodG5lc3NfbGV2ZWxz
KHNjKTsNCgkvKiANCgkgKiBpZiBkeW5hbWljIHJlYWQgb2YgYnJpZ2h0bmVz
cyBsZXZlbHMgZGlkIG5vdCB3b3JrIA0KCSAqIHVzZSBzdGF0aWMgdGFibGUg
DQoJICovDQoJaWYgKHNjLT5udW1fbGV2ZWxzID09IC0xKSB7DQojaWZkZWYJ
QUNQSV9ERUxMX0RFQlVHDQoJCWRldmljZV9wcmludGYoZGV2LCAiQ291bGQg
bm90IGdldCBicmlnaHRuZXNzIGxldmVsc1xuIik7DQojZW5kaWYNCgkJc2Mt
Pm51bV9sZXZlbHMgPSAxODsNCgkJc2MtPmJyaWdodG5lc3NfbGV2ZWxzID0g
YWNwaV9kZWxsX3ZhbGlkX2JyaWdodG5lc3M7DQoJfQ0KCS8qIHNldCBicmln
aG5lc3MgbGV2ZWxzIGZvciBhYyBhbmQgZWNvIHBvd2VyICovDQoJc2MtPmFj
X2JyaWdodG5lc3MgPSBzYy0+YnJpZ2h0bmVzc19sZXZlbHNbMF07DQoJc2Mt
PmVjb19icmlnaHRuZXNzID0gc2MtPmJyaWdodG5lc3NfbGV2ZWxzWzFdOw0K
CS8qIGdldCBicmlnaHRuZXNzICovDQoJYnJpZ2h0bmVzcyA9IGFjcGlfZGVs
bF9nZXRfYnJpZ2h0bmVzcyhzYyk7DQoJDQoJYWNwaV9zYyA9IGFjcGlfZGV2
aWNlX2dldF9wYXJlbnRfc29mdGMoZGV2KTsNCgkNCgkvKiBpbnN0YWxsIG5v
dGlmY2F0aW9uIGFuZCBldmVudCBoYW5kbGVyICovDQoJQWNwaUluc3RhbGxO
b3RpZnlIYW5kbGVyKHNjLT5oYW5kbGUsIEFDUElfREVWSUNFX05PVElGWSwN
CgkJCWFjcGlfZGVsbF9ub3RpZnksIHNjKTsNCg0KCXNjLT5wb3dlcl9wcm9m
aWxlID0gRVZFTlRIQU5ETEVSX1JFR0lTVEVSKHBvd2VyX3Byb2ZpbGVfY2hh
bmdlLCANCgkJCQkJCSAgYWNwaV9kZWxsX3Bvd2VycHJvZmlsZSwgDQoJCQkJ
CQkgIHNjLCAwKTsNCg0KCXJldHVybiAoMCk7DQp9DQoNCnN0YXRpYyBpbnQN
CmFjcGlfZGVsbF9kZXRhY2goIGRldmljZV90IGRldikNCnsNCglzdHJ1Y3Qg
YWNwaV9kZWxsX3NvZnRjCSpzYzsNCglzYyA9IGRldmljZV9nZXRfc29mdGMo
ZGV2KTsNCgkNCglFVkVOVEhBTkRMRVJfREVSRUdJU1RFUihwb3dlcl9wcm9m
aWxlX2NoYW5nZSwgc2MtPnBvd2VyX3Byb2ZpbGUpOw0KCUFjcGlSZW1vdmVO
b3RpZnlIYW5kbGVyKHNjLT5oYW5kbGUsIEFDUElfREVWSUNFX05PVElGWSwg
DQoJCQkJYWNwaV9kZWxsX25vdGlmeSk7DQoJDQoJaWYgKHNjLT5icmlnaHRu
ZXNzX2xldmVscyAhPSBOVUxMKQ0KCQlBY3BpT3NGcmVlKHNjLT5icmlnaHRu
ZXNzX2xldmVscyk7DQoJDQoJcmV0dXJuICgwKTsNCn0NCg0KDQoNCnN0YXRp
YyB2b2lkDQphY3BpX2RlbGxfbm90aWZ5KEFDUElfSEFORExFIGgsIFVJTlQz
MiBub3RpZnksIHZvaWQgKmNvbnRleHQpDQp7DQoJc3RydWN0CWFjcGlfZGVs
bF9zb2Z0YyAqc2M7DQoJLypVSU5UMzIJa2V5OyovDQoJc2MgPSAoc3RydWN0
IGFjcGlfZGVsbF9zb2Z0YyAqKSBjb250ZXh0Ow0KCXN3aXRjaCAobm90aWZ5
KSB7DQoJCWNhc2UgQUNQSV9ERUxMX0JSSUdIVE5FU1NfSU5DUkVBU0U6DQoj
aWZkZWYgQUNQSV9ERUxMX0RFQlVHDQoJCQlkZXZpY2VfcHJpbnRmKHNjLT5k
ZXYsIA0KCQkJCSJpbmNyZWFzZSBicmlnaHRuZXNzIG5vdGlmeSAweCV4XG4i
LCBub3RpZnkpOw0KI2VuZGlmDQoJCQlhY3BpX2RlbGxfc2V0X2JyaWdodG5l
c3Moc2MsIDEpOw0KCQkJYnJlYWs7DQoJCWNhc2UgQUNQSV9ERUxMX0JSSUdI
VE5FU1NfREVDUkVBU0U6DQojaWZkZWYgQUNQSV9ERUxMX0RFQlVHDQoJCQlk
ZXZpY2VfcHJpbnRmKHNjLT5kZXYsIA0KCQkJCSJkZWNyZWFzZSBicmlnaHRu
ZXNzIG5vdGlmeSAweCV4XG4iLCBub3RpZnkpOw0KI2VuZGlmDQoJCQlhY3Bp
X2RlbGxfc2V0X2JyaWdodG5lc3Moc2MsIDApOw0KCQkJYnJlYWs7DQoJCWRl
ZmF1bHQ6DQoJCQlkZXZpY2VfcHJpbnRmKHNjLT5kZXYsICJub3RpZnkgMHgl
eFxuIiwgbm90aWZ5KTsNCgkJCWJyZWFrOw0KCX0NCn0NCg0Kc3RhdGljIGlu
dA0KYWNwaV9kZWxsX2dldF9icmlnaHRuZXNzKHN0cnVjdCBhY3BpX2RlbGxf
c29mdGMgKnNjKQ0Kew0KCWludCBpOw0KCWludCBicmlnaHRuZXNzOw0KCWFj
cGlfR2V0SW50ZWdlcihzYy0+aGFuZGxlLCBBQ1BJX0RFTExfQlJJR0hUTkVT
U19HRVQsICZicmlnaHRuZXNzKTsNCglzYy0+YnJpZ2h0bmVzcyA9IGJyaWdo
dG5lc3M7DQoJZm9yIChpID0gMjsgaSA8IHNjLT5udW1fbGV2ZWxzOyBpKysp
IA0KCQlpZiAoYnJpZ2h0bmVzcyA9PSBhY3BpX2RlbGxfdmFsaWRfYnJpZ2h0
bmVzc1tpXSkNCgkJCWJyZWFrOw0KCXNjLT5icmlnaHRuZXNzX2luZGV4ID0g
aTsNCglyZXR1cm4gKGJyaWdodG5lc3MpOw0KfQ0KDQpzdGF0aWMgaW50DQph
Y3BpX2RlbGxfc2V0X2JyaWdodG5lc3Moc3RydWN0IGFjcGlfZGVsbF9zb2Z0
YyAqc2MsIGludCBpbmMpDQp7DQoJaW50IGJyaWdodG5lc3M7DQoJaW50IG5l
eHRfYnI7DQoJQUNQSV9TRVJJQUxfQkVHSU4oZGVsbCk7DQoJYnJpZ2h0bmVz
cyA9IGFjcGlfZGVsbF9nZXRfYnJpZ2h0bmVzcyhzYyk7DQoJaWYgKGluYykg
ew0KCQluZXh0X2JyID0gc2MtPmJyaWdodG5lc3NfaW5kZXggKyAxOw0KCQlp
ZiAobmV4dF9iciA+PSBzYy0+bnVtX2xldmVscykgDQoJCQluZXh0X2JyID0g
c2MtPm51bV9sZXZlbHM7DQoJfSBlbHNlIHsNCgkJbmV4dF9iciA9IHNjLT5i
cmlnaHRuZXNzX2luZGV4IC0gMTsNCgkJaWYgKG5leHRfYnIgPD0gMikgDQoJ
CQluZXh0X2JyID0gMjsNCgl9DQoJYWNwaV9TZXRJbnRlZ2VyKHNjLT5oYW5k
bGUsIEFDUElfREVMTF9CUklHSFRORVNTX1NFVCwgDQoJCQlhY3BpX2RlbGxf
dmFsaWRfYnJpZ2h0bmVzc1tuZXh0X2JyXSk7DQoJc2MtPmJyaWdodG5lc3Mg
PSBhY3BpX2RlbGxfdmFsaWRfYnJpZ2h0bmVzc1tuZXh0X2JyXTsNCglzYy0+
YnJpZ2h0bmVzc19pbmRleCA9IG5leHRfYnI7DQoJQUNQSV9TRVJJQUxfRU5E
KGRlbGwpOw0KCXJldHVybiAoMCk7DQp9DQoNCnN0YXRpYyBpbnQNCmFjcGlf
ZGVsbF9nZXRfYnJpZ2h0bmVzc19sZXZlbHMoc3RydWN0IGFjcGlfZGVsbF9z
b2Z0YyAqc2MpDQp7DQoJQUNQSV9TVEFUVVMJc3RhdHVzOw0KCUFDUElfQlVG
RkVSCWJjbF9idWY7DQoJQUNQSV9PQkpFQ1QJKmJjbF9vYmo7DQoJaW50CQlp
LCBuLCBudW07DQoJaW50CQkqbHZsOw0KDQoJbnVtID0gMDsNCgliY2xfYnVm
Lkxlbmd0aCA9IEFDUElfQUxMT0NBVEVfQlVGRkVSOw0KCWJjbF9idWYuUG9p
bnRlciA9IE5VTEw7DQoJDQoJc3RhdHVzID0gQWNwaUV2YWx1YXRlT2JqZWN0
KHNjLT5oYW5kbGUsIEFDUElfREVMTF9CUklHSFRORVNTX1NVUFBPUlRFRCwN
CgkJCQkgICAgTlVMTCwgJmJjbF9idWYpOw0KCWlmIChBQ1BJX0ZBSUxVUkUo
c3RhdHVzKSkgew0KCQlpZiAoc3RhdHVzICE9IEFFX05PVF9GT1VORCkNCgkJ
CWRldmljZV9wcmludGYoc2MtPmRldiwgImNvdWxkIG5vdCBldmFsdWF0ZSBf
QkNMXG4iKTsNCgkJbnVtID0gLTE7DQoJCWdvdG8gb3V0Ow0KCX0gDQoNCgli
Y2xfb2JqID0gKEFDUElfT0JKRUNUICopYmNsX2J1Zi5Qb2ludGVyOw0KCWlm
ICghQUNQSV9QS0dfVkFMSUQoYmNsX29iaiwyKSkgew0KCQlkZXZpY2VfcHJp
bnRmKHNjLT5kZXYsICJldmFsdWF0aW9uIG9mIF9CQ0wgbWFrZXMgbm8gc2Vu
c2VcbiIpOw0KCQludW0gPSAtMTsNCgkJZ290byBvdXQ7DQoJfQ0KDQoJbnVt
ID0gYmNsX29iai0+UGFja2FnZS5Db3VudDsNCglsdmwgPSBBY3BpT3NBbGxv
Y2F0ZShudW0gKiBzaXplb2YoKmx2bCkpOw0KCWlmIChsdmwgPT0gTlVMTCkg
ew0KCQludW0gPSAtMTsNCgkJZ290byBvdXQ7DQoJfQ0KCQ0KCWZvciAoaSA9
IDAsIG4gPSAwOyBpIDwgbnVtOyBpKyspDQoJCWlmIChhY3BpX1BrZ0ludDMy
KGJjbF9vYmosIGksICZsdmxbbl0pID09IDApDQoJCQluKys7DQoJaWYgKG4g
PCAyKSB7DQoJCW51bSA9IC0xOw0KCQlBY3BpT3NGcmVlKGx2bCk7DQoJfSBl
bHNlIHsNCgkJbnVtID0gbjsNCgkJc2MtPmJyaWdodG5lc3NfbGV2ZWxzID0g
bHZsOw0KCX0NCm91dDoJDQoJaWYgKGJjbF9idWYuUG9pbnRlciAhPSBOVUxM
KQ0KCQlBY3BpT3NGcmVlKGJjbF9idWYuUG9pbnRlcik7DQoJDQoJcmV0dXJu
IChudW0pOw0KfQ0KDQpzdGF0aWMgdm9pZA0KYWNwaV9kZWxsX3Bvd2VycHJv
ZmlsZSh2b2lkICpjb250ZXh0KQ0Kew0KCWludCAJCQlzdGF0ZTsNCglzdHJ1
Y3QgYWNwaV9kZWxsX3NvZnRjCSpzYzsNCg0KCXNjID0gY29udGV4dDsNCglz
dGF0ZSA9IHBvd2VyX3Byb2ZpbGVfZ2V0X3N0YXRlKCk7DQoJaWYgKHN0YXRl
ICE9IFBPV0VSX1BST0ZJTEVfUEVSRk9STUFOQ0UgJiYNCgkgICAgc3RhdGUg
IT0gUE9XRVJfUFJPRklMRV9FQ09OT01ZKQ0KCQlyZXR1cm4gOw0KDQoJQUNQ
SV9TRVJJQUxfQkVHSU4oZGVsbCk7DQoJYWNwaV9TZXRJbnRlZ2VyKHNjLT5o
YW5kbGUsIEFDUElfREVMTF9CUklHSFRORVNTX1NFVCwgDQoJCQlzdGF0ZSA9
PSBQT1dFUl9QUk9GSUxFX0VDT05PTVkgPyANCgkJCXNjLT5lY29fYnJpZ2h0
bmVzcyA6IHNjLT5hY19icmlnaHRuZXNzKTsNCglBQ1BJX1NFUklBTF9FTkQo
ZGVsbCk7DQp9DQo=

---496892480-560367094-1265996917=:1675--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.1002121840460.1675>