您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ sysfs_remove_file函数代码示例

51自学网 2021-06-03 08:38:22
  C++
这篇教程C++ sysfs_remove_file函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中sysfs_remove_file函数的典型用法代码示例。如果您正苦于以下问题:C++ sysfs_remove_file函数的具体用法?C++ sysfs_remove_file怎么用?C++ sysfs_remove_file使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了sysfs_remove_file函数的25个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: cpufreq_allstats_free

static void cpufreq_allstats_free(void){	int cpu;	struct all_cpufreq_stats *all_stat;	sysfs_remove_file(cpufreq_global_kobject,						&_attr_all_time_in_state.attr);	for_each_possible_cpu(cpu) {		all_stat = per_cpu(all_cpufreq_stats, cpu);		if (!all_stat)			continue;		kfree(all_stat->time_in_state);		kfree(all_stat);		per_cpu(all_cpufreq_stats, cpu) = NULL;	}	if (all_freq_table) {		kfree(all_freq_table->freq_table);		kfree(all_freq_table);		all_freq_table = NULL;	}}
开发者ID:chrisc93,项目名称:android_kernel_bullhead,代码行数:22,


示例2: synaptics_rmi4_prox_remove

static void synaptics_rmi4_prox_remove(struct synaptics_rmi4_data *rmi4_data){	unsigned char attr_count;	if (!prox)		goto exit;	for (attr_count = 0; attr_count < ARRAY_SIZE(attrs); attr_count++) {		sysfs_remove_file(&rmi4_data->input_dev->dev.kobj,				&attrs[attr_count].attr);	}	input_unregister_device(prox->prox_dev);	kfree(prox->finger_data);	kfree(prox);	prox = NULL;exit:	complete(&prox_remove_complete);	return;}
开发者ID:Fechinator,项目名称:FechdaKernel,代码行数:22,


示例3: cpufreq_allstats_free

static void cpufreq_allstats_free(void){	int i;	struct all_cpufreq_stats *all_stat;	sysfs_remove_file(cpufreq_global_kobject,						&_attr_all_time_in_state.attr);	for (i = 0; i < total_cpus; i++) {		all_stat = per_cpu(all_cpufreq_stats, i);		if (!all_stat)			continue;		kfree(all_stat->time_in_state);		kfree(all_stat);		per_cpu(all_cpufreq_stats, i) = NULL;	}	if (all_freq_table) {		kfree(all_freq_table->freq_table);		kfree(all_freq_table);		all_freq_table = NULL;	}}
开发者ID:akshayk007,项目名称:android_kernel_sony_msm8x60,代码行数:22,


示例4: enhance_init

static int __init enhance_init(void){	int retval;	int attr_count = 0;	enhance__kobj = kobject_create_and_add("lcd_enhance", kernel_kobj);	if (!enhance__kobj)		return -ENOMEM;	/* Create the files associated with this kobject */	for (attr_count = 0; attr_count < ARRAY_SIZE(attrs); attr_count++) {				if(!zte_enhance_val.en_colortmp && (attr_count == 1))			continue;			retval = sysfs_create_file(enhance__kobj, &attrs[attr_count].attr);		if (retval < 0) {			pr_err("%s: Failed to create sysfs attributes/n", __func__);			goto err_sys;		}	}		pr_info("lcd: %s Done./n",__func__);	return retval;	err_sys:	for (attr_count--; attr_count >= 0; attr_count--) {		sysfs_remove_file(enhance__kobj, &attrs[attr_count].attr);	}		kobject_put(enhance__kobj);		pr_info("lcd: %s init ERR./n",__func__);	return retval;}
开发者ID:ztemt,项目名称:NX505J_5.1_kernel,代码行数:38,


示例5: edac_init_mce_inject

static int __init edac_init_mce_inject(void){	struct sysdev_class *edac_class = NULL;	int i, err = 0;	edac_class = edac_get_sysfs_class();	if (!edac_class)		return -EINVAL;	mce_kobj = kobject_create_and_add("mce", &edac_class->kset.kobj);	if (!mce_kobj) {		printk(KERN_ERR "Error creating a mce kset./n");		err = -ENOMEM;		goto err_mce_kobj;	}	for (i = 0; i < ARRAY_SIZE(sysfs_attrs); i++) {		err = sysfs_create_file(mce_kobj, &sysfs_attrs[i]->attr);		if (err) {			printk(KERN_ERR "Error creating %s in sysfs./n",					sysfs_attrs[i]->attr.name);			goto err_sysfs_create;		}	}	return 0;err_sysfs_create:	while (--i >= 0)		sysfs_remove_file(mce_kobj, &sysfs_attrs[i]->attr);	kobject_del(mce_kobj);err_mce_kobj:	edac_put_sysfs_class();	return err;}
开发者ID:CSCLOG,项目名称:beaglebone,代码行数:37,


示例6: sysfs_add_meshif

int sysfs_add_meshif(struct net_device *dev){    struct kobject *batif_kobject = &dev->dev.kobj;    struct bat_priv *bat_priv = netdev_priv(dev);    struct bat_attribute **bat_attr;    int err;    bat_priv->mesh_obj = kobject_create_and_add(SYSFS_IF_MESH_SUBDIR,                         batif_kobject);    if (!bat_priv->mesh_obj) {        bat_err(dev, "Can't add sysfs directory: %s/%s/n", dev->name,                SYSFS_IF_MESH_SUBDIR);        goto out;    }    for (bat_attr = mesh_attrs; *bat_attr; ++bat_attr) {        err = sysfs_create_file(bat_priv->mesh_obj,                                &((*bat_attr)->attr));        if (err) {            bat_err(dev, "Can't add sysfs file: %s/%s/%s/n",                    dev->name, SYSFS_IF_MESH_SUBDIR,                    ((*bat_attr)->attr).name);            goto rem_attr;        }    }    return 0;rem_attr:    for (bat_attr = mesh_attrs; *bat_attr; ++bat_attr)        sysfs_remove_file(bat_priv->mesh_obj, &((*bat_attr)->attr));    kobject_put(bat_priv->mesh_obj);    bat_priv->mesh_obj = NULL;out:    return -ENOMEM;}
开发者ID:AbheekG,项目名称:XIA-for-Linux,代码行数:37,


示例7: bu21150_remove

static int bu21150_remove(struct spi_device *client){	struct bu21150_data *ts = spi_get_drvdata(client);	int i;	mutex_destroy(&ts->mutex_wake);	if (ts->wake_up)		device_init_wakeup(&client->dev, 0);	for (i = 0; i < ARRAY_SIZE(bu21150_prop_attrs); i++)		sysfs_remove_file(ts->bu21150_obj,					&bu21150_prop_attrs[i].attr);	kobject_put(ts->bu21150_obj);	fb_unregister_client(&ts->fb_notif);	misc_deregister(&g_bu21150_misc_device);	bu21150_power_enable(ts, false);	bu21150_regulator_config(ts, false);	free_irq(client->irq, ts);	mutex_destroy(&ts->mutex_frame);	bu21150_pin_enable(ts, false);	kfree(ts);	return 0;}
开发者ID:silversderek,项目名称:msm8909_kernel_lenovo,代码行数:24,


示例8: edac_device_delete_block

/* * edac_device_delete_block(edac_dev,block); */static void edac_device_delete_block(struct edac_device_ctl_info *edac_dev,				struct edac_device_block *block){	struct edac_dev_sysfs_block_attribute *sysfs_attrib;	int i;	/* if this block has 'attributes' then we need to iterate over the list	 * and 'remove' the attributes on this block	 */	sysfs_attrib = block->block_attributes;	if (sysfs_attrib && block->nr_attribs) {		for (i = 0; i < block->nr_attribs; i++, sysfs_attrib++) {			/* remove each block_attrib file */			sysfs_remove_file(&block->kobj,				(struct attribute *) sysfs_attrib);		}	}	/* unregister this block's kobject, SEE:	 *	edac_device_ctrl_block_release() callback operation	 */	kobject_put(&block->kobj);}
开发者ID:ANFS,项目名称:ANFS-kernel,代码行数:27,


示例9: etb_sysfs_exit

static void __devexit etb_sysfs_exit(void){	sysfs_remove_file(etb.kobj, &trigger_cntr_attr.attr);	kobject_put(etb.kobj);}
开发者ID:Bigtime1267,项目名称:HTC-C525c,代码行数:5,


示例10: qdss_sysfs_exit

static void qdss_sysfs_exit(void){	sysfs_remove_file(qdss.modulekobj, &max_clk_attr.attr);}
开发者ID:AndyOpie,项目名称:android_kernel_lge_msm7x27-3.0.x,代码行数:4,


示例11: met_emi_delete

static void met_emi_delete(void){    sysfs_remove_file(kobj_emi, &rwtype_attr.attr);    sysfs_remove_file(kobj_emi, &emi_clock_rate_attr.attr);    kobj_emi = NULL;}
开发者ID:kim-ryuzaki,项目名称:android_mediatek_muse72,代码行数:6,


示例12: lpm_mode_exit

static void __exit lpm_mode_exit(void){	sysfs_remove_file(mot_lpm_kobj, (const struct attribute *) &lpm_mode);	kobject_del(mot_lpm_kobj);}
开发者ID:CheckYourScreen,项目名称:ThugLife_falcon,代码行数:5,


示例13: iommu_group_remove_file

static void iommu_group_remove_file(struct iommu_group *group,				    struct iommu_group_attribute *attr){	sysfs_remove_file(&group->kobj, &attr->attr);}
开发者ID:ramlaxman,项目名称:linux,代码行数:5,


示例14: mdss_dsi_panel_init

//.........这里部分代码省略.........				__func__, __LINE__);		ctrl_pdata->panel_data.panel_info.cont_splash_enabled = 0;	} else {		pr_info("%s:%d Continuous splash flag enabled./n",				__func__, __LINE__);		ctrl_pdata->panel_data.panel_info.cont_splash_enabled = 1;	}#if defined(CONFIG_FB_MSM8x26_MDSS_CHECK_LCD_CONNECTION)	pr_err("CONFIG_LCD_CONNECTION_CHECK is set kky/n");	if (get_samsung_lcd_attached() == 0)	{		printk("%s: aaaLCD not connected.... Disabling Continous Splash!/n",__func__);//		ctrl_pdata->panel_data.panel_info.cont_splash_enabled = 0;	}#endif	ctrl_pdata->on = mdss_dsi_panel_on;	ctrl_pdata->off = mdss_dsi_panel_off;	ctrl_pdata->panel_reset = mdss_dsi_himax_panel_reset;	ctrl_pdata->panel_data.set_backlight = mdss_dsi_panel_bl_ctrl;#if defined(CONFIG_LCD_CLASS_DEVICE)	lcd_device = lcd_device_register("panel", &pdev->dev, NULL,					&mdss_himax_disp_props);	if (IS_ERR(lcd_device)) {		rc = PTR_ERR(lcd_device);		printk(KERN_ERR "lcd : failed to register device/n");		return rc;	}	sysfs_remove_file(&lcd_device->dev.kobj,&dev_attr_lcd_power.attr);	rc = sysfs_create_file(&lcd_device->dev.kobj,&dev_attr_lcd_power.attr);	if (rc) {		pr_info("sysfs create fail-%s/n",dev_attr_lcd_power.attr.name);	}	rc = sysfs_create_file(&lcd_device->dev.kobj,					&dev_attr_lcd_type.attr);	if (rc) {		pr_info("sysfs create fail-%s/n",				dev_attr_lcd_type.attr.name);	}	rc= sysfs_create_file(&lcd_device->dev.kobj,					&dev_attr_siop_enable.attr);	if (rc) {		pr_info("sysfs create fail-%s/n",				dev_attr_siop_enable.attr.name);	}#if defined(CONFIG_BACKLIGHT_CLASS_DEVICE)	bd = backlight_device_register("panel", &lcd_device->dev,			NULL, NULL, NULL);	if (IS_ERR(bd)) {		rc = PTR_ERR(bd);		pr_info("backlight : failed to register device/n");		return rc;	}	rc= sysfs_create_file(&bd->dev.kobj,					&dev_attr_auto_brightness.attr);	if (rc) {
开发者ID:adis1313,项目名称:android_kernel_samsung_msm8974,代码行数:67,


示例15: pch_phub_probe

static int __devinit pch_phub_probe(struct pci_dev *pdev,				    const struct pci_device_id *id){	int retval;	int ret;	ssize_t rom_size;	struct pch_phub_reg *chip;	chip = kzalloc(sizeof(struct pch_phub_reg), GFP_KERNEL);	if (chip == NULL)		return -ENOMEM;	ret = pci_enable_device(pdev);	if (ret) {		dev_err(&pdev->dev,		"%s : pci_enable_device FAILED(ret=%d)", __func__, ret);		goto err_pci_enable_dev;	}	dev_dbg(&pdev->dev, "%s : pci_enable_device returns %d/n", __func__,		ret);	ret = pci_request_regions(pdev, KBUILD_MODNAME);	if (ret) {		dev_err(&pdev->dev,		"%s : pci_request_regions FAILED(ret=%d)", __func__, ret);		goto err_req_regions;	}	dev_dbg(&pdev->dev, "%s : "		"pci_request_regions returns %d/n", __func__, ret);	chip->pch_phub_base_address = pci_iomap(pdev, 1, 0);	if (chip->pch_phub_base_address == 0) {		dev_err(&pdev->dev, "%s : pci_iomap FAILED", __func__);		ret = -ENOMEM;		goto err_pci_iomap;	}	dev_dbg(&pdev->dev, "%s : pci_iomap SUCCESS and value "		"in pch_phub_base_address variable is %p/n", __func__,		chip->pch_phub_base_address);	chip->pch_phub_extrom_base_address = pci_map_rom(pdev, &rom_size);	if (chip->pch_phub_extrom_base_address == 0) {		dev_err(&pdev->dev, "%s : pci_map_rom FAILED", __func__);		ret = -ENOMEM;		goto err_pci_map;	}	dev_dbg(&pdev->dev, "%s : "		"pci_map_rom SUCCESS and value in "		"pch_phub_extrom_base_address variable is %p/n", __func__,		chip->pch_phub_extrom_base_address);	if (id->driver_data == 1) {		retval = sysfs_create_file(&pdev->dev.kobj,					   &dev_attr_pch_mac.attr);		if (retval)			goto err_sysfs_create;		retval = sysfs_create_bin_file(&pdev->dev.kobj, &pch_bin_attr);		if (retval)			goto exit_bin_attr;		pch_phub_read_modify_write_reg(chip,					       (unsigned int)CLKCFG_REG_OFFSET,					       CLKCFG_CAN_50MHZ,					       CLKCFG_CANCLK_MASK);		/* quirk for CM-iTC board */		if (strstr(dmi_get_system_info(DMI_BOARD_NAME), "CM-iTC"))			pch_phub_read_modify_write_reg(chip,						(unsigned int)CLKCFG_REG_OFFSET,						CLKCFG_UART_48MHZ | CLKCFG_BAUDDIV |						CLKCFG_PLL2VCO | CLKCFG_UARTCLKSEL,						CLKCFG_UART_MASK);		/* set the prefech value */		iowrite32(0x000affaa, chip->pch_phub_base_address + 0x14);		/* set the interrupt delay value */		iowrite32(0x25, chip->pch_phub_base_address + 0x44);	} else if (id->driver_data == 2) {		retval = sysfs_create_bin_file(&pdev->dev.kobj, &pch_bin_attr);		if (retval)			goto err_sysfs_create;		/* set the prefech value		 * Device2(USB OHCI #1/ USB EHCI #1/ USB Device):a		 * Device4(SDIO #0,1,2):f		 * Device6(SATA 2):f		 * Device8(USB OHCI #0/ USB EHCI #0):a		 */		iowrite32(0x000affa0, chip->pch_phub_base_address + 0x14);	}	pci_set_drvdata(pdev, chip);	return 0;exit_bin_attr:	sysfs_remove_file(&pdev->dev.kobj, &dev_attr_pch_mac.attr);err_sysfs_create://.........这里部分代码省略.........
开发者ID:mesosexy,项目名称:linux-2.6,代码行数:101,


示例16: taskmonitor_exit

static void taskmonitor_exit(void){	sysfs_remove_file(kernel_kobj, &(hellosysfs_kattr.attr));	pr_info("rmmod: removed module hellosysfs/n");}
开发者ID:ilyasToumlilt,项目名称:M2_NMV,代码行数:6,


示例17: ge_counter_probe

//.........这里部分代码省略.........		dest->reset_on_read = src->reset_on_read;		dest->use_timer = false;		dest->interval_count_valid = false;		dest->counter_attr.show = counter_show;		dest->counter_attr.store = counter_store;		sysfs_attr_init(&dest->counter_attr.attr);		dest->counter_attr.attr.name = "counter";		dest->counter_attr.attr.mode = S_IRUGO | S_IWUSR;		ret = sysfs_create_file(dest->subdir, &dest->counter_attr.attr);		if (ret)			goto err_dir;		dest->elapsed_attr.show = elapsed_show;		dest->elapsed_attr.store = elapsed_store;		sysfs_attr_init(&dest->elapsed_attr.attr);		dest->elapsed_attr.attr.name = "elapsed";		dest->elapsed_attr.attr.mode = S_IRUGO | S_IWUSR;		ret = sysfs_create_file(dest->subdir, &dest->elapsed_attr.attr);		if (ret)			goto err_file1;		dest->state_attr.show = state_show;		sysfs_attr_init(&dest->state_attr.attr);		dest->state_attr.attr.name = "state";		dest->state_attr.attr.mode = S_IRUGO;		ret = sysfs_create_file(dest->subdir, &dest->state_attr.attr);		if (ret)			goto err_file2;		dest->reset_on_read_attr.show = reset_on_read_show;		dest->reset_on_read_attr.store = reset_on_read_store;		sysfs_attr_init(&dest->reset_on_read_attr.attr);		dest->reset_on_read_attr.attr.name = "reset_on_read";		dest->reset_on_read_attr.attr.mode = S_IRUGO | S_IWUSR;		ret = sysfs_create_file(dest->subdir, &dest->reset_on_read_attr.attr);		if (ret)			goto err_file3;		if (src->interval) {			dest->interval_attr.show = interval_show;			dest->interval_attr.store = interval_store;			sysfs_attr_init(&dest->interval_attr.attr);			dest->interval_attr.attr.name = "interval";			dest->interval_attr.attr.mode = S_IRUGO | S_IWUSR;			ret = sysfs_create_file(dest->subdir, &dest->interval_attr.attr);			if (ret)				goto err_file4;			dest->interval_count_attr.show = interval_count_show;			sysfs_attr_init(&dest->interval_count_attr.attr);			dest->interval_count_attr.attr.name = "interval_count";			dest->interval_count_attr.attr.mode = S_IRUGO;			ret = sysfs_create_file(dest->subdir, &dest->interval_count_attr.attr);			if (ret)				goto err_file5;			dest->use_timer = true;			init_timer(&dest->timer);			dest->timer.data = (unsigned long)dest;			dest->timer.function = timeout;			dest->jiffies = jiffies;			dest->timer.expires = jiffies + dest->interval;			add_timer(&dest->timer);		}	}	platform_set_drvdata(pdev, data);	return 0;err_file5:	sysfs_remove_file(dest->subdir, &dest->interval_attr.attr);err_file4:	sysfs_remove_file(dest->subdir, &dest->reset_on_read_attr.attr);err_file3:	sysfs_remove_file(dest->subdir, &dest->state_attr.attr);err_file2:	sysfs_remove_file(dest->subdir, &dest->elapsed_attr.attr);err_file1:	sysfs_remove_file(dest->subdir, &dest->counter_attr.attr);err_dir:	kobject_put(dest->subdir);err_irq:	free_irq(irq, dest);err_gpio:	gpio_free(dest->gpio);err:	for (--i; i >= 0; i--)		delete_counter(&data->vdata[i]);	kobject_put(data->dir);	kfree(data);	return ret;}
开发者ID:SystemTera,项目名称:SystemTera.Server-V-3.14-Kernel,代码行数:101,


示例18: funnel_sysfs_exit

static void __devexit funnel_sysfs_exit(void){	sysfs_remove_file(drvdata->kobj, &dev_attr_priority.attr);	kobject_put(drvdata->kobj);}
开发者ID:404992361,项目名称:mi1_kernel,代码行数:5,


示例19: mipi_samsung_disp_probe

static int __devinit mipi_samsung_disp_probe(struct platform_device *pdev){	int ret, rc;	struct platform_device *msm_fb_added_dev;	struct lcd_device *lcd_device;	struct backlight_device *bd = NULL;	printk(KERN_INFO "[lcd] mipi_samsung_disp_probe start/n");	if (pdev->id == 0) {		msd.mipi_samsung_disp_pdata = pdev->dev.platform_data;		printk(KERN_INFO		"[lcd] pdev->id =%d,  pdev-name = %s/n", pdev->id, pdev->name);		sec_debug_mdp_init();		printk(KERN_INFO "[lcd] mipi_samsung_disp_probe end since pdev-id is 0/n");		return 0;	}	printk(KERN_INFO "[lcd] msm_fb_add_device : %s/n", pdev->name);	msm_fb_added_dev = msm_fb_add_device(pdev);	mutex_init(&dsi_tx_mutex);#if defined(CONFIG_HAS_EARLYSUSPEND) || defined(CONFIG_LCD_CLASS_DEVICE)	msd.msm_pdev = msm_fb_added_dev;#endif	pm_gpio8 = PM8921_GPIO_PM_TO_SYS(PMIC_GPIO_ERR_FG);	rc = gpio_request(pm_gpio8, "err_fg");	if (rc) {		pr_err("request gpio err_fg failed, rc=%d/n", rc);		return -ENODEV;	}	rc = pm8xxx_gpio_config(pm_gpio8, &gpio_get_param);	if (rc) {		pr_err("gpio_config mlcd_rst failed (3), rc=%d/n", rc);		return -EINVAL;	}#if defined(CONFIG_HAS_EARLYSUSPEND)	msd.early_suspend.suspend = mipi_samsung_disp_early_suspend;	msd.early_suspend.resume = mipi_samsung_disp_late_resume;	msd.early_suspend.level = EARLY_SUSPEND_LEVEL_BLANK_SCREEN;	register_early_suspend(&msd.early_suspend);#endif#if defined(CONFIG_LCD_CLASS_DEVICE)	printk(KERN_INFO "[lcd] lcd_device_register for panel start/n");	lcd_device = lcd_device_register("panel", &pdev->dev, NULL,			&mipi_samsung_disp_props);	if (IS_ERR(lcd_device)) {		ret = PTR_ERR(lcd_device);		printk(KERN_ERR "lcd : failed to register device/n");		return ret;	}	sysfs_remove_file(&lcd_device->dev.kobj,			&dev_attr_lcd_power.attr);	ret = sysfs_create_file(&lcd_device->dev.kobj,			&dev_attr_lcd_power.attr);	if (ret) {		pr_info("sysfs create fail-%s/n",				dev_attr_lcd_power.attr.name);	}	ret = sysfs_create_file(&lcd_device->dev.kobj,			&dev_attr_lcd_type.attr);	if (ret) {		pr_info("sysfs create fail-%s/n",				dev_attr_lcd_type.attr.name);	}	ret = sysfs_create_file(&lcd_device->dev.kobj,			&dev_attr_window_type.attr);	if (ret) {		pr_info("sysfs create fail-%s/n",				dev_attr_window_type.attr.name);	}	ret = sysfs_create_file(&lcd_device->dev.kobj,					&dev_attr_power_reduce.attr);	if (ret) {		pr_info("sysfs create fail-%s/n",				dev_attr_power_reduce.attr.name);	}	ret = sysfs_create_file(&lcd_device->dev.kobj,					&dev_attr_siop_enable.attr);	if (ret) {		pr_info("sysfs create fail-%s/n",				dev_attr_siop_enable.attr.name);//.........这里部分代码省略.........
开发者ID:TheDragonkeeper,项目名称:Ubuntu-Touch-i9505,代码行数:101,


示例20: sysfs_remove_files

void sysfs_remove_files(struct kobject * kobj, const struct attribute **ptr){	int i;	for (i = 0; ptr[i]; i++)		sysfs_remove_file(kobj, ptr[i]);}
开发者ID:novic,项目名称:AniDroid-Hardened-Kernel,代码行数:6,


示例21: qpnp_haptic_probe

static int qpnp_haptic_probe(struct spmi_device *spmi){	struct qpnp_hap *hap;	struct resource *hap_resource;	int rc, i;	hap = devm_kzalloc(&spmi->dev, sizeof(*hap), GFP_KERNEL);	if (!hap)		return -ENOMEM;	hap->spmi = spmi;	hap_resource = spmi_get_resource(spmi, 0, IORESOURCE_MEM, 0);	if (!hap_resource) {		dev_err(&spmi->dev, "Unable to get haptic base address/n");		return -EINVAL;	}	hap->base = hap_resource->start;	dev_set_drvdata(&spmi->dev, hap);	rc = qpnp_hap_parse_dt(hap);	if (rc) {		dev_err(&spmi->dev, "DT parsing failed/n");		return rc;	}	rc = qpnp_hap_config(hap);	if (rc) {		dev_err(&spmi->dev, "hap config failed/n");		return rc;	}	mutex_init(&hap->lock);	mutex_init(&hap->wf_lock);	INIT_WORK(&hap->work, qpnp_hap_worker);	hrtimer_init(&hap->hap_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);	hap->hap_timer.function = qpnp_hap_timer;	hap->timed_dev.name = "vibrator";	hap->timed_dev.get_time = qpnp_hap_get_time;	hap->timed_dev.enable = qpnp_hap_td_enable;	rc = timed_output_dev_register(&hap->timed_dev);	if (rc < 0) {		dev_err(&spmi->dev, "timed_output registration failed/n");		goto timed_output_fail;	}	for (i = 0; i < ARRAY_SIZE(qpnp_hap_attrs); i++) {		rc = sysfs_create_file(&hap->timed_dev.dev->kobj,				&qpnp_hap_attrs[i].attr);		if (rc < 0) {			dev_err(&spmi->dev, "sysfs creation failed/n");			goto sysfs_fail;		}	}	return 0;sysfs_fail:	for (i--; i >= 0; i--)		sysfs_remove_file(&hap->timed_dev.dev->kobj,				&qpnp_hap_attrs[i].attr);	timed_output_dev_unregister(&hap->timed_dev);timed_output_fail:	cancel_work_sync(&hap->work);	hrtimer_cancel(&hap->hap_timer);	mutex_destroy(&hap->lock);	mutex_destroy(&hap->wf_lock);	return rc;}
开发者ID:auras76,项目名称:aur-kernel-XZxx,代码行数:74,


示例22: qpnp_wled_probe

static int qpnp_wled_probe(struct spmi_device *spmi){	struct qpnp_wled *wled;	struct resource *wled_resource;	int rc, i;	wled = devm_kzalloc(&spmi->dev, sizeof(*wled), GFP_KERNEL);	if (!wled)		return -ENOMEM;	wled->spmi = spmi;	wled_resource = spmi_get_resource_byname(spmi, NULL, IORESOURCE_MEM,					QPNP_WLED_SINK_BASE);	if (!wled_resource) {		dev_err(&spmi->dev, "Unable to get wled sink base address/n");		return -EINVAL;	}	wled->sink_base = wled_resource->start;	wled_resource = spmi_get_resource_byname(spmi, NULL, IORESOURCE_MEM,					QPNP_WLED_CTRL_BASE);	if (!wled_resource) {		dev_err(&spmi->dev, "Unable to get wled ctrl base address/n");		return -EINVAL;	}	wled->ctrl_base = wled_resource->start;	wled_resource = spmi_get_resource_byname(spmi, NULL, IORESOURCE_MEM,					QPNP_WLED_IBB_BASE);	if (!wled_resource) {		dev_err(&spmi->dev, "Unable to get IBB base address/n");		return -EINVAL;	}	wled->ibb_base = wled_resource->start;	wled_resource = spmi_get_resource_byname(spmi, NULL, IORESOURCE_MEM,					QPNP_WLED_LAB_BASE);	if (!wled_resource) {		dev_err(&spmi->dev, "Unable to get LAB base address/n");		return -EINVAL;	}	wled->lab_base = wled_resource->start;	dev_set_drvdata(&spmi->dev, wled);	rc = qpnp_wled_parse_dt(wled);	if (rc) {		dev_err(&spmi->dev, "DT parsing failed/n");		return rc;	}	rc = qpnp_wled_config(wled);	if (rc) {		dev_err(&spmi->dev, "wled config failed/n");		return rc;	}	mutex_init(&wled->lock);	INIT_WORK(&wled->work, qpnp_wled_work);	wled->ramp_ms = QPNP_WLED_RAMP_DLY_MS;	wled->ramp_step = 1;	wled->cdev.brightness_set = qpnp_wled_set;	wled->cdev.brightness_get = qpnp_wled_get;	if (wled->en_9b_dim_res)		wled->cdev.max_brightness = WLED_MAX_LEVEL_511;	else		wled->cdev.max_brightness = WLED_MAX_LEVEL_4095;	rc = led_classdev_register(&spmi->dev, &wled->cdev);	if (rc) {		dev_err(&spmi->dev, "wled registration failed(%d)/n", rc);		goto wled_register_fail;	}	for (i = 0; i < ARRAY_SIZE(qpnp_wled_attrs); i++) {		rc = sysfs_create_file(&wled->cdev.dev->kobj,				&qpnp_wled_attrs[i].attr);		if (rc < 0) {			dev_err(&spmi->dev, "sysfs creation failed/n");			goto sysfs_fail;		}	}	gwled = wled;	return 0;sysfs_fail:	for (i--; i >= 0; i--)		sysfs_remove_file(&wled->cdev.dev->kobj,				&qpnp_wled_attrs[i].attr);	led_classdev_unregister(&wled->cdev);wled_register_fail://.........这里部分代码省略.........
开发者ID:qriozum,项目名称:M9,代码行数:101,


示例23: pch_phub_probe

//.........这里部分代码省略.........		ret = sysfs_create_bin_file(&pdev->dev.kobj, &pch_bin_attr);		if (ret)			goto exit_bin_attr;		pch_phub_read_modify_write_reg(chip,					       (unsigned int)CLKCFG_REG_OFFSET,					       CLKCFG_CAN_50MHZ,					       CLKCFG_CANCLK_MASK);		/* quirk for CM-iTC board */		board_name = dmi_get_system_info(DMI_BOARD_NAME);		if (board_name && strstr(board_name, "CM-iTC"))			pch_phub_read_modify_write_reg(chip,						(unsigned int)CLKCFG_REG_OFFSET,						CLKCFG_UART_48MHZ | CLKCFG_BAUDDIV |						CLKCFG_PLL2VCO | CLKCFG_UARTCLKSEL,						CLKCFG_UART_MASK);		/* set the prefech value */		iowrite32(0x000affaa, chip->pch_phub_base_address + 0x14);		/* set the interrupt delay value */		iowrite32(0x25, chip->pch_phub_base_address + 0x44);		chip->pch_opt_rom_start_address = PCH_PHUB_ROM_START_ADDR_EG20T;		chip->pch_mac_start_address = PCH_PHUB_MAC_START_ADDR_EG20T;	} else if (id->driver_data == 2) { /* ML7213 IOH */		ret = sysfs_create_bin_file(&pdev->dev.kobj, &pch_bin_attr);		if (ret)			goto err_sysfs_create;		/* set the prefech value		 * Device2(USB OHCI #1/ USB EHCI #1/ USB Device):a		 * Device4(SDIO #0,1,2):f		 * Device6(SATA 2):f		 * Device8(USB OHCI #0/ USB EHCI #0):a		 */		iowrite32(0x000affa0, chip->pch_phub_base_address + 0x14);		chip->pch_opt_rom_start_address =/						 PCH_PHUB_ROM_START_ADDR_ML7213;	} else if (id->driver_data == 3) { /* ML7223 IOH Bus-m*/		/* set the prefech value		 * Device8(GbE)		 */		iowrite32(0x000a0000, chip->pch_phub_base_address + 0x14);		/* set the interrupt delay value */		iowrite32(0x25, chip->pch_phub_base_address + 0x140);		chip->pch_opt_rom_start_address =/						 PCH_PHUB_ROM_START_ADDR_ML7223;		chip->pch_mac_start_address = PCH_PHUB_MAC_START_ADDR_ML7223;	} else if (id->driver_data == 4) { /* ML7223 IOH Bus-n*/		ret = sysfs_create_file(&pdev->dev.kobj,					&dev_attr_pch_mac.attr);		if (ret)			goto err_sysfs_create;		ret = sysfs_create_bin_file(&pdev->dev.kobj, &pch_bin_attr);		if (ret)			goto exit_bin_attr;		/* set the prefech value		 * Device2(USB OHCI #0,1,2,3/ USB EHCI #0):a		 * Device4(SDIO #0,1):f		 * Device6(SATA 2):f		 */		iowrite32(0x0000ffa0, chip->pch_phub_base_address + 0x14);		chip->pch_opt_rom_start_address =/						 PCH_PHUB_ROM_START_ADDR_ML7223;		chip->pch_mac_start_address = PCH_PHUB_MAC_START_ADDR_ML7223;	} else if (id->driver_data == 5) { /* ML7831 */		ret = sysfs_create_file(&pdev->dev.kobj,					&dev_attr_pch_mac.attr);		if (ret)			goto err_sysfs_create;		ret = sysfs_create_bin_file(&pdev->dev.kobj, &pch_bin_attr);		if (ret)			goto exit_bin_attr;		/* set the prefech value */		iowrite32(0x000affaa, chip->pch_phub_base_address + 0x14);		/* set the interrupt delay value */		iowrite32(0x25, chip->pch_phub_base_address + 0x44);		chip->pch_opt_rom_start_address = PCH_PHUB_ROM_START_ADDR_EG20T;		chip->pch_mac_start_address = PCH_PHUB_MAC_START_ADDR_EG20T;	}	chip->ioh_type = id->driver_data;	pci_set_drvdata(pdev, chip);	return 0;exit_bin_attr:	sysfs_remove_file(&pdev->dev.kobj, &dev_attr_pch_mac.attr);err_sysfs_create:	pci_iounmap(pdev, chip->pch_phub_base_address);err_pci_iomap:	pci_release_regions(pdev);err_req_regions:	pci_disable_device(pdev);err_pci_enable_dev:	kfree(chip);	dev_err(&pdev->dev, "%s returns %d/n", __func__, ret);	return ret;}
开发者ID:mikuhatsune001,项目名称:linux2.6.32,代码行数:101,


示例24: driver_remove_file

/** * driver_remove_file - remove sysfs file for driver. * @drv: driver. * @attr: driver attribute descriptor. */void driver_remove_file(struct device_driver *drv,			struct driver_attribute *attr){	if (drv)		sysfs_remove_file(&drv->p->kobj, &attr->attr);}
开发者ID:Aresthu,项目名称:ucore_plus,代码行数:11,


示例25: skl_nhlt_remove_sysfs

void skl_nhlt_remove_sysfs(struct skl *skl){	struct device *dev = &skl->pci->dev;	sysfs_remove_file(&dev->kobj, &dev_attr_platform_id.attr);}
开发者ID:val2k,项目名称:linux,代码行数:6,



注:本文中的sysfs_remove_file函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ sysfs_remove_group函数代码示例
C++ sysfs_put函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。