Leif:
  I suggest return EFI_UNSUPPORTED for this case. The protocol implementation 
could return its status besides spec defined status.

Thanks
Liming
> -----Original Message-----
> From: Leif Lindholm [mailto:leif.lindh...@linaro.org]
> Sent: Monday, December 4, 2017 10:36 PM
> To: Kinney, Michael D <michael.d.kin...@intel.com>; Gao, Liming 
> <liming....@intel.com>
> Cc: Meenakshi Aggarwal <meenakshi.aggar...@nxp.com>; 
> ard.biesheu...@linaro.org; edk2-devel@lists.01.org;
> udit.ku...@nxp.com; v.se...@nxp.com
> Subject: Re: [PATCH edk2-platforms] [PATCH v3 2/9] Platform/NXP : Add support 
> for Watchdog driver
> 
> Mike, Liming, as MdePkg mainteiners - one question below:
> 
> On Mon, Nov 27, 2017 at 04:21:50PM +0530, Meenakshi Aggarwal wrote:
> > diff --git a/Platform/NXP/Drivers/WatchDog/WatchDog.c 
> > b/Platform/NXP/Drivers/WatchDog/WatchDog.c
> > new file mode 100644
> > index 0000000..a9c70ef
> > --- /dev/null
> > +++ b/Platform/NXP/Drivers/WatchDog/WatchDog.c
> > @@ -0,0 +1,421 @@
> 
> ...
> 
> > +/**
> > +  This function registers the handler NotifyFunction so it is called every 
> > time
> > +  the watchdog timer expires.  It also passes the amount of time since the 
> > last
> > +  handler call to the NotifyFunction.
> > +  If NotifyFunction is not NULL and a handler is not already registered,
> > +  then the new handler is registered and EFI_SUCCESS is returned.
> > +  If NotifyFunction is NULL, and a handler is already registered,
> > +  then that handler is unregistered.
> > +  If an attempt is made to register a handler when a handler is already 
> > registered,
> > +  then EFI_ALREADY_STARTED is returned.
> > +  If an attempt is made to unregister a handler when a handler is not 
> > registered,
> > +  then EFI_INVALID_PARAMETER is returned.
> > +
> > +  @param  This             The EFI_TIMER_ARCH_PROTOCOL instance.
> > +  @param  NotifyFunction   The function to call when a timer interrupt 
> > fires. This
> > +                           function executes at TPL_HIGH_LEVEL. The DXE 
> > Core will
> > +                           register a handler for the timer interrupt, so 
> > it can know
> > +                           how much time has passed. This information is 
> > used to
> > +                           signal timer based events. NULL will unregister 
> > the handler.
> > +
> > +  @retval EFI_SUCCESS           The watchdog timer handler was registered.
> > +  @retval EFI_ALREADY_STARTED   NotifyFunction is not NULL, and a handler 
> > is already
> > +                                registered.
> > +  @retval EFI_INVALID_PARAMETER NotifyFunction is NULL, and a handler was 
> > not
> > +                                previously registered.
> > +
> > +**/
> > +STATIC
> > +EFI_STATUS
> > +EFIAPI
> > +WdogRegisterHandler (
> > +  IN EFI_WATCHDOG_TIMER_ARCH_PROTOCOL   *This,
> > +  IN EFI_WATCHDOG_TIMER_NOTIFY          NotifyFunction
> > +  )
> > +{
> > +  // ERROR: This function is not supported.
> > +  // The hardware watchdog will reset the board
> > +  return EFI_INVALID_PARAMETER;
> 
> Michael, Liming - what's your take on this?
> 
> Is EFI_WATCHDOG_TIMER_ARCH_PROTOCOL suitable for use with a pure-hw
> watchdog such as this?
> 
> If so, what would be a suitable return code here?
> EFI_INVALID_PARAMETER does not look ideal.
> 
> /
>     Leif
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to