Changeset 60744cb in mainline for uspace/drv/block
- Timestamp:
- 2024-05-17T17:51:56Z (22 months ago)
- Branches:
- master
- Children:
- 1801005
- Parents:
- 646849b3
- Location:
- uspace/drv/block
- Files:
-
- 4 edited
-
ahci/ahci.c (modified) (3 diffs)
-
ddisk/ddisk.c (modified) (3 diffs)
-
isa-ide/isa-ide.c (modified) (3 diffs)
-
virtio-blk/virtio-blk.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/block/ahci/ahci.c
r646849b3 r60744cb 162 162 } 163 163 164 /** Get AHCI structure from DDF device. */165 static ahci_dev_t *dev_ahci_dev(ddf_dev_t *dev)166 {167 return ddf_dev_data_get(dev);168 }169 170 164 /** Get SATA device name. 171 165 * … … 891 885 * 892 886 * @param icall The IPC call structure. 893 * @param dev DDF device structure. 894 * 895 */ 896 static void ahci_interrupt(ipc_call_t *icall, ddf_dev_t *dev) 897 { 898 ahci_dev_t *ahci = dev_ahci_dev(dev); 887 * @param arg Argument (ahci_dev_t *) 888 */ 889 static void ahci_interrupt(ipc_call_t *icall, void *arg) 890 { 891 ahci_dev_t *ahci = (ahci_dev_t *)arg; 899 892 unsigned int port = ipc_get_arg1(icall); 900 893 ahci_port_is_t pxis = ipc_get_arg2(icall); … … 1186 1179 cap_irq_handle_t irq_cap; 1187 1180 errno_t rc = register_interrupt_handler(dev, 1188 hw_res_parsed.irqs.irqs[0], ahci_interrupt, &ct, &irq_cap); 1181 hw_res_parsed.irqs.irqs[0], ahci_interrupt, (void *)ahci, &ct, 1182 &irq_cap); 1189 1183 if (rc != EOK) { 1190 1184 ddf_msg(LVL_ERROR, "Failed registering interrupt handler."); -
uspace/drv/block/ddisk/ddisk.c
r646849b3 r60744cb 64 64 static void ddisk_bd_connection(ipc_call_t *, void *); 65 65 66 static void ddisk_irq_handler(ipc_call_t *, ddf_dev_t*);66 static void ddisk_irq_handler(ipc_call_t *, void *); 67 67 68 68 static driver_ops_t driver_ops = { … … 176 176 }; 177 177 178 void ddisk_irq_handler(ipc_call_t *icall, ddf_dev_t *dev) 178 /** Ddisk IRQ handler. 179 * 180 * @param icall IRQ event notification 181 * @param arg Argument (ddisk_t *) 182 */ 183 void ddisk_irq_handler(ipc_call_t *icall, void *arg) 179 184 { 180 185 ddf_msg(LVL_DEBUG, "ddisk_irq_handler(), status=%" PRIx32, 181 186 (uint32_t) ipc_get_arg1(icall)); 182 187 183 ddisk_t *ddisk = (ddisk_t *) ddf_dev_data_get(dev);188 ddisk_t *ddisk = (ddisk_t *)arg; 184 189 185 190 fibril_mutex_lock(&ddisk->lock); … … 512 517 ddisk_irq_commands[3].addr = (void *) &res_phys->command; 513 518 rc = register_interrupt_handler(dev, ddisk->ddisk_res.irq, 514 ddisk_irq_handler, &ddisk_irq_code, &ddisk->irq_cap);519 ddisk_irq_handler, (void *)ddisk, &ddisk_irq_code, &ddisk->irq_cap); 515 520 if (rc != EOK) { 516 521 ddf_msg(LVL_ERROR, "Failed to register interrupt handler."); -
uspace/drv/block/isa-ide/isa-ide.c
r646849b3 r60744cb 59 59 static errno_t isa_ide_init_irq(isa_ide_channel_t *); 60 60 static void isa_ide_fini_irq(isa_ide_channel_t *); 61 static void isa_ide_irq_handler(ipc_call_t *, ddf_dev_t*);61 static void isa_ide_irq_handler(ipc_call_t *, void *); 62 62 63 63 static void isa_ide_write_data_16(void *, uint16_t *, size_t); … … 256 256 257 257 ddf_msg(LVL_NOTE, "IRQ %d", chan->irq); 258 rc = register_interrupt_handler _arg(chan->ctrl->dev, chan->irq,258 rc = register_interrupt_handler(chan->ctrl->dev, chan->irq, 259 259 isa_ide_irq_handler, (void *)chan, &irq_code, &chan->ihandle); 260 260 if (rc != EOK) { … … 291 291 * 292 292 * @param call Call data 293 * @param dev Device that caused the interrupt294 */ 295 static void isa_ide_irq_handler(ipc_call_t *call, ddf_dev_t *xdev)296 { 297 isa_ide_channel_t *chan = (isa_ide_channel_t *) (void *)xdev; // XXX293 * @param arg Argument (isa_ide_channel_t *) 294 */ 295 static void isa_ide_irq_handler(ipc_call_t *call, void *arg) 296 { 297 isa_ide_channel_t *chan = (isa_ide_channel_t *)arg; 298 298 uint8_t status; 299 299 async_sess_t *parent_sess; -
uspace/drv/block/virtio-blk/virtio-blk.c
r646849b3 r60744cb 73 73 }; 74 74 75 static void virtio_blk_irq_handler(ipc_call_t *icall, ddf_dev_t *dev) 76 { 77 virtio_blk_t *virtio_blk = (virtio_blk_t *) ddf_dev_data_get(dev); 75 /** VirtIO block IRQ handler. 76 * 77 * @param icall IRQ event notification 78 * @param arg Argument (virtio_blk_t *) 79 */ 80 static void virtio_blk_irq_handler(ipc_call_t *icall, void *arg) 81 { 82 virtio_blk_t *virtio_blk = (virtio_blk_t *)arg; 78 83 virtio_dev_t *vdev = &virtio_blk->virtio_dev; 79 84 … … 145 150 146 151 return register_interrupt_handler(dev, virtio_blk->irq, 147 virtio_blk_irq_handler, &irq_code, &virtio_blk->irq_handle); 152 virtio_blk_irq_handler, (void *)virtio_blk, &irq_code, 153 &virtio_blk->irq_handle); 148 154 } 149 155
Note:
See TracChangeset
for help on using the changeset viewer.
