Changeset 1912b45 in mainline for uspace/drv/audio/sb16/mixer_iface.c


Ignore:
Timestamp:
2013-04-10T20:52:26Z (11 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
5b77efc
Parents:
8a7d78cc
Message:

Make pcm control iface generic

File:
1 edited

Legend:

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

    r8a7d78cc r1912b45  
    5050        return EOK;
    5151}
    52 /*----------------------------------------------------------------------------*/
     52
    5353static int sb_get_item_info(ddf_fun_t *fun, unsigned item, const char** name,
    54     unsigned *channels)
     54    unsigned *max_level)
    5555{
    5656        assert(fun);
     
    5858        assert(mixer);
    5959        return
    60             sb_mixer_get_control_item_info(mixer, item, name, channels);
     60            sb_mixer_get_control_item_info(mixer, item, name, max_level);
    6161}
    62 /*----------------------------------------------------------------------------*/
    63 static int sb_get_channel_info(ddf_fun_t *fun, unsigned item, unsigned channel,
    64     const char** name, unsigned *levels)
     62
     63static int sb_set_item_level(ddf_fun_t *fun, unsigned item, unsigned value)
    6564{
    6665        assert(fun);
    6766        const sb_mixer_t *mixer = ddf_fun_data_get(fun);
    6867        assert(mixer);
    69         return sb_mixer_get_channel_info(mixer, item, channel, name, levels);
     68        return sb_mixer_set_control_item_value(mixer, item, value);
    7069}
    71 /*----------------------------------------------------------------------------*/
    72 static int sb_channel_mute_set(ddf_fun_t *fun, unsigned item, unsigned channel,
    73     bool mute)
    74 {
    75         return ENOTSUP;
    76 }
    77 /*----------------------------------------------------------------------------*/
    78 static int sb_channel_mute_get(ddf_fun_t *fun, unsigned item, unsigned channel,
    79     bool *mute)
    80 {
    81         *mute = false;
    82         return EOK;
    83 }
    84 /*----------------------------------------------------------------------------*/
    85 static int sb_channel_volume_set(ddf_fun_t *fun, unsigned item, unsigned channel,
    86     unsigned volume)
     70
     71static int sb_get_item_level(ddf_fun_t *fun, unsigned item, unsigned *value)
    8772{
    8873        assert(fun);
    8974        const sb_mixer_t *mixer = ddf_fun_data_get(fun);
    9075        assert(mixer);
    91         return sb_mixer_set_volume_level(mixer, item, channel, volume);
    92 }
    93 /*----------------------------------------------------------------------------*/
    94 static int sb_channel_volume_get(ddf_fun_t *fun, unsigned item, unsigned channel,
    95     unsigned *level, unsigned *max)
    96 {
    97         assert(fun);
    98         const sb_mixer_t *mixer = ddf_fun_data_get(fun);
    99         assert(mixer);
    100         unsigned levels;
    101         const int ret =
    102             sb_mixer_get_channel_info(mixer, item, channel, NULL, &levels);
    103         if (ret == EOK && max)
    104                 *max = --levels;
    105         if (ret == EOK && level)
    106                 *level = sb_mixer_get_volume_level(mixer, item, channel);
    107 
    108         return ret;
     76        return sb_mixer_get_control_item_value(mixer, item, value);
    10977}
    11078
     
    11280        .get_info = sb_get_info,
    11381        .get_item_info = sb_get_item_info,
    114         .get_channel_info = sb_get_channel_info,
    11582
    116         .channel_mute_set = sb_channel_mute_set,
    117         .channel_mute_get = sb_channel_mute_get,
    118 
    119         .channel_volume_set = sb_channel_volume_set,
    120         .channel_volume_get = sb_channel_volume_get,
    121 
     83        .get_item_level = sb_get_item_level,
     84        .set_item_level = sb_set_item_level,
    12285};
    12386/**
Note: See TracChangeset for help on using the changeset viewer.