Beispiel #1
0
static int alsps_probe(struct platform_device *pdev)
{

    int err;
    ALSPS_LOG("alsps_probe func called");
    ALSPS_LOG("+++++++++++++alsps_probe!!\n");

    alsps_context_obj = alsps_context_alloc_object();
    if (!alsps_context_obj)
    {
        err = -ENOMEM;
        ALSPS_ERR("unable to allocate devobj!\n");
        goto exit_alloc_data_failed;
    }

    //init real alspseleration driver
    err = alsps_real_driver_init();
    if(err)
    {
        ALSPS_ERR("alsps real driver init fail\n");
        goto real_driver_init_fail;
    }

    //init input dev
    err = alsps_input_init(alsps_context_obj);
    if(err)
    {
        ALSPS_ERR("unable to register alsps input device!\n");
        goto exit_alloc_input_dev_failed;
    }

        atomic_set(&(alsps_context_obj->early_suspend), 0);
    alsps_context_obj->early_drv.level    = EARLY_SUSPEND_LEVEL_STOP_DRAWING - 1,
    alsps_context_obj->early_drv.suspend  = alsps_early_suspend,
    alsps_context_obj->early_drv.resume   = alsps_late_resume,
    register_early_suspend(&alsps_context_obj->early_drv);


    ALSPS_LOG("----alsps_probe OK !!\n");
    return 0;


    real_driver_init_fail:
    exit_alloc_input_dev_failed:
    kfree(alsps_context_obj);

    exit_alloc_data_failed:


    ALSPS_LOG("----alsps_probe fail !!!\n");
    return err;
}
Beispiel #2
0
static int alsps_probe(struct platform_device *pdev) 
{

	int err;
	ALSPS_LOG("+++++++++++++alsps_probe!!\n");

	alsps_context_obj = alsps_context_alloc_object();
	if (!alsps_context_obj)
	{
		err = -ENOMEM;
		ALSPS_ERR("unable to allocate devobj!\n");
		goto exit_alloc_data_failed;
	}

	//init real alspseleration driver
    err = alsps_real_driver_init();
	if(err)
	{
		ALSPS_ERR("alsps real driver init fail\n");
		goto real_driver_init_fail;
	}
	//init alsps common factory mode misc device
	err = alsps_factory_device_init();
	if(err)
	{
		ALSPS_ERR("alsps factory device already registed\n");
	}

	//init input dev
	err = alsps_input_init(alsps_context_obj);
	if(err)
	{
		ALSPS_ERR("unable to register alsps input device!\n");
		goto exit_alloc_input_dev_failed;
	}

#if defined(CONFIG_HAS_EARLYSUSPEND) && defined(CONFIG_EARLYSUSPEND)
    atomic_set(&(alsps_context_obj->early_suspend), 0);
	alsps_context_obj->early_drv.level    = EARLY_SUSPEND_LEVEL_STOP_DRAWING - 1,
	alsps_context_obj->early_drv.suspend  = alsps_early_suspend,
	alsps_context_obj->early_drv.resume   = alsps_late_resume,    
	register_early_suspend(&alsps_context_obj->early_drv);
#endif

  
	ALSPS_LOG("----alsps_probe OK !!\n");
	return 0;

	//exit_hwmsen_create_attr_failed:
	//exit_misc_register_failed:    

	//exit_err_sysfs:
	
	
	real_driver_init_fail:
	exit_alloc_input_dev_failed:    
	kfree(alsps_context_obj);
	alsps_context_obj = NULL;
	exit_alloc_data_failed:
	

	ALSPS_LOG("----alsps_probe fail !!!\n");
	return err;
}