Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
c0b90a31
Commit
c0b90a31
authored
Jan 15, 2009
by
Sascha Hauer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
imxfb: add platform specific init/exit functions
Signed-off-by:
Sascha Hauer
<
s.hauer@pengutronix.de
>
parent
879fea1b
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
0 deletions
+17
-0
arch/arm/plat-mxc/include/mach/imxfb.h
arch/arm/plat-mxc/include/mach/imxfb.h
+3
-0
drivers/video/imxfb.c
drivers/video/imxfb.c
+14
-0
No files found.
arch/arm/plat-mxc/include/mach/imxfb.h
View file @
c0b90a31
...
@@ -76,6 +76,9 @@ struct imx_fb_platform_data {
...
@@ -76,6 +76,9 @@ struct imx_fb_platform_data {
u_char
*
fixed_screen_cpu
;
u_char
*
fixed_screen_cpu
;
dma_addr_t
fixed_screen_dma
;
dma_addr_t
fixed_screen_dma
;
int
(
*
init
)(
struct
platform_device
*
);
int
(
*
exit
)(
struct
platform_device
*
);
void
(
*
lcd_power
)(
int
);
void
(
*
lcd_power
)(
int
);
void
(
*
backlight_power
)(
int
);
void
(
*
backlight_power
)(
int
);
};
};
...
...
drivers/video/imxfb.c
View file @
c0b90a31
...
@@ -650,6 +650,12 @@ static int __init imxfb_probe(struct platform_device *pdev)
...
@@ -650,6 +650,12 @@ static int __init imxfb_probe(struct platform_device *pdev)
info
->
fix
.
smem_start
=
fbi
->
screen_dma
;
info
->
fix
.
smem_start
=
fbi
->
screen_dma
;
}
}
if
(
pdata
->
init
)
{
ret
=
pdata
->
init
(
fbi
->
pdev
);
if
(
ret
)
goto
failed_platform_init
;
}
/*
/*
* This makes sure that our colour bitfield
* This makes sure that our colour bitfield
* descriptors are correctly initialised.
* descriptors are correctly initialised.
...
@@ -674,6 +680,9 @@ static int __init imxfb_probe(struct platform_device *pdev)
...
@@ -674,6 +680,9 @@ static int __init imxfb_probe(struct platform_device *pdev)
failed_register:
failed_register:
fb_dealloc_cmap
(
&
info
->
cmap
);
fb_dealloc_cmap
(
&
info
->
cmap
);
failed_cmap:
failed_cmap:
if
(
pdata
->
exit
)
pdata
->
exit
(
fbi
->
pdev
);
failed_platform_init:
if
(
!
pdata
->
fixed_screen_cpu
)
if
(
!
pdata
->
fixed_screen_cpu
)
dma_free_writecombine
(
&
pdev
->
dev
,
fbi
->
map_size
,
fbi
->
map_cpu
,
dma_free_writecombine
(
&
pdev
->
dev
,
fbi
->
map_size
,
fbi
->
map_cpu
,
fbi
->
map_dma
);
fbi
->
map_dma
);
...
@@ -691,6 +700,7 @@ failed_init:
...
@@ -691,6 +700,7 @@ failed_init:
static
int
__devexit
imxfb_remove
(
struct
platform_device
*
pdev
)
static
int
__devexit
imxfb_remove
(
struct
platform_device
*
pdev
)
{
{
struct
imx_fb_platform_data
*
pdata
;
struct
fb_info
*
info
=
platform_get_drvdata
(
pdev
);
struct
fb_info
*
info
=
platform_get_drvdata
(
pdev
);
struct
imxfb_info
*
fbi
=
info
->
par
;
struct
imxfb_info
*
fbi
=
info
->
par
;
struct
resource
*
res
;
struct
resource
*
res
;
...
@@ -701,6 +711,10 @@ static int __devexit imxfb_remove(struct platform_device *pdev)
...
@@ -701,6 +711,10 @@ static int __devexit imxfb_remove(struct platform_device *pdev)
unregister_framebuffer
(
info
);
unregister_framebuffer
(
info
);
pdata
=
pdev
->
dev
.
platform_data
;
if
(
pdata
->
exit
)
pdata
->
exit
(
fbi
->
pdev
);
fb_dealloc_cmap
(
&
info
->
cmap
);
fb_dealloc_cmap
(
&
info
->
cmap
);
kfree
(
info
->
pseudo_palette
);
kfree
(
info
->
pseudo_palette
);
framebuffer_release
(
info
);
framebuffer_release
(
info
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment