Commit 7d53a631 authored by Adrian Knoth's avatar Adrian Knoth Committed by Takashi Iwai

ALSA: hdspm - Refactor serial number to avoid code duplication

The serial number is used multiple times in hdspm.c. Since it belongs
to the card, let's store it in struct hdspm and refer to it whenever
necessary.
Signed-off-by: default avatarAdrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 4fa0e81b
...@@ -941,6 +941,8 @@ struct hdspm { ...@@ -941,6 +941,8 @@ struct hdspm {
cycles_t last_interrupt; cycles_t last_interrupt;
unsigned int serial;
struct hdspm_peak_rms peak_rms; struct hdspm_peak_rms peak_rms;
}; };
...@@ -4694,7 +4696,7 @@ snd_hdspm_proc_read_madi(struct snd_info_entry * entry, ...@@ -4694,7 +4696,7 @@ snd_hdspm_proc_read_madi(struct snd_info_entry * entry,
snd_iprintf(buffer, "HW Serial: 0x%06x%06x\n", snd_iprintf(buffer, "HW Serial: 0x%06x%06x\n",
(hdspm_read(hdspm, HDSPM_midiStatusIn1)>>8) & 0xFFFFFF, (hdspm_read(hdspm, HDSPM_midiStatusIn1)>>8) & 0xFFFFFF,
(hdspm_read(hdspm, HDSPM_midiStatusIn0)>>8) & 0xFFFFFF); hdspm->serial);
snd_iprintf(buffer, "IRQ: %d Registers bus: 0x%lx VM: 0x%lx\n", snd_iprintf(buffer, "IRQ: %d Registers bus: 0x%lx VM: 0x%lx\n",
hdspm->irq, hdspm->port, (unsigned long)hdspm->iobase); hdspm->irq, hdspm->port, (unsigned long)hdspm->iobase);
...@@ -6266,8 +6268,7 @@ static int snd_hdspm_hwdep_ioctl(struct snd_hwdep *hw, struct file *file, ...@@ -6266,8 +6268,7 @@ static int snd_hdspm_hwdep_ioctl(struct snd_hwdep *hw, struct file *file,
hdspm_version.card_type = hdspm->io_type; hdspm_version.card_type = hdspm->io_type;
strncpy(hdspm_version.cardname, hdspm->card_name, strncpy(hdspm_version.cardname, hdspm->card_name,
sizeof(hdspm_version.cardname)); sizeof(hdspm_version.cardname));
hdspm_version.serial = (hdspm_read(hdspm, hdspm_version.serial = hdspm->serial;
HDSPM_midiStatusIn0)>>8) & 0xFFFFFF;
hdspm_version.firmware_rev = hdspm->firmware_rev; hdspm_version.firmware_rev = hdspm->firmware_rev;
hdspm_version.addons = 0; hdspm_version.addons = 0;
if (hdspm->tco) if (hdspm->tco)
...@@ -6866,12 +6867,14 @@ static int __devinit snd_hdspm_probe(struct pci_dev *pci, ...@@ -6866,12 +6867,14 @@ static int __devinit snd_hdspm_probe(struct pci_dev *pci,
} }
if (hdspm->io_type != MADIface) { if (hdspm->io_type != MADIface) {
hdspm->serial = (hdspm_read(hdspm,
HDSPM_midiStatusIn0)>>8) & 0xFFFFFF;
sprintf(card->shortname, "%s_%x", sprintf(card->shortname, "%s_%x",
hdspm->card_name, hdspm->card_name,
(hdspm_read(hdspm, HDSPM_midiStatusIn0)>>8) & 0xFFFFFF); hdspm->serial);
sprintf(card->longname, "%s S/N 0x%x at 0x%lx, irq %d", sprintf(card->longname, "%s S/N 0x%x at 0x%lx, irq %d",
hdspm->card_name, hdspm->card_name,
(hdspm_read(hdspm, HDSPM_midiStatusIn0)>>8) & 0xFFFFFF, hdspm->serial,
hdspm->port, hdspm->irq); hdspm->port, hdspm->irq);
} else { } else {
sprintf(card->shortname, "%s", hdspm->card_name); sprintf(card->shortname, "%s", hdspm->card_name);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment