HSI changes for the v3.17 series
* misc. fixes in SSI related drivers -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABCgAGBQJT4WkMAAoJENju1/PIO/qaJHEP/jJbNgyl9Yk9/zSWPFmaU7NA XlK1ul3Hqdni/iKk9kxDU+fnUs7JP2PYtpvbGKQGMSFsnKU5B4pEM79qcESUiEIT TXYj/dimllJuxXAlqp6U+XRlQAqs0VWBdYoyQtR6rY9NijPW3k6tMN3DKwmJ9L2p tDSTJnSQKmpARp/W+gOvcA0Jk68cVasAQqjbiZGTOPigHsLsUTeU2tYZnNi0qZpw yZ0rF7qFiqtrQZ4tADe7BQgggW/UJponL0Xvb7rsORUfKDot4qx6Vy3tChCqVz6u eKx1cm93yC8RVCVeLb0Wbt1RL8Xk2T6Pvk/5YdYS2v4Q3TN32BG5er2HJs+GFvlR PeTDYwSncoNzFBp8HGIJRsp3rr1xg1N0/4mpYdrxHhs2/4AIcv+RIDGgcydzS6aV obXxNyAHzsJzJTYPqfISATqxMYcVIa7/opt50x0XEdQ7NTBpPp5Wb6cLNROZ7x6t q7Ku7c5bAkLL7VzDrs1oLWxrNCRBGLFmzrnUykeHPcT7SYsRZV8l2w8SEaYGc0W9 0Uhb2rZeOiBoPa2+tad9HHxcXJKi1XBX8Yj9/IclqWCJJt63CtBaddMPEof6xZpE rGIVA/ut3azbqTgJ0si4HkO+/k/5apAJJW+CojTjzj8TqKn6JiToDnDWyOTJTbMV JcW379525VV9luU82ssO =jKr0 -----END PGP SIGNATURE----- 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
This commit is contained in:
Коммит
ec6c0a7778
|
@ -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:
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
Загрузка…
Ссылка в новой задаче