Skip to content

Commit

Permalink
[ALSA] oxygen: move MIDI flag to model struct
Browse files Browse the repository at this point in the history
Put the flag that enables the MIDI port into the model structure instead
of passing it as a separate parameter to oxygen_pci_probe().

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
Clemens Ladisch authored and Takashi Iwai committed Apr 24, 2008
1 parent 87eedd2 commit db12b8e
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 10 deletions.
2 changes: 1 addition & 1 deletion sound/pci/oxygen/hifier.c
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ static int __devinit hifier_probe(struct pci_dev *pci,
++dev;
return -ENOENT;
}
err = oxygen_pci_probe(pci, index[dev], id[dev], 0, &model_hifier);
err = oxygen_pci_probe(pci, index[dev], id[dev], &model_hifier);
if (err >= 0)
++dev;
return err;
Expand Down
3 changes: 2 additions & 1 deletion sound/pci/oxygen/oxygen.c
Original file line number Diff line number Diff line change
Expand Up @@ -336,6 +336,7 @@ static const struct oxygen_model model_meridian = {
CAPTURE_1_FROM_SPDIF |
CAPTURE_2_FROM_AC97_1,
.dac_channels = 8,
.misc_flags = OXYGEN_MISC_MIDI,
.function_flags = OXYGEN_FUNCTION_SPI |
OXYGEN_FUNCTION_ENABLE_SPI_4_5,
.dac_i2s_format = OXYGEN_I2S_FORMAT_LJUST,
Expand All @@ -356,7 +357,7 @@ static int __devinit generic_oxygen_probe(struct pci_dev *pci,
return -ENOENT;
}
is_meridian = pci_id->driver_data;
err = oxygen_pci_probe(pci, index[dev], id[dev], is_meridian,
err = oxygen_pci_probe(pci, index[dev], id[dev],
is_meridian ? &model_meridian : &model_generic);
if (err >= 0)
++dev;
Expand Down
3 changes: 2 additions & 1 deletion sound/pci/oxygen/oxygen.h
Original file line number Diff line number Diff line change
Expand Up @@ -103,14 +103,15 @@ struct oxygen_model {
size_t model_data_size;
unsigned int pcm_dev_cfg;
u8 dac_channels;
u8 misc_flags;
u8 function_flags;
u16 dac_i2s_format;
u16 adc_i2s_format;
};

/* oxygen_lib.c */

int oxygen_pci_probe(struct pci_dev *pci, int index, char *id, int midi,
int oxygen_pci_probe(struct pci_dev *pci, int index, char *id,
const struct oxygen_model *model);
void oxygen_pci_remove(struct pci_dev *pci);

Expand Down
12 changes: 6 additions & 6 deletions sound/pci/oxygen/oxygen_lib.c
Original file line number Diff line number Diff line change
Expand Up @@ -253,11 +253,13 @@ static void oxygen_init(struct oxygen *chip)
OXYGEN_DMA_A_BURST_8 |
OXYGEN_DMA_MULTICH_BURST_8);
oxygen_write16(chip, OXYGEN_INTERRUPT_MASK, 0);
oxygen_write8_masked(chip, OXYGEN_MISC, 0,
oxygen_write8_masked(chip, OXYGEN_MISC,
chip->model->misc_flags,
OXYGEN_MISC_WRITE_PCI_SUBID |
OXYGEN_MISC_REC_C_FROM_SPDIF |
OXYGEN_MISC_REC_B_FROM_AC97 |
OXYGEN_MISC_REC_A_FROM_MULTICH);
OXYGEN_MISC_REC_A_FROM_MULTICH |
OXYGEN_MISC_MIDI);
oxygen_write8(chip, OXYGEN_REC_FORMAT,
(OXYGEN_FORMAT_16 << OXYGEN_REC_FORMAT_A_SHIFT) |
(OXYGEN_FORMAT_16 << OXYGEN_REC_FORMAT_B_SHIFT) |
Expand Down Expand Up @@ -400,7 +402,7 @@ static void oxygen_card_free(struct snd_card *card)
}

int oxygen_pci_probe(struct pci_dev *pci, int index, char *id,
int midi, const struct oxygen_model *model)
const struct oxygen_model *model)
{
struct snd_card *card;
struct oxygen *chip;
Expand Down Expand Up @@ -472,9 +474,7 @@ int oxygen_pci_probe(struct pci_dev *pci, int index, char *id,
if (err < 0)
goto err_card;

oxygen_write8_masked(chip, OXYGEN_MISC,
midi ? OXYGEN_MISC_MIDI : 0, OXYGEN_MISC_MIDI);
if (midi) {
if (model->misc_flags & OXYGEN_MISC_MIDI) {
err = snd_mpu401_uart_new(card, 0, MPU401_HW_CMIPCI,
chip->addr + OXYGEN_MPU401,
MPU401_INFO_INTEGRATED, 0, 0,
Expand Down
3 changes: 2 additions & 1 deletion sound/pci/oxygen/virtuoso.c
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,7 @@ static const struct oxygen_model model_xonar = {
CAPTURE_0_FROM_I2S_2 |
CAPTURE_1_FROM_SPDIF,
.dac_channels = 8,
.misc_flags = OXYGEN_MISC_MIDI,
.function_flags = OXYGEN_FUNCTION_SPI |
OXYGEN_FUNCTION_ENABLE_SPI_4_5,
.dac_i2s_format = OXYGEN_I2S_FORMAT_LJUST,
Expand All @@ -371,7 +372,7 @@ static int __devinit xonar_probe(struct pci_dev *pci,
++dev;
return -ENOENT;
}
err = oxygen_pci_probe(pci, index[dev], id[dev], 1, &model_xonar);
err = oxygen_pci_probe(pci, index[dev], id[dev], &model_xonar);
if (err >= 0)
++dev;
return err;
Expand Down

0 comments on commit db12b8e

Please sign in to comment.