1f5fbb83fSMauro Carvalho Chehab // SPDX-License-Identifier: GPL-2.0
29d4fa1a1SMauro Carvalho Chehab /*
39d4fa1a1SMauro Carvalho Chehab  * Support for Intel Camera Imaging ISP subsystem.
49d4fa1a1SMauro Carvalho Chehab  * Copyright (c) 2015, Intel Corporation.
59d4fa1a1SMauro Carvalho Chehab  *
69d4fa1a1SMauro Carvalho Chehab  * This program is free software; you can redistribute it and/or modify it
79d4fa1a1SMauro Carvalho Chehab  * under the terms and conditions of the GNU General Public License,
89d4fa1a1SMauro Carvalho Chehab  * version 2, as published by the Free Software Foundation.
99d4fa1a1SMauro Carvalho Chehab  *
109d4fa1a1SMauro Carvalho Chehab  * This program is distributed in the hope it will be useful, but WITHOUT
119d4fa1a1SMauro Carvalho Chehab  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
129d4fa1a1SMauro Carvalho Chehab  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
139d4fa1a1SMauro Carvalho Chehab  * more details.
149d4fa1a1SMauro Carvalho Chehab  */
159d4fa1a1SMauro Carvalho Chehab 
169d4fa1a1SMauro Carvalho Chehab #include "../../include/linux/atomisp.h"
17469a7306SMauro Carvalho Chehab #include "../../include/linux/atomisp_platform.h"
189d4fa1a1SMauro Carvalho Chehab #include "ia_css_version.h"
199d4fa1a1SMauro Carvalho Chehab #include "ia_css_version_data.h"
209d4fa1a1SMauro Carvalho Chehab #include "ia_css_err.h"
219d4fa1a1SMauro Carvalho Chehab #include "sh_css_firmware.h"
229d4fa1a1SMauro Carvalho Chehab 
2341022d35SMauro Carvalho Chehab int
ia_css_get_version(char * version,int max_size)24*c3cdc019SDeepak R Varma ia_css_get_version(char *version, int max_size)
25*c3cdc019SDeepak R Varma {
269d4fa1a1SMauro Carvalho Chehab 	char *css_version;
279d4fa1a1SMauro Carvalho Chehab 
28469a7306SMauro Carvalho Chehab 	if (!IS_ISP2401)
299d4fa1a1SMauro Carvalho Chehab 		css_version = ISP2400_CSS_VERSION_STRING;
309d4fa1a1SMauro Carvalho Chehab 	else
319d4fa1a1SMauro Carvalho Chehab 		css_version = ISP2401_CSS_VERSION_STRING;
329d4fa1a1SMauro Carvalho Chehab 
339d4fa1a1SMauro Carvalho Chehab 	if (max_size <= (int)strlen(css_version) + (int)strlen(sh_css_get_fw_version()) + 5)
3441022d35SMauro Carvalho Chehab 		return -EINVAL;
3548b532b9SMauro Carvalho Chehab 	strscpy(version, css_version, max_size);
369d4fa1a1SMauro Carvalho Chehab 	strcat(version, "FW:");
379d4fa1a1SMauro Carvalho Chehab 	strcat(version, sh_css_get_fw_version());
389d4fa1a1SMauro Carvalho Chehab 	strcat(version, "; ");
3941022d35SMauro Carvalho Chehab 	return 0;
409d4fa1a1SMauro Carvalho Chehab }
41