⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 raid_class.h

📁 Axis 221 camera embedded programing interface
💻 H
字号:
/* * raid_class.h - a generic raid visualisation class * * Copyright (c) 2005 - James Bottomley <James.Bottomley@steeleye.com> * * This file is licensed under GPLv2 */#include <linux/transport_class.h>struct raid_template {	struct transport_container raid_attrs;};struct raid_function_template {	void *cookie;	int (*is_raid)(struct device *);	void (*get_resync)(struct device *);	void (*get_state)(struct device *);};enum raid_state {	RAID_STATE_UNKNOWN = 0,	RAID_STATE_ACTIVE,	RAID_STATE_DEGRADED,	RAID_STATE_RESYNCING,	RAID_STATE_OFFLINE,};enum raid_level {	RAID_LEVEL_UNKNOWN = 0,	RAID_LEVEL_LINEAR,	RAID_LEVEL_0,	RAID_LEVEL_1,	RAID_LEVEL_10,	RAID_LEVEL_3,	RAID_LEVEL_4,	RAID_LEVEL_5,	RAID_LEVEL_50,	RAID_LEVEL_6,};struct raid_data {	struct list_head component_list;	int component_count;	enum raid_level level;	enum raid_state state;	int resync;};/* resync complete goes from 0 to this */#define RAID_MAX_RESYNC		(10000)#define DEFINE_RAID_ATTRIBUTE(type, attr)				      \static inline void							      \raid_set_##attr(struct raid_template *r, struct device *dev, type value) {    \	struct class_device *cdev =					      \		attribute_container_find_class_device(&r->raid_attrs.ac, dev);\	struct raid_data *rd;						      \	BUG_ON(!cdev);							      \	rd = class_get_devdata(cdev);					      \	rd->attr = value;						      \}									      \static inline type							      \raid_get_##attr(struct raid_template *r, struct device *dev) {		      \	struct class_device *cdev =					      \		attribute_container_find_class_device(&r->raid_attrs.ac, dev);\	struct raid_data *rd;						      \	BUG_ON(!cdev);							      \	rd = class_get_devdata(cdev);					      \	return rd->attr;						      \}DEFINE_RAID_ATTRIBUTE(enum raid_level, level)DEFINE_RAID_ATTRIBUTE(int, resync)DEFINE_RAID_ATTRIBUTE(enum raid_state, state)	struct raid_template *raid_class_attach(struct raid_function_template *);void raid_class_release(struct raid_template *);int __must_check raid_component_add(struct raid_template *, struct device *,				    struct device *);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -