Changeset d6b1359 in mainline for uspace/lib/drv


Ignore:
Timestamp:
2011-01-09T18:00:14Z (15 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
80bffdb0
Parents:
0c70f7e (diff), 8871dba (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge mildly aggressive DDF cleanup (char_dev and hw_res interfaces, ops structures).

Location:
uspace/lib/drv
Files:
3 edited
6 moved

Legend:

Unmodified
Added
Removed
  • uspace/lib/drv/Makefile

    r0c70f7e rd6b1359  
    3535        generic/driver.c \
    3636        generic/dev_iface.c \
    37         generic/remote_res.c \
    38         generic/remote_char.c
     37        generic/remote_hw_res.c \
     38        generic/remote_char_dev.c
    3939
    4040include $(USPACE_PREFIX)/Makefile.common
  • uspace/lib/drv/generic/dev_iface.c

    r0c70f7e rd6b1359  
    3737
    3838#include "dev_iface.h"
    39 #include "remote_res.h"
    40 #include "remote_char.h"
     39#include "remote_hw_res.h"
     40#include "remote_char_dev.h"
    4141
    4242static iface_dipatch_table_t remote_ifaces = {
    4343        .ifaces = {
    44                 &remote_res_iface,
    45                 &remote_char_iface
     44                &remote_hw_res_iface,
     45                &remote_char_dev_iface
    4646        }
    4747};
    4848
    4949remote_iface_t* get_remote_iface(int idx)
    50 {       
     50{
    5151        assert(is_valid_iface_idx(idx));
    5252        return remote_ifaces.ifaces[idx];
  • uspace/lib/drv/generic/remote_char_dev.c

    r0c70f7e rd6b1359  
    3737#include <errno.h>
    3838
    39 #include "char.h"
     39#include "ops/char_dev.h"
    4040#include "driver.h"
    4141
     
    4646
    4747/** Remote character interface operations. */
    48 static remote_iface_func_ptr_t remote_char_iface_ops [] = {
     48static remote_iface_func_ptr_t remote_char_dev_iface_ops[] = {
    4949        &remote_char_read,
    5050        &remote_char_write
     
    5656 * character interface.
    5757 */
    58 remote_iface_t remote_char_iface = {
    59         .method_count = sizeof(remote_char_iface_ops) /
     58remote_iface_t remote_char_dev_iface = {
     59        .method_count = sizeof(remote_char_dev_iface_ops) /
    6060            sizeof(remote_iface_func_ptr_t),
    61         .methods = remote_char_iface_ops
     61        .methods = remote_char_dev_iface_ops
    6262};
    6363
     
    7474remote_char_read(device_t *dev, void *iface, ipc_callid_t callid,
    7575    ipc_call_t *call)
    76 {       
    77         char_iface_t *char_iface = (char_iface_t *) iface;
     76{
     77        char_dev_ops_t *char_iface = (char_dev_ops_t *) iface;
    7878        ipc_callid_t cid;
    7979       
     
    122122    ipc_call_t *call)
    123123{
    124         char_iface_t *char_iface = (char_iface_t *) iface;
     124        char_dev_ops_t *char_iface = (char_dev_ops_t *) iface;
    125125        ipc_callid_t cid;
    126126        size_t len;
     
    136136                ipc_answer_0(callid, ENOTSUP);
    137137                return;
    138         }       
     138        }
    139139       
    140140        if (len > MAX_CHAR_RW_COUNT)
  • uspace/lib/drv/generic/remote_hw_res.c

    r0c70f7e rd6b1359  
    3737#include <errno.h>
    3838
     39#include "ops/hw_res.h"
    3940#include "driver.h"
    40 #include "resource.h"
    4141
    42 static void remote_res_get_resources(device_t *, void *, ipc_callid_t,
     42static void remote_res_get_resource_list(device_t *, void *, ipc_callid_t,
    4343    ipc_call_t *);
    4444static void remote_res_enable_interrupt(device_t *, void *, ipc_callid_t,
    4545    ipc_call_t *);
    4646
    47 static remote_iface_func_ptr_t remote_res_iface_ops [] = {
    48         &remote_res_get_resources,
     47static remote_iface_func_ptr_t remote_hw_res_iface_ops [] = {
     48        &remote_res_get_resource_list,
    4949        &remote_res_enable_interrupt
    5050};
    5151
    52 remote_iface_t remote_res_iface = {
    53         .method_count = sizeof(remote_res_iface_ops) /
     52remote_iface_t remote_hw_res_iface = {
     53        .method_count = sizeof(remote_hw_res_iface_ops) /
    5454            sizeof(remote_iface_func_ptr_t),
    55         .methods = remote_res_iface_ops
     55        .methods = remote_hw_res_iface_ops
    5656};
    5757
     
    5959    ipc_callid_t callid, ipc_call_t *call)
    6060{
    61         resource_iface_t *ires = (resource_iface_t *) iface;
     61        hw_res_ops_t *ires = (hw_res_ops_t *) iface;
    6262       
    6363        if (NULL == ires->enable_interrupt)
     
    6969}
    7070
    71 static void remote_res_get_resources(device_t *dev, void *iface,
     71static void remote_res_get_resource_list(device_t *dev, void *iface,
    7272    ipc_callid_t callid, ipc_call_t *call)
    7373{
    74         resource_iface_t *ires = (resource_iface_t *) iface;
    75         if (NULL == ires->get_resources) {
     74        hw_res_ops_t *ires = (hw_res_ops_t *) iface;
     75        if (NULL == ires->get_resource_list) {
    7676                ipc_answer_0(callid, ENOTSUP);
    7777                return;
    7878        }
    7979       
    80         hw_resource_list_t *hw_resources = ires->get_resources(dev);
     80        hw_resource_list_t *hw_resources = ires->get_resource_list(dev);
    8181        if (NULL == hw_resources){
    8282                ipc_answer_0(callid, ENOENT);
  • uspace/lib/drv/include/driver.h

    r0c70f7e rd6b1359  
    4141#include <ipc/devman.h>
    4242#include <ipc/dev_iface.h>
    43 #include <device/hw_res.h>
    44 #include <device/char.h>
    4543#include <assert.h>
    4644#include <ddi.h>
  • uspace/lib/drv/include/ops/char_dev.h

    r0c70f7e rd6b1359  
    3333 */
    3434
    35 #ifndef LIBDRV_CHAR_H_
    36 #define LIBDRV_CHAR_H_
     35#ifndef LIBDRV_OPS_CHAR_DEV_H_
     36#define LIBDRV_OPS_CHAR_DEV_H_
    3737
    38 #include "driver.h"
     38#include "../driver.h"
    3939
    40 typedef struct char_iface {
     40typedef struct {
    4141        int (*read)(device_t *, char *, size_t);
    4242        int (*write)(device_t *, char *, size_t);
    43 } char_iface_t;
     43} char_dev_ops_t;
    4444
    4545#endif
  • uspace/lib/drv/include/ops/hw_res.h

    r0c70f7e rd6b1359  
    3333 */
    3434
    35 #ifndef LIBDRV_RESOURCE_H_
    36 #define LIBDRV_RESOURCE_H_
     35#ifndef LIBDRV_OPS_HW_RES_H_
     36#define LIBDRV_OPS_HW_RES_H_
    3737
    38 #include "driver.h"
     38#include <device/hw_res.h>
     39#include <sys/types.h>
    3940
    40 typedef struct resource_iface {
    41          hw_resource_list_t *(* get_resources)(device_t *);
     41#include "../driver.h"
     42
     43typedef struct {
     44         hw_resource_list_t *(*get_resource_list)(device_t *);
    4245         bool (*enable_interrupt)(device_t *);
    43 } resource_iface_t;
    44 
     46} hw_res_ops_t;
    4547
    4648#endif
  • uspace/lib/drv/include/remote_char_dev.h

    r0c70f7e rd6b1359  
    3333 */
    3434
    35 #ifndef LIBDRV_REMOTE_RES_H_
    36 #define LIBDRV_REMOTE_RES_H_
     35#ifndef LIBDRV_REMOTE_CHAR_DEV_H_
     36#define LIBDRV_REMOTE_CHAR_DEV_H_
    3737
    38 remote_iface_t remote_res_iface;
     38extern remote_iface_t remote_char_dev_iface;
    3939
    4040#endif
  • uspace/lib/drv/include/remote_hw_res.h

    r0c70f7e rd6b1359  
    3333 */
    3434
    35 #ifndef LIBDRV_REMOTE_CHAR_H_
    36 #define LIBDRV_REMOTE_CHAR_H_
     35#ifndef LIBDRV_REMOTE_HW_RES_H_
     36#define LIBDRV_REMOTE_HW_RES_H_
    3737
    38 remote_iface_t remote_char_iface;
     38extern remote_iface_t remote_hw_res_iface;
    3939
    4040#endif
Note: See TracChangeset for help on using the changeset viewer.