Beispiel #1
0
static void __exit msm_sensor_exit_module(void)
{
	if (ov2720_s_ctrl.pdev) {
		msm_sensor_free_sensor_data(&ov2720_s_ctrl);
		platform_driver_unregister(&ov2720_platform_driver);
	} else
		i2c_del_driver(&ov2720_i2c_driver);
	return;
}
static void __exit ov13850_1140m_exit_module(void)
{
    pr_info("%s:%d\n", __func__, __LINE__);
    if (ov13850_1140m_s_ctrl.pdev) {
        msm_sensor_free_sensor_data(&ov13850_1140m_s_ctrl);
        platform_driver_unregister(&ov13850_1140m_platform_driver);
    } else
        i2c_del_driver(&ov13850_1140m_i2c_driver);
    return;
}
Beispiel #3
0
static void __exit imx119_exit_module(void)
{
	pr_err("%s:%d\n", __func__, __LINE__);
	if (imx119_s_ctrl.pdev) {
		msm_sensor_free_sensor_data(&imx119_s_ctrl);
		platform_driver_unregister(&imx119_platform_driver);
	} else
		i2c_del_driver(&imx119_i2c_driver);
	return;
}
static void __exit s5k3l1yx_exit_module(void)
{
	CDBG("%s:%d exit\n", __func__, __LINE__);
	if (s5k3l1yx_s_ctrl.pdev) {
		msm_sensor_free_sensor_data(&s5k3l1yx_s_ctrl);
		platform_driver_unregister(&s5k3l1yx_platform_driver);
	} else
		i2c_del_driver(&s5k3l1yx_i2c_driver);
	return;
}
static void __exit s5k4e1_liteon_affli_exit_module(void)
{
	pr_info("%s:%d\n", __func__, __LINE__);
	if (s5k4e1_liteon_affli_s_ctrl.pdev) {
		msm_sensor_free_sensor_data(&s5k4e1_liteon_affli_s_ctrl);
		platform_driver_unregister(&s5k4e1_liteon_affli_platform_driver);
	} else
		i2c_del_driver(&s5k4e1_liteon_affli_i2c_driver);
	return;
}
Beispiel #6
0
static void __exit mt9m114b_exit_module(void)
{
	if (mt9m114b_s_ctrl.pdev) {
		msm_sensor_free_sensor_data(&mt9m114b_s_ctrl);
		platform_driver_unregister(&mt9m114b_platform_driver);
	} else {
		i2c_del_driver(&mt9m114b_i2c_driver);
	}
	return;
}
static void __exit gc2235_imatec_exit_module(void)
{
	pr_info("%s:%d\n", __func__, __LINE__);
	if (gc2235_imatec_s_ctrl.pdev) {
		msm_sensor_free_sensor_data(&gc2235_imatec_s_ctrl);
		platform_driver_unregister(&gc2235_imatec_platform_driver);
	} else
		i2c_del_driver(&gc2235_imatec_i2c_driver);
	return;
}
static void __exit t4k37_qtech_f4k37ab_exit_module(void)
{
	CDBG("%s:%d\n", __func__, __LINE__);
	if (t4k37_qtech_f4k37ab_s_ctrl.pdev) {
		msm_sensor_free_sensor_data(&t4k37_qtech_f4k37ab_s_ctrl);
		platform_driver_unregister(&t4k37_qtech_f4k37ab_platform_driver);
	} else
		i2c_del_driver(&t4k37_qtech_f4k37ab_i2c_driver);
	return;
}
static void __exit hi841_qtech_exit_module(void)
{
	pr_info("%s:%d\n", __func__, __LINE__);
	if (hi841_qtech_s_ctrl.pdev) {
		msm_sensor_free_sensor_data(&hi841_qtech_s_ctrl);
		platform_driver_unregister(&hi841_qtech_platform_driver);
	} else
		i2c_del_driver(&hi841_qtech_i2c_driver);
	return;
}
static void __exit s5k4h5ya_exit_module(void)
{
	CDBG("E\n");
	if (s5k4h5ya_s_ctrl.pdev) {
		msm_sensor_free_sensor_data(&s5k4h5ya_s_ctrl);
		platform_driver_unregister(&s5k4h5ya_platform_driver);
	} else
		i2c_del_driver(&s5k4h5ya_i2c_driver);
	CDBG("X\n");
	return;
}
Beispiel #11
0
static void __exit avdevice_exit_module(void)
{
	int i = 0;
	for (i = 0; i < NUM_AV_DEVICES; i++) {
		if (avdevice_a_s_ctrl[i].pdev)
			msm_sensor_free_sensor_data(&avdevice_a_s_ctrl[i]);
	}

	platform_driver_unregister(&avdevice_ba_platform_driver);
	return;
}
Beispiel #12
0
static void __exit ov10820_exit_module(void)
{
    if (ov10820_s_ctrl.pdev) {
        msm_sensor_free_sensor_data(&ov10820_s_ctrl);
        platform_driver_unregister(&ov10820_platform_driver);
    } else
        i2c_del_driver(&ov10820_i2c_driver);

    if (ov10820_kobject) {
        sysfs_remove_group(ov10820_kobject, &ov10820_group);
        kobject_del(ov10820_kobject);
    }
    return;
}
static void __exit imx081_exit_module(void)
{
	CDBG("%s:%d\n", __func__, __LINE__);
	if (imx081_s_ctrl.pdev) {
		msm_sensor_free_sensor_data(&imx081_s_ctrl);
		platform_driver_unregister(&imx081_platform_driver);
	} else
		i2c_del_driver(&imx081_i2c_driver);
		
	kfree(imx081_diag_data);
	imx081_diag_data = NULL;
	
	return;
}
static int msm_sensor_driver_i2c_remove(struct i2c_client *client)
{
	struct msm_sensor_ctrl_t  *s_ctrl = i2c_get_clientdata(client);

	pr_err("%s: sensor FREE\n", __func__);

	if (!s_ctrl) {
		pr_err("%s: sensor device is NULL\n", __func__);
		return 0;
	}

	g_sctrl[s_ctrl->id] = NULL;
	msm_sensor_free_sensor_data(s_ctrl);
	kfree(s_ctrl->msm_sensor_mutex);
	kfree(s_ctrl->sensor_i2c_client);
	kfree(s_ctrl);

	return 0;
}
static int msm_sensor_platform_remove(struct platform_device *pdev)
{
	struct msm_sensor_ctrl_t  *s_ctrl;

	pr_err("%s: sensor FREE\n", __func__);

	s_ctrl = g_sctrl[pdev->id];
	if (!s_ctrl) {
		pr_err("%s: sensor device is NULL\n", __func__);
		return 0;
	}

	msm_sensor_free_sensor_data(s_ctrl);
	kfree(s_ctrl->msm_sensor_mutex);
	kfree(s_ctrl->sensor_i2c_client);
	kfree(s_ctrl);
	g_sctrl[pdev->id] = NULL;

	return 0;
}