提交 31655958 编写于 作者: T Timur Tabi 提交者: Kumar Gala

powerpc/p1022ds: add missing iounmap calls to platform file

The platform file for the Freecale P1022DS reference board is not freeing
the ioremap() mapping of the PIXIS and global utilities nodes it creates.
Signed-off-by: NTimur Tabi <timur@freescale.com>
Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
上级 c0f58950
...@@ -129,6 +129,7 @@ static void p1022ds_set_gamma_table(int monitor_port, char *gamma_table_base) ...@@ -129,6 +129,7 @@ static void p1022ds_set_gamma_table(int monitor_port, char *gamma_table_base)
static void p1022ds_set_monitor_port(int monitor_port) static void p1022ds_set_monitor_port(int monitor_port)
{ {
struct device_node *pixis_node; struct device_node *pixis_node;
void __iomem *pixis;
u8 __iomem *brdcfg1; u8 __iomem *brdcfg1;
pixis_node = of_find_compatible_node(NULL, NULL, "fsl,p1022ds-pixis"); pixis_node = of_find_compatible_node(NULL, NULL, "fsl,p1022ds-pixis");
...@@ -137,12 +138,12 @@ static void p1022ds_set_monitor_port(int monitor_port) ...@@ -137,12 +138,12 @@ static void p1022ds_set_monitor_port(int monitor_port)
return; return;
} }
brdcfg1 = of_iomap(pixis_node, 0); pixis = of_iomap(pixis_node, 0);
if (!brdcfg1) { if (!pixis) {
pr_err("p1022ds: could not map ngPIXIS registers\n"); pr_err("p1022ds: could not map ngPIXIS registers\n");
return; return;
} }
brdcfg1 += 9; /* BRDCFG1 is at offset 9 in the ngPIXIS */ brdcfg1 = pixis + 9; /* BRDCFG1 is at offset 9 in the ngPIXIS */
switch (monitor_port) { switch (monitor_port) {
case 0: /* DVI */ case 0: /* DVI */
...@@ -158,6 +159,8 @@ static void p1022ds_set_monitor_port(int monitor_port) ...@@ -158,6 +159,8 @@ static void p1022ds_set_monitor_port(int monitor_port)
default: default:
pr_err("p1022ds: unsupported monitor port %i\n", monitor_port); pr_err("p1022ds: unsupported monitor port %i\n", monitor_port);
} }
iounmap(pixis);
} }
/** /**
...@@ -201,6 +204,8 @@ void p1022ds_set_pixel_clock(unsigned int pixclock) ...@@ -201,6 +204,8 @@ void p1022ds_set_pixel_clock(unsigned int pixclock)
/* Enable the clock and set the pxclk */ /* Enable the clock and set the pxclk */
setbits32(&guts->clkdvdr, CLKDVDR_PXCKEN | (pxclk << 16)); setbits32(&guts->clkdvdr, CLKDVDR_PXCKEN | (pxclk << 16));
iounmap(guts);
} }
/** /**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册