Changeset 9bd4615 in mainline


Ignore:
Timestamp:
2014-07-20T13:31:50Z (10 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
54a1ca7
Parents:
350274a
Message:

Convert sb16 driver away from DDF_DATA_IMPLANT.

Location:
uspace/drv/audio/sb16
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/audio/sb16/mixer_iface.c

    r350274a r9bd4615  
    3333 */
    3434
     35#include <ddf/driver.h>
    3536#include <errno.h>
    3637#include <audio_mixer_iface.h>
    3738
    3839#include "mixer.h"
     40#include "sb16.h"
     41
     42static sb_mixer_t *fun_to_mixer(ddf_fun_t *fun)
     43{
     44        sb16_t *sb = (sb16_t *)ddf_dev_data_get(ddf_fun_get_dev(fun));
     45        return &sb->mixer;
     46}
    3947
    4048static int sb_get_info(ddf_fun_t *fun, const char** name, unsigned *items)
    4149{
    42         assert(fun);
    43         const sb_mixer_t *mixer = ddf_fun_data_get(fun);
    44         assert(mixer);
     50        sb_mixer_t *mixer = fun_to_mixer(fun);
     51
    4552        if (name)
    4653                *name = sb_mixer_type_str(mixer->type);
     
    5461    unsigned *max_level)
    5562{
    56         assert(fun);
    57         const sb_mixer_t *mixer = ddf_fun_data_get(fun);
    58         assert(mixer);
    59         return
    60             sb_mixer_get_control_item_info(mixer, item, name, max_level);
     63        sb_mixer_t *mixer = fun_to_mixer(fun);
     64        return sb_mixer_get_control_item_info(mixer, item, name, max_level);
    6165}
    6266
    6367static int sb_set_item_level(ddf_fun_t *fun, unsigned item, unsigned value)
    6468{
    65         assert(fun);
    66         const sb_mixer_t *mixer = ddf_fun_data_get(fun);
    67         assert(mixer);
     69        sb_mixer_t *mixer = fun_to_mixer(fun);
    6870        return sb_mixer_set_control_item_value(mixer, item, value);
    6971}
     
    7173static int sb_get_item_level(ddf_fun_t *fun, unsigned item, unsigned *value)
    7274{
    73         assert(fun);
    74         const sb_mixer_t *mixer = ddf_fun_data_get(fun);
    75         assert(mixer);
     75        sb_mixer_t *mixer = fun_to_mixer(fun);
    7676        return sb_mixer_get_control_item_value(mixer, item, value);
    7777}
  • uspace/drv/audio/sb16/pcm_iface.c

    r350274a r9bd4615  
    3939
    4040#include "dsp.h"
     41#include "sb16.h"
    4142
    42 static inline sb_dsp_t * fun_to_dsp(ddf_fun_t *fun)
     43static inline sb_dsp_t *fun_to_dsp(ddf_fun_t *fun)
    4344{
    44         assert(fun);
    45         sb_dsp_t *dsp = ddf_fun_data_get(fun);
    46         assert(dsp);
    47         return dsp;
     45        sb16_t *sb = (sb16_t *)ddf_dev_data_get(ddf_fun_get_dev(fun));
     46        return &sb->dsp;
    4847}
    4948
  • uspace/drv/audio/sb16/sb16.c

    r350274a r9bd4615  
    2727 */
    2828
    29 #define _DDF_DATA_IMPLANT
    30 
    3129#include <errno.h>
    3230#include <str_error.h>
     
    121119                return ret;
    122120        }
    123         //TODO remove data implant
    124         ddf_fun_data_implant(dsp_fun, &sb->dsp);
     121
    125122        ddf_fun_set_ops(dsp_fun, &sb_pcm_ops);
    126123        ddf_log_note("Sound blaster DSP (%x.%x) initialized.",
     
    131128                ddf_log_error(
    132129                    "Failed to bind PCM function: %s.", str_error(ret));
    133                 // TODO implanted data
    134130                ddf_fun_destroy(dsp_fun);
    135131                return ret;
     
    141137                    str_error(ret));
    142138                ddf_fun_unbind(dsp_fun);
    143                 // TODO implanted data
    144139                ddf_fun_destroy(dsp_fun);
    145140                return ret;
     
    154149                ddf_log_error("Failed to create mixer function.");
    155150                ddf_fun_unbind(dsp_fun);
    156                 // TODO implanted data
    157151                ddf_fun_destroy(dsp_fun);
    158152                return ENOMEM;
     
    163157                    str_error(ret));
    164158                ddf_fun_unbind(dsp_fun);
    165                 // TODO implanted data
    166159                ddf_fun_destroy(dsp_fun);
    167160                ddf_fun_destroy(mixer_fun);
     
    171164        ddf_log_note("Initialized mixer: %s.",
    172165            sb_mixer_type_str(sb->mixer.type));
    173         ddf_fun_data_implant(mixer_fun, &sb->mixer);
    174166        ddf_fun_set_ops(mixer_fun, &sb_mixer_ops);
    175167
     
    178170                ddf_log_error(
    179171                    "Failed to bind mixer function: %s.", str_error(ret));
    180                 // TODO implanted data
    181172                ddf_fun_destroy(mixer_fun);
    182 
    183                 ddf_fun_unbind(dsp_fun);
    184                 // TODO implanted data
     173                ddf_fun_unbind(dsp_fun);
    185174                ddf_fun_destroy(dsp_fun);
    186175                return ret;
Note: See TracChangeset for help on using the changeset viewer.