aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-08-06 23:06:14 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-08-06 23:06:14 -0400
commitec6c0a77786524e44003e70ea69651ad7fb35aec (patch)
treec7313c8d2830b70ae6243087a82212614df8ca5d
parent0498cf8429011ec968870b3fee7570a751575a35 (diff)
parent3fd276e9c0d75538c3b5ed96d0ce36d227fdca95 (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.c2
-rw-r--r--drivers/hsi/controllers/omap_ssi.c14
-rw-r--r--drivers/hsi/controllers/omap_ssi_port.c15
3 files changed, 16 insertions, 15 deletions
diff --git a/drivers/hsi/clients/ssi_protocol.c b/drivers/hsi/clients/ssi_protocol.c
index 737fa2e0e782..e5c7a969f28b 100644
--- a/drivers/hsi/clients/ssi_protocol.c
+++ b/drivers/hsi/clients/ssi_protocol.c
@@ -901,7 +901,7 @@ out:
901 ssip_free_data(msg); 901 ssip_free_data(msg);
902} 902}
903 903
904void ssip_port_event(struct hsi_client *cl, unsigned long event) 904static void ssip_port_event(struct hsi_client *cl, unsigned long event)
905{ 905{
906 switch (event) { 906 switch (event) {
907 case HSI_EVENT_START_RX: 907 case HSI_EVENT_START_RX:
diff --git a/drivers/hsi/controllers/omap_ssi.c b/drivers/hsi/controllers/omap_ssi.c
index 0fc7a7fd0140..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)
148 148
149 /* SSI controller */ 149 /* SSI controller */
150 omap_ssi->dir = debugfs_create_dir(dev_name(&ssi->device), NULL); 150 omap_ssi->dir = debugfs_create_dir(dev_name(&ssi->device), NULL);
151 if (IS_ERR(omap_ssi->dir)) 151 if (!omap_ssi->dir)
152 return PTR_ERR(omap_ssi->dir); 152 return -ENOMEM;
153 153
154 debugfs_create_file("regs", S_IRUGO, omap_ssi->dir, ssi, 154 debugfs_create_file("regs", S_IRUGO, omap_ssi->dir, ssi,
155 &ssi_regs_fops); 155 &ssi_regs_fops);
156 /* SSI GDD (DMA) */ 156 /* SSI GDD (DMA) */
157 dir = debugfs_create_dir("gdd", omap_ssi->dir); 157 dir = debugfs_create_dir("gdd", omap_ssi->dir);
158 if (IS_ERR(dir)) 158 if (!dir)
159 goto rback; 159 goto rback;
160 debugfs_create_file("regs", S_IRUGO, dir, ssi, &ssi_gdd_regs_fops); 160 debugfs_create_file("regs", S_IRUGO, dir, ssi, &ssi_gdd_regs_fops);
161 161
@@ -163,7 +163,7 @@ static int __init ssi_debug_add_ctrl(struct hsi_controller *ssi)
163rback: 163rback:
164 debugfs_remove_recursive(omap_ssi->dir); 164 debugfs_remove_recursive(omap_ssi->dir);
165 165
166 return PTR_ERR(dir); 166 return -ENOMEM;
167} 167}
168 168
169static void ssi_debug_remove_ctrl(struct hsi_controller *ssi) 169static void ssi_debug_remove_ctrl(struct hsi_controller *ssi)
@@ -353,12 +353,12 @@ static int __init ssi_add_controller(struct hsi_controller *ssi,
353 err = ssi_get_iomem(pd, "gdd", &omap_ssi->gdd, NULL); 353 err = ssi_get_iomem(pd, "gdd", &omap_ssi->gdd, NULL);
354 if (err < 0) 354 if (err < 0)
355 goto out_err; 355 goto out_err;
356 omap_ssi->gdd_irq = platform_get_irq_byname(pd, "gdd_mpu"); 356 err = platform_get_irq_byname(pd, "gdd_mpu");
357 if (omap_ssi->gdd_irq < 0) { 357 if (err < 0) {
358 dev_err(&pd->dev, "GDD IRQ resource missing\n"); 358 dev_err(&pd->dev, "GDD IRQ resource missing\n");
359 err = omap_ssi->gdd_irq;
360 goto out_err; 359 goto out_err;
361 } 360 }
361 omap_ssi->gdd_irq = err;
362 tasklet_init(&omap_ssi->gdd_tasklet, ssi_gdd_tasklet, 362 tasklet_init(&omap_ssi->gdd_tasklet, ssi_gdd_tasklet,
363 (unsigned long)ssi); 363 (unsigned long)ssi);
364 err = devm_request_irq(&ssi->device, omap_ssi->gdd_irq, ssi_gdd_isr, 364 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..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,
177 struct hsi_port *port = to_hsi_port(omap_port->dev); 177 struct hsi_port *port = to_hsi_port(omap_port->dev);
178 178
179 dir = debugfs_create_dir(dev_name(omap_port->dev), dir); 179 dir = debugfs_create_dir(dev_name(omap_port->dev), dir);
180 if (IS_ERR(dir)) 180 if (!dir)
181 return PTR_ERR(dir); 181 return -ENOMEM;
182 omap_port->dir = dir; 182 omap_port->dir = dir;
183 debugfs_create_file("regs", S_IRUGO, dir, port, &ssi_port_regs_fops); 183 debugfs_create_file("regs", S_IRUGO, dir, port, &ssi_port_regs_fops);
184 dir = debugfs_create_dir("sst", dir); 184 dir = debugfs_create_dir("sst", dir);
185 if (IS_ERR(dir)) 185 if (!dir)
186 return PTR_ERR(dir); 186 return -ENOMEM;
187 debugfs_create_file("divisor", S_IRUGO | S_IWUSR, dir, port, 187 debugfs_create_file("divisor", S_IRUGO | S_IWUSR, dir, port,
188 &ssi_sst_div_fops); 188 &ssi_sst_div_fops);
189 189
@@ -1013,11 +1013,12 @@ static int __init ssi_port_irq(struct hsi_port *port,
1013 struct omap_ssi_port *omap_port = hsi_port_drvdata(port); 1013 struct omap_ssi_port *omap_port = hsi_port_drvdata(port);
1014 int err; 1014 int err;
1015 1015
1016 omap_port->irq = platform_get_irq(pd, 0); 1016 err = platform_get_irq(pd, 0);
1017 if (omap_port->irq < 0) { 1017 if (err < 0) {
1018 dev_err(&port->device, "Port IRQ resource missing\n"); 1018 dev_err(&port->device, "Port IRQ resource missing\n");
1019 return omap_port->irq; 1019 return err;
1020 } 1020 }
1021 omap_port->irq = err;
1021 tasklet_init(&omap_port->pio_tasklet, ssi_pio_tasklet, 1022 tasklet_init(&omap_port->pio_tasklet, ssi_pio_tasklet,
1022 (unsigned long)port); 1023 (unsigned long)port);
1023 err = devm_request_irq(&port->device, omap_port->irq, ssi_pio_isr, 1024 err = devm_request_irq(&port->device, omap_port->irq, ssi_pio_isr,