2 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
3 $Id: cardforcechange.c $
5 Desc: CardForceChange() function.
9 #include <proto/exec.h>
11 #include "card_intern.h"
13 AROS_LH0(ULONG
, CardForceChange
,
14 struct CardResource
*, CardResource
, 15, Cardres
)
18 struct CardHandle
*cah
= CardResource
->ownedcard
;
20 CARDDEBUG(bug("CardForceChange()\n"));
22 if (CardResource
->resetberr
& GAYLE_IRQ_RESET
)
25 pcmcia_reset(CardResource
);
26 CardResource
->removed
= TRUE
;
27 pcmcia_removeowner(CardResource
);
29 if (pcmcia_havecard()) {
30 /* Simulate re-insertion of current card */
31 CardResource
->disabled
= TRUE
;
33 Enqueue(&CardResource
->handles
, &cah
->cah_CardNode
);
34 pcmcia_cardreset(CardResource
);
35 pcmcia_enable_interrupts();
36 Signal(CardResource
->task
, CardResource
->signalmask
);
38 pcmcia_enable_interrupts();