本文整理汇总了C++中sensors_unregister函数的典型用法代码示例。如果您正苦于以下问题:C++ sensors_unregister函数的具体用法?C++ sensors_unregister怎么用?C++ sensors_unregister使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了sensors_unregister函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: cm36686_i2c_remove
static int cm36686_i2c_remove(struct i2c_client *client)
{
struct cm36686_data *cm36686 = i2c_get_clientdata(client);
/* free irq */
if (cm36686->power_state & PROXIMITY_ENABLED) {
disable_irq_wake(cm36686->irq);
disable_irq(cm36686->irq);
}
free_irq(cm36686->irq, cm36686);
gpio_free(cm36686->pdata->irq);
/* device off */
if (cm36686->power_state & LIGHT_ENABLED)
cm36686_light_disable(cm36686);
if (cm36686->power_state & PROXIMITY_ENABLED) {
cm36686_i2c_write_word(cm36686, REG_PS_CONF1,
0x0001);
}
/* destroy workqueue */
destroy_workqueue(cm36686->light_wq);
destroy_workqueue(cm36686->prox_wq);
/* sysfs destroy */
sensors_unregister(cm36686->light_dev, light_sensor_attrs);
sensors_unregister(cm36686->proximity_dev, prox_sensor_attrs);
sensors_remove_symlink(&cm36686->light_input_dev->dev.kobj,
cm36686->light_input_dev->name);
sensors_remove_symlink(&cm36686->proximity_input_dev->dev.kobj,
cm36686->proximity_input_dev->name);
/* input device destroy */
sysfs_remove_group(&cm36686->light_input_dev->dev.kobj,
&light_attribute_group);
input_unregister_device(cm36686->light_input_dev);
sysfs_remove_group(&cm36686->proximity_input_dev->dev.kobj,
&proximity_attribute_group);
input_unregister_device(cm36686->proximity_input_dev);
#if defined(CONFIG_SENSORS_CM36686_LEDA_EN_GPIO)
cm36686_leden_gpio_onoff(cm36686, 0);
gpio_free(cm36686->pdata->leden_gpio);
#else
prox_led_onoff(cm36686, 0);
#endif
/* lock destroy */
mutex_destroy(&cm36686->read_lock);
mutex_destroy(&cm36686->power_lock);
wake_lock_destroy(&cm36686->prx_wake_lock);
kfree(cm36686);
return 0;
}
示例2: remove_pressure_factorytest
void remove_pressure_factorytest(struct ssp_data *data)
{
#if defined (LPS25H_REV)
if(data->ap_rev >= LPS25H_REV)
sensors_unregister(data->prs_device, pressure_attrs_lps25h);
else
sensors_unregister(data->prs_device, pressure_attrs);
#else
sensors_unregister(data->prs_device, pressure_attrs);
#endif
}
示例3: gp2a_shutdown
static void gp2a_shutdown(struct i2c_client *client)
{
struct gp2a_data *data = i2c_get_clientdata(client);
pr_info("%s, is called\n", __func__);
if (data->light_enabled) {
cancel_delayed_work_sync(&data->light_work);
lightsensor_onoff(0, data);
input_report_rel(data->light_input_dev, REL_MISC,
data->lux + 1);
input_sync(data->light_input_dev);
}
if (data->prox_enabled) {
disable_irq(data->irq);
disable_irq_wake(data->irq);
gp2a_prox_onoff(0, data);
wake_unlock(&data->prx_wake_lock);
}
wake_lock_destroy(&data->prx_wake_lock);
mutex_destroy(&data->light_mutex);
mutex_destroy(&data->data_mutex);
sensors_unregister(data->prox_sensor_device, prox_sensor_attrs);
sensors_unregister(data->light_sensor_device, light_sensor_attrs);
sysfs_remove_group(&data->prox_input_dev->dev.kobj,
&gp2a_prox_attribute_group);
sensors_remove_symlink(&data->prox_input_dev->dev.kobj,
data->prox_input_dev->name);
input_unregister_device(data->prox_input_dev);
input_free_device(data->prox_input_dev);
gpio_free(data->gpio);
sysfs_remove_group(&data->light_input_dev->dev.kobj,
&gp2a_light_attribute_group);
sensors_remove_symlink(&data->light_input_dev->dev.kobj,
data->light_input_dev->name);
input_unregister_device(data->light_input_dev);
input_free_device(data->light_input_dev);
sensor_power_on_vdd(data, 0);
kfree(data);
bShutdown = true;
}
示例4: cm3323_remove
static int __devexit cm3323_remove(struct i2c_client *client)
{
struct cm3323_p *data = i2c_get_clientdata(client);
/* device off */
if (data->power_state & LIGHT_ENABLED)
cm3323_light_disable(data);
/* destroy workqueue */
destroy_workqueue(data->light_wq);
/* lock destroy */
mutex_destroy(&data->read_lock);
mutex_destroy(&data->power_lock);
/* sysfs destroy */
sensors_unregister(data->light_dev, sensor_attrs);
sensors_remove_symlink(&data->input->dev.kobj, data->input->name);
/* input device destroy */
sysfs_remove_group(&data->input->dev.kobj, &light_attribute_group);
input_unregister_device(data->input);
kfree(data);
return 0;
}
示例5: uv_shutdown
static void uv_shutdown(struct platform_device *pdev)
{
struct uv_info *uv = dev_get_drvdata(&pdev->dev);
pr_info("%s+\n", __func__);
if (uv->onoff) {
hrtimer_cancel(&uv->uv_timer);
cancel_work_sync(&uv->work_uv);
}
destroy_workqueue(uv->uv_wq);
#ifdef CONFIG_HAS_EARLYSUSPEND
unregister_early_suspend(&uv->early_suspend);
#endif
sensors_unregister(uv->uv_dev, uv_sensor_attrs);
sysfs_remove_group(&uv->uv_input_dev->dev.kobj,
&uv_attribute_group);
input_unregister_device(uv->uv_input_dev);
if (uv->onoff && uv->pdata->power_on)
uv->pdata->power_on(false);
if (uv->pdata->adc_ap_exit)
uv->pdata->adc_ap_exit(uv->pdev_uv_adc);
if (uv->pdev_uv_adc)
platform_device_put(uv->pdev_uv_adc);
mutex_destroy(&uv->read_lock);
mutex_destroy(&uv->power_lock);
kfree(uv);
pr_info("%s-\n", __func__);
}
示例6: bma280_remove
static int __devexit bma280_remove(struct i2c_client *client)
{
struct bma280_p *data = (struct bma280_p *)i2c_get_clientdata(client);
if (atomic_read(&data->enable) == ON)
bma280_set_enable(data, OFF);
atomic_set(&data->enable, OFF);
cancel_delayed_work_sync(&data->irq_work);
bma280_set_mode(data, BMA280_MODE_SUSPEND);
sensors_unregister(data->factory_device, sensor_attrs);
sensors_remove_symlink(&data->input->dev.kobj, data->input->name);
sysfs_remove_group(&data->input->dev.kobj, &bma280_attribute_group);
input_unregister_device(data->input);
free_irq(data->irq1, data);
wake_lock_destroy(&data->reactive_wake_lock);
mutex_destroy(&data->mode_mutex);
gpio_free(data->acc_int1);
kfree(data);
return 0;
}
示例7: bh1721fvc_remove
static int bh1721fvc_remove(struct i2c_client *client)
{
struct bh1721fvc_data *bh1721fvc = i2c_get_clientdata(client);
sensors_unregister(bh1721fvc->light_sensor_device);
sysfs_remove_group(&bh1721fvc->input_dev->dev.kobj,
&bh1721fvc_attribute_group);
input_unregister_device(bh1721fvc->input_dev);
if (bh1721fvc_is_measuring(bh1721fvc))
bh1721fvc_disable(bh1721fvc);
destroy_workqueue(bh1721fvc->wq);
mutex_destroy(&bh1721fvc->lock);
kfree(bh1721fvc);
bh1721fvc_dbmsg("bh1721fvc_remove -\n");
return 0;
}
示例8: remove_temphumidity_factorytest
void remove_temphumidity_factorytest(struct ssp_data *data)
{
if (data->comp_engine_ver != NULL)
kfree(data->comp_engine_ver);
if (data->comp_engine_ver2 != NULL)
kfree(data->comp_engine_ver2);
sensors_unregister(data->temphumidity_device, temphumidity_attrs);
}
示例9: remove_magnetic_sensor
void remove_magnetic_sensor(struct ssp_data *data)
{
sensors_unregister(data->mag_device, mag_attrs);
device_remove_file(&data->mag_input_dev->dev,
&dev_attr_mag_poll_delay);
sensors_remove_symlink(&data->mag_input_dev->dev.kobj,
data->mag_input_dev->name);
input_unregister_device(data->mag_input_dev);
}
示例10: KXSD9_sysfs_exit
void KXSD9_sysfs_exit(struct sensors_dev *sdev)
#endif
{
trace_in();
#ifdef CONFIG_MACH_OSCAR
sensors_unregister(sdev);
#endif
trace_out();
}
示例11: remove_temphumidity_factorytest
void remove_temphumidity_factorytest(struct ssp_data *data)
{
if (data->comp_engine_ver != NULL)
kfree(data->comp_engine_ver);
if (data->comp_engine_ver2 != NULL)
kfree(data->comp_engine_ver2);
sensors_unregister(data->temphumidity_device, temphumidity_attrs);
ssp_temphumidity_fops.unlocked_ioctl = NULL;
misc_deregister(&data->shtc1_device);
}
示例12: remove_temphumidity_factorytest
void remove_temphumidity_factorytest(struct ssp_data *data)
{
if (data->adc_client)
s3c_adc_release(data->adc_client);
if (data->pdev_pam_temp)
platform_device_put(data->pdev_pam_temp);
sensors_unregister(data->temphumidity_device, temphumidity_attrs);
kfree(data->comp_engine_ver);
ssp_temphumidity_fops.unlocked_ioctl = NULL;
misc_deregister(&data->shtc1_device);
}
示例13: L_sysfs_exit
void L_sysfs_exit(struct sensors_dev *sdev)
#endif
{
trace_in();
#ifdef CONFIG_MACH_OSCAR
struct device *dev = sdev->dev;
sensors_unregister(sdev);
#endif
device_remove_file( dev, &dev_attr_L_adc_val );
device_remove_file( dev, &dev_attr_L_illum_lvl );
trace_out();
}
示例14: P_sysfs_exit
void P_sysfs_exit(struct sensors_dev *sdev)
#endif
{
trace_in();
#ifdef CONFIG_MACH_OSCAR
sensors_unregister(sdev);
#else
class_destroy(P_obj_state);
device_remove_file( dev, &dev_attr_P_output );
device_remove_file( dev, &dev_attr_P_operation );
#endif
trace_out();
}
示例15: ak09911c_remove
static int __devexit ak09911c_remove(struct i2c_client *client)
{
struct ak09911c_p *data =
(struct ak09911c_p *)i2c_get_clientdata(client);
if (atomic_read(&data->enable) == 1)
ak09911c_set_enable(data, 0);
gpio_free(data->m_rst_n);
mutex_destroy(&data->lock);
sensors_unregister(data->factory_device, sensor_attrs);
sensors_remove_symlink(&data->input->dev.kobj, data->input->name);
sysfs_remove_group(&data->input->dev.kobj, &ak09911c_attribute_group);
input_unregister_device(data->input);
kfree(data);
return 0;
}