You can try creating two event notification functions. One is to notify gEfiCcidProtocolGuid to run the logic with device plug-in, another is notify ReadyToBoot event to run the logic without device plug-in.
Thanks Liming From: Iru Cai [mailto:[email protected]] Sent: Friday, May 20, 2016 3:37 PM To: Gao, Liming <[email protected]> Cc: [email protected] Subject: Re: [edk2] Driver dependency on boot It's a good idea, but I still have some problems. My ccidboot driver has different behaviors depending on whether a CCID card is plugged in, so I think I also need a timer event to check if gEfiCcidProtocolGuid is installed to a handle in time. However, I need the code executed before the boot manager starts. In my case in OVMF, if I set a time too long in the timer event, its notification function will run after the EFI shell starts, and this is not what I want. So now I need this in my ccidboot: when a CCID card is plugged in, it can wait for gEfiCcidProtocolGuid installed to a handle, and if no card is plugged in before BDS phase, it'll run other code. Thanks Iru On Thu, May 19, 2016 at 3:22 PM, Gao, Liming <[email protected]<mailto:[email protected]>> wrote: You can create ProtocolNotification function for gEfiCcidProtocolGuid in ccidboot driver. If so, you don't need add it into [Depex]. UefiLib EfiCreateProtocolNotifyEvent() API can help to create it. Thanks Liming > -----Original Message----- > From: edk2-devel > [mailto:[email protected]<mailto:[email protected]>] > On Behalf Of Iru > Cai > Sent: Thursday, May 19, 2016 2:35 PM > To: [email protected]<mailto:[email protected]> > Subject: [edk2] Driver dependency on boot > > Hi, > > I'm having some dependency problem when developing on edk2. I've > written a > CCID device driver which provides a protocol EFI_CCID_PROTOCOL with GUID > gEfiCcidProtocolGuid. And I have another application called ccidboot to be > run on boot that uses gEfiCcidProtocolGuid, I set the module type as > DXE_DRIVER. > > If I add gEfiCcidProtocolGuid to the [Depex] of ccidboot, it works good > when I have my CCID card plugged, but it'll not run if the card is > unplugged. If I don't add this dependency, the ccidboot module will run > before the driver starts the card. I don't know what I should do to solve > this problem. > > Thanks, > Iru > _______________________________________________ > edk2-devel mailing list > [email protected]<mailto:[email protected]> > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

