drivers/i2c/ptn3460: Use cb_err in mb_adjust_cfg
Return generic coreboot error codes from the mb_adjust_cfg callback used in mainboards instead of '-1' constant and a driver-specific success-indicating define. BUG=none TEST=Boards siemens/mc_apl{1,4,5,7} and siemens/mc_ehl3 build correctly. Change-Id: I5e0d4e67703db518ed239a845f43047f569b94ec Signed-off-by: Jan Samek <jan.samek@siemens.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/72071 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
This commit is contained in:
parent
b6730e03e2
commit
79312afdde
|
@ -108,7 +108,7 @@ static void ptn3460_init(struct device *dev)
|
|||
}
|
||||
/* Mainboard can modify the configuration data.
|
||||
Write back configuration data to PTN3460 if modified by mainboard */
|
||||
if (mb_adjust_cfg(&cfg) == PTN_CFG_MODIFIED) {
|
||||
if (mb_adjust_cfg(&cfg) == CB_SUCCESS) {
|
||||
ptr = (uint8_t *)&cfg;
|
||||
for (i = 0; i < sizeof(struct ptn_3460_config); i++) {
|
||||
val = i2c_dev_writeb_at(dev, PTN_CONFIG_OFF + i, *ptr++);
|
||||
|
@ -131,9 +131,9 @@ __weak uint8_t mb_select_edid_table(void)
|
|||
{
|
||||
return 0;
|
||||
}
|
||||
__weak int mb_adjust_cfg(struct ptn_3460_config *cfg_ptr)
|
||||
__weak enum cb_err mb_adjust_cfg(struct ptn_3460_config *cfg_ptr)
|
||||
{
|
||||
return 0;
|
||||
return CB_ERR;
|
||||
}
|
||||
|
||||
static struct device_operations ptn3460_ops = {
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
|
||||
/* Define some error codes that can be used */
|
||||
#define PTN_SUCCESS 0x00000000
|
||||
#define PTN_CFG_MODIFIED 0x00000001
|
||||
#define PTN_BUS_ERROR 0x10000000
|
||||
#define PTN_INVALID_EDID 0x20000000
|
||||
#define PTN_INVALID_EDID_BLOCK 0x30000000
|
||||
|
@ -55,6 +54,6 @@ struct ptn_3460_flash {
|
|||
/* These functions can be implemented somewhere else but must exist. */
|
||||
extern enum cb_err mb_get_edid(uint8_t edid_data[0x80]);
|
||||
extern uint8_t mb_select_edid_table(void);
|
||||
extern int mb_adjust_cfg(struct ptn_3460_config *cfg_ptr);
|
||||
extern enum cb_err mb_adjust_cfg(struct ptn_3460_config *cfg_ptr);
|
||||
|
||||
#endif /* _I2C_PTN3460_H_ */
|
||||
|
|
|
@ -39,9 +39,9 @@ uint8_t mb_select_edid_table(void)
|
|||
/** \brief Function to enable mainboard to adjust the config data of PTN3460. For reference,
|
||||
* see NXP document AN11128 - PTN3460 Programming guide.
|
||||
* @param *cfg_ptr Pointer to the PTN config structure to modify
|
||||
* @return -1 on error; PTN_CFG_MODIFIED if data was modified and needs to be updated.
|
||||
* @return CB_SUCCESS if data was modified and needs to be updated; CB_ERR on error
|
||||
*/
|
||||
int mb_adjust_cfg(struct ptn_3460_config *cfg)
|
||||
enum cb_err mb_adjust_cfg(struct ptn_3460_config *cfg)
|
||||
{
|
||||
const char *hwi_block = "hwinfo.hex";
|
||||
uint8_t disp_con = 0, color_depth = 0;
|
||||
|
@ -49,16 +49,16 @@ int mb_adjust_cfg(struct ptn_3460_config *cfg)
|
|||
/* Get display-specific configuration from hwinfo. */
|
||||
if (hwilib_find_blocks(hwi_block) != CB_SUCCESS) {
|
||||
printk(BIOS_ERR, "LCD: Info block \"%s\" not found!\n", hwi_block);
|
||||
return -1;
|
||||
return CB_ERR;
|
||||
}
|
||||
if (hwilib_get_field(PF_DisplCon, &disp_con, sizeof(disp_con)) != sizeof(disp_con)) {
|
||||
printk(BIOS_ERR, "LCD: Missing panel features from %s\n", hwi_block);
|
||||
return -1;
|
||||
return CB_ERR;
|
||||
}
|
||||
if (hwilib_get_field(PF_Color_Depth, &color_depth,
|
||||
sizeof(color_depth)) != sizeof(color_depth)) {
|
||||
printk(BIOS_ERR, "LCD: Missing panel features from %s\n", hwi_block);
|
||||
return -1;
|
||||
return CB_ERR;
|
||||
}
|
||||
|
||||
/* Set up PTN3460 registers based on hwinfo and fixed board-specific parameters: */
|
||||
|
@ -91,5 +91,5 @@ int mb_adjust_cfg(struct ptn_3460_config *cfg)
|
|||
/* Enable backlight control. */
|
||||
cfg->backlight_ctrl = 0x00;
|
||||
|
||||
return PTN_CFG_MODIFIED;
|
||||
return CB_SUCCESS;
|
||||
}
|
||||
|
|
|
@ -39,9 +39,9 @@ uint8_t mb_select_edid_table(void)
|
|||
/** \brief Function to enable mainboard to adjust the config data of PTN3460. For reference,
|
||||
* see NXP document AN11128 - PTN3460 Programming guide.
|
||||
* @param *cfg_ptr Pointer to the PTN config structure to modify
|
||||
* @return -1 on error; PTN_CFG_MODIFIED if data was modified and needs to be updated.
|
||||
* @return CB_SUCCESS if data was modified and needs to be updated; CB_ERR on error
|
||||
*/
|
||||
int mb_adjust_cfg(struct ptn_3460_config *cfg)
|
||||
enum cb_err mb_adjust_cfg(struct ptn_3460_config *cfg)
|
||||
{
|
||||
const char *hwi_block = "hwinfo.hex";
|
||||
uint8_t disp_con = 0, color_depth = 0;
|
||||
|
@ -49,16 +49,16 @@ int mb_adjust_cfg(struct ptn_3460_config *cfg)
|
|||
/* Get display-specific configuration from hwinfo. */
|
||||
if (hwilib_find_blocks(hwi_block) != CB_SUCCESS) {
|
||||
printk(BIOS_ERR, "LCD: Info block \"%s\" not found!\n", hwi_block);
|
||||
return -1;
|
||||
return CB_ERR;
|
||||
}
|
||||
if (hwilib_get_field(PF_DisplCon, &disp_con, sizeof(disp_con)) != sizeof(disp_con)) {
|
||||
printk(BIOS_ERR, "LCD: Missing panel features from %s\n", hwi_block);
|
||||
return -1;
|
||||
return CB_ERR;
|
||||
}
|
||||
if (hwilib_get_field(PF_Color_Depth, &color_depth,
|
||||
sizeof(color_depth)) != sizeof(color_depth)) {
|
||||
printk(BIOS_ERR, "LCD: Missing panel features from %s\n", hwi_block);
|
||||
return -1;
|
||||
return CB_ERR;
|
||||
}
|
||||
|
||||
/* Set up PTN3460 registers based on hwinfo and fixed board-specific parameters: */
|
||||
|
@ -91,5 +91,5 @@ int mb_adjust_cfg(struct ptn_3460_config *cfg)
|
|||
/* Enable backlight control. */
|
||||
cfg->backlight_ctrl = 0x00;
|
||||
|
||||
return PTN_CFG_MODIFIED;
|
||||
return CB_SUCCESS;
|
||||
}
|
||||
|
|
|
@ -64,9 +64,9 @@ uint8_t mb_select_edid_table(void)
|
|||
/** \brief Function to enable mainboard to adjust the config data of PTN3460. For reference,
|
||||
* see NXP document AN11128 - PTN3460 Programming guide.
|
||||
* @param *cfg_ptr Pointer to the PTN config structure to modify
|
||||
* @return -1 on error; PTN_CFG_MODIFIED if data was modified and needs to be updated.
|
||||
* @return CB_SUCCESS if data was modified and needs to be updated; CB_ERR on error
|
||||
*/
|
||||
int mb_adjust_cfg(struct ptn_3460_config *cfg)
|
||||
enum cb_err mb_adjust_cfg(struct ptn_3460_config *cfg)
|
||||
{
|
||||
const char *hwi_block = "hwinfo.hex";
|
||||
uint8_t disp_con = 0, color_depth = 0;
|
||||
|
@ -74,16 +74,16 @@ int mb_adjust_cfg(struct ptn_3460_config *cfg)
|
|||
/* Get display-specific configuration from hwinfo. */
|
||||
if (hwilib_find_blocks(hwi_block) != CB_SUCCESS) {
|
||||
printk(BIOS_ERR, "LCD: Info block \"%s\" not found!\n", hwi_block);
|
||||
return -1;
|
||||
return CB_ERR;
|
||||
}
|
||||
if (hwilib_get_field(PF_DisplCon, &disp_con, sizeof(disp_con)) != sizeof(disp_con)) {
|
||||
printk(BIOS_ERR, "LCD: Missing panel features from %s\n", hwi_block);
|
||||
return -1;
|
||||
return CB_ERR;
|
||||
}
|
||||
if (hwilib_get_field(PF_Color_Depth, &color_depth,
|
||||
sizeof(color_depth)) != sizeof(color_depth)) {
|
||||
printk(BIOS_ERR, "LCD: Missing panel features from %s\n", hwi_block);
|
||||
return -1;
|
||||
return CB_ERR;
|
||||
}
|
||||
|
||||
/* Set up PTN3460 registers based on hwinfo and fixed board-specific parameters: */
|
||||
|
@ -116,5 +116,5 @@ int mb_adjust_cfg(struct ptn_3460_config *cfg)
|
|||
/* Enable backlight control. */
|
||||
cfg->backlight_ctrl = 0x00;
|
||||
|
||||
return PTN_CFG_MODIFIED;
|
||||
return CB_SUCCESS;
|
||||
}
|
||||
|
|
|
@ -39,9 +39,9 @@ uint8_t mb_select_edid_table(void)
|
|||
/** \brief Function to enable mainboard to adjust the config data of PTN3460. For reference,
|
||||
* see NXP document AN11128 - PTN3460 Programming guide.
|
||||
* @param *cfg_ptr Pointer to the PTN config structure to modify
|
||||
* @return -1 on error; PTN_CFG_MODIFIED if data was modified and needs to be updated.
|
||||
* @return CB_SUCCESS if data was modified and needs to be updated; CB_ERR on error
|
||||
*/
|
||||
int mb_adjust_cfg(struct ptn_3460_config *cfg)
|
||||
enum cb_err mb_adjust_cfg(struct ptn_3460_config *cfg)
|
||||
{
|
||||
const char *hwi_block = "hwinfo.hex";
|
||||
uint8_t disp_con = 0, color_depth = 0;
|
||||
|
@ -49,16 +49,16 @@ int mb_adjust_cfg(struct ptn_3460_config *cfg)
|
|||
/* Get display-specific configuration from hwinfo. */
|
||||
if (hwilib_find_blocks(hwi_block) != CB_SUCCESS) {
|
||||
printk(BIOS_ERR, "LCD: Info block \"%s\" not found!\n", hwi_block);
|
||||
return -1;
|
||||
return CB_ERR;
|
||||
}
|
||||
if (hwilib_get_field(PF_DisplCon, &disp_con, sizeof(disp_con)) != sizeof(disp_con)) {
|
||||
printk(BIOS_ERR, "LCD: Missing panel features from %s\n", hwi_block);
|
||||
return -1;
|
||||
return CB_ERR;
|
||||
}
|
||||
if (hwilib_get_field(PF_Color_Depth, &color_depth,
|
||||
sizeof(color_depth)) != sizeof(color_depth)) {
|
||||
printk(BIOS_ERR, "LCD: Missing panel features from %s\n", hwi_block);
|
||||
return -1;
|
||||
return CB_ERR;
|
||||
}
|
||||
|
||||
/* Set up PTN3460 registers based on hwinfo and fixed board-specific parameters: */
|
||||
|
@ -91,5 +91,5 @@ int mb_adjust_cfg(struct ptn_3460_config *cfg)
|
|||
/* Enable backlight control. */
|
||||
cfg->backlight_ctrl = 0x00;
|
||||
|
||||
return PTN_CFG_MODIFIED;
|
||||
return CB_SUCCESS;
|
||||
}
|
||||
|
|
|
@ -39,9 +39,9 @@ uint8_t mb_select_edid_table(void)
|
|||
/** \brief Function to enable mainboard to adjust the config data of PTN3460. For reference,
|
||||
* see NXP document AN11128 - PTN3460 Programming guide.
|
||||
* @param *cfg_ptr Pointer to the PTN config structure to modify
|
||||
* @return -1 on error; PTN_CFG_MODIFIED if data was modified and needs to be updated.
|
||||
* @return CB_SUCCESS if data was modified and needs to be updated; CB_ERR on error
|
||||
*/
|
||||
int mb_adjust_cfg(struct ptn_3460_config *cfg)
|
||||
enum cb_err mb_adjust_cfg(struct ptn_3460_config *cfg)
|
||||
{
|
||||
const char *hwi_block = "hwinfo.hex";
|
||||
uint8_t disp_con = 0, color_depth = 0;
|
||||
|
@ -49,16 +49,16 @@ int mb_adjust_cfg(struct ptn_3460_config *cfg)
|
|||
/* Get display-specific configuration from hwinfo. */
|
||||
if (hwilib_find_blocks(hwi_block) != CB_SUCCESS) {
|
||||
printk(BIOS_ERR, "LCD: Info block \"%s\" not found!\n", hwi_block);
|
||||
return -1;
|
||||
return CB_ERR;
|
||||
}
|
||||
if (hwilib_get_field(PF_DisplCon, &disp_con, sizeof(disp_con)) != sizeof(disp_con)) {
|
||||
printk(BIOS_ERR, "LCD: Missing panel features from %s\n", hwi_block);
|
||||
return -1;
|
||||
return CB_ERR;
|
||||
}
|
||||
if (hwilib_get_field(PF_Color_Depth, &color_depth,
|
||||
sizeof(color_depth)) != sizeof(color_depth)) {
|
||||
printk(BIOS_ERR, "LCD: Missing panel features from %s\n", hwi_block);
|
||||
return -1;
|
||||
return CB_ERR;
|
||||
}
|
||||
|
||||
/* Set up PTN3460 registers based on hwinfo and fixed board-specific parameters: */
|
||||
|
@ -91,5 +91,5 @@ int mb_adjust_cfg(struct ptn_3460_config *cfg)
|
|||
/* Enable backlight control. */
|
||||
cfg->backlight_ctrl = 0x00;
|
||||
|
||||
return PTN_CFG_MODIFIED;
|
||||
return CB_SUCCESS;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue