int sensors_register(struct device *dev, void * drvdata, struct device_attribute *attributes[], char *name) { int ret = 0; if(!sensors_class) { sensors_class = class_create(THIS_MODULE, "sensors"); if(IS_ERR(sensors_class)) return PTR_ERR(sensors_class); } mutex_lock(&sensors_mutex); dev = device_create(sensors_class, NULL, 0, drvdata, "%s", name); if (IS_ERR(dev)) { ret = PTR_ERR(dev); printk(KERN_ERR "[SENSORS CORE] device_create failed! [%d]\n", ret); return ret; } set_sensor_attr(dev, attributes); atomic_inc(&sensor_count); mutex_unlock(&sensors_mutex); return 0; }
int sensors_register(struct device **dev, void * drvdata, struct device_attribute *attributes[], char *name) { int ret = 0; if (!sensors_class) { sensors_class = class_create(THIS_MODULE, "sensors"); if (IS_ERR(sensors_class)) return PTR_ERR(sensors_class); } *dev = device_create(sensors_class, NULL, 0, drvdata, "%s", name); if (IS_ERR(*dev)) { ret = PTR_ERR(*dev); pr_err("[SENSORS CORE] device_create failed [%d]\n", ret); return ret; } ret = set_sensor_attr(*dev, attributes); return ret; }
int sensors_register(struct device **dev, void * drvdata, struct device_attribute *attributes[], char *name) { int ret = 0; #ifdef DEBUG_HAN pr_info("Thanks to into sensors_register\n"); #endif if (!sensors_class) { sensors_class = class_create(THIS_MODULE, "sensors"); if (IS_ERR(sensors_class)) return PTR_ERR(sensors_class); } #ifdef DEBUG_HAN pr_info("The Class is created\n"); #endif mutex_lock(&sensors_mutex); *dev = device_create(sensors_class, NULL, 0, drvdata, "%s", name); if (IS_ERR(*dev)) { ret = PTR_ERR(*dev); pr_err("[SENSORS CORE] device_create failed [%d]\n", ret); return ret; } ret = set_sensor_attr(*dev, attributes); atomic_inc(&sensor_count); mutex_unlock(&sensors_mutex); return ret; }
int adsp_factory_register(char *dev_name, int type, struct device_attribute *attributes[], struct adsp_fac_ctl *fact_ctl) { int ret = 0; pr_err("[FACTORY] %s\n", __func__); data->ctl[type] = fact_ctl; #ifdef CONFIG_ADSP_FACTORY sensors_factory_class = get_adsp_sensor_class(); #endif data->sensor_device[type] = device_create(sensors_factory_class, NULL, 0, data, "%s", dev_name); if (IS_ERR(data->sensor_device[type])) { ret = PTR_ERR(data->sensor_device[type]); pr_err("[FACTORY] %s: device_create failed![%d]\n", __func__, ret); return ret; } set_sensor_attr(data->sensor_device[type], attributes); atomic_inc(&sensor_count); data->ctl[type]->receive_data_fnc(data, CALLBACK_REGISTER_SUCCESS); return ret; }