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:
@@ -901,7 +901,7 @@ out:
|
|||||||
ssip_free_data(msg);
|
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) {
|
switch (event) {
|
||||||
case HSI_EVENT_START_RX:
|
case HSI_EVENT_START_RX:
|
||||||
|
@@ -148,14 +148,14 @@ static int __init ssi_debug_add_ctrl(struct hsi_controller *ssi)
|
|||||||
|
|
||||||
/* SSI controller */
|
/* SSI controller */
|
||||||
omap_ssi->dir = debugfs_create_dir(dev_name(&ssi->device), NULL);
|
omap_ssi->dir = debugfs_create_dir(dev_name(&ssi->device), NULL);
|
||||||
if (IS_ERR(omap_ssi->dir))
|
if (!omap_ssi->dir)
|
||||||
return PTR_ERR(omap_ssi->dir);
|
return -ENOMEM;
|
||||||
|
|
||||||
debugfs_create_file("regs", S_IRUGO, omap_ssi->dir, ssi,
|
debugfs_create_file("regs", S_IRUGO, omap_ssi->dir, ssi,
|
||||||
&ssi_regs_fops);
|
&ssi_regs_fops);
|
||||||
/* SSI GDD (DMA) */
|
/* SSI GDD (DMA) */
|
||||||
dir = debugfs_create_dir("gdd", omap_ssi->dir);
|
dir = debugfs_create_dir("gdd", omap_ssi->dir);
|
||||||
if (IS_ERR(dir))
|
if (!dir)
|
||||||
goto rback;
|
goto rback;
|
||||||
debugfs_create_file("regs", S_IRUGO, dir, ssi, &ssi_gdd_regs_fops);
|
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:
|
rback:
|
||||||
debugfs_remove_recursive(omap_ssi->dir);
|
debugfs_remove_recursive(omap_ssi->dir);
|
||||||
|
|
||||||
return PTR_ERR(dir);
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ssi_debug_remove_ctrl(struct hsi_controller *ssi)
|
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);
|
err = ssi_get_iomem(pd, "gdd", &omap_ssi->gdd, NULL);
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
goto out_err;
|
goto out_err;
|
||||||
omap_ssi->gdd_irq = platform_get_irq_byname(pd, "gdd_mpu");
|
err = platform_get_irq_byname(pd, "gdd_mpu");
|
||||||
if (omap_ssi->gdd_irq < 0) {
|
if (err < 0) {
|
||||||
dev_err(&pd->dev, "GDD IRQ resource missing\n");
|
dev_err(&pd->dev, "GDD IRQ resource missing\n");
|
||||||
err = omap_ssi->gdd_irq;
|
|
||||||
goto out_err;
|
goto out_err;
|
||||||
}
|
}
|
||||||
|
omap_ssi->gdd_irq = err;
|
||||||
tasklet_init(&omap_ssi->gdd_tasklet, ssi_gdd_tasklet,
|
tasklet_init(&omap_ssi->gdd_tasklet, ssi_gdd_tasklet,
|
||||||
(unsigned long)ssi);
|
(unsigned long)ssi);
|
||||||
err = devm_request_irq(&ssi->device, omap_ssi->gdd_irq, ssi_gdd_isr,
|
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);
|
struct hsi_port *port = to_hsi_port(omap_port->dev);
|
||||||
|
|
||||||
dir = debugfs_create_dir(dev_name(omap_port->dev), dir);
|
dir = debugfs_create_dir(dev_name(omap_port->dev), dir);
|
||||||
if (IS_ERR(dir))
|
if (!dir)
|
||||||
return PTR_ERR(dir);
|
return -ENOMEM;
|
||||||
omap_port->dir = dir;
|
omap_port->dir = dir;
|
||||||
debugfs_create_file("regs", S_IRUGO, dir, port, &ssi_port_regs_fops);
|
debugfs_create_file("regs", S_IRUGO, dir, port, &ssi_port_regs_fops);
|
||||||
dir = debugfs_create_dir("sst", dir);
|
dir = debugfs_create_dir("sst", dir);
|
||||||
if (IS_ERR(dir))
|
if (!dir)
|
||||||
return PTR_ERR(dir);
|
return -ENOMEM;
|
||||||
debugfs_create_file("divisor", S_IRUGO | S_IWUSR, dir, port,
|
debugfs_create_file("divisor", S_IRUGO | S_IWUSR, dir, port,
|
||||||
&ssi_sst_div_fops);
|
&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);
|
struct omap_ssi_port *omap_port = hsi_port_drvdata(port);
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
omap_port->irq = platform_get_irq(pd, 0);
|
err = platform_get_irq(pd, 0);
|
||||||
if (omap_port->irq < 0) {
|
if (err < 0) {
|
||||||
dev_err(&port->device, "Port IRQ resource missing\n");
|
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,
|
tasklet_init(&omap_port->pio_tasklet, ssi_pio_tasklet,
|
||||||
(unsigned long)port);
|
(unsigned long)port);
|
||||||
err = devm_request_irq(&port->device, omap_port->irq, ssi_pio_isr,
|
err = devm_request_irq(&port->device, omap_port->irq, ssi_pio_isr,
|
||||||
|
Reference in New Issue
Block a user