Index: uspace/drv/char/i8042/i8042.c
===================================================================
--- uspace/drv/char/i8042/i8042.c	(revision cde999aca79219e8751af76502001a86d411d176)
+++ uspace/drv/char/i8042/i8042.c	(revision a0a9cc249adce31c755defdb6b74a991ebbf55ea)
@@ -68,6 +68,6 @@
 
 static void i8042_char_conn(ipc_callid_t, ipc_call_t *, void *);
-static int i8042_read(chardev_srv_t *, void *, size_t, size_t *);
-static int i8042_write(chardev_srv_t *, const void *, size_t, size_t *);
+static errno_t i8042_read(chardev_srv_t *, void *, size_t, size_t *);
+static errno_t i8042_write(chardev_srv_t *, const void *, size_t, size_t *);
 
 static chardev_ops_t i8042_chardev_ops = {
@@ -129,5 +129,5 @@
 {
 	i8042_t *controller = ddf_dev_data_get(dev);
-	int rc;
+	errno_t rc;
 	
 	const uint8_t status = IPC_GET_ARG1(*call);
@@ -158,5 +158,5 @@
  *
  */
-int i8042_init(i8042_t *dev, addr_range_t *regs, int irq_kbd,
+errno_t i8042_init(i8042_t *dev, addr_range_t *regs, int irq_kbd,
     int irq_mouse, ddf_dev_t *ddf_dev)
 {
@@ -170,5 +170,5 @@
 	i8042_regs_t *ar;
 	
-	int rc;
+	errno_t rc;
 	bool kbd_bound = false;
 	bool aux_bound = false;
@@ -350,5 +350,5 @@
  *
  */
-static int i8042_write(chardev_srv_t *srv, const void *data, size_t size,
+static errno_t i8042_write(chardev_srv_t *srv, const void *data, size_t size,
     size_t *nwr)
 {
@@ -385,5 +385,5 @@
  *
  */
-static int i8042_read(chardev_srv_t *srv, void *dest, size_t size,
+static errno_t i8042_read(chardev_srv_t *srv, void *dest, size_t size,
     size_t *nread)
 {
@@ -391,5 +391,5 @@
 	size_t p;
 	uint8_t *destp = (uint8_t *)dest;
-	int rc;
+	errno_t rc;
 	
 	fibril_mutex_lock(&port->buf_lock);
Index: uspace/drv/char/i8042/i8042.h
===================================================================
--- uspace/drv/char/i8042/i8042.h	(revision cde999aca79219e8751af76502001a86d411d176)
+++ uspace/drv/char/i8042/i8042.h	(revision a0a9cc249adce31c755defdb6b74a991ebbf55ea)
@@ -88,5 +88,5 @@
 } i8042_t;
 
-extern int i8042_init(i8042_t *, addr_range_t *, int, int, ddf_dev_t *);
+extern errno_t i8042_init(i8042_t *, addr_range_t *, int, int, ddf_dev_t *);
 
 #endif
Index: uspace/drv/char/i8042/main.c
===================================================================
--- uspace/drv/char/i8042/main.c	(revision cde999aca79219e8751af76502001a86d411d176)
+++ uspace/drv/char/i8042/main.c	(revision a0a9cc249adce31c755defdb6b74a991ebbf55ea)
@@ -55,5 +55,5 @@
  *
  */
-static int get_my_registers(ddf_dev_t *dev, addr_range_t *p_io_reg,
+static errno_t get_my_registers(ddf_dev_t *dev, addr_range_t *p_io_reg,
     int *kbd_irq, int *mouse_irq)
 {
@@ -66,5 +66,5 @@
 	hw_res_list_parsed_t hw_resources;
 	hw_res_list_parsed_init(&hw_resources);
-	const int ret = hw_res_get_list_parsed(parent_sess, &hw_resources, 0);
+	const errno_t ret = hw_res_get_list_parsed(parent_sess, &hw_resources, 0);
 	if (ret != EOK)
 		return ret;
@@ -96,10 +96,10 @@
  *
  */
-static int i8042_dev_add(ddf_dev_t *device)
+static errno_t i8042_dev_add(ddf_dev_t *device)
 {
 	addr_range_t io_regs;
 	int kbd = 0;
 	int mouse = 0;
-	int rc;
+	errno_t rc;
 	
 	if (!device)
Index: uspace/drv/char/msim-con/main.c
===================================================================
--- uspace/drv/char/msim-con/main.c	(revision cde999aca79219e8751af76502001a86d411d176)
+++ uspace/drv/char/msim-con/main.c	(revision a0a9cc249adce31c755defdb6b74a991ebbf55ea)
@@ -43,9 +43,9 @@
 #define NAME  "msim-con"
 
-static int msim_con_dev_add(ddf_dev_t *dev);
-static int msim_con_dev_remove(ddf_dev_t *dev);
-static int msim_con_dev_gone(ddf_dev_t *dev);
-static int msim_con_fun_online(ddf_fun_t *fun);
-static int msim_con_fun_offline(ddf_fun_t *fun);
+static errno_t msim_con_dev_add(ddf_dev_t *dev);
+static errno_t msim_con_dev_remove(ddf_dev_t *dev);
+static errno_t msim_con_dev_gone(ddf_dev_t *dev);
+static errno_t msim_con_fun_online(ddf_fun_t *fun);
+static errno_t msim_con_fun_offline(ddf_fun_t *fun);
 
 static driver_ops_t driver_ops = {
@@ -62,9 +62,9 @@
 };
 
-static int msim_con_get_res(ddf_dev_t *dev, msim_con_res_t *res)
+static errno_t msim_con_get_res(ddf_dev_t *dev, msim_con_res_t *res)
 {
 	async_sess_t *parent_sess;
 	hw_res_list_parsed_t hw_res;
-	int rc;
+	errno_t rc;
 
 	parent_sess = ddf_dev_parent_sess_get(dev);
@@ -97,9 +97,9 @@
 }
 
-static int msim_con_dev_add(ddf_dev_t *dev)
+static errno_t msim_con_dev_add(ddf_dev_t *dev)
 {
 	msim_con_t *msim_con;
 	msim_con_res_t res;
-	int rc;
+	errno_t rc;
 
         ddf_msg(LVL_DEBUG, "msim_con_dev_add(%p)", dev);
@@ -122,5 +122,5 @@
 }
 
-static int msim_con_dev_remove(ddf_dev_t *dev)
+static errno_t msim_con_dev_remove(ddf_dev_t *dev)
 {
         msim_con_t *msim_con = (msim_con_t *)ddf_dev_data_get(dev);
@@ -131,5 +131,5 @@
 }
 
-static int msim_con_dev_gone(ddf_dev_t *dev)
+static errno_t msim_con_dev_gone(ddf_dev_t *dev)
 {
         msim_con_t *msim_con = (msim_con_t *)ddf_dev_data_get(dev);
@@ -140,5 +140,5 @@
 }
 
-static int msim_con_fun_online(ddf_fun_t *fun)
+static errno_t msim_con_fun_online(ddf_fun_t *fun)
 {
         ddf_msg(LVL_DEBUG, "msim_con_fun_online()");
@@ -146,5 +146,5 @@
 }
 
-static int msim_con_fun_offline(ddf_fun_t *fun)
+static errno_t msim_con_fun_offline(ddf_fun_t *fun)
 {
         ddf_msg(LVL_DEBUG, "msim_con_fun_offline()");
Index: uspace/drv/char/msim-con/msim-con.c
===================================================================
--- uspace/drv/char/msim-con/msim-con.c	(revision cde999aca79219e8751af76502001a86d411d176)
+++ uspace/drv/char/msim-con/msim-con.c	(revision a0a9cc249adce31c755defdb6b74a991ebbf55ea)
@@ -43,6 +43,6 @@
 static void msim_con_connection(ipc_callid_t, ipc_call_t *, void *);
 
-static int msim_con_read(chardev_srv_t *, void *, size_t, size_t *);
-static int msim_con_write(chardev_srv_t *, const void *, size_t, size_t *);
+static errno_t msim_con_read(chardev_srv_t *, void *, size_t, size_t *);
+static errno_t msim_con_write(chardev_srv_t *, const void *, size_t, size_t *);
 
 static chardev_ops_t msim_con_chardev_ops = {
@@ -66,5 +66,5 @@
 	msim_con_t *con = (msim_con_t *) arg;
 	uint8_t c;
-	int rc;
+	errno_t rc;
 
 	fibril_mutex_lock(&con->buf_lock);
@@ -80,10 +80,10 @@
 
 /** Add msim console device. */
-int msim_con_add(msim_con_t *con, msim_con_res_t *res)
+errno_t msim_con_add(msim_con_t *con, msim_con_res_t *res)
 {
 	ddf_fun_t *fun = NULL;
 	bool subscribed = false;
 	irq_cmd_t *msim_cmds = NULL;
-	int rc;
+	errno_t rc;
 
 	circ_buf_init(&con->cbuf, con->buf, msim_con_buf_size, 1);
@@ -152,5 +152,5 @@
 
 /** Remove msim console device */
-int msim_con_remove(msim_con_t *con)
+errno_t msim_con_remove(msim_con_t *con)
 {
 	return ENOTSUP;
@@ -158,5 +158,5 @@
 
 /** Msim console device gone */
-int msim_con_gone(msim_con_t *con)
+errno_t msim_con_gone(msim_con_t *con)
 {
 	return ENOTSUP;
@@ -169,5 +169,5 @@
 
 /** Read from msim console device */
-static int msim_con_read(chardev_srv_t *srv, void *buf, size_t size,
+static errno_t msim_con_read(chardev_srv_t *srv, void *buf, size_t size,
     size_t *nread)
 {
@@ -175,5 +175,5 @@
 	size_t p;
 	uint8_t *bp = (uint8_t *) buf;
-	int rc;
+	errno_t rc;
 
 	fibril_mutex_lock(&con->buf_lock);
@@ -197,5 +197,5 @@
 
 /** Write to msim console device */
-static int msim_con_write(chardev_srv_t *srv, const void *data, size_t size,
+static errno_t msim_con_write(chardev_srv_t *srv, const void *data, size_t size,
     size_t *nwr)
 {
Index: uspace/drv/char/msim-con/msim-con.h
===================================================================
--- uspace/drv/char/msim-con/msim-con.h	(revision cde999aca79219e8751af76502001a86d411d176)
+++ uspace/drv/char/msim-con/msim-con.h	(revision a0a9cc249adce31c755defdb6b74a991ebbf55ea)
@@ -70,7 +70,7 @@
 } msim_con_t;
 
-extern int msim_con_add(msim_con_t *, msim_con_res_t *);
-extern int msim_con_remove(msim_con_t *);
-extern int msim_con_gone(msim_con_t *);
+extern errno_t msim_con_add(msim_con_t *, msim_con_res_t *);
+extern errno_t msim_con_remove(msim_con_t *);
+extern errno_t msim_con_gone(msim_con_t *);
 
 #endif
Index: uspace/drv/char/ns8250/ns8250.c
===================================================================
--- uspace/drv/char/ns8250/ns8250.c	(revision cde999aca79219e8751af76502001a86d411d176)
+++ uspace/drv/char/ns8250/ns8250.c	(revision a0a9cc249adce31c755defdb6b74a991ebbf55ea)
@@ -251,5 +251,5 @@
  * @return		EOK on success or non-zero error code
  */
-static int ns8250_read(chardev_srv_t *srv, void *buf, size_t count, size_t *nread)
+static errno_t ns8250_read(chardev_srv_t *srv, void *buf, size_t count, size_t *nread)
 {
 	ns8250_t *ns = srv_ns8250(srv);
@@ -295,5 +295,5 @@
  * @return		EOK on success or non-zero error code
  */
-static int ns8250_write(chardev_srv_t *srv, const void *buf, size_t count,
+static errno_t ns8250_write(chardev_srv_t *srv, const void *buf, size_t count,
     size_t *nwritten)
 {
@@ -309,6 +309,6 @@
 }
 
-static int ns8250_open(chardev_srvs_t *, chardev_srv_t *);
-static int ns8250_close(chardev_srv_t *);
+static errno_t ns8250_open(chardev_srvs_t *, chardev_srv_t *);
+static errno_t ns8250_close(chardev_srv_t *);
 static void ns8250_default_handler(chardev_srv_t *, ipc_callid_t, ipc_call_t *);
 
@@ -324,6 +324,6 @@
 static void ns8250_char_conn(ipc_callid_t, ipc_call_t *, void *);
 
-static int ns8250_dev_add(ddf_dev_t *dev);
-static int ns8250_dev_remove(ddf_dev_t *dev);
+static errno_t ns8250_dev_add(ddf_dev_t *dev);
+static errno_t ns8250_dev_remove(ddf_dev_t *dev);
 
 /** The serial port device driver's standard operations. */
@@ -407,7 +407,7 @@
  * @return		Zero on success, error number otherwise
  */
-static int ns8250_dev_initialize(ns8250_t *ns)
-{
-	int ret = EOK;
+static errno_t ns8250_dev_initialize(ns8250_t *ns)
+{
+	errno_t ret = EOK;
 	
 	ddf_msg(LVL_DEBUG, "ns8250_dev_initialize %s", ddf_dev_get_name(ns->dev));
@@ -501,8 +501,8 @@
  * @return		Zero on success, error number otherwise
  */
-static int ns8250_interrupt_enable(ns8250_t *ns)
+static errno_t ns8250_interrupt_enable(ns8250_t *ns)
 {
 	/* Enable interrupt using IRC service. */
-	int rc = hw_res_enable_interrupt(ns->parent_sess, ns->irq);
+	errno_t rc = hw_res_enable_interrupt(ns->parent_sess, ns->irq);
 	if (rc != EOK)
 		return EIO;
@@ -547,5 +547,5 @@
  *			if the specified baud_rate is not valid).
  */
-static int ns8250_port_set_baud_rate(ns8250_regs_t *regs, unsigned int baud_rate)
+static errno_t ns8250_port_set_baud_rate(ns8250_regs_t *regs, unsigned int baud_rate)
 {
 	uint16_t divisor;
@@ -646,5 +646,5 @@
  *			is invalid.
  */
-static int ns8250_port_set_com_props(ns8250_regs_t *regs, unsigned int parity,
+static errno_t ns8250_port_set_com_props(ns8250_regs_t *regs, unsigned int parity,
     unsigned int word_length, unsigned int stop_bits)
 {
@@ -803,5 +803,5 @@
  * @param ns		Serial port device
  */
-static inline int ns8250_register_interrupt_handler(ns8250_t *ns,
+static inline errno_t ns8250_register_interrupt_handler(ns8250_t *ns,
     cap_handle_t *handle)
 {
@@ -814,5 +814,5 @@
  * @param ns		Serial port device
  */
-static inline int ns8250_unregister_interrupt_handler(ns8250_t *ns)
+static inline errno_t ns8250_unregister_interrupt_handler(ns8250_t *ns)
 {
 	return unregister_interrupt_handler(ns->dev, ns->irq_cap);
@@ -825,5 +825,5 @@
  * @param dev		The serial port device.
  */
-static int ns8250_dev_add(ddf_dev_t *dev)
+static errno_t ns8250_dev_add(ddf_dev_t *dev)
 {
 	ns8250_t *ns = NULL;
@@ -831,5 +831,5 @@
 	bool need_cleanup = false;
 	bool need_unreg_intr_handler = false;
-	int rc;
+	errno_t rc;
 	
 	ddf_msg(LVL_DEBUG, "ns8250_dev_add %s (handle = %d)",
@@ -928,8 +928,8 @@
 }
 
-static int ns8250_dev_remove(ddf_dev_t *dev)
+static errno_t ns8250_dev_remove(ddf_dev_t *dev)
 {
 	ns8250_t *ns = dev_ns8250(dev);
-	int rc;
+	errno_t rc;
 	
 	fibril_mutex_lock(&ns->mutex);
@@ -963,8 +963,8 @@
  * @param srv		Server-side connection structure
  */
-static int ns8250_open(chardev_srvs_t *srvs, chardev_srv_t *srv)
+static errno_t ns8250_open(chardev_srvs_t *srvs, chardev_srv_t *srv)
 {
 	ns8250_t *ns = srv_ns8250(srv);
-	int res;
+	errno_t res;
 	
 	fibril_mutex_lock(&ns->mutex);
@@ -987,5 +987,5 @@
  * @param srv		Server-side connection structure
  */
-static int ns8250_close(chardev_srv_t *srv)
+static errno_t ns8250_close(chardev_srv_t *srv)
 {
 	ns8250_t *data = srv_ns8250(srv);
@@ -1040,5 +1040,5 @@
  * @param stop_bits	The number of stop bits to be used.
  */
-static int ns8250_set_props(ddf_dev_t *dev, unsigned int baud_rate,
+static errno_t ns8250_set_props(ddf_dev_t *dev, unsigned int baud_rate,
     unsigned int parity, unsigned int word_length, unsigned int stop_bits)
 {
@@ -1049,5 +1049,5 @@
 	ns8250_t *data = dev_ns8250(dev);
 	ns8250_regs_t *regs = data->regs;
-	int ret;
+	errno_t ret;
 	
 	fibril_mutex_lock(&data->mutex);
@@ -1072,5 +1072,5 @@
 	ns8250_t *ns8250 = srv_ns8250(srv);
 	sysarg_t method = IPC_GET_IMETHOD(*call);
-	int ret;
+	errno_t ret;
 	unsigned int baud_rate, parity, word_length, stop_bits;
 	
Index: uspace/drv/char/pl050/pl050.c
===================================================================
--- uspace/drv/char/pl050/pl050.c	(revision cde999aca79219e8751af76502001a86d411d176)
+++ uspace/drv/char/pl050/pl050.c	(revision a0a9cc249adce31c755defdb6b74a991ebbf55ea)
@@ -51,10 +51,10 @@
 };
 
-static int pl050_dev_add(ddf_dev_t *);
-static int pl050_fun_online(ddf_fun_t *);
-static int pl050_fun_offline(ddf_fun_t *);
+static errno_t pl050_dev_add(ddf_dev_t *);
+static errno_t pl050_fun_online(ddf_fun_t *);
+static errno_t pl050_fun_offline(ddf_fun_t *);
 static void pl050_char_conn(ipc_callid_t, ipc_call_t *, void *);
-static int pl050_read(chardev_srv_t *, void *, size_t, size_t *);
-static int pl050_write(chardev_srv_t *, const void *, size_t, size_t *);
+static errno_t pl050_read(chardev_srv_t *, void *, size_t, size_t *);
+static errno_t pl050_write(chardev_srv_t *, const void *, size_t, size_t *);
 
 static driver_ops_t driver_ops = {
@@ -158,9 +158,9 @@
 }
 
-static int pl050_init(pl050_t *pl050)
+static errno_t pl050_init(pl050_t *pl050)
 {
 	hw_res_list_parsed_t res;
 	void *regs;
-	int rc;
+	errno_t rc;
 
 	fibril_mutex_initialize(&pl050->buf_lock);
@@ -237,5 +237,5 @@
 }
 
-static int pl050_read(chardev_srv_t *srv, void *buffer, size_t size,
+static errno_t pl050_read(chardev_srv_t *srv, void *buffer, size_t size,
     size_t *nread)
 {
@@ -263,5 +263,5 @@
 }
 
-static int pl050_write(chardev_srv_t *srv, const void *data, size_t size,
+static errno_t pl050_write(chardev_srv_t *srv, const void *data, size_t size,
     size_t *nwritten)
 {
@@ -294,10 +294,10 @@
 
 /** Add device. */
-static int pl050_dev_add(ddf_dev_t *dev)
+static errno_t pl050_dev_add(ddf_dev_t *dev)
 {
 	ddf_fun_t *fun_a;
 	pl050_t *pl050 = NULL;
 	const char *mname;
-	int rc;
+	errno_t rc;
 
 	ddf_msg(LVL_DEBUG, "pl050_dev_add()");
@@ -363,5 +363,5 @@
 }
 
-static int pl050_fun_online(ddf_fun_t *fun)
+static errno_t pl050_fun_online(ddf_fun_t *fun)
 {
 	ddf_msg(LVL_DEBUG, "pl050_fun_online()");
@@ -369,5 +369,5 @@
 }
 
-static int pl050_fun_offline(ddf_fun_t *fun)
+static errno_t pl050_fun_offline(ddf_fun_t *fun)
 {
 	ddf_msg(LVL_DEBUG, "pl050_fun_offline()");
@@ -377,5 +377,5 @@
 int main(int argc, char *argv[])
 {
-	int rc;
+	errno_t rc;
 
 	printf(NAME ": HelenOS pl050 serial device driver\n");
Index: uspace/drv/char/ski-con/main.c
===================================================================
--- uspace/drv/char/ski-con/main.c	(revision cde999aca79219e8751af76502001a86d411d176)
+++ uspace/drv/char/ski-con/main.c	(revision a0a9cc249adce31c755defdb6b74a991ebbf55ea)
@@ -42,9 +42,9 @@
 #define NAME  "ski-con"
 
-static int ski_con_dev_add(ddf_dev_t *dev);
-static int ski_con_dev_remove(ddf_dev_t *dev);
-static int ski_con_dev_gone(ddf_dev_t *dev);
-static int ski_con_fun_online(ddf_fun_t *fun);
-static int ski_con_fun_offline(ddf_fun_t *fun);
+static errno_t ski_con_dev_add(ddf_dev_t *dev);
+static errno_t ski_con_dev_remove(ddf_dev_t *dev);
+static errno_t ski_con_dev_gone(ddf_dev_t *dev);
+static errno_t ski_con_fun_online(ddf_fun_t *fun);
+static errno_t ski_con_fun_offline(ddf_fun_t *fun);
 
 static driver_ops_t driver_ops = {
@@ -61,5 +61,5 @@
 };
 
-static int ski_con_dev_add(ddf_dev_t *dev)
+static errno_t ski_con_dev_add(ddf_dev_t *dev)
 {
 	ski_con_t *ski_con;
@@ -77,5 +77,5 @@
 }
 
-static int ski_con_dev_remove(ddf_dev_t *dev)
+static errno_t ski_con_dev_remove(ddf_dev_t *dev)
 {
         ski_con_t *ski_con = (ski_con_t *)ddf_dev_data_get(dev);
@@ -86,5 +86,5 @@
 }
 
-static int ski_con_dev_gone(ddf_dev_t *dev)
+static errno_t ski_con_dev_gone(ddf_dev_t *dev)
 {
         ski_con_t *ski_con = (ski_con_t *)ddf_dev_data_get(dev);
@@ -95,5 +95,5 @@
 }
 
-static int ski_con_fun_online(ddf_fun_t *fun)
+static errno_t ski_con_fun_online(ddf_fun_t *fun)
 {
         ddf_msg(LVL_DEBUG, "ski_con_fun_online()");
@@ -101,5 +101,5 @@
 }
 
-static int ski_con_fun_offline(ddf_fun_t *fun)
+static errno_t ski_con_fun_offline(ddf_fun_t *fun)
 {
         ddf_msg(LVL_DEBUG, "ski_con_fun_offline()");
Index: uspace/drv/char/ski-con/ski-con.c
===================================================================
--- uspace/drv/char/ski-con/ski-con.c	(revision cde999aca79219e8751af76502001a86d411d176)
+++ uspace/drv/char/ski-con/ski-con.c	(revision a0a9cc249adce31c755defdb6b74a991ebbf55ea)
@@ -48,10 +48,10 @@
 #define POLL_INTERVAL		10000
 
-static int ski_con_fibril(void *arg);
+static errno_t ski_con_fibril(void *arg);
 static int32_t ski_con_getchar(void);
 static void ski_con_connection(ipc_callid_t, ipc_call_t *, void *);
 
-static int ski_con_read(chardev_srv_t *, void *, size_t, size_t *);
-static int ski_con_write(chardev_srv_t *, const void *, size_t, size_t *);
+static errno_t ski_con_read(chardev_srv_t *, void *, size_t, size_t *);
+static errno_t ski_con_write(chardev_srv_t *, const void *, size_t, size_t *);
 
 static chardev_ops_t ski_con_chardev_ops = {
@@ -63,10 +63,10 @@
 
 /** Add ski console device. */
-int ski_con_add(ski_con_t *con)
+errno_t ski_con_add(ski_con_t *con)
 {
 	fid_t fid;
 	ddf_fun_t *fun = NULL;
 	bool bound = false;
-	int rc;
+	errno_t rc;
 
 	circ_buf_init(&con->cbuf, con->buf, ski_con_buf_size, 1);
@@ -116,5 +116,5 @@
 
 /** Remove ski console device */
-int ski_con_remove(ski_con_t *con)
+errno_t ski_con_remove(ski_con_t *con)
 {
 	return ENOTSUP;
@@ -122,5 +122,5 @@
 
 /** Ski console device gone */
-int ski_con_gone(ski_con_t *con)
+errno_t ski_con_gone(ski_con_t *con)
 {
 	return ENOTSUP;
@@ -128,9 +128,9 @@
 
 /** Poll Ski for keypresses. */
-static int ski_con_fibril(void *arg)
+static errno_t ski_con_fibril(void *arg)
 {
 	int32_t c;
 	ski_con_t *con = (ski_con_t *) arg;
-	int rc;
+	errno_t rc;
 
 	while (1) {
@@ -212,5 +212,5 @@
 
 /** Read from Ski console device */
-static int ski_con_read(chardev_srv_t *srv, void *buf, size_t size,
+static errno_t ski_con_read(chardev_srv_t *srv, void *buf, size_t size,
     size_t *nread)
 {
@@ -218,5 +218,5 @@
 	size_t p;
 	uint8_t *bp = (uint8_t *) buf;
-	int rc;
+	errno_t rc;
 
 	fibril_mutex_lock(&con->buf_lock);
@@ -240,5 +240,5 @@
 
 /** Write to Ski console device */
-static int ski_con_write(chardev_srv_t *srv, const void *data, size_t size,
+static errno_t ski_con_write(chardev_srv_t *srv, const void *data, size_t size,
     size_t *nwr)
 {
Index: uspace/drv/char/ski-con/ski-con.h
===================================================================
--- uspace/drv/char/ski-con/ski-con.h	(revision cde999aca79219e8751af76502001a86d411d176)
+++ uspace/drv/char/ski-con/ski-con.h	(revision a0a9cc249adce31c755defdb6b74a991ebbf55ea)
@@ -58,7 +58,7 @@
 } ski_con_t;
 
-extern int ski_con_add(ski_con_t *);
-extern int ski_con_remove(ski_con_t *);
-extern int ski_con_gone(ski_con_t *);
+extern errno_t ski_con_add(ski_con_t *);
+extern errno_t ski_con_remove(ski_con_t *);
+extern errno_t ski_con_gone(ski_con_t *);
 
 #endif
Index: uspace/drv/char/sun4v-con/main.c
===================================================================
--- uspace/drv/char/sun4v-con/main.c	(revision cde999aca79219e8751af76502001a86d411d176)
+++ uspace/drv/char/sun4v-con/main.c	(revision a0a9cc249adce31c755defdb6b74a991ebbf55ea)
@@ -40,9 +40,9 @@
 #define NAME  "sun4v-con"
 
-static int sun4v_con_dev_add(ddf_dev_t *dev);
-static int sun4v_con_dev_remove(ddf_dev_t *dev);
-static int sun4v_con_dev_gone(ddf_dev_t *dev);
-static int sun4v_con_fun_online(ddf_fun_t *fun);
-static int sun4v_con_fun_offline(ddf_fun_t *fun);
+static errno_t sun4v_con_dev_add(ddf_dev_t *dev);
+static errno_t sun4v_con_dev_remove(ddf_dev_t *dev);
+static errno_t sun4v_con_dev_gone(ddf_dev_t *dev);
+static errno_t sun4v_con_fun_online(ddf_fun_t *fun);
+static errno_t sun4v_con_fun_offline(ddf_fun_t *fun);
 
 static driver_ops_t driver_ops = {
@@ -59,9 +59,9 @@
 };
 
-static int sun4v_con_get_res(ddf_dev_t *dev, sun4v_con_res_t *res)
+static errno_t sun4v_con_get_res(ddf_dev_t *dev, sun4v_con_res_t *res)
 {
 	async_sess_t *parent_sess;
 	hw_res_list_parsed_t hw_res;
-	int rc;
+	errno_t rc;
 
 	parent_sess = ddf_dev_parent_sess_get(dev);
@@ -88,9 +88,9 @@
 
 
-static int sun4v_con_dev_add(ddf_dev_t *dev)
+static errno_t sun4v_con_dev_add(ddf_dev_t *dev)
 {
 	sun4v_con_t *sun4v_con;
 	sun4v_con_res_t res;
-	int rc;
+	errno_t rc;
 
         ddf_msg(LVL_DEBUG, "sun4v_con_dev_add(%p)", dev);
@@ -112,5 +112,5 @@
 }
 
-static int sun4v_con_dev_remove(ddf_dev_t *dev)
+static errno_t sun4v_con_dev_remove(ddf_dev_t *dev)
 {
         sun4v_con_t *sun4v_con = (sun4v_con_t *)ddf_dev_data_get(dev);
@@ -121,5 +121,5 @@
 }
 
-static int sun4v_con_dev_gone(ddf_dev_t *dev)
+static errno_t sun4v_con_dev_gone(ddf_dev_t *dev)
 {
         sun4v_con_t *sun4v_con = (sun4v_con_t *)ddf_dev_data_get(dev);
@@ -130,5 +130,5 @@
 }
 
-static int sun4v_con_fun_online(ddf_fun_t *fun)
+static errno_t sun4v_con_fun_online(ddf_fun_t *fun)
 {
         ddf_msg(LVL_DEBUG, "sun4v_con_fun_online()");
@@ -136,5 +136,5 @@
 }
 
-static int sun4v_con_fun_offline(ddf_fun_t *fun)
+static errno_t sun4v_con_fun_offline(ddf_fun_t *fun)
 {
         ddf_msg(LVL_DEBUG, "sun4v_con_fun_offline()");
Index: uspace/drv/char/sun4v-con/sun4v-con.c
===================================================================
--- uspace/drv/char/sun4v-con/sun4v-con.c	(revision cde999aca79219e8751af76502001a86d411d176)
+++ uspace/drv/char/sun4v-con/sun4v-con.c	(revision a0a9cc249adce31c755defdb6b74a991ebbf55ea)
@@ -46,6 +46,6 @@
 #define POLL_INTERVAL  10000
 
-static int sun4v_con_read(chardev_srv_t *, void *, size_t, size_t *);
-static int sun4v_con_write(chardev_srv_t *, const void *, size_t, size_t *);
+static errno_t sun4v_con_read(chardev_srv_t *, void *, size_t, size_t *);
+static errno_t sun4v_con_write(chardev_srv_t *, const void *, size_t, size_t *);
 
 static chardev_ops_t sun4v_con_chardev_ops = {
@@ -69,8 +69,8 @@
 
 /** Add sun4v console device. */
-int sun4v_con_add(sun4v_con_t *con, sun4v_con_res_t *res)
+errno_t sun4v_con_add(sun4v_con_t *con, sun4v_con_res_t *res)
 {
 	ddf_fun_t *fun = NULL;
-	int rc;
+	errno_t rc;
 
 	con->res = *res;
@@ -129,5 +129,5 @@
 
 /** Remove sun4v console device */
-int sun4v_con_remove(sun4v_con_t *con)
+errno_t sun4v_con_remove(sun4v_con_t *con)
 {
 	return ENOTSUP;
@@ -135,5 +135,5 @@
 
 /** Msim console device gone */
-int sun4v_con_gone(sun4v_con_t *con)
+errno_t sun4v_con_gone(sun4v_con_t *con)
 {
 	return ENOTSUP;
@@ -141,5 +141,5 @@
 
 /** Read from Sun4v console device */
-static int sun4v_con_read(chardev_srv_t *srv, void *buf, size_t size,
+static errno_t sun4v_con_read(chardev_srv_t *srv, void *buf, size_t size,
     size_t *nread)
 {
@@ -165,5 +165,5 @@
 
 /** Write to Sun4v console device */
-static int sun4v_con_write(chardev_srv_t *srv, const void *data, size_t size,
+static errno_t sun4v_con_write(chardev_srv_t *srv, const void *data, size_t size,
     size_t *nwr)
 {
Index: uspace/drv/char/sun4v-con/sun4v-con.h
===================================================================
--- uspace/drv/char/sun4v-con/sun4v-con.h	(revision cde999aca79219e8751af76502001a86d411d176)
+++ uspace/drv/char/sun4v-con/sun4v-con.h	(revision a0a9cc249adce31c755defdb6b74a991ebbf55ea)
@@ -62,7 +62,7 @@
 } sun4v_con_t;
 
-extern int sun4v_con_add(sun4v_con_t *, sun4v_con_res_t *);
-extern int sun4v_con_remove(sun4v_con_t *);
-extern int sun4v_con_gone(sun4v_con_t *);
+extern errno_t sun4v_con_add(sun4v_con_t *, sun4v_con_res_t *);
+extern errno_t sun4v_con_remove(sun4v_con_t *);
+extern errno_t sun4v_con_gone(sun4v_con_t *);
 
 #endif
