Skip to contentSkip to conversation

mach:-s3c64xx:Output trace information with WARN_ON if calls for setting up gpio board configuration fail in s3c64xx_i2s_cfg_gpio

PATCH In review Nicholas Krause 2 participants 3 messages Sep 30, 2015 – Oct 1, 2015

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 mach:-s3c64xx:Output trace information with WARN_ON if calls for setting up gpio board configuration fail in s3c64xx_i2s_cfg_gpio

This fixes the function s3c64xx_i2c_cfg_gpio to log output to the kernel log buff with WARN_ON if any of the calls to either s3c_gpio_cfgpin_range or s3c_gpio_cfgpin fail as we cannot exit from s3c64xx_i2s_cfg_gpio if any of these calls fail due to other intended function work being required to complete. Therefore due to this output our failed calls by means of WARN_ON to the kernel log buffer for failed configuration of gpio devices using this driver file.
v2:Fix Patch Wording as it was clearly confusing and incorrect

---
 arch/arm/mach-s3c64xx/dev-audio.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
arch/arm/mach-s3c64xx/dev-audio.c +5 -5
index ff780a8..5e7538b 100644
@@ -36,10 +36,10 @@ static int s3c64xx_i2s_cfg_gpio(struct platform_device *pdev)
 		base = S3C64XX_GPE(0);
 		break;
 	case 2:
-		s3c_gpio_cfgpin(S3C64XX_GPC(4), S3C_GPIO_SFN(5));
-		s3c_gpio_cfgpin(S3C64XX_GPC(5), S3C_GPIO_SFN(5));
-		s3c_gpio_cfgpin(S3C64XX_GPC(7), S3C_GPIO_SFN(5));
-		s3c_gpio_cfgpin_range(S3C64XX_GPH(6), 4, S3C_GPIO_SFN(5));
+		WARN_ON(s3c_gpio_cfgpin(S3C64XX_GPC(4), S3C_GPIO_SFN(5)));
+		WARN_ON(s3c_gpio_cfgpin(S3C64XX_GPC(5), S3C_GPIO_SFN(5)));
+		WARN_ON(s3c_gpio_cfgpin(S3C64XX_GPC(7), S3C_GPIO_SFN(5)));
+		WARN_ON(s3c_gpio_cfgpin_range(S3C64XX_GPH(6), 4, S3C_GPIO_SFN(5));)
 		return 0;
 	default:
 		printk(KERN_DEBUG "Invalid I2S Controller number: %d\n",
@@ -47,7 +47,7 @@ static int s3c64xx_i2s_cfg_gpio(struct platform_device *pdev)
 		return -EINVAL;
 	}
 
-	s3c_gpio_cfgpin_range(base, 5, S3C_GPIO_SFN(3));
+	WARN_ON(s3c_gpio_cfgpin_range(base, 5, S3C_GPIO_SFN(3)));
 
 	return 0;
 }
Signature · 1 line
2.1.4
#1 lore raw
Quoted 5 lines · Nicholas Krause

This fixes the function s3c64xx_i2c_cfg_gpio to log output to the kernel log buff with WARN_ON if any of the calls to either s3c_gpio_cfgpin_range or s3c_gpio_cfgpin fail as we cannot exit from s3c64xx_i2s_cfg_gpio if any of these calls fail due to other intended function work being required to complete.

This is better now.

Quoted 4 lines

Therefore
due to this output our failed calls by means of WARN_ON to the kernel log buffer for failed configuration of gpio devices using this driver file.

I don't get this sentence. What do you want to say?

Quoted 1 line

v2:Fix Patch Wording as it was clearly confusing and incorrect

Changelog goes after --- separator.

Last question - have you compiled it? I mean truly compiled like generated object file and linked objects into vmlinux?

Best regards,
Krzysztof

Quoted 35 lines
---
 arch/arm/mach-s3c64xx/dev-audio.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
arch/arm/mach-s3c64xx/dev-audio.c +5 -5
index ff780a8..5e7538b 100644
@@ -36,10 +36,10 @@ static int s3c64xx_i2s_cfg_gpio(struct platform_device *pdev)
 		base = S3C64XX_GPE(0);
 		break;
 	case 2:
-		s3c_gpio_cfgpin(S3C64XX_GPC(4), S3C_GPIO_SFN(5));
-		s3c_gpio_cfgpin(S3C64XX_GPC(5), S3C_GPIO_SFN(5));
-		s3c_gpio_cfgpin(S3C64XX_GPC(7), S3C_GPIO_SFN(5));
-		s3c_gpio_cfgpin_range(S3C64XX_GPH(6), 4, S3C_GPIO_SFN(5));
+		WARN_ON(s3c_gpio_cfgpin(S3C64XX_GPC(4), S3C_GPIO_SFN(5)));
+		WARN_ON(s3c_gpio_cfgpin(S3C64XX_GPC(5), S3C_GPIO_SFN(5)));
+		WARN_ON(s3c_gpio_cfgpin(S3C64XX_GPC(7), S3C_GPIO_SFN(5)));
+		WARN_ON(s3c_gpio_cfgpin_range(S3C64XX_GPH(6), 4, S3C_GPIO_SFN(5));)
 		return 0;
 	default:
 		printk(KERN_DEBUG "Invalid I2S Controller number: %d\n",
@@ -47,7 +47,7 @@ static int s3c64xx_i2s_cfg_gpio(struct platform_device *pdev)
 		return -EINVAL;
 	}
 
-	s3c_gpio_cfgpin_range(base, 5, S3C_GPIO_SFN(3));
+	WARN_ON(s3c_gpio_cfgpin_range(base, 5, S3C_GPIO_SFN(3)));
 
 	return 0;
 }
author
#2 lore raw

PATCH 1/1 mach:-s3c64xx:Output trace information with WARN_ON if calls for setting up gpio board configuration fail in s3c64xx_i2s_cfg_gpio

Quoted 7 lines · Krzysztof Kozlowski
Quoted 5 lines · Nicholas Krause

This fixes the function s3c64xx_i2c_cfg_gpio to log output to the kernel log buff with WARN_ON if any of the calls to either s3c_gpio_cfgpin_range or s3c_gpio_cfgpin fail as we cannot exit from s3c64xx_i2s_cfg_gpio if any of these calls fail due to other intended function work being required to complete.

Quoted 9 lines

This is better now.

Quoted 4 lines

Therefore
due to this output our failed calls by means of WARN_ON to the kernel log buffer for failed configuration of gpio devices using this driver file.

I don't get this sentence. What do you want to say?

Fixed this in the v3 version.

Quoted 7 lines
Quoted 2 lines

v2:Fix Patch Wording as it was clearly confusing and incorrect

Changelog goes after --- separator.

Last question - have you compiled it? I mean truly compiled like generated object file and linked objects into vmlinux?

I rebuild and it seems indeed there was a build warning. Sometimes through rarely ccache can cause issues with this and therefore did a clean build to make sure that the build was indeed working correctly without failure. Sorry,
Nick

Quoted 40 lines

Best regards,
Krzysztof

Quoted 35 lines
---
 arch/arm/mach-s3c64xx/dev-audio.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
arch/arm/mach-s3c64xx/dev-audio.c +5 -5
index ff780a8..5e7538b 100644
@@ -36,10 +36,10 @@ static int s3c64xx_i2s_cfg_gpio(struct platform_device *pdev)
 		base = S3C64XX_GPE(0);
 		break;
 	case 2:
-		s3c_gpio_cfgpin(S3C64XX_GPC(4), S3C_GPIO_SFN(5));
-		s3c_gpio_cfgpin(S3C64XX_GPC(5), S3C_GPIO_SFN(5));
-		s3c_gpio_cfgpin(S3C64XX_GPC(7), S3C_GPIO_SFN(5));
-		s3c_gpio_cfgpin_range(S3C64XX_GPH(6), 4, S3C_GPIO_SFN(5));
+		WARN_ON(s3c_gpio_cfgpin(S3C64XX_GPC(4), S3C_GPIO_SFN(5)));
+		WARN_ON(s3c_gpio_cfgpin(S3C64XX_GPC(5), S3C_GPIO_SFN(5)));
+		WARN_ON(s3c_gpio_cfgpin(S3C64XX_GPC(7), S3C_GPIO_SFN(5)));
+		WARN_ON(s3c_gpio_cfgpin_range(S3C64XX_GPH(6), 4, S3C_GPIO_SFN(5));)
 		return 0;
 	default:
 		printk(KERN_DEBUG "Invalid I2S Controller number: %d\n",
@@ -47,7 +47,7 @@ static int s3c64xx_i2s_cfg_gpio(struct platform_device *pdev)
 		return -EINVAL;
 	}
 
-	s3c_gpio_cfgpin_range(base, 5, S3C_GPIO_SFN(3));
+	WARN_ON(s3c_gpio_cfgpin_range(base, 5, S3C_GPIO_SFN(3)));
 
 	return 0;
 }