mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 13:11:40 +00:00
omapfb: dss: Handle return errors in dss_init_ports()
dss_init_ports() is not handling return errors from dpi_init_port() and sdi_init_port(). It is also always returning 0 currently which results in part of error handling code in dss_bind() being unused. Fix dss_init_ports() to handle return errors from dpi_init_port() and sdi_init_port(). Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> Cc: tomi.valkeinen@ti.com [b.zolnierkie: fail early on errors, minor fixups] Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
This commit is contained in:
parent
c1ae3cfa0e
commit
0348aaa344
@ -941,11 +941,13 @@ static int dss_init_features(struct platform_device *pdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void dss_uninit_ports(struct platform_device *pdev);
|
||||
|
||||
static int dss_init_ports(struct platform_device *pdev)
|
||||
{
|
||||
struct device_node *parent = pdev->dev.of_node;
|
||||
struct device_node *port;
|
||||
int r;
|
||||
int r, ret = 0;
|
||||
|
||||
if (parent == NULL)
|
||||
return 0;
|
||||
@ -972,17 +974,21 @@ static int dss_init_ports(struct platform_device *pdev)
|
||||
|
||||
switch (port_type) {
|
||||
case OMAP_DISPLAY_TYPE_DPI:
|
||||
dpi_init_port(pdev, port);
|
||||
ret = dpi_init_port(pdev, port);
|
||||
break;
|
||||
case OMAP_DISPLAY_TYPE_SDI:
|
||||
sdi_init_port(pdev, port);
|
||||
ret = sdi_init_port(pdev, port);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} while ((port = omapdss_of_get_next_port(parent, port)) != NULL);
|
||||
} while (!ret &&
|
||||
(port = omapdss_of_get_next_port(parent, port)) != NULL);
|
||||
|
||||
return 0;
|
||||
if (ret)
|
||||
dss_uninit_ports(pdev);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void dss_uninit_ports(struct platform_device *pdev)
|
||||
|
Loading…
Reference in New Issue
Block a user