/* Unregisters an asynchronous callback function with the driver. 
Unregisters an asynchronous callback with the EXTINT driver, removing it from the internal callback registration table. */
enum status_code extint_unregister_callback(const extint_callback_t callback, const uint8_t channel, const enum extint_callback_type type)
/* Unregisters an asynchronous callback function with the driver. 
Unregisters an asynchronous callback with the EXTINT driver, removing it from the internal callback registration table. */
enum status_code extint_unregister_callback(const extint_callback_t callback, const uint8_t channel, const enum extint_callback_type type)
{
	Assert(callback);
	if (type != EXTINT_CALLBACK_TYPE_DETECT) {
		Assert(false);
		return STATUS_ERR_INVALID_ARG;
	}
	if (_extint_dev.callbacks[channel] == callback) {
		_extint_dev.callbacks[channel] = NULL;
		return STATUS_OK;
	}
	return STATUS_ERR_BAD_ADDRESS;
}