[Prism54-devel] [PATCH] reduce macros in prism54_process_trap_helper

Jens Maurer Jens.Maurer@gmx.net
Sun, 28 Dec 2003 23:31:19 +0100


This is a multi-part message in MIME format.
--------------000209070203010706050800
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Hello!

The attached patch replaces the SEND_*_EVENT macros in
isl_ioctl.c by proper functions.  This redundancy elimination
saves slightly less than 8KB in the resulting prism54.o module
object file.

It also allows for kmalloc() to return NULL, and gracefully
ignores the trap in that case.  (As a side note, I don't
think we need GFP_ATOMIC here.)

NOTE: I don't have a WLAN card yet, so I can't test it at
the moment.

Jens Maurer

--------------000209070203010706050800
Content-Type: text/plain;
 name="ioctl-send-event.patch"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="ioctl-send-event.patch"

LS0tIGlzbF9pb2N0bC5jLm9sZAlTdW4gRGVjIDI4IDIxOjU2OjEwIDIwMDMKKysrIGlzbF9p
b2N0bC5jCVN1biBEZWMgMjggMjM6MjY6NDQgMjAwMwpAQCAtMjA0NCw1NCArMjA0NCw1MCBA
QAogCiAvKiBUcmFuc2xhdGUgYSBUUkFQIG9pZCBpbnRvIGEgd2lyZWxlc3MgZXZlbnQuIENh
bGxlZCBpbiBpc2xwY2lfbWd0X3JlY2VpdmUuICovCiAKLSNkZWZpbmUgU1RSX0FERChkZXN0
LHNyYyxsZW5ndGgpZG8geyBcCi0JQlVHX09OKChsZW5ndGgpICsgc2l6ZW9mKChzcmMpKS0x
ID4gSVdfQ1VTVE9NX01BWCk7CVwKLQltZW1jcHkoJihkZXN0KVsobGVuZ3RoKV0sIChzcmMp
LCBzaXplb2YoKHNyYykpLTEpO1wKLQkobGVuZ3RoKSArPSBzaXplb2YoKHNyYykpLTE7XAot
CX0gd2hpbGUgKDApCi0KLSNkZWZpbmUgU1RSX0FERF9BRERSRVNTKGRlc3QsYWRkcixsZW5n
dGgpZG8geyBcCi0JaW50IF9pOwlcCi0JQlVHX09OKChsZW5ndGgpICsgMTcgPiBJV19DVVNU
T01fTUFYKTsJXAotCWZvciAoIF9pID0gMDsgX2kgPCA1OyBfaSsrICkJXAotCQlzcHJpbnRm
KCYoZGVzdClbKGxlbmd0aCkrMypfaV0sIiUyLjJYOiIsKHVuc2lnbmVkIGNoYXIpKChhZGRy
KVtfaV0pKTtcCi0Jc3ByaW50ZigmKGRlc3QpWyhsZW5ndGgpKzE1XSwiJTIuMlgiLCAodW5z
aWduZWQgY2hhcikoKGFkZHIpWzVdKSk7CVwKLQkobGVuZ3RoKSArPSAxNzsJXAotCX0gd2hp
bGUgKDApCi0KLSNkZWZpbmUgRk9STUFUX0VWRU5UKGRlc3Qsc3RyLG1sbWUsbGVuZ3RoLGVy
cm9yKWRvIHsgXAotCVNUUl9BREQoKGRlc3QpLCAoc3RyKSwgKGxlbmd0aCkpOyBcCi0JaWYg
KHByaXYtPm1pYi5tb2RlID09IElOTF9NT0RFX0NMSUVOVCkJXAotCQlTVFJfQUREKChkZXN0
KSwiIHRvICIsIChsZW5ndGgpKTsJXAotCWVsc2UJXAotCQlTVFJfQUREKChkZXN0KSwgIiBm
cm9tICIsIChsZW5ndGgpKTsJXAotCVNUUl9BRERfQUREUkVTUygoZGVzdCksIChtbG1lKS0+
YWRkcmVzcywgKGxlbmd0aCkpOwlcCi0JaWYgKChlcnJvcikpewlcCi0JCWlmICgobWxtZSkt
PmNvZGUpCVwKLQkJCVNUUl9BREQoKGRlc3QpLCAiIDogUkVKRUNURUQgIiwgKGxlbmd0aCkp
OwlcCi0JCWVsc2UJXAotCQkJU1RSX0FERCgoZGVzdCksICIgOiBBQ0NFUFRFRCAiLCAobGVu
Z3RoKSk7CVwKLQl9CVwKLQl9IHdoaWxlICgwKQotCi0jZGVmaW5lCVNFTkRfRk9STUFURURf
RVZFTlQocHJpdiwgc3RyLCBtbG1lLGVycm9yKSBkb3sJXAotCXVuaW9uIGl3cmVxX2RhdGEg
X3dycXU7CVwKLQlfd3JxdS5kYXRhLnBvaW50ZXIgPSBrbWFsbG9jKElXX0NVU1RPTV9NQVgs
IEdGUF9BVE9NSUMpOwlcCi0JX3dycXUuZGF0YS5sZW5ndGggPSAwOwlcCi0JRk9STUFUX0VW
RU5UKF93cnF1LmRhdGEucG9pbnRlciwgKHN0ciksIChtbG1lKSwJXAotCSAgICAgICBfd3Jx
dS5kYXRhLmxlbmd0aCwoZXJyb3IpKTsJXAotCXdpcmVsZXNzX3NlbmRfZXZlbnQoKHByaXYp
LT5uZGV2LCBJV0VWQ1VTVE9NLCAmX3dycXUsIF93cnF1LmRhdGEucG9pbnRlcik7CVwKLQlr
ZnJlZShfd3JxdS5kYXRhLnBvaW50ZXIpOwlcCi0JfSB3aGlsZSAoMCkKLQotI2RlZmluZQlT
RU5EX1NJTVBMRV9FVkVOVChwcml2LCBzdHIpIGRvewlcCi0JdW5pb24gaXdyZXFfZGF0YSBf
d3JxdTsJXAotCV93cnF1LmRhdGEucG9pbnRlciA9IGttYWxsb2MoSVdfQ1VTVE9NX01BWCwg
R0ZQX0FUT01JQyk7CVwKLQlfd3JxdS5kYXRhLmxlbmd0aCA9IDA7CVwKLQlTVFJfQUREKF93
cnF1LmRhdGEucG9pbnRlciwgKHN0ciksX3dycXUuZGF0YS5sZW5ndGgpO1wKLQl3aXJlbGVz
c19zZW5kX2V2ZW50KChwcml2KS0+bmRldiwgSVdFVkNVU1RPTSwgJl93cnF1LCBfd3JxdS5k
YXRhLnBvaW50ZXIpOwlcCi0Ja2ZyZWUoX3dycXUuZGF0YS5wb2ludGVyKTsJXAotCX0gd2hp
bGUgKDApCitzdGF0aWMgaW5saW5lIHZvaWQKK2Zvcm1hdF9ldmVudChpc2xwY2lfcHJpdmF0
ZSAqcHJpdiwgY2hhciAqZGVzdCwgY29uc3QgY2hhciAqc3RyLAorCSAgICAgY29uc3Qgc3Ry
dWN0IG9ial9tbG1lICptbG1lLCB1MTYgKmxlbmd0aCwgaW50IGVycm9yKQoreworCWNvbnN0
IHU4ICphID0gbWxtZS0+YWRkcmVzczsKKwlpbnQgbiA9IHNucHJpbnRmKGRlc3QsIElXX0NV
U1RPTV9NQVgsCisJCQkgIiVzICVzICUyLjJYOiUyLjJYOiUyLjJYOiUyLjJYOiUyLjJYOiUy
LjJYICVzIiwKKwkJCSBzdHIsCisJCQkgKChwcml2LT5taWIubW9kZSA9PSBJTkxfTU9ERV9D
TElFTlQpID8gInRvIiA6ICJmcm9tIiksCisJCQkgYVswXSwgYVsxXSwgYVsyXSwgYVszXSwg
YVs0XSwgYVs1XSwKKwkJCSAoZXJyb3IgPyAobWxtZS0+Y29kZSA/ICIgOiBSRUpFQ1RFRCAi
CisJCQkJICAgICAgICAgICAgICA6ICIgOiBBQ0NFUFRFRCAiKQorCQkJICAgICAgICA6ICIi
KSk7CisJQlVHX09OKG4gPiBJV19DVVNUT01fTUFYKTsKKwkqbGVuZ3RoID0gbjsKK30KKwor
c3RhdGljIHZvaWQKK3NlbmRfZm9ybWF0dGVkX2V2ZW50KGlzbHBjaV9wcml2YXRlICpwcml2
LCBjb25zdCBjaGFyICpzdHIsIGNvbnN0IHN0cnVjdCBvYmpfbWxtZSAqbWxtZSwgaW50IGVy
cm9yKQoreworCXVuaW9uIGl3cmVxX2RhdGEgd3JxdTsKKwl3cnF1LmRhdGEucG9pbnRlciA9
IGttYWxsb2MoSVdfQ1VTVE9NX01BWCwgR0ZQX0FUT01JQyk7CisJaWYoIXdycXUuZGF0YS5w
b2ludGVyKQorCQlyZXR1cm47CisJd3JxdS5kYXRhLmxlbmd0aCA9IDA7CisJZm9ybWF0X2V2
ZW50KHByaXYsIHdycXUuZGF0YS5wb2ludGVyLCBzdHIsIG1sbWUsICZ3cnF1LmRhdGEubGVu
Z3RoLCBlcnJvcik7CisJd2lyZWxlc3Nfc2VuZF9ldmVudChwcml2LT5uZGV2LCBJV0VWQ1VT
VE9NLCAmd3JxdSwgd3JxdS5kYXRhLnBvaW50ZXIpOworCWtmcmVlKHdycXUuZGF0YS5wb2lu
dGVyKTsKK30KKworc3RhdGljIHZvaWQKK3NlbmRfc2ltcGxlX2V2ZW50KGlzbHBjaV9wcml2
YXRlICpwcml2LCBjb25zdCBjaGFyICpzdHIpCit7CisJdW5pb24gaXdyZXFfZGF0YSB3cnF1
OworCWludCBuID0gc3RybGVuKHN0cik7CisJd3JxdS5kYXRhLnBvaW50ZXIgPSBrbWFsbG9j
KElXX0NVU1RPTV9NQVgsIEdGUF9BVE9NSUMpOworCWlmKCF3cnF1LmRhdGEucG9pbnRlcikK
KwkJcmV0dXJuOworCUJVR19PTihuID4gSVdfQ1VTVE9NX01BWCk7CQorCXdycXUuZGF0YS5s
ZW5ndGggPSBuOworCXN0cmNweSh3cnF1LmRhdGEucG9pbnRlciwgc3RyKTsKKwl3aXJlbGVz
c19zZW5kX2V2ZW50KHByaXYtPm5kZXYsIElXRVZDVVNUT00sICZ3cnF1LCB3cnF1LmRhdGEu
cG9pbnRlcik7CisJa2ZyZWUod3JxdS5kYXRhLnBvaW50ZXIpOworfQogCiBpbnQKIHByaXNt
NTRfcHJvY2Vzc190cmFwX2hlbHBlcihpc2xwY2lfcHJpdmF0ZSAqcHJpdiwgdTMyIG9pZCwg
Y2hhciAqZGF0YSkKQEAgLTIxMTYsMTcgKzIxMTIsMTcgQEAKIAkJICogY29udGV4dCwgYnV0
IEknbSB0b28gbGF6eS4uLlRodXMgd2UgcmVwb3J0IGl0IHRocm91Z2ggYSBjdXRvbSBldmVu
dC4KIAkJICovCiAJCWlmICgobG9uZykgKmRhdGEpCi0JCQlTRU5EX1NJTVBMRV9FVkVOVChw
cml2LCAiTGluayBlc3RhYmxpc2hlZCIpOworCQkJc2VuZF9zaW1wbGVfZXZlbnQocHJpdiwg
IkxpbmsgZXN0YWJsaXNoZWQiKTsKIAkJZWxzZQotCQkJU0VORF9TSU1QTEVfRVZFTlQocHJp
diwgIkxpbmsgbG9zdCIpOworCQkJc2VuZF9zaW1wbGVfZXZlbnQocHJpdiwgIkxpbmsgbG9z
dCIpOwogCQlicmVhazsKIAogCWNhc2UgRE9UMTFfT0lEX01JQ0ZBSUxVUkU6Ci0JCVNFTkRf
U0lNUExFX0VWRU5UKHByaXYsICJNaWMgZmFpbHVyZSIpOworCQlzZW5kX3NpbXBsZV9ldmVu
dChwcml2LCAiTWljIGZhaWx1cmUiKTsKIAkJYnJlYWs7CiAKIAljYXNlIERPVDExX09JRF9E
RUFVVEhFTlRJQ0FURToKLQkJU0VORF9GT1JNQVRFRF9FVkVOVChwcml2LCAiRGVBdXRoZW50
aWNhdGUgcmVxdWVzdCIsIG1sbWUsIDApOworCQlzZW5kX2Zvcm1hdHRlZF9ldmVudChwcml2
LCAiRGVBdXRoZW50aWNhdGUgcmVxdWVzdCIsIG1sbWUsIDApOwogCQlicmVhazsKIAogI2Rl
ZmluZSBNSUJfU1RBVEVfT0sobWliKVwKQEAgLTIxNDIsMTEgKzIxMzgsMTEgQEAKIAkJCQkg
cHJpc201NF9tYWNfYWNjZXB0KCZwcml2LT5hY2wsIG1sbWUtPmFkZHJlc3MpID8gMCA6IDE7
CiAJCQlNR1RfU0VUX1JFUVVFU1RfTk9DQUNIRShwcml2LG9pZCxkYXRhLHNpemVvZihzdHJ1
Y3Qgb2JqX21sbWUpKTsKIAkJfQotCQlTRU5EX0ZPUk1BVEVEX0VWRU5UKHByaXYsICJBdXRo
ZW50aWNhdGUgcmVxdWVzdCIsIG1sbWUsIDEpOworCQlzZW5kX2Zvcm1hdHRlZF9ldmVudChw
cml2LCAiQXV0aGVudGljYXRlIHJlcXVlc3QiLCBtbG1lLCAxKTsKICAJCWJyZWFrOwogCiAJ
Y2FzZSBET1QxMV9PSURfRElTQVNTT0NJQVRFOgotCQlTRU5EX0ZPUk1BVEVEX0VWRU5UKHBy
aXYsICJEaXNhc3NvY2lhdGUgcmVxdWVzdCIsIG1sbWUsIDApOworCSAgICAgICAgc2VuZF9m
b3JtYXR0ZWRfZXZlbnQocHJpdiwgIkRpc2Fzc29jaWF0ZSByZXF1ZXN0IiwgbWxtZSwgMCk7
CiAJCWJyZWFrOwogCiAJY2FzZSBET1QxMV9PSURfQVNTT0NJQVRFOgpAQCAtMjE1Niw3ICsy
MTUyLDcgQEAKIAkJCQkgcHJpc201NF9tYWNfYWNjZXB0KCZwcml2LT5hY2wsIG1sbWUtPmFk
ZHJlc3MpID8gMCA6IDE7CiAJCQlNR1RfU0VUX1JFUVVFU1RfTk9DQUNIRShwcml2LG9pZCxk
YXRhLHNpemVvZihzdHJ1Y3Qgb2JqX21sbWUpKTsKIAkJfQotCQlTRU5EX0ZPUk1BVEVEX0VW
RU5UKHByaXYsICJBc3NvY2lhdGUgcmVxdWVzdCIsIG1sbWUsIDEpOworCQlzZW5kX2Zvcm1h
dHRlZF9ldmVudChwcml2LCAiQXNzb2NpYXRlIHJlcXVlc3QiLCBtbG1lLCAxKTsKIAkJYnJl
YWs7CiAKIAljYXNlIERPVDExX09JRF9SRUFTU09DSUFURToKQEAgLTIxNjYsNDUgKzIxNjIs
NDIgQEAKIAkJCQkgcHJpc201NF9tYWNfYWNjZXB0KCZwcml2LT5hY2wsIG1sbWUtPmFkZHJl
c3MpID8gMCA6IDE7CiAJCQlNR1RfU0VUX1JFUVVFU1RfTk9DQUNIRShwcml2LG9pZCxkYXRh
LHNpemVvZihzdHJ1Y3Qgb2JqX21sbWUpKTsKIAkJfQotCQlTRU5EX0ZPUk1BVEVEX0VWRU5U
KHByaXYsICJSZUFzc29jaWF0ZSByZXF1ZXN0IiwgbWxtZSwgMSk7CisJCXNlbmRfZm9ybWF0
dGVkX2V2ZW50KHByaXYsICJSZUFzc29jaWF0ZSByZXF1ZXN0IiwgbWxtZSwgMSk7CiAJCWJy
ZWFrOwogCiAJY2FzZSBET1QxMV9PSURfQkVBQ09OOgotCQlTRU5EX0ZPUk1BVEVEX0VWRU5U
KHByaXYsICJSZWNlaXZlZCBhIGJlYWNvbiBmcm9tIGFuIHVua293biBBUCIsCisJCXNlbmRf
Zm9ybWF0dGVkX2V2ZW50KHByaXYsICJSZWNlaXZlZCBhIGJlYWNvbiBmcm9tIGFuIHVua293
biBBUCIsCiAJCSAgICAgICAgICAgbWxtZSwgMCk7CiAJCWJyZWFrOwogCiAJY2FzZSBET1Qx
MV9PSURfUFJPQkU6CiAJCS8qIHdlIHJlY2VpdmVkIGEgcHJvYmUgZnJvbSBhIGNsaWVudC4g
Ki8KLQkJU0VORF9GT1JNQVRFRF9FVkVOVChwcml2LCAiUmVjZWl2ZWQgYSBwcm9iZSBmcm9t
IGNsaWVudCIsIG1sbWUsIDApOworCQlzZW5kX2Zvcm1hdHRlZF9ldmVudChwcml2LCAiUmVj
ZWl2ZWQgYSBwcm9iZSBmcm9tIGNsaWVudCIsIG1sbWUsIDApOwogCQlicmVhazsKIAogCS8q
IE5vdGUgOiB0aGUgZm9sbG93aW5nIHNob3VsZCBuZXZlciBoYXBwZW4gc2luY2Ugd2UgZG9u
J3QgcnVuIHRoZSBjYXJkIGluCiAJICogZXh0ZW5kZWQgbW9kZS4KKwkgKiBOb3RlIDogIm1s
bWUiIGlzIGFjdHVhbGx5IGEgInN0cnVjdCBvYmpfbWxtZWV4ICoiIGhlcmUsIGJ1dCB0aGlz
CisJICogaXMgYmFja3dhcmQgY29tcGF0aWJsZSBsYXlvdXQtd2lzZSB3aXRoICJzdHJ1Y3Qg
b2JqX21sbWUiLgogCSAqLwogCWNhc2UgRE9UMTFfT0lEX0RFQVVUSEVOVElDQVRFRVg6Ci0J
CVNFTkRfRk9STUFURURfRVZFTlQocHJpdiwgIkRlQXV0aGVudGljYXRlIHJlcXVlc3QiLAot
CQkJCSAgICAoc3RydWN0IG9ial9tbG1lZXggKikgZGF0YSwgMCk7CisJCXNlbmRfZm9ybWF0
dGVkX2V2ZW50KHByaXYsICJEZUF1dGhlbnRpY2F0ZSByZXF1ZXN0IiwgbWxtZSwgMCk7CiAJ
CWJyZWFrOwogCiAJY2FzZSBET1QxMV9PSURfQVVUSEVOVElDQVRFRVg6Ci0JCVNFTkRfRk9S
TUFURURfRVZFTlQocHJpdiwgIkF1dGhlbnRpY2F0ZSByZXF1ZXN0IiwKLQkJCQkgICAgKHN0
cnVjdCBvYmpfbWxtZWV4ICopIGRhdGEsIDEpOworCQlzZW5kX2Zvcm1hdHRlZF9ldmVudChw
cml2LCAiQXV0aGVudGljYXRlIHJlcXVlc3QiLCBtbG1lLCAxKTsKIAkJYnJlYWs7CiAKIAlj
YXNlIERPVDExX09JRF9ESVNBU1NPQ0lBVEVFWDoKLQkJU0VORF9GT1JNQVRFRF9FVkVOVChw
cml2LCAiRGlzYXNzb2NpYXRlIHJlcXVlc3QiLAotCQkJCSAgICAoc3RydWN0IG9ial9tbG1l
ZXggKikgZGF0YSwgMCk7CisJCXNlbmRfZm9ybWF0dGVkX2V2ZW50KHByaXYsICJEaXNhc3Nv
Y2lhdGUgcmVxdWVzdCIsIG1sbWUsIDApOwogCQlicmVhazsKIAogCWNhc2UgRE9UMTFfT0lE
X0FTU09DSUFURUVYOgotCQlTRU5EX0ZPUk1BVEVEX0VWRU5UKHByaXYsICJBc3NvY2lhdGUg
cmVxdWVzdCIsCi0JCQkJICAgIChzdHJ1Y3Qgb2JqX21sbWVleCAqKSBkYXRhLCAxKTsKKwkJ
c2VuZF9mb3JtYXR0ZWRfZXZlbnQocHJpdiwgIkFzc29jaWF0ZSByZXF1ZXN0IiwgbWxtZSwg
MSk7CiAJCWJyZWFrOwogCiAJY2FzZSBET1QxMV9PSURfUkVBU1NPQ0lBVEVFWDoKLQkJU0VO
RF9GT1JNQVRFRF9FVkVOVChwcml2LCAiUmVhc3NvY2lhdGUgcmVxdWVzdCIsCi0JCQkJICAg
IChzdHJ1Y3Qgb2JqX21sbWVleCAqKSBkYXRhLCAxKTsKKwkJc2VuZF9mb3JtYXR0ZWRfZXZl
bnQocHJpdiwgIlJlYXNzb2NpYXRlIHJlcXVlc3QiLCBtbG1lLCAxKTsKIAkJYnJlYWs7CiAK
IAlkZWZhdWx0Ogo=
--------------000209070203010706050800--