Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ec6c0a77 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
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
parents 0498cf84 3fd276e9
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -901,7 +901,7 @@ static void ssip_tx_data_complete(struct hsi_msg *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) {
	case HSI_EVENT_START_RX:
+7 −7
Original line number Diff line number Diff line
@@ -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,
+8 −7
Original line number Diff line number Diff line
@@ -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,