这篇教程C++ to_ccwgroupdev函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中to_ccwgroupdev函数的典型用法代码示例。如果您正苦于以下问题:C++ to_ccwgroupdev函数的具体用法?C++ to_ccwgroupdev怎么用?C++ to_ccwgroupdev使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了to_ccwgroupdev函数的22个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: ccwgroup_probestatic int ccwgroup_probe(struct device *dev){ struct ccwgroup_device *gdev = to_ccwgroupdev(dev); struct ccwgroup_driver *gdrv = to_ccwgroupdrv(dev->driver); return gdrv->probe ? gdrv->probe(gdev) : -ENODEV;}
开发者ID:33d,项目名称:linux-2.6.21-hh20,代码行数:7,
示例2: ccwgroup_ungroup_storestatic ssize_t ccwgroup_ungroup_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count){ struct ccwgroup_device *gdev = to_ccwgroupdev(dev); int rc; /* Prevent concurrent online/offline processing and ungrouping. */ if (atomic_cmpxchg(&gdev->onoff, 0, 1) != 0) return -EAGAIN; if (gdev->state != CCWGROUP_OFFLINE) { rc = -EINVAL; goto out; } if (device_remove_file_self(dev, attr)) ccwgroup_ungroup(gdev);out: if (rc) { if (rc != -EAGAIN) /* Release onoff "lock" when ungrouping failed. */ atomic_set(&gdev->onoff, 0); return rc; } return count;}
开发者ID:7799,项目名称:linux,代码行数:26,
示例3: ccwgroup_online_storestatic ssize_tccwgroup_online_store (struct device *dev, const char *buf, size_t count){ struct ccwgroup_device *gdev; struct ccwgroup_driver *gdrv; unsigned int value; int ret; gdev = to_ccwgroupdev(dev); if (!dev->driver) return count; gdrv = to_ccwgroupdrv (gdev->dev.driver); if (!try_module_get(gdrv->owner)) return -EINVAL; value = simple_strtoul(buf, 0, 0); ret = count; if (value == 1) ccwgroup_set_online(gdev); else if (value == 0) ccwgroup_set_offline(gdev); else ret = -EINVAL; module_put(gdrv->owner); return ret;}
开发者ID:Antonio-Zhou,项目名称:Linux-2.6.11,代码行数:27,
示例4: ccwgroup_online_storestatic ssize_t ccwgroup_online_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count){ struct ccwgroup_device *gdev = to_ccwgroupdev(dev); unsigned long value; int ret; device_lock(dev); if (!dev->driver) { ret = -EINVAL; goto out; } ret = kstrtoul(buf, 0, &value); if (ret) goto out; if (value == 1) ret = ccwgroup_set_online(gdev); else if (value == 0) ret = ccwgroup_set_offline(gdev); else ret = -EINVAL;out: device_unlock(dev); return (ret == 0) ? count : ret;}
开发者ID:7799,项目名称:linux,代码行数:28,
示例5: ccwgroup_ungroup_callback/* * Provide an 'ungroup' attribute so the user can remove group devices no * longer needed or accidentially created. Saves memory :) */static void ccwgroup_ungroup_callback(struct device *dev){ struct ccwgroup_device *gdev = to_ccwgroupdev(dev); mutex_lock(&gdev->reg_mutex); __ccwgroup_remove_symlinks(gdev); device_unregister(dev); mutex_unlock(&gdev->reg_mutex);}
开发者ID:cilynx,项目名称:dd-wrt,代码行数:13,
示例6: ccwgroup_online_showstatic ssize_tccwgroup_online_show (struct device *dev, char *buf){ int online; online = (to_ccwgroupdev(dev)->state == CCWGROUP_ONLINE); return sprintf(buf, online ? "1/n" : "0/n");}
开发者ID:Antonio-Zhou,项目名称:Linux-2.6.11,代码行数:9,
示例7: ccwgroup_shutdownstatic void ccwgroup_shutdown(struct device *dev){ struct ccwgroup_device *gdev = to_ccwgroupdev(dev); struct ccwgroup_driver *gdrv = to_ccwgroupdrv(dev->driver); if (!dev->driver) return; if (gdrv->shutdown) gdrv->shutdown(gdev);}
开发者ID:33d,项目名称:linux-2.6.21-hh20,代码行数:10,
示例8: ccwgroup_bus_match/* a device matches a driver if all its slave devices match the same * entry of the driver */static int ccwgroup_bus_match(struct device *dev, struct device_driver * drv){ struct ccwgroup_device *gdev = to_ccwgroupdev(dev); struct ccwgroup_driver *gdrv = to_ccwgroupdrv(drv); if (gdev->creator_id == gdrv->driver_id) return 1; return 0;}
开发者ID:33d,项目名称:linux-2.6.21-hh20,代码行数:12,
示例9: ccwgroup_notifierstatic int ccwgroup_notifier(struct notifier_block *nb, unsigned long action, void *data){ struct ccwgroup_device *gdev = to_ccwgroupdev(data); if (action == BUS_NOTIFY_UNBIND_DRIVER) schedule_work(&gdev->ungroup_work); return NOTIFY_OK;}
开发者ID:7799,项目名称:linux,代码行数:10,
示例10: ccwgroup_online_showstatic ssize_t ccwgroup_online_show(struct device *dev, struct device_attribute *attr, char *buf){ struct ccwgroup_device *gdev = to_ccwgroupdev(dev); int online; online = (gdev->state == CCWGROUP_ONLINE) ? 1 : 0; return scnprintf(buf, PAGE_SIZE, "%d/n", online);}
开发者ID:33d,项目名称:linux-2.6.21-hh20,代码行数:11,
示例11: stats_showstatic ssize_t stats_show(struct device *dev, struct device_attribute *attr, char *buf){ struct ccwgroup_device *gdev = to_ccwgroupdev(dev); struct ctcm_priv *priv = dev_get_drvdata(dev); if (!priv || gdev->state != CCWGROUP_ONLINE) return -ENODEV; ctcm_print_statistics(priv); return sprintf(buf, "0/n");}
开发者ID:020gzh,项目名称:linux,代码行数:11,
示例12: ccwgroup_removestatic int ccwgroup_remove(struct device *dev){ struct ccwgroup_device *gdev = to_ccwgroupdev(dev); struct ccwgroup_driver *gdrv = to_ccwgroupdrv(dev->driver); if (!dev->driver) return 0; if (gdrv->remove) gdrv->remove(gdev); return 0;}
开发者ID:33d,项目名称:linux-2.6.21-hh20,代码行数:12,
示例13: ctcm_type_showstatic ssize_t ctcm_type_show(struct device *dev, struct device_attribute *attr, char *buf){ struct ccwgroup_device *cgdev; cgdev = to_ccwgroupdev(dev); if (!cgdev) return -ENODEV; return sprintf(buf, "%s/n", ctcm_type[cgdev->cdev[0]->id.driver_info]);}
开发者ID:020gzh,项目名称:linux,代码行数:12,
示例14: ccwgroup_releasestatic voidccwgroup_release (struct device *dev){ struct ccwgroup_device *gdev; int i; gdev = to_ccwgroupdev(dev); for (i = 0; i < gdev->count; i++) { gdev->cdev[i]->dev.driver_data = NULL; put_device(&gdev->cdev[i]->dev); } kfree(gdev);}
开发者ID:Antonio-Zhou,项目名称:Linux-2.6.11,代码行数:14,
示例15: ccwgroup_ungroup_store/* * Provide an 'ungroup' attribute so the user can remove group devices no * longer needed or accidentially created. Saves memory :) */static ssize_tccwgroup_ungroup_store(struct device *dev, const char *buf, size_t count){ struct ccwgroup_device *gdev; gdev = to_ccwgroupdev(dev); if (gdev->state != CCWGROUP_OFFLINE) return -EINVAL; __ccwgroup_remove_symlinks(gdev); device_unregister(dev); return count;}
开发者ID:Antonio-Zhou,项目名称:Linux-2.6.11,代码行数:19,
示例16: ccwgroup_removestatic intccwgroup_remove (struct device *dev){ struct ccwgroup_device *gdev; struct ccwgroup_driver *gdrv; gdev = to_ccwgroupdev(dev); gdrv = to_ccwgroupdrv(dev->driver); device_remove_file(dev, &dev_attr_online); if (gdrv && gdrv->remove) gdrv->remove(gdev); return 0;}
开发者ID:cilynx,项目名称:dd-wrt,代码行数:15,
示例17: ccwgroup_driver_unregistervoidccwgroup_driver_unregister (struct ccwgroup_driver *cdriver){ struct device *dev; /* We don't want ccwgroup devices to live longer than their driver. */ get_driver(&cdriver->driver); while ((dev = driver_find_device(&cdriver->driver, NULL, NULL, __ccwgroup_match_all))) { __ccwgroup_remove_symlinks(to_ccwgroupdev(dev)); device_unregister(dev); put_device(dev); } put_driver(&cdriver->driver); driver_unregister(&cdriver->driver);}
开发者ID:FatSunHYS,项目名称:OSCourseDesign,代码行数:16,
示例18: ccwgroup_releasestatic voidccwgroup_release (struct device *dev){ struct ccwgroup_device *gdev; int i; gdev = to_ccwgroupdev(dev); for (i = 0; i < gdev->count; i++) { if (gdev->cdev[i]) { if (dev_get_drvdata(&gdev->cdev[i]->dev) == gdev) dev_set_drvdata(&gdev->cdev[i]->dev, NULL); put_device(&gdev->cdev[i]->dev); } } kfree(gdev);}
开发者ID:Atrix-Dev-Team,项目名称:kernel-MB860,代码行数:17,
示例19: ccwgroup_removestatic intccwgroup_remove (struct device *dev){ struct ccwgroup_device *gdev; struct ccwgroup_driver *gdrv; gdev = to_ccwgroupdev(dev); gdrv = to_ccwgroupdrv(dev->driver); pr_debug("%s: device %s/n", __func__, gdev->dev.bus_id); device_remove_file(dev, &dev_attr_online); if (gdrv && gdrv->remove) gdrv->remove(gdev); return 0;}
开发者ID:Antonio-Zhou,项目名称:Linux-2.6.11,代码行数:17,
示例20: ccwgroup_driver_unregister/** * ccwgroup_driver_unregister() - deregister a ccw group driver * @cdriver: driver to be deregistered * * This function is mainly a wrapper around driver_unregister(). */void ccwgroup_driver_unregister(struct ccwgroup_driver *cdriver){ struct device *dev; /* We don't want ccwgroup devices to live longer than their driver. */ while ((dev = driver_find_device(&cdriver->driver, NULL, NULL, __ccwgroup_match_all))) { struct ccwgroup_device *gdev = to_ccwgroupdev(dev); mutex_lock(&gdev->reg_mutex); __ccwgroup_remove_symlinks(gdev); device_unregister(dev); __ccwgroup_remove_cdev_refs(gdev); mutex_unlock(&gdev->reg_mutex); put_device(dev); } driver_unregister(&cdriver->driver);}
开发者ID:openube,项目名称:android_kernel_sony_c2305,代码行数:24,
示例21: ccwgroup_ungroup_storestatic ssize_tccwgroup_ungroup_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count){ struct ccwgroup_device *gdev; int rc; gdev = to_ccwgroupdev(dev); if (gdev->state != CCWGROUP_OFFLINE) return -EINVAL; /* Note that we cannot unregister the device from one of its * attribute methods, so we have to use this roundabout approach. */ rc = device_schedule_callback(dev, ccwgroup_ungroup_callback); if (rc) count = rc; return count;}
开发者ID:cilynx,项目名称:dd-wrt,代码行数:19,
示例22: ccwgroup_releasestatic voidccwgroup_release (struct device *dev){ kfree(to_ccwgroupdev(dev));}
开发者ID:3null,项目名称:fastsocket,代码行数:5,
注:本文中的to_ccwgroupdev函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ to_ccwgroupdrv函数代码示例 C++ to_bridge函数代码示例 |