Changes in uspace/drv/audio/hdaudio/hdaudio.c [cf78637:a64970e1] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/audio/hdaudio/hdaudio.c
rcf78637 ra64970e1 1 1 /* 2 * Copyright (c) 20 14Jiri Svoboda2 * Copyright (c) 2025 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 55 55 static errno_t hda_dev_remove(ddf_dev_t *dev); 56 56 static errno_t hda_dev_gone(ddf_dev_t *dev); 57 static errno_t hda_dev_quiesce(ddf_dev_t *dev); 57 58 static errno_t hda_fun_online(ddf_fun_t *fun); 58 59 static errno_t hda_fun_offline(ddf_fun_t *fun); 59 60 60 static void hdaudio_interrupt(ipc_call_t *, ddf_dev_t*);61 static void hdaudio_interrupt(ipc_call_t *, void *); 61 62 62 63 static driver_ops_t driver_ops = { 63 .dev_add = &hda_dev_add, 64 .dev_remove = &hda_dev_remove, 65 .dev_gone = &hda_dev_gone, 66 .fun_online = &hda_fun_online, 67 .fun_offline = &hda_fun_offline 64 .dev_add = hda_dev_add, 65 .dev_remove = hda_dev_remove, 66 .dev_gone = hda_dev_gone, 67 .dev_quiesce = hda_dev_quiesce, 68 .fun_online = hda_fun_online, 69 .fun_offline = hda_fun_offline 68 70 }; 69 71 … … 140 142 .cmd = CMD_PIO_WRITE_8, 141 143 .addr = NULL, /* sdesc[x].sts */ 142 .value = 0x4 /* XXX sdesc.sts.BCIS */144 .value = BIT_V(uint8_t, sdsts_bcis) 143 145 }, 144 146 /* 4 */ … … 266 268 cap_irq_handle_t irq_cap; 267 269 rc = register_interrupt_handler(dev, res.irqs.irqs[0], 268 hdaudio_interrupt, &irq_code, &irq_cap);270 hdaudio_interrupt, (void *)hda, &irq_code, &irq_cap); 269 271 if (rc != EOK) { 270 272 ddf_msg(LVL_ERROR, "Failed registering interrupt handler: %s", … … 365 367 } 366 368 369 static errno_t hda_dev_quiesce(ddf_dev_t *dev) 370 { 371 hda_t *hda = (hda_t *)ddf_dev_data_get(dev); 372 373 ddf_msg(LVL_DEBUG, "hda_dev_quiesce(%p)", dev); 374 375 hda_ctl_quiesce(hda->ctl); 376 return EOK; 377 } 378 367 379 static errno_t hda_fun_online(ddf_fun_t *fun) 368 380 { … … 377 389 } 378 390 379 static void hdaudio_interrupt(ipc_call_t *icall, ddf_dev_t *dev) 380 { 381 hda_t *hda = (hda_t *)ddf_dev_data_get(dev); 391 /** HD Audio interrupt handler. 392 * 393 * @param icall IRQ event notification 394 * @param arg Argument (hda_t *) 395 */ 396 static void hdaudio_interrupt(ipc_call_t *icall, void *arg) 397 { 398 hda_t *hda = (hda_t *)arg; 382 399 383 400 if (0)
Note:
See TracChangeset
for help on using the changeset viewer.