Merge tag 'hsi-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 7 Aug 2014 03:06:14 +0000 (20:06 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 7 Aug 2014 03:06:14 +0000 (20:06 -0700)
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

drivers/hsi/clients/ssi_protocol.c
drivers/hsi/controllers/omap_ssi.c
drivers/hsi/controllers/omap_ssi_port.c

index 737fa2e..e5c7a96 100644 (file)
@@ -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:
index 0fc7a7f..bf0eace 100644 (file)
@@ -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,
index 29aea0b..4c0b582 100644 (file)
@@ -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,