[PATCH 1/2] ASoC: tlv320aic326x: Support for TI TLV320AIC3262 audio driver

Peter Korsgaard jacmet at sunsite.dk
Thu Dec 20 02:50:44 EST 2012


>>>>> "Mehar" == Mehar Bajwa <mehar.bajwa at ti.com> writes:

Hi,

 Mehar> TI TLV320AIC3262 is a flexible, low-power, low-voltage stereo
 Mehar> audio codec with digital microphone inputs and programmable
 Mehar> outputs. It includes powertune capabilities, enhanced
 Mehar> fully-programmable miniDSP, fixed predefined and parameterizable
 Mehar> signal processing blocks, integrated PLL and flexible digital
 Mehar> interfaces.

 Mehar> +	file = devm_kzalloc(codec->dev, PAGE_SIZE, GFP_KERNEL);
 Mehar> +	if (file == NULL)
 Mehar> +		return -ENOMEM;
 Mehar> +
 Mehar> +	snprintf(file, PAGE_SIZE, "%s_fw_v%d.bin", ps_state->dev_name,
 Mehar> +				ps_state->version);
 Mehar> +	file[PAGE_SIZE - 1] = '\0';
 Mehar> +
 Mehar> +	ret = request_firmware_nowait(THIS_MODULE, FW_ACTION_HOTPLUG,
 Mehar> +				file, codec->dev,
 Mehar> +				GFP_KERNEL, codec, aic3262_firmware_load);

What is this firmware, where can it be found and what is it's license?

You seem to be leaking file here.

 Mehar> +	if (ret < 0) {
 Mehar> +		dev_err(codec->dev, "Firmware request failed\n");
 Mehar> +		goto firm_err;
 Mehar> +	}
 Mehar> +
 Mehar> +	return 0;
 Mehar> +firm_err:
 Mehar> +	if (irq_ret)
 Mehar> +		aic3xxx_free_irq(aic3xxx,
 Mehar> +				 AIC3XXX_IRQ_HEADSET_DETECT, codec);
 Mehar> +	destroy_workqueue(aic3262->workqueue);
 Mehar> +work_err:
 Mehar> +	kfree(aic3262->cfw_p);
 Mehar> +	return ret;
 Mehar> +}

-- 
Bye, Peter Korsgaard


More information about the devicetree-discuss mailing list