diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-06 20:06:14 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-06 20:06:14 -0700 |
commit | ec6c0a77786524e44003e70ea69651ad7fb35aec (patch) | |
tree | c7313c8d2830b70ae6243087a82212614df8ca5d | |
parent | 0498cf8429011ec968870b3fee7570a751575a35 (diff) | |
parent | 3fd276e9c0d75538c3b5ed96d0ce36d227fdca95 (diff) |
Merge tag 'hsi-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi
Pull HSI changes from Sebastian Reichel:
"Misc fixes in SSI related drivers"
* tag 'hsi-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
HSI: omap_ssi: Fix return value check in ssi_debug_add_ctrl()
HSI: omap_ssi_port: Fix return value check in ssi_debug_add_port()
HSI: ssi_protocol: Fix sparse non static symbol warning
drivers/hsi/controllers/omap_ssi{,_port}.c: fix failure checks
-rw-r--r-- | drivers/hsi/clients/ssi_protocol.c | 2 | ||||
-rw-r--r-- | drivers/hsi/controllers/omap_ssi.c | 14 | ||||
-rw-r--r-- | drivers/hsi/controllers/omap_ssi_port.c | 15 |
3 files changed, 16 insertions, 15 deletions
diff --git a/drivers/hsi/clients/ssi_protocol.c b/drivers/hsi/clients/ssi_protocol.c index 737fa2e0e78..e5c7a969f28 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: diff --git a/drivers/hsi/controllers/omap_ssi.c b/drivers/hsi/controllers/omap_ssi.c index 0fc7a7fd014..bf0eace4cb6 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) @@ -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 29aea0b9336..4c0b5820581 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); @@ -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, |