Re: [RFC] Add DEV_NOT_IMPLEMENTED error code


Kalowsky, Daniel <daniel.kalowsky@...>
 

-----Original Message-----
From: Andre Guedes [mailto:andre.guedes(a)intel.com]
Sent: Friday, February 12, 2016 5:52 AM
To: devel(a)lists.zephyrproject.org
Subject: [devel] [RFC] Add DEV_NOT_IMPLEMENTED error code

Hi all,

It seems we don't have a consensus about what error code the device driver
should return in case a given driver API is not implemented. If we take a look
at suspend() and resume() functions, which are not implemented by some
device drivers, we can find three different return codes:
- DEV_OK: used in i2c_dw.c, i2c_atmel_sam3.c and gpio_sch.c
- DEV_INVALID_OP: used in pwm_dw.c, gpio_mmio.c and
gpio_atmel_sam3.c
- DEV_NO_SUPPORT: used in i2c_qmsi.c and spi_qmsi.c
Early on when we started the driver development, the suspend/resume functions were developed with the DEV_OK because as far as any OSPM policy is concerned, there should be no reason these devices would stop it. This was an not so nice way into fooling that it has happened.



For these situations, a new error code (DEV_NOT_IMPLEMENTED) seems to
be applicable. If a new error code is not desired, we should agree on one and
use it in all device drivers.
DEV_NO_SUPPORT seems to cover the concept. Not sure we need a DEV_NOT_IMPLEMENTED. Or as Peter points out ENOSYS works as well.



Regards,

Andre

Join {devel@lists.zephyrproject.org to automatically receive all group messages.