Changeset 443695e in mainline for uspace/lib/drv/generic


Ignore:
Timestamp:
2024-05-21T11:33:56Z (14 months ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master
Children:
3526f4f3
Parents:
1801005
git-author:
Jiri Svoboda <jiri@…> (2024-05-20 17:33:43)
git-committer:
Jiri Svoboda <jiri@…> (2024-05-21 11:33:56)
Message:

Basic PCI-IDE driver (no DMA support)

Also, make sure we avoid attaching ISA IDE and PCI IDE
at the same time. For simplicity, use ISA IDE on ISA systems
and PCI IDE on PCI-based systems.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/drv/generic/remote_hw_res.c

    r1801005 r443695e  
    11/*
     2 * Copyright (c) 2024 Jiri Svoboda
    23 * Copyright (c) 2010 Lenka Trochtova
    34 * Copyright (c) 2011 Jan Vesely
     
    4748static void remote_hw_res_dma_channel_setup(ddf_fun_t *, void *, ipc_call_t *);
    4849static void remote_hw_res_dma_channel_remain(ddf_fun_t *, void *, ipc_call_t *);
     50static void remote_hw_res_get_flags(ddf_fun_t *, void *, ipc_call_t *);
    4951
    5052static const remote_iface_func_ptr_t remote_hw_res_iface_ops [] = {
     
    5557        [HW_RES_DMA_CHANNEL_SETUP] = &remote_hw_res_dma_channel_setup,
    5658        [HW_RES_DMA_CHANNEL_REMAIN] = &remote_hw_res_dma_channel_remain,
     59        [HW_RES_GET_FLAGS] = &remote_hw_res_get_flags
    5760};
    5861
     
    171174}
    172175
     176static void remote_hw_res_get_flags(ddf_fun_t *fun, void *ops,
     177    ipc_call_t *call)
     178{
     179        hw_res_ops_t *hw_res_ops = ops;
     180
     181        if (hw_res_ops->get_flags == NULL) {
     182                async_answer_0(call, ENOTSUP);
     183                return;
     184        }
     185
     186        hw_res_flags_t flags = 0;
     187        const errno_t ret = hw_res_ops->get_flags(fun, &flags);
     188        async_answer_1(call, ret, flags);
     189}
     190
    173191/**
    174192 * @}
Note: See TracChangeset for help on using the changeset viewer.