libertas: improve function init/shutdown handling for SD8688
authorBing Zhao <bzhao@marvell.com>
Tue, 2 Jun 2009 01:04:36 +0000 (18:04 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 3 Jun 2009 18:05:16 +0000 (14:05 -0400)
commit6bc61f4d8e2fa3d54017c29b58603e8771158a25
treea527be05a193d1ef4b223322b4af6d83c69f64cb
parent328d84fb3614d006254c990a6224ce437147a5ac
libertas: improve function init/shutdown handling for SD8688

This patch is to incorporate Dan Williams' comments for commit:
"libertas: implement function init/shutdown commands for SD8688"

1. remove fn_init_required and fn_shutdown_required variables from
lbs_private structure. If required, __lbs_cmd() will be called
directly to send function init/shutdown command for SD8688 in
if_sdio_probe() or if_sdio_remove() callback.

2. add global variable "user_rmmod" to distinguish between the module
removal case and the card removal case. This flag will be checked in
if_sdio_remove() against SD8688 card to determine whether or not the
function shutdown command needs to be sent.

3. remove "card" from if_sdio_model structure as it cannot store
card pointers for multiple cards. Besides, it's no longer needed
to store the "card" pointer with changes #1 & #2 above.

Signed-off-by: Bing Zhao <bzhao@marvell.com>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/libertas/dev.h
drivers/net/wireless/libertas/if_sdio.c
drivers/net/wireless/libertas/main.c