From 708ee0188125b331c5c3d4557bf061888da87cb2 Mon Sep 17 00:00:00 2001 From: Pengcheng Chen Date: Mon, 10 Apr 2017 10:02:24 +0800 Subject: [PATCH] ge2d: move ge2d class register to ge2d probe PD#138714: move ge2d class register to ge2d probe. Change-Id: I09767d937fedf9ca67a8640e2ea989c32fb901f1 Signed-off-by: Pengcheng Chen --- drivers/amlogic/media/common/ge2d/ge2d_main.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/drivers/amlogic/media/common/ge2d/ge2d_main.c b/drivers/amlogic/media/common/ge2d/ge2d_main.c index 6733650cb3af..7080e068fef5 100644 --- a/drivers/amlogic/media/common/ge2d/ge2d_main.c +++ b/drivers/amlogic/media/common/ge2d/ge2d_main.c @@ -61,6 +61,8 @@ unsigned int ge2d_log_level; unsigned int ge2d_dump_reg_enable; unsigned int ge2d_dump_reg_cnt; +static int init_ge2d_device(void); +static int remove_ge2d_device(void); static int ge2d_open(struct inode *inode, struct file *file); static long ge2d_ioctl(struct file *filp, unsigned int cmd, unsigned long args); @@ -612,6 +614,8 @@ static int ge2d_probe(struct platform_device *pdev) struct reset_control *rstc = NULL; struct clk *clk_gate; struct clk *clk; + + init_ge2d_device(); /* get interrupt resource */ irq = platform_get_irq_byname(pdev, "ge2d"); if (irq == -ENXIO) { @@ -664,7 +668,7 @@ static int ge2d_remove(struct platform_device *pdev) { ge2d_log_info("%s\n", __func__); ge2d_wq_deinit(); - + remove_ge2d_device(); return 0; } @@ -709,12 +713,6 @@ static int init_ge2d_device(void) class_unregister(ge2d_device.cla); return -1; } - - if (platform_driver_register(&ge2d_driver)) { - ge2d_log_err("failed to register OSD driver!\n"); - return -ENODEV; - } - return ret; } @@ -734,13 +732,16 @@ static int remove_ge2d_device(void) static int __init ge2d_init_module(void) { ge2d_log_info("%s\n", __func__); - return init_ge2d_device(); + if (platform_driver_register(&ge2d_driver)) { + ge2d_log_err("failed to register ge2d driver!\n"); + return -ENODEV; + } + return 0; } static void __exit ge2d_remove_module(void) { platform_driver_unregister(&ge2d_driver); - remove_ge2d_device(); ge2d_log_info("%s\n", __func__); }