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 <pengcheng.chen@amlogic.com>
This commit is contained in:
Pengcheng Chen
2017-04-10 10:02:24 +08:00
parent 7abf625bfc
commit 708ee01881

View File

@@ -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__);
}