Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

+16 -15
+1 -1
drivers/hsi/clients/ssi_protocol.c
··· 901 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 906 switch (event) { 907 907 case HSI_EVENT_START_RX:
+7 -7
drivers/hsi/controllers/omap_ssi.c
··· 148 148 149 149 /* SSI controller */ 150 150 omap_ssi->dir = debugfs_create_dir(dev_name(&ssi->device), NULL); 151 - if (IS_ERR(omap_ssi->dir)) 152 - return PTR_ERR(omap_ssi->dir); 151 + if (!omap_ssi->dir) 152 + return -ENOMEM; 153 153 154 154 debugfs_create_file("regs", S_IRUGO, omap_ssi->dir, ssi, 155 155 &ssi_regs_fops); 156 156 /* SSI GDD (DMA) */ 157 157 dir = debugfs_create_dir("gdd", omap_ssi->dir); 158 - if (IS_ERR(dir)) 158 + if (!dir) 159 159 goto rback; 160 160 debugfs_create_file("regs", S_IRUGO, dir, ssi, &ssi_gdd_regs_fops); 161 161 ··· 163 163 rback: 164 164 debugfs_remove_recursive(omap_ssi->dir); 165 165 166 - return PTR_ERR(dir); 166 + return -ENOMEM; 167 167 } 168 168 169 169 static void ssi_debug_remove_ctrl(struct hsi_controller *ssi) ··· 353 353 err = ssi_get_iomem(pd, "gdd", &omap_ssi->gdd, NULL); 354 354 if (err < 0) 355 355 goto out_err; 356 - omap_ssi->gdd_irq = platform_get_irq_byname(pd, "gdd_mpu"); 357 - if (omap_ssi->gdd_irq < 0) { 356 + err = platform_get_irq_byname(pd, "gdd_mpu"); 357 + if (err < 0) { 358 358 dev_err(&pd->dev, "GDD IRQ resource missing\n"); 359 - err = omap_ssi->gdd_irq; 360 359 goto out_err; 361 360 } 361 + omap_ssi->gdd_irq = err; 362 362 tasklet_init(&omap_ssi->gdd_tasklet, ssi_gdd_tasklet, 363 363 (unsigned long)ssi); 364 364 err = devm_request_irq(&ssi->device, omap_ssi->gdd_irq, ssi_gdd_isr,
+8 -7
drivers/hsi/controllers/omap_ssi_port.c
··· 177 177 struct hsi_port *port = to_hsi_port(omap_port->dev); 178 178 179 179 dir = debugfs_create_dir(dev_name(omap_port->dev), dir); 180 - if (IS_ERR(dir)) 181 - return PTR_ERR(dir); 180 + if (!dir) 181 + return -ENOMEM; 182 182 omap_port->dir = dir; 183 183 debugfs_create_file("regs", S_IRUGO, dir, port, &ssi_port_regs_fops); 184 184 dir = debugfs_create_dir("sst", dir); 185 - if (IS_ERR(dir)) 186 - return PTR_ERR(dir); 185 + if (!dir) 186 + return -ENOMEM; 187 187 debugfs_create_file("divisor", S_IRUGO | S_IWUSR, dir, port, 188 188 &ssi_sst_div_fops); 189 189 ··· 1013 1013 struct omap_ssi_port *omap_port = hsi_port_drvdata(port); 1014 1014 int err; 1015 1015 1016 - omap_port->irq = platform_get_irq(pd, 0); 1017 - if (omap_port->irq < 0) { 1016 + err = platform_get_irq(pd, 0); 1017 + if (err < 0) { 1018 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 1022 tasklet_init(&omap_port->pio_tasklet, ssi_pio_tasklet, 1022 1023 (unsigned long)port); 1023 1024 err = devm_request_irq(&port->device, omap_port->irq, ssi_pio_isr,