summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorAl Viro <viro@ftp.linux.org.uk>2008-11-22 17:36:54 +0000
committerLinus Torvalds <torvalds@linux-foundation.org>2008-11-30 10:03:37 -0800
commit56d74dd5f7ad8b6b0979ce915d51cf03bcc57267 (patch)
tree1696aadcb0113e01bc9f8508bae00a3ba7922789 /arch
parent8419641450edc838a6ce7cdf0f99d262bf0af2d5 (diff)
downloadlinux-3.10-56d74dd5f7ad8b6b0979ce915d51cf03bcc57267.tar.gz
linux-3.10-56d74dd5f7ad8b6b0979ce915d51cf03bcc57267.tar.bz2
linux-3.10-56d74dd5f7ad8b6b0979ce915d51cf03bcc57267.zip
tricky one: hisax sections
a) hisax_init_pcmcia() needs to be defined only if we have CONFIG_HOTPLUG (no PCMCIA support otherwise) and can be declared __devinit. b) HiSax_inithardware() can go __init c) hisax_register() is passing to checkcard() full-blown hisax_cs_setup_card(): checkcard(i, id, NULL, hisax_d_if->owner, hisax_cs_setup_card); The problem with it is that * hisax_cs_setup_card() is __devinit * hisax_register() is not * hisax_cs_setup_card() is a switch from hell, calling a lot of setup_some_weirdcard() depending on card->typ. _These_ are also __devinit. However, in hisax_register() we have card->typ equal to ISDN_CTYPE_DYNAMIC, which reduces hisax_cs_setup_card() to "nevermind all that crap, just do nothing and return 2". So we add a trimmed-down callback doing just that and passed to checkcard() by hisax_register(). _This_ is non-init (we can stand the impact on .text size). Voila - no section warnings from drivers/isdn Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions