From b74d4954ae6a6799f7ee832bc377795ab506f4b1 Mon Sep 17 00:00:00 2001 From: Andrey Utkin Date: Thu, 17 Jul 2014 16:53:54 +0300 Subject: drivers/hsi/controllers/omap_ssi{,_port}.c: fix failure checks 1. [linux-3.16-rc5/drivers/hsi/controllers/omap_ssi.c:357]: (style) Checking if unsigned variable 'gdd_irq' is less than zero. Source code is omap_ssi->gdd_irq = platform_get_irq_byname(pd, "gdd_mpu"); if (omap_ssi->gdd_irq < 0) { 2. [linux-3.16-rc5/drivers/hsi/controllers/omap_ssi_port.c:1017]: (style) Checking if unsigned variable 'irq' is less than zero. Source code is omap_port->irq = platform_get_irq(pd, 0); if (omap_port->irq < 0) { Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=80441 Reported-by: David Binderman Signed-off-by: Andrey Utkin Signed-off-by: Sebastian Reichel --- drivers/hsi/controllers/omap_ssi.c | 6 +++--- drivers/hsi/controllers/omap_ssi_port.c | 7 ++++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/hsi/controllers/omap_ssi.c b/drivers/hsi/controllers/omap_ssi.c index 0fc7a7fd0140..232ab7340b76 100644 --- a/drivers/hsi/controllers/omap_ssi.c +++ b/drivers/hsi/controllers/omap_ssi.c @@ -353,12 +353,12 @@ static int __init ssi_add_controller(struct hsi_controller *ssi, err = ssi_get_iomem(pd, "gdd", &omap_ssi->gdd, NULL); if (err < 0) goto out_err; - omap_ssi->gdd_irq = platform_get_irq_byname(pd, "gdd_mpu"); - if (omap_ssi->gdd_irq < 0) { + err = platform_get_irq_byname(pd, "gdd_mpu"); + if (err < 0) { dev_err(&pd->dev, "GDD IRQ resource missing\n"); - err = omap_ssi->gdd_irq; goto out_err; } + omap_ssi->gdd_irq = err; tasklet_init(&omap_ssi->gdd_tasklet, ssi_gdd_tasklet, (unsigned long)ssi); err = devm_request_irq(&ssi->device, omap_ssi->gdd_irq, ssi_gdd_isr, diff --git a/drivers/hsi/controllers/omap_ssi_port.c b/drivers/hsi/controllers/omap_ssi_port.c index 29aea0b93360..001b86820616 100644 --- a/drivers/hsi/controllers/omap_ssi_port.c +++ b/drivers/hsi/controllers/omap_ssi_port.c @@ -1013,11 +1013,12 @@ static int __init ssi_port_irq(struct hsi_port *port, struct omap_ssi_port *omap_port = hsi_port_drvdata(port); int err; - omap_port->irq = platform_get_irq(pd, 0); - if (omap_port->irq < 0) { + err = platform_get_irq(pd, 0); + if (err < 0) { dev_err(&port->device, "Port IRQ resource missing\n"); - return omap_port->irq; + return err; } + omap_port->irq = err; tasklet_init(&omap_port->pio_tasklet, ssi_pio_tasklet, (unsigned long)port); err = devm_request_irq(&port->device, omap_port->irq, ssi_pio_isr, -- cgit v1.2.3 From 0a0ea07d3dff0918484f01c576f098dd4911b1af Mon Sep 17 00:00:00 2001 From: Wei Yongjun Date: Sun, 20 Jul 2014 13:17:20 +0800 Subject: HSI: ssi_protocol: Fix sparse non static symbol warning Fixes the following sparse warning: drivers/hsi/clients/ssi_protocol.c:904:6: warning: symbol 'ssip_port_event' was not declared. Should it be static? Signed-off-by: Wei Yongjun Signed-off-by: Sebastian Reichel --- drivers/hsi/clients/ssi_protocol.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/hsi/clients/ssi_protocol.c b/drivers/hsi/clients/ssi_protocol.c index ce4be3738d46..fe364a342717 100644 --- a/drivers/hsi/clients/ssi_protocol.c +++ b/drivers/hsi/clients/ssi_protocol.c @@ -901,7 +901,7 @@ out: ssip_free_data(msg); } -void ssip_port_event(struct hsi_client *cl, unsigned long event) +static void ssip_port_event(struct hsi_client *cl, unsigned long event) { switch (event) { case HSI_EVENT_START_RX: -- cgit v1.2.3 From c2acb7c4d566a1735e255acc7260e1dec6b9a7c8 Mon Sep 17 00:00:00 2001 From: Wei Yongjun Date: Wed, 30 Jul 2014 08:53:20 +0800 Subject: HSI: omap_ssi_port: Fix return value check in ssi_debug_add_port() In case of error, the function debugfs_create_*() returns NULL pointer not ERR_PTR() if debugfs is enabled. The IS_ERR() test in the return value check should be replaced with NULL test. Signed-off-by: Wei Yongjun Signed-off-by: Sebastian Reichel --- drivers/hsi/controllers/omap_ssi_port.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/hsi/controllers/omap_ssi_port.c b/drivers/hsi/controllers/omap_ssi_port.c index 001b86820616..4c0b5820581e 100644 --- a/drivers/hsi/controllers/omap_ssi_port.c +++ b/drivers/hsi/controllers/omap_ssi_port.c @@ -177,13 +177,13 @@ static int __init ssi_debug_add_port(struct omap_ssi_port *omap_port, struct hsi_port *port = to_hsi_port(omap_port->dev); dir = debugfs_create_dir(dev_name(omap_port->dev), dir); - if (IS_ERR(dir)) - return PTR_ERR(dir); + if (!dir) + return -ENOMEM; omap_port->dir = dir; debugfs_create_file("regs", S_IRUGO, dir, port, &ssi_port_regs_fops); dir = debugfs_create_dir("sst", dir); - if (IS_ERR(dir)) - return PTR_ERR(dir); + if (!dir) + return -ENOMEM; debugfs_create_file("divisor", S_IRUGO | S_IWUSR, dir, port, &ssi_sst_div_fops); -- cgit v1.2.3 From 3fd276e9c0d75538c3b5ed96d0ce36d227fdca95 Mon Sep 17 00:00:00 2001 From: Wei Yongjun Date: Wed, 30 Jul 2014 08:53:41 +0800 Subject: HSI: omap_ssi: Fix return value check in ssi_debug_add_ctrl() In case of error, the function debugfs_create_*() returns NULL pointer not ERR_PTR() if debugfs is enabled. The IS_ERR() test in the return value check should be replaced with NULL test. Signed-off-by: Wei Yongjun Signed-off-by: Sebastian Reichel --- drivers/hsi/controllers/omap_ssi.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/hsi/controllers/omap_ssi.c b/drivers/hsi/controllers/omap_ssi.c index 232ab7340b76..bf0eace4cb67 100644 --- a/drivers/hsi/controllers/omap_ssi.c +++ b/drivers/hsi/controllers/omap_ssi.c @@ -148,14 +148,14 @@ static int __init ssi_debug_add_ctrl(struct hsi_controller *ssi) /* SSI controller */ omap_ssi->dir = debugfs_create_dir(dev_name(&ssi->device), NULL); - if (IS_ERR(omap_ssi->dir)) - return PTR_ERR(omap_ssi->dir); + if (!omap_ssi->dir) + return -ENOMEM; debugfs_create_file("regs", S_IRUGO, omap_ssi->dir, ssi, &ssi_regs_fops); /* SSI GDD (DMA) */ dir = debugfs_create_dir("gdd", omap_ssi->dir); - if (IS_ERR(dir)) + if (!dir) goto rback; debugfs_create_file("regs", S_IRUGO, dir, ssi, &ssi_gdd_regs_fops); @@ -163,7 +163,7 @@ static int __init ssi_debug_add_ctrl(struct hsi_controller *ssi) rback: debugfs_remove_recursive(omap_ssi->dir); - return PTR_ERR(dir); + return -ENOMEM; } static void ssi_debug_remove_ctrl(struct hsi_controller *ssi) -- cgit v1.2.3