Changeset 8b1e15ac in mainline for uspace/drv/ns8250/ns8250.c


Ignore:
Timestamp:
2011-02-11T22:26:36Z (14 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
68414f4a
Parents:
1b367b4
Message:

Finish splitting device node: devman client in C library, drv library. Update device drivers accordingly.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/ns8250/ns8250.c

    r1b367b4 r8b1e15ac  
    1 /*
     1/*                       
    22 * Copyright (c) 2010 Lenka Trochtova
    33 * All rights reserved.
     
    178178 *                      error number otherwise.
    179179 */
    180 static int ns8250_read(device_t *dev, char *buf, size_t count)
     180static int ns8250_read(function_t *fun, char *buf, size_t count)
    181181{
    182182        int ret = EOK;
    183         ns8250_dev_data_t *data = (ns8250_dev_data_t *) dev->driver_data;
     183        ns8250_dev_data_t *data = (ns8250_dev_data_t *) fun->dev->driver_data;
    184184       
    185185        fibril_mutex_lock(&data->mutex);
     
    212212 * @return              Zero on success.
    213213 */
    214 static int ns8250_write(device_t *dev, char *buf, size_t count)
    215 {
    216         ns8250_dev_data_t *data = (ns8250_dev_data_t *) dev->driver_data;
     214static int ns8250_write(function_t *fun, char *buf, size_t count)
     215{
     216        ns8250_dev_data_t *data = (ns8250_dev_data_t *) fun->dev->driver_data;
    217217        size_t idx;
    218218       
     
    719719static int ns8250_add_device(device_t *dev)
    720720{
     721        function_t *fun;
     722
    721723        printf(NAME ": ns8250_add_device %s (handle = %d)\n",
    722724            dev->name, (int) dev->handle);
     
    756758                return res;
    757759        }
     760
     761        fun = create_function();
     762        fun->ftype = fun_exposed;
     763        fun->name = "a";
    758764       
    759765        /* Set device operations. */
    760         dev->ops = &ns8250_dev_ops;
    761        
    762         add_device_to_class(dev, "serial");
     766        fun->ops = &ns8250_dev_ops;
     767        register_function(fun, dev);
     768       
     769        add_function_to_class(fun, "serial");
    763770       
    764771        printf(NAME ": the %s device has been successfully initialized.\n",
     
    775782 * @param dev           The device.
    776783 */
    777 static int ns8250_open(device_t *dev)
    778 {
    779         ns8250_dev_data_t *data = (ns8250_dev_data_t *) dev->driver_data;
     784static int ns8250_open(function_t *fun)
     785{
     786        ns8250_dev_data_t *data = (ns8250_dev_data_t *) fun->dev->driver_data;
    780787        int res;
    781788       
     
    799806 * @param dev           The device.
    800807 */
    801 static void ns8250_close(device_t *dev)
    802 {
    803         ns8250_dev_data_t *data = (ns8250_dev_data_t *) dev->driver_data;
     808static void ns8250_close(function_t *fun)
     809{
     810        ns8250_dev_data_t *data = (ns8250_dev_data_t *) fun->dev->driver_data;
    804811       
    805812        fibril_mutex_lock(&data->mutex);
     
    877884 * Configure the parameters of the serial communication.
    878885 */
    879 static void ns8250_default_handler(device_t *dev, ipc_callid_t callid,
     886static void ns8250_default_handler(function_t *fun, ipc_callid_t callid,
    880887    ipc_call_t *call)
    881888{
     
    886893        switch (method) {
    887894        case SERIAL_GET_COM_PROPS:
    888                 ns8250_get_props(dev, &baud_rate, &parity, &word_length,
     895                ns8250_get_props(fun->dev, &baud_rate, &parity, &word_length,
    889896                    &stop_bits);
    890897                async_answer_4(callid, EOK, baud_rate, parity, word_length,
     
    897904                word_length = IPC_GET_ARG3(*call);
    898905                stop_bits = IPC_GET_ARG4(*call);
    899                 ret = ns8250_set_props(dev, baud_rate, parity, word_length,
     906                ret = ns8250_set_props(fun->dev, baud_rate, parity, word_length,
    900907                    stop_bits);
    901908                async_answer_0(callid, ret);
Note: See TracChangeset for help on using the changeset viewer.