Changes in uspace/drv/char/pl050/pl050.c [b7fd2a0:01c3bb4] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/char/pl050/pl050.c
rb7fd2a0 r01c3bb4 35 35 #include <stdio.h> 36 36 #include <errno.h> 37 #include <str_error.h>38 37 #include <ddf/driver.h> 39 38 #include <ddf/interrupt.h> … … 51 50 }; 52 51 53 static errno_t pl050_dev_add(ddf_dev_t *);54 static errno_t pl050_fun_online(ddf_fun_t *);55 static errno_t pl050_fun_offline(ddf_fun_t *);52 static int pl050_dev_add(ddf_dev_t *); 53 static int pl050_fun_online(ddf_fun_t *); 54 static int pl050_fun_offline(ddf_fun_t *); 56 55 static void pl050_char_conn(ipc_callid_t, ipc_call_t *, void *); 57 static errno_t pl050_read(chardev_srv_t *, void *, size_t, size_t *);58 static errno_t pl050_write(chardev_srv_t *, const void *, size_t, size_t *);56 static int pl050_read(chardev_srv_t *, void *, size_t, size_t *); 57 static int pl050_write(chardev_srv_t *, const void *, size_t, size_t *); 59 58 60 59 static driver_ops_t driver_ops = { … … 158 157 } 159 158 160 static errno_t pl050_init(pl050_t *pl050)159 static int pl050_init(pl050_t *pl050) 161 160 { 162 161 hw_res_list_parsed_t res; 163 162 void *regs; 164 errno_t rc;163 int rc; 165 164 166 165 fibril_mutex_initialize(&pl050->buf_lock); … … 213 212 pl050->regs = regs; 214 213 215 int irq_cap;216 rc = register_interrupt_handler(pl050->dev,217 res.irqs.irqs[0], pl050_interrupt, &pl050_irq_code, &irq_cap);218 if (rc != EOK) {219 ddf_msg(LVL_ERROR, "Failed registering interrupt handler. (% s)",220 str_error_name(rc));214 const int irq_cap = register_interrupt_handler(pl050->dev, 215 res.irqs.irqs[0], pl050_interrupt, &pl050_irq_code); 216 if (irq_cap < 0) { 217 rc = irq_cap; 218 ddf_msg(LVL_ERROR, "Failed registering interrupt handler. (%d)", 219 rc); 221 220 goto error; 222 221 } … … 224 223 rc = hw_res_enable_interrupt(pl050->parent_sess, res.irqs.irqs[0]); 225 224 if (rc != EOK) { 226 ddf_msg(LVL_ERROR, "Failed enabling interrupt : %s", str_error(rc));225 ddf_msg(LVL_ERROR, "Failed enabling interrupt. (%d)", rc); 227 226 goto error; 228 227 } … … 237 236 } 238 237 239 static errno_t pl050_read(chardev_srv_t *srv, void *buffer, size_t size,238 static int pl050_read(chardev_srv_t *srv, void *buffer, size_t size, 240 239 size_t *nread) 241 240 { … … 263 262 } 264 263 265 static errno_t pl050_write(chardev_srv_t *srv, const void *data, size_t size,264 static int pl050_write(chardev_srv_t *srv, const void *data, size_t size, 266 265 size_t *nwritten) 267 266 { … … 294 293 295 294 /** Add device. */ 296 static errno_t pl050_dev_add(ddf_dev_t *dev)295 static int pl050_dev_add(ddf_dev_t *dev) 297 296 { 298 297 ddf_fun_t *fun_a; 299 298 pl050_t *pl050 = NULL; 300 299 const char *mname; 301 errno_t rc;300 int rc; 302 301 303 302 ddf_msg(LVL_DEBUG, "pl050_dev_add()"); … … 350 349 rc = ddf_fun_bind(fun_a); 351 350 if (rc != EOK) { 352 ddf_msg(LVL_ERROR, "Failed binding function 'a' : %s", str_error(rc));351 ddf_msg(LVL_ERROR, "Failed binding function 'a'. (%d)", rc); 353 352 ddf_fun_destroy(fun_a); 354 353 goto error; … … 363 362 } 364 363 365 static errno_t pl050_fun_online(ddf_fun_t *fun)364 static int pl050_fun_online(ddf_fun_t *fun) 366 365 { 367 366 ddf_msg(LVL_DEBUG, "pl050_fun_online()"); … … 369 368 } 370 369 371 static errno_t pl050_fun_offline(ddf_fun_t *fun)370 static int pl050_fun_offline(ddf_fun_t *fun) 372 371 { 373 372 ddf_msg(LVL_DEBUG, "pl050_fun_offline()"); … … 377 376 int main(int argc, char *argv[]) 378 377 { 379 errno_t rc;378 int rc; 380 379 381 380 printf(NAME ": HelenOS pl050 serial device driver\n");
Note:
See TracChangeset
for help on using the changeset viewer.