Commit c021ca72 authored by Gergo Koteles's avatar Gergo Koteles Committed by Takashi Iwai
Browse files

ALSA: hda/tas2781: add configurable global i2c address



Make the global i2c address configurable to support compatible amplifiers
with different global i2c address.

Signed-off-by: default avatarGergo Koteles <soyer@irl.hu>
Link: https://lore.kernel.org/r/a252f1efeed5049f027f01e699c9e10e1e05bf9e.1703891777.git.soyer@irl.hu


Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 76f5f55c
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -121,6 +121,8 @@ struct tasdevice_priv {
	bool force_fwload_status;
	bool playback_started;
	bool isacpi;
	unsigned int global_addr;

	int (*fw_parse_variable_header)(struct tasdevice_priv *tas_priv,
		const struct firmware *fmw, int offset);
	int (*fw_parse_program_data)(struct tasdevice_priv *tas_priv,
+2 −1
Original line number Diff line number Diff line
@@ -81,7 +81,7 @@ static int tas2781_get_i2c_res(struct acpi_resource *ares, void *data)

	if (i2c_acpi_get_i2c_resource(ares, &sb)) {
		if (tas_priv->ndev < TASDEVICE_MAX_CHANNELS &&
			sb->slave_address != TAS2781_GLOBAL_ADDR) {
			sb->slave_address != tas_priv->global_addr) {
			tas_priv->tasdevice[tas_priv->ndev].dev_addr =
				(unsigned int)sb->slave_address;
			tas_priv->ndev++;
@@ -701,6 +701,7 @@ static int tas2781_hda_i2c_probe(struct i2c_client *clt)
		device_name = "TIAS2781";
		tas_hda->priv->save_calibration = tas2781_save_calibration;
		tas_hda->priv->apply_calibration = tas2781_apply_calib;
		tas_hda->priv->global_addr = TAS2781_GLOBAL_ADDR;
	} else
		return -ENODEV;