Skip to contentSkip to conversation

staging: olpc_dcon: fix sparse warnings and compile errors

PATCH In review Murilo Opsfelder Araujo 2 participants 4 messages Jan 16, 2015 Staging

lore
Share & tools
lore
#0 lore raw

cover staging: olpc_dcon: fix sparse warnings and compile errors

These two patches fix sparse warnings and make olpc_dcon.c build again when CONFIG_OLPC is not set.

Murilo Opsfelder Araujo (2):
staging: olpc_dcon: check for CONFIG_OLPC before calling
olpc_board_at_least()
staging: olpc_dcon: fix sparse symbol not declared warning

 drivers/staging/olpc_dcon/olpc_dcon.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

--
2.1.0

#1 lore raw

PATCH 1/2 staging: olpc_dcon: check for CONFIG_OLPC before calling olpc_board_at_least()

The following error messages are thrown by sparse when CONFIG_OLPC is not defined:

drivers/staging/olpc_dcon/olpc_dcon.c:147:17: error: undefined identifier 'olpc_board_at_least' drivers/staging/olpc_dcon/olpc_dcon.c:208:14: error: undefined identifier 'olpc_board_at_least'

This patch fixes these errors.

---
 drivers/staging/olpc_dcon/olpc_dcon.c | 7 +++++++
 1 file changed, 7 insertions(+)
drivers/staging/olpc_dcon/olpc_dcon.c +7 -0
index 6a9a881..3708f1e 100644
@@ -144,7 +144,9 @@ power_up:
 	}
 	if (x < 0) {
 		pr_err("unable to stabilize dcon's smbus, reasserting power and praying.\n");
+#ifdef CONFIG_OLPC
 		BUG_ON(olpc_board_at_least(olpc_board(0xc2)));
+#endif
 		pm = 0;
 		olpc_ec_cmd(EC_DCON_POWER_MODE, &pm, 1, NULL, 0);
 		msleep(100);
@@ -205,8 +207,10 @@ static void dcon_sleep(struct dcon_priv *dcon, bool sleep)
 	if (dcon->asleep == sleep)
 		return;
 
+#ifdef CONFIG_OLPC
 	if (!olpc_board_at_least(olpc_board(0xc2)))
 		return;
+#endif
 
 	if (sleep) {
 		u8 pm = 0;
@@ -795,11 +799,14 @@ struct i2c_driver dcon_driver = {
 
 static int __init olpc_dcon_init(void)
 {
+#ifdef CONFIG_OLPC
 #ifdef CONFIG_FB_OLPC_DCON_1_5
 	/* XO-1.5 */
 	if (olpc_board_at_least(olpc_board(0xd0)))
 		pdata = &dcon_pdata_xo_1_5;
 #endif
+#endif
+
 #ifdef CONFIG_FB_OLPC_DCON_1
 	if (!pdata)
 		pdata = &dcon_pdata_xo_1;
Signature · 1 line
2.1.0
#2 lore raw

Re: [PATCH 1/2] staging: olpc_dcon: check for CONFIG_OLPC before calling olpc_board_at_least()

Quoted 7 lines · Murilo Opsfelder Araujo

The following error messages are thrown by sparse when CONFIG_OLPC is not defined:

drivers/staging/olpc_dcon/olpc_dcon.c:147:17: error: undefined identifier 'olpc_board_at_least' drivers/staging/olpc_dcon/olpc_dcon.c:208:14: error: undefined identifier 'olpc_board_at_least'

This patch fixes these errors.

Don't add ifdefs to a .c file. Don't call BUG_ON() in a driver.

Figure out a better way to fix these.

regards,
dan carpenter

#3 lore raw

PATCH 2/2 staging: olpc_dcon: fix sparse symbol not declared warning

In reply to Murilo Opsfelder Araujo

This patch gets rid of the following sparse warning:

drivers/staging/olpc_dcon/olpc_dcon.c:787:19: warning: symbol 'dcon_driver' was not declared. Should it be static?

---
 drivers/staging/olpc_dcon/olpc_dcon.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/staging/olpc_dcon/olpc_dcon.c +1 -1
index 3708f1e..4ec2a9c 100644
@@ -784,7 +784,7 @@ static const struct i2c_device_id dcon_idtable[] = {
 };
 MODULE_DEVICE_TABLE(i2c, dcon_idtable);
 
-struct i2c_driver dcon_driver = {
+static struct i2c_driver dcon_driver = {
 	.driver = {
 		.name	= "olpc_dcon",
 		.pm = &dcon_pm_ops,
Signature · 1 line
2.1.0