Commit ec6c0a77 authored by Linus Torvalds's avatar Linus Torvalds

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
parents 0498cf84 3fd276e9
...@@ -901,7 +901,7 @@ static void ssip_tx_data_complete(struct hsi_msg *msg) ...@@ -901,7 +901,7 @@ static void ssip_tx_data_complete(struct hsi_msg *msg)
ssip_free_data(msg); 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) { switch (event) {
case HSI_EVENT_START_RX: case HSI_EVENT_START_RX:
......
...@@ -148,14 +148,14 @@ static int __init ssi_debug_add_ctrl(struct hsi_controller *ssi) ...@@ -148,14 +148,14 @@ static int __init ssi_debug_add_ctrl(struct hsi_controller *ssi)
/* SSI controller */ /* SSI controller */
omap_ssi->dir = debugfs_create_dir(dev_name(&ssi->device), NULL); omap_ssi->dir = debugfs_create_dir(dev_name(&ssi->device), NULL);
if (IS_ERR(omap_ssi->dir)) if (!omap_ssi->dir)
return PTR_ERR(omap_ssi->dir); return -ENOMEM;
debugfs_create_file("regs", S_IRUGO, omap_ssi->dir, ssi, debugfs_create_file("regs", S_IRUGO, omap_ssi->dir, ssi,
&ssi_regs_fops); &ssi_regs_fops);
/* SSI GDD (DMA) */ /* SSI GDD (DMA) */
dir = debugfs_create_dir("gdd", omap_ssi->dir); dir = debugfs_create_dir("gdd", omap_ssi->dir);
if (IS_ERR(dir)) if (!dir)
goto rback; goto rback;
debugfs_create_file("regs", S_IRUGO, dir, ssi, &ssi_gdd_regs_fops); 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) ...@@ -163,7 +163,7 @@ static int __init ssi_debug_add_ctrl(struct hsi_controller *ssi)
rback: rback:
debugfs_remove_recursive(omap_ssi->dir); debugfs_remove_recursive(omap_ssi->dir);
return PTR_ERR(dir); return -ENOMEM;
} }
static void ssi_debug_remove_ctrl(struct hsi_controller *ssi) static void ssi_debug_remove_ctrl(struct hsi_controller *ssi)
...@@ -353,12 +353,12 @@ static int __init ssi_add_controller(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); err = ssi_get_iomem(pd, "gdd", &omap_ssi->gdd, NULL);
if (err < 0) if (err < 0)
goto out_err; goto out_err;
omap_ssi->gdd_irq = platform_get_irq_byname(pd, "gdd_mpu"); err = platform_get_irq_byname(pd, "gdd_mpu");
if (omap_ssi->gdd_irq < 0) { if (err < 0) {
dev_err(&pd->dev, "GDD IRQ resource missing\n"); dev_err(&pd->dev, "GDD IRQ resource missing\n");
err = omap_ssi->gdd_irq;
goto out_err; goto out_err;
} }
omap_ssi->gdd_irq = err;
tasklet_init(&omap_ssi->gdd_tasklet, ssi_gdd_tasklet, tasklet_init(&omap_ssi->gdd_tasklet, ssi_gdd_tasklet,
(unsigned long)ssi); (unsigned long)ssi);
err = devm_request_irq(&ssi->device, omap_ssi->gdd_irq, ssi_gdd_isr, err = devm_request_irq(&ssi->device, omap_ssi->gdd_irq, ssi_gdd_isr,
......
...@@ -177,13 +177,13 @@ static int __init ssi_debug_add_port(struct omap_ssi_port *omap_port, ...@@ -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); struct hsi_port *port = to_hsi_port(omap_port->dev);
dir = debugfs_create_dir(dev_name(omap_port->dev), dir); dir = debugfs_create_dir(dev_name(omap_port->dev), dir);
if (IS_ERR(dir)) if (!dir)
return PTR_ERR(dir); return -ENOMEM;
omap_port->dir = dir; omap_port->dir = dir;
debugfs_create_file("regs", S_IRUGO, dir, port, &ssi_port_regs_fops); debugfs_create_file("regs", S_IRUGO, dir, port, &ssi_port_regs_fops);
dir = debugfs_create_dir("sst", dir); dir = debugfs_create_dir("sst", dir);
if (IS_ERR(dir)) if (!dir)
return PTR_ERR(dir); return -ENOMEM;
debugfs_create_file("divisor", S_IRUGO | S_IWUSR, dir, port, debugfs_create_file("divisor", S_IRUGO | S_IWUSR, dir, port,
&ssi_sst_div_fops); &ssi_sst_div_fops);
...@@ -1013,11 +1013,12 @@ static int __init ssi_port_irq(struct hsi_port *port, ...@@ -1013,11 +1013,12 @@ static int __init ssi_port_irq(struct hsi_port *port,
struct omap_ssi_port *omap_port = hsi_port_drvdata(port); struct omap_ssi_port *omap_port = hsi_port_drvdata(port);
int err; int err;
omap_port->irq = platform_get_irq(pd, 0); err = platform_get_irq(pd, 0);
if (omap_port->irq < 0) { if (err < 0) {
dev_err(&port->device, "Port IRQ resource missing\n"); 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, tasklet_init(&omap_port->pio_tasklet, ssi_pio_tasklet,
(unsigned long)port); (unsigned long)port);
err = devm_request_irq(&port->device, omap_port->irq, ssi_pio_isr, err = devm_request_irq(&port->device, omap_port->irq, ssi_pio_isr,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment