Changeset 83


Ignore:
Timestamp:
Sep 25, 2006, 11:09:35 PM (19 years ago)
Author:
vladest
Message:

Yamaha updates

Location:
GPL/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • GPL/trunk/alsa-kernel/pci/ymfpci/ymfpci_main.c

    r35 r83  
    12741274}
    12751275
    1276 static snd_kcontrol_new_t snd_ymfpci_spdif_default __devinitdata =
    1277 {
    1278     SNDRV_CTL_ELEM_IFACE_PCM,0,0,
    1279     SNDRV_CTL_NAME_IEC958("",PLAYBACK,DEFAULT),0,0,0,
    1280     snd_ymfpci_spdif_default_info,
    1281     snd_ymfpci_spdif_default_get,
    1282     snd_ymfpci_spdif_default_put,0
     1276static struct snd_kcontrol_new snd_ymfpci_spdif_default __devinitdata =
     1277{
     1278        .iface =        SNDRV_CTL_ELEM_IFACE_PCM,
     1279        .name =         SNDRV_CTL_NAME_IEC958("",PLAYBACK,DEFAULT),
     1280        .info =         snd_ymfpci_spdif_default_info,
     1281        .get =          snd_ymfpci_spdif_default_get,
     1282        .put =          snd_ymfpci_spdif_default_put
    12831283};
    12841284
     
    13021302}
    13031303
    1304 static snd_kcontrol_new_t snd_ymfpci_spdif_mask __devinitdata =
    1305 {
    1306     SNDRV_CTL_ELEM_IFACE_MIXER,0,0,
    1307     SNDRV_CTL_NAME_IEC958("",PLAYBACK,CON_MASK),0,
    1308     SNDRV_CTL_ELEM_ACCESS_READ,0,
    1309     snd_ymfpci_spdif_mask_info,
    1310     snd_ymfpci_spdif_mask_get,0,0
     1304static struct snd_kcontrol_new snd_ymfpci_spdif_mask __devinitdata =
     1305{
     1306        .access =       SNDRV_CTL_ELEM_ACCESS_READ,
     1307        .iface =        SNDRV_CTL_ELEM_IFACE_PCM,
     1308        .name =         SNDRV_CTL_NAME_IEC958("",PLAYBACK,CON_MASK),
     1309        .info =         snd_ymfpci_spdif_mask_info,
     1310        .get =          snd_ymfpci_spdif_mask_get,
    13111311};
     1312
    13121313
    13131314static int snd_ymfpci_spdif_stream_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
     
    13481349}
    13491350
    1350 static snd_kcontrol_new_t snd_ymfpci_spdif_stream __devinitdata =
    1351 {
    1352     SNDRV_CTL_ELEM_IFACE_PCM,0,0,
    1353     SNDRV_CTL_NAME_IEC958("",PLAYBACK,PCM_STREAM),0,
    1354     SNDRV_CTL_ELEM_ACCESS_READWRITE | SNDRV_CTL_ELEM_ACCESS_INACTIVE,0,
    1355     snd_ymfpci_spdif_stream_info,
    1356     snd_ymfpci_spdif_stream_get,
    1357     snd_ymfpci_spdif_stream_put,0
     1351static struct snd_kcontrol_new snd_ymfpci_spdif_stream __devinitdata =
     1352{
     1353        .access =       SNDRV_CTL_ELEM_ACCESS_READWRITE | SNDRV_CTL_ELEM_ACCESS_INACTIVE,
     1354        .iface =        SNDRV_CTL_ELEM_IFACE_PCM,
     1355        .name =         SNDRV_CTL_NAME_IEC958("",PLAYBACK,PCM_STREAM),
     1356        .info =         snd_ymfpci_spdif_stream_info,
     1357        .get =          snd_ymfpci_spdif_stream_get,
     1358        .put =          snd_ymfpci_spdif_stream_put
    13581359};
     1360
    13591361
    13601362static int snd_ymfpci_drec_source_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *info)
     
    14021404}
    14031405
    1404 static snd_kcontrol_new_t snd_ymfpci_drec_source __devinitdata = {
    1405     /*  .iface =   */     SNDRV_CTL_ELEM_IFACE_MIXER, 0,0,
    1406     /*  .name =    */     "Direct Recording Source", 0,
    1407     /*  .access =  */     SNDRV_CTL_ELEM_ACCESS_READWRITE, 0,
    1408     /*  .info =    */     snd_ymfpci_drec_source_info,
    1409     /*  .get =     */     snd_ymfpci_drec_source_get,
    1410     /*  .put =     */     snd_ymfpci_drec_source_put,
    1411     0
     1406static struct snd_kcontrol_new snd_ymfpci_drec_source __devinitdata = {
     1407        .access =       SNDRV_CTL_ELEM_ACCESS_READWRITE,
     1408        .iface =        SNDRV_CTL_ELEM_IFACE_MIXER,
     1409        .name =         "Direct Recording Source",
     1410        .info =         snd_ymfpci_drec_source_info,
     1411        .get =          snd_ymfpci_drec_source_get,
     1412        .put =          snd_ymfpci_drec_source_put
    14121413};
     1414
    14131415/*
    14141416 *  Mixer controls
    14151417 */
    14161418
     1419#define YMFPCI_SINGLE(xname, xindex, reg, shift) \
     1420{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
     1421  .info = snd_ymfpci_info_single, \
     1422  .get = snd_ymfpci_get_single, .put = snd_ymfpci_put_single, \
     1423  .private_value = ((reg) | ((shift) << 16)) }
     1424
     1425#if 0
    14171426#define YMFPCI_SINGLE(xname, xindex, reg) \
    14181427    { SNDRV_CTL_ELEM_IFACE_MIXER, 0,0, xname, xindex, \
     
    14211430    reg }
    14221431
     1432#endif
    14231433static int snd_ymfpci_info_single(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
    14241434{
     
    14811491
    14821492#define YMFPCI_DOUBLE(xname, xindex, reg) \
    1483     { SNDRV_CTL_ELEM_IFACE_MIXER, 0,0, xname, xindex, \
    1484     0, 0, snd_ymfpci_info_double, \
    1485     snd_ymfpci_get_double, snd_ymfpci_put_double, \
    1486     reg }
     1493{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
     1494  .info = snd_ymfpci_info_double, \
     1495  .get = snd_ymfpci_get_double, .put = snd_ymfpci_put_double, \
     1496  .private_value = reg }
    14871497
    14881498static int snd_ymfpci_info_double(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
     
    15771587}
    15781588
    1579 
    1580 #define YMFPCI_CONTROLS (sizeof(snd_ymfpci_controls)/sizeof(snd_kcontrol_new_t))
    1581 
    1582 static snd_kcontrol_new_t snd_ymfpci_controls[] __devinitdata = {
    1583     YMFPCI_DOUBLE("Wave Playback Volume", 0, YDSXGR_NATIVEDACOUTVOL),
    1584     YMFPCI_DOUBLE("Wave Capture Volume", 0, YDSXGR_NATIVEDACLOOPVOL),
    1585     YMFPCI_DOUBLE("Digital Capture Volume", 0, YDSXGR_NATIVEDACINVOL),
    1586     YMFPCI_DOUBLE("Digital Capture Volume", 1, YDSXGR_NATIVEADCINVOL),
    1587     YMFPCI_DOUBLE("ADC Playback Volume", 0, YDSXGR_PRIADCOUTVOL),
    1588     YMFPCI_DOUBLE("ADC Capture Volume", 0, YDSXGR_PRIADCLOOPVOL),
    1589     YMFPCI_DOUBLE("ADC Playback Volume", 1, YDSXGR_SECADCOUTVOL),
    1590     YMFPCI_DOUBLE("ADC Capture Volume", 1, YDSXGR_SECADCLOOPVOL),
    1591     YMFPCI_DOUBLE("FM Legacy Volume", 0, YDSXGR_LEGACYOUTVOL),
    1592     YMFPCI_DOUBLE(SNDRV_CTL_NAME_IEC958("AC97 ", PLAYBACK,VOLUME), 0, YDSXGR_ZVOUTVOL),
    1593     YMFPCI_DOUBLE(SNDRV_CTL_NAME_IEC958("", CAPTURE,VOLUME), 0, YDSXGR_ZVLOOPVOL),
    1594     YMFPCI_DOUBLE(SNDRV_CTL_NAME_IEC958("AC97 ",PLAYBACK,VOLUME), 1, YDSXGR_SPDIFOUTVOL),
    1595     YMFPCI_DOUBLE(SNDRV_CTL_NAME_IEC958("",CAPTURE,VOLUME), 1, YDSXGR_SPDIFLOOPVOL),
    1596     YMFPCI_SINGLE(SNDRV_CTL_NAME_IEC958("",PLAYBACK,SWITCH), 0, YDSXGR_SPDIFOUTCTRL),
    1597     YMFPCI_SINGLE(SNDRV_CTL_NAME_IEC958("",CAPTURE,SWITCH), 0, YDSXGR_SPDIFINCTRL),
    1598     {
    1599         /*.iface = */SNDRV_CTL_ELEM_IFACE_MIXER,0,0,
    1600         /*.name =  */"4ch Duplication",0,0,0,
    1601         /*.info =  */snd_ymfpci_info_dup4ch,
    1602         /*.get =   */snd_ymfpci_get_dup4ch,
    1603         /*.put =   */snd_ymfpci_put_dup4ch,
    1604     },
     1589static struct snd_kcontrol_new snd_ymfpci_controls[] __devinitdata = {
     1590YMFPCI_DOUBLE("Wave Playback Volume", 0, YDSXGR_NATIVEDACOUTVOL),
     1591YMFPCI_DOUBLE("Wave Capture Volume", 0, YDSXGR_NATIVEDACLOOPVOL),
     1592YMFPCI_DOUBLE("Digital Capture Volume", 0, YDSXGR_NATIVEDACINVOL),
     1593YMFPCI_DOUBLE("Digital Capture Volume", 1, YDSXGR_NATIVEADCINVOL),
     1594YMFPCI_DOUBLE("ADC Playback Volume", 0, YDSXGR_PRIADCOUTVOL),
     1595YMFPCI_DOUBLE("ADC Capture Volume", 0, YDSXGR_PRIADCLOOPVOL),
     1596YMFPCI_DOUBLE("ADC Playback Volume", 1, YDSXGR_SECADCOUTVOL),
     1597YMFPCI_DOUBLE("ADC Capture Volume", 1, YDSXGR_SECADCLOOPVOL),
     1598YMFPCI_DOUBLE("FM Legacy Volume", 0, YDSXGR_LEGACYOUTVOL),
     1599YMFPCI_DOUBLE(SNDRV_CTL_NAME_IEC958("AC97 ", PLAYBACK,VOLUME), 0, YDSXGR_ZVOUTVOL),
     1600YMFPCI_DOUBLE(SNDRV_CTL_NAME_IEC958("", CAPTURE,VOLUME), 0, YDSXGR_ZVLOOPVOL),
     1601YMFPCI_DOUBLE(SNDRV_CTL_NAME_IEC958("AC97 ",PLAYBACK,VOLUME), 1, YDSXGR_SPDIFOUTVOL),
     1602YMFPCI_DOUBLE(SNDRV_CTL_NAME_IEC958("",CAPTURE,VOLUME), 1, YDSXGR_SPDIFLOOPVOL),
     1603YMFPCI_SINGLE(SNDRV_CTL_NAME_IEC958("",PLAYBACK,SWITCH), 0, YDSXGR_SPDIFOUTCTRL, 0),
     1604YMFPCI_SINGLE(SNDRV_CTL_NAME_IEC958("",CAPTURE,SWITCH), 0, YDSXGR_SPDIFINCTRL, 0),
     1605YMFPCI_SINGLE(SNDRV_CTL_NAME_IEC958("Loop",NONE,NONE), 0, YDSXGR_SPDIFINCTRL, 4),
     1606{
     1607        .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
     1608        .name = "4ch Duplication",
     1609        .info = snd_ymfpci_info_dup4ch,
     1610        .get = snd_ymfpci_get_dup4ch,
     1611        .put = snd_ymfpci_put_dup4ch,
     1612},
    16051613};
    16061614
     
    16771685}
    16781686
    1679 static snd_kcontrol_new_t snd_ymfpci_rear_shared __devinitdata = {
    1680     /*.iface =         */SNDRV_CTL_ELEM_IFACE_MIXER,0,0,
    1681     /*.name =          */"Shared Rear/Line-In Switch",0,0,0,
    1682     /*.info =          */snd_ymfpci_gpio_sw_info,
    1683     /*.get =           */snd_ymfpci_gpio_sw_get,
    1684     /*.put =           */snd_ymfpci_gpio_sw_put,
    1685     /*.private_value = */2,
     1687static struct snd_kcontrol_new snd_ymfpci_rear_shared __devinitdata = {
     1688        .name = "Shared Rear/Line-In Switch",
     1689        .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
     1690        .info = snd_ymfpci_gpio_sw_info,
     1691        .get = snd_ymfpci_gpio_sw_get,
     1692        .put = snd_ymfpci_gpio_sw_put,
     1693        .private_value = 2,
    16861694};
    16871695
     
    17691777    unsigned int idx;
    17701778    int err;
    1771     static ac97_bus_ops_t ops = {
    1772         0,snd_ymfpci_codec_write,
    1773         snd_ymfpci_codec_read,0,0
     1779
     1780    static struct snd_ac97_bus_ops ops = {
     1781        .write = snd_ymfpci_codec_write,
     1782        .read = snd_ymfpci_codec_read,
    17741783    };
    17751784    if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &chip->ac97_bus)) < 0)
     
    17831792        return err;
    17841793
    1785     for (idx = 0; idx < YMFPCI_CONTROLS; idx++) {
     1794
     1795    for (idx = 0; idx < ARRAY_SIZE(snd_ymfpci_controls); idx++) {
    17861796        if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_ymfpci_controls[idx], chip))) < 0)
    17871797            return err;
     
    22762286    ymfpci_t *chip;
    22772287    int err;
    2278 #ifdef TARGET_OS2
    2279     static snd_device_ops_t ops = {
    2280         snd_ymfpci_dev_free,0,0,0
     2288
     2289    static struct snd_device_ops ops = {
     2290        .dev_free =     snd_ymfpci_dev_free,
    22812291    };
    2282 #else
    2283     static snd_device_ops_t ops = {
    2284     dev_free:   snd_ymfpci_dev_free,
    2285     };
    2286 #endif
     2292
    22872293    *rchip = NULL;
    22882294
     
    23062312
    23072313    // vladest resource workaround
     2314#if 0
    23082315    if (chip->device_id >= 0x0010)
    23092316        chip->reg_area_phys = pci_resource_start(pci, 2);
    23102317    else
     2318#endif
    23112319        chip->reg_area_phys = pci_resource_start(pci, 0);
    23122320
    2313     chip->reg_area_virt = (unsigned long)ioremap_nocache(chip->reg_area_phys, 0x8000);
     2321    chip->reg_area_virt = (unsigned long)ioremap_nocache(chip->reg_area_phys, /*0x8000*/pci_resource_len(pci, 0));
    23142322    pci_set_master(pci);
    23152323
    2316     if ((chip->res_reg_area = request_mem_region(chip->reg_area_phys, 0x8000, "YMFPCI")) == NULL) {
    2317         snd_printk("unable to grab memory region 0x%lx-0x%lx\n", chip->reg_area_phys, chip->reg_area_phys + 0x8000 - 1);
     2324    if ((chip->res_reg_area = request_mem_region(chip->reg_area_phys, /*0x8000*/pci_resource_len(pci, 0), "YMFPCI")) == NULL) {
     2325        snd_printk("unable to grab memory region 0x%lx-0x%lx\n", chip->reg_area_phys, chip->reg_area_phys + /*0x8000*/pci_resource_len(pci, 0) - 1);
    23182326        snd_ymfpci_free(chip);
    23192327        return -EBUSY;
  • GPL/trunk/include/version.mak

    r82 r83  
    1111BLDLVL_REVISION = 1.1
    1212BLDLVL_FILEVER = 4
    13 BLDLVL_DATETIME = 10.09.2006 17:47:50
     13BLDLVL_DATETIME = 25.09.2006 22:56:59
    1414BLDLVL_MACHINE = VLAD
Note: See TracChangeset for help on using the changeset viewer.