diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-06 23:06:14 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-06 23:06:14 -0400 |
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 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 | ||
904 | void ssip_port_event(struct hsi_client *cl, unsigned long event) | 904 | static 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) | |||
163 | rback: | 163 | rback: |
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 | ||
169 | static void ssi_debug_remove_ctrl(struct hsi_controller *ssi) | 169 | 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 | 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, |