int tfa98xxDiagLoadPresetsMultiple(int slave)
{
	Tfa98xx_handle_t hL, hR, handles[2] ;
	int result = 0; // 1 is failure
	Tfa98xx_Config_t cfg;
	unsigned char tstbuf[0x87 + sizeof(cfg)];

	TRACEIN;
	lastApiError = Tfa98xx_Open(slave << 1, &hL);
	if (lastApiError != Tfa98xx_Error_Ok)
		return 2;
	handles[0]=hL;
	lastApiError = Tfa98xx_Open(slave+1 << 1, &hR);
	if (lastApiError != Tfa98xx_Error_Ok)
		return 3;
	handles[1]=hR;


	lastApiError = Tfa98xx_DspWritePresetMultiple(2, handles, TFA98XX_PRESET_LENGTH,
			settings_HQ_KS_13X18_DUMBO_preset);
	assert(lastApiError == Tfa98xx_Error_Ok);


  stop:
	Tfa98xx_Close(hL);
	Tfa98xx_Close(hR);
	lastError = result;
	TRACEOUT;
	return result;
}
/* load a preset from a file, as generated by the GUI,
   can be done at runtime */
static void setPreset(int handle_cnt, Tfa98xx_handle_t handles[],
	struct tfa98xx_param_data *preset)
{
	enum Tfa98xx_Error err;

	if (preset == NULL || preset->data == NULL) {
		pr_info("%s: not use preset data\n", __func__);
		return;
	}
	pr_debug("%s: start\n", __func__);

	if (handle_cnt >= 2)
		err = Tfa98xx_DspWritePresetMultiple(handle_cnt, handles,
			TFA98XX_PRESET_LENGTH, preset->data);
	else
		err = Tfa98xx_DspWritePreset(handles[0],
			TFA98XX_PRESET_LENGTH, preset->data);

	if (err != Tfa98xx_Error_Ok)
		pr_err("%s: Tfa98xx_DspWritePreset failed\n", __func__);

}