Commit de65360b authored by Heiner Kallweit's avatar Heiner Kallweit Committed by Takashi Iwai

ALSA: hda_intel: add card number to irq description

Currently the info in /proc/interrupts doesn't allow to figure out which
interrupt belongs to which card (HDMI, PCH, ..).
Therefore add card details to the interrupt description.
With the patch the info in /proc/interrupts looks like this:

PCI-MSI 442368-edge      snd_hda_intel:card1
PCI-MSI 49152-edge      snd_hda_intel:card0

NOTE: this patch adds the new irq_descr field snd_card struct that is
filled automatically at a card object creation.  This can be used
generically for other drivers as well.  The changes for others will
follow later -- tiwai
Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 3567eb6a
...@@ -99,6 +99,7 @@ struct snd_card { ...@@ -99,6 +99,7 @@ struct snd_card {
char driver[16]; /* driver name */ char driver[16]; /* driver name */
char shortname[32]; /* short name of this soundcard */ char shortname[32]; /* short name of this soundcard */
char longname[80]; /* name of this soundcard */ char longname[80]; /* name of this soundcard */
char irq_descr[32]; /* Interrupt description */
char mixername[80]; /* mixer name */ char mixername[80]; /* mixer name */
char components[128]; /* card components delimited with char components[128]; /* card components delimited with
space */ space */
......
...@@ -268,6 +268,9 @@ int snd_card_new(struct device *parent, int idx, const char *xid, ...@@ -268,6 +268,9 @@ int snd_card_new(struct device *parent, int idx, const char *xid,
if (err < 0) if (err < 0)
goto __error; goto __error;
snprintf(card->irq_descr, sizeof(card->irq_descr), "%s:%s",
dev_driver_string(card->dev), dev_name(&card->card_dev));
/* the control interface cannot be accessed from the user space until */ /* the control interface cannot be accessed from the user space until */
/* snd_cards_bitmask and snd_cards are set with snd_card_register */ /* snd_cards_bitmask and snd_cards are set with snd_card_register */
err = snd_ctl_create(card); err = snd_ctl_create(card);
......
...@@ -725,7 +725,7 @@ static int azx_acquire_irq(struct azx *chip, int do_disconnect) ...@@ -725,7 +725,7 @@ static int azx_acquire_irq(struct azx *chip, int do_disconnect)
if (request_irq(chip->pci->irq, azx_interrupt, if (request_irq(chip->pci->irq, azx_interrupt,
chip->msi ? 0 : IRQF_SHARED, chip->msi ? 0 : IRQF_SHARED,
KBUILD_MODNAME, chip)) { chip->card->irq_descr, chip)) {
dev_err(chip->card->dev, dev_err(chip->card->dev,
"unable to grab IRQ %d, disabling device\n", "unable to grab IRQ %d, disabling device\n",
chip->pci->irq); chip->pci->irq);
......
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