Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0950c358 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa

* master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa:
  [ALSA] echoaudio - Remove kfree_nocheck()
  [ALSA] echoaudio - Fix Makefile
  [ALSA] Add Intel D965 board support
  [ALSA] Fix/add support of Realtek ALC883 / ALC888 and ALC861 codecs
  [ALSA] Fix a typo in echoaudio/midi.c
  [ALSA] snd-aoa: enable dual-edge in GPIOs
  [ALSA] snd-aoa: support iMac G5 iSight
  [ALSA] snd-aoa: not experimental
  [ALSA] Add echoaudio sound drivers
  [ALSA] ak4xxx-adda - Code clean-up
  [ALSA] Remove CONFIG_EXPERIMENTAL from intel8x0m driver
  [ALSA] Stereo controls for M-Audio Revolution cards
  [ALSA] Fix misuse of __list_add() in seq_ports.c
  [ALSA] hda-codec - Add model entry for Samsung X60 Chane
  [ALSA] make CONFIG_SND_DYNAMIC_MINORS non-experimental
  [ALSA] Fix wrong dependencies of snd-aoa driver
  [ALSA] fix build failure due to snd-aoa
  [ALSA] AD1888 mixer controls for DC mode
  [ALSA] Suppress irq handler mismatch messages in ALSA ISA drivers
  [ALSA] usb-audio support for Turtle Beach Roadie
parents 3aa590c6 8caf7aa2
Loading
Loading
Loading
Loading
+104 −2
Original line number Diff line number Diff line
@@ -472,6 +472,22 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.

    The power-management is supported.

  Module snd-darla20
  ------------------

    Module for Echoaudio Darla20

    This module supports multiple cards.
    The driver requires the firmware loader support on kernel.

  Module snd-darla24
  ------------------

    Module for Echoaudio Darla24

    This module supports multiple cards.
    The driver requires the firmware loader support on kernel.

  Module snd-dt019x
  -----------------

@@ -499,6 +515,14 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.

    The power-management is supported.

  Module snd-echo3g
  -----------------

    Module for Echoaudio 3G cards (Gina3G/Layla3G)

    This module supports multiple cards.
    The driver requires the firmware loader support on kernel.

  Module snd-emu10k1
  ------------------

@@ -657,6 +681,22 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
    
    The power-management is supported.

  Module snd-gina20
  -----------------

    Module for Echoaudio Gina20

    This module supports multiple cards.
    The driver requires the firmware loader support on kernel.

  Module snd-gina24
  -----------------

    Module for Echoaudio Gina24

    This module supports multiple cards.
    The driver requires the firmware loader support on kernel.

  Module snd-gusclassic
  ---------------------

@@ -760,12 +800,18 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
	  basic		fixed pin assignment w/o SPDIF
	  auto		auto-config reading BIOS (default)

	ALC882/883/885
	ALC882/885
	  3stack-dig	3-jack with SPDIF I/O
	  6stck-dig	6-jack digital with SPDIF I/O
	  auto		auto-config reading BIOS (default)

	ALC861
	ALC883/888
	  3stack-dig	3-jack with SPDIF I/O
	  6stack-dig	6-jack digital with SPDIF I/O
	  6stack-dig-demo  6-stack digital for Intel demo board
	  auto		auto-config reading BIOS (default)

	ALC861/660
	  3stack	3-jack
	  3stack-dig	3-jack with SPDIF I/O
	  6stack-dig	6-jack with SPDIF I/O
@@ -937,6 +983,30 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
	  driver isn't configured properly or you want to try another
	  type for testing.

  Module snd-indigo
  -----------------

    Module for Echoaudio Indigo

    This module supports multiple cards.
    The driver requires the firmware loader support on kernel.

  Module snd-indigodj
  -------------------

    Module for Echoaudio Indigo DJ

    This module supports multiple cards.
    The driver requires the firmware loader support on kernel.

  Module snd-indigoio
  -------------------

    Module for Echoaudio Indigo IO

    This module supports multiple cards.
    The driver requires the firmware loader support on kernel.

  Module snd-intel8x0
  -------------------

@@ -1036,6 +1106,22 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.

    This module supports multiple cards.

  Module snd-layla20
  ------------------

    Module for Echoaudio Layla20

    This module supports multiple cards.
    The driver requires the firmware loader support on kernel.

  Module snd-layla24
  ------------------

    Module for Echoaudio Layla24

    This module supports multiple cards.
    The driver requires the firmware loader support on kernel.

  Module snd-maestro3
  -------------------

@@ -1056,6 +1142,14 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.

    The power-management is supported.

  Module snd-mia
  ---------------

    Module for Echoaudio Mia

    This module supports multiple cards.
    The driver requires the firmware loader support on kernel.

  Module snd-miro
  ---------------

@@ -1088,6 +1182,14 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
    When no hotplug fw loader is available, you need to load the
    firmware via mixartloader utility in alsa-tools package.

  Module snd-mona
  ---------------

    Module for Echoaudio Mona

    This module supports multiple cards.
    The driver requires the firmware loader support on kernel.

  Module snd-mpu401
  -----------------

+1 −0
Original line number Diff line number Diff line
@@ -265,6 +265,7 @@

/* specific - Analog Devices */
#define AC97_AD_TEST		0x5a	/* test register */
#define AC97_AD_TEST2		0x5c	/* undocumented test register 2 */
#define AC97_AD_CODEC_CFG	0x70	/* codec configuration */
#define AC97_AD_JACK_SPDIF	0x72	/* Jack Sense & S/PDIF */
#define AC97_AD_SERIAL_CFG	0x74	/* Serial Configuration */
+23 −12
Original line number Diff line number Diff line
@@ -32,8 +32,8 @@ struct snd_akm4xxx;
struct snd_ak4xxx_ops {
	void (*lock)(struct snd_akm4xxx *ak, int chip);
	void (*unlock)(struct snd_akm4xxx *ak, int chip);
	void (*write)(struct snd_akm4xxx *ak, int chip, unsigned char reg, unsigned char val);
	// unsigned char (*read)(struct snd_akm4xxx *ak, int chip, unsigned char reg);
	void (*write)(struct snd_akm4xxx *ak, int chip, unsigned char reg,
		      unsigned char val);
	void (*set_rate_val)(struct snd_akm4xxx *ak, unsigned int rate);
};

@@ -44,7 +44,9 @@ struct snd_akm4xxx {
	unsigned int num_adcs;			/* AK4524 or AK4528 ADCs */
	unsigned int num_dacs;			/* AK4524 or AK4528 DACs */
	unsigned char images[AK4XXX_IMAGE_SIZE]; /* saved register image */
	unsigned char ipga_gain[AK4XXX_MAX_CHIPS][2];	/* saved register image for IPGA (AK4528) */
	unsigned char ipga_gain[AK4XXX_MAX_CHIPS][2]; /* saved register image
						       * for IPGA (AK4528)
						       */
	unsigned long private_value[AK4XXX_MAX_CHIPS];	/* helper for driver */
	void *private_data[AK4XXX_MAX_CHIPS];		/* helper for driver */
	/* template should fill the following fields */
@@ -53,17 +55,26 @@ struct snd_akm4xxx {
		SND_AK4524, SND_AK4528, SND_AK4529,
		SND_AK4355, SND_AK4358, SND_AK4381
	} type;
	unsigned int *num_stereo;	/* array of combined counts
					 * for the mixer
					 */
	char **channel_names;		/* array of mixer channel names */
	struct snd_ak4xxx_ops ops;
};

void snd_akm4xxx_write(struct snd_akm4xxx *ak, int chip, unsigned char reg, unsigned char val);
void snd_akm4xxx_write(struct snd_akm4xxx *ak, int chip, unsigned char reg,
		       unsigned char val);
void snd_akm4xxx_reset(struct snd_akm4xxx *ak, int state);
void snd_akm4xxx_init(struct snd_akm4xxx *ak);
int snd_akm4xxx_build_controls(struct snd_akm4xxx *ak);

#define snd_akm4xxx_get(ak,chip,reg) (ak)->images[(chip) * 16 + (reg)]
#define snd_akm4xxx_set(ak,chip,reg,val) ((ak)->images[(chip) * 16 + (reg)] = (val))
#define snd_akm4xxx_get_ipga(ak,chip,reg) (ak)->ipga_gain[chip][(reg)-4]
#define snd_akm4xxx_set_ipga(ak,chip,reg,val) ((ak)->ipga_gain[chip][(reg)-4] = (val))
#define snd_akm4xxx_get(ak,chip,reg) \
	(ak)->images[(chip) * 16 + (reg)]
#define snd_akm4xxx_set(ak,chip,reg,val) \
	((ak)->images[(chip) * 16 + (reg)] = (val))
#define snd_akm4xxx_get_ipga(ak,chip,reg) \
	(ak)->ipga_gain[chip][(reg)-4]
#define snd_akm4xxx_set_ipga(ak,chip,reg,val) \
	((ak)->ipga_gain[chip][(reg)-4] = (val))

#endif /* __SOUND_AK4XXX_ADDA_H */
+2 −1
Original line number Diff line number Diff line
@@ -62,7 +62,8 @@ static int snd_legacy_find_free_irq(int *irq_table)
{
	while (*irq_table != -1) {
		if (!request_irq(*irq_table, snd_legacy_empty_irq_handler,
				 SA_INTERRUPT, "ALSA Test IRQ", (void *) irq_table)) {
				 SA_INTERRUPT | SA_PROBEIRQ, "ALSA Test IRQ",
				 (void *) irq_table)) {
			free_irq(*irq_table, (void *) irq_table);
			return *irq_table;
		}
+2 −1
Original line number Diff line number Diff line
@@ -4,7 +4,8 @@
obj-$(CONFIG_SOUND) += soundcore.o
obj-$(CONFIG_SOUND_PRIME) += oss/
obj-$(CONFIG_DMASOUND) += oss/
obj-$(CONFIG_SND) += core/ i2c/ drivers/ isa/ pci/ ppc/ arm/ synth/ usb/ sparc/ parisc/ pcmcia/ mips/ aoa/
obj-$(CONFIG_SND) += core/ i2c/ drivers/ isa/ pci/ ppc/ arm/ synth/ usb/ sparc/ parisc/ pcmcia/ mips/
obj-$(CONFIG_SND_AOA) += aoa/

ifeq ($(CONFIG_SND),y)
  obj-y += last.o
Loading