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

📄 driver.h

📁 ARM S3C2410 linux2.4 内核源码
💻 H
字号:
/* $Id$ * * This file is subject to the terms and conditions of the GNU General Public * License.  See the file "COPYING" in the main directory of this archive * for more details. * * Copyright (C) 1992 - 1997, 2000 Silicon Graphics, Inc. * Copyright (C) 2000 by Colin Ngam */#ifndef _ASM_SN_DRIVER_H#define _ASM_SN_DRIVER_H/*** Interface for device driver handle management.**** These functions are mostly for use by the loadable driver code, and** for use by I/O bus infrastructure code.*/typedef struct device_driver_s *device_driver_t;#define DEVICE_DRIVER_NONE (device_driver_t)NULL/* == Driver thread priority support == */typedef int ilvl_t;/* default driver thread priority level */#define DRIVER_THREAD_PRI_DEFAULT	(ilvl_t)230/* invalid driver thread priority level */#define DRIVER_THREAD_PRI_INVALID	(ilvl_t)-1/* Associate a thread priority with a driver */extern int device_driver_thread_pri_set(device_driver_t driver,					ilvl_t pri);/* Get the thread priority associated with the driver */extern ilvl_t device_driver_thread_pri_get(device_driver_t driver);/* Get the thread priority for a driver from the sysgen paramters */extern ilvl_t device_driver_sysgen_thread_pri_get(char *driver_prefix);/* Initialize device driver functions. */extern void device_driver_init(void);/* Allocate a driver handle */extern device_driver_t device_driver_alloc(char *prefix);/* Free a driver handle */extern void device_driver_free(device_driver_t driver);/* Given a device driver prefix, return a handle to the driver. */extern device_driver_t device_driver_get(char *prefix);/* Given a device, return a handle to the driver. */extern device_driver_t device_driver_getbydev(devfs_handle_t device);struct cdevsw;struct bdevsw;/* Associate a driver with bdevsw/cdevsw pointers. */extern intdevice_driver_devsw_put(device_driver_t driver,			struct bdevsw *my_bdevsw,			struct cdevsw *my_cdevsw);/* Given a driver, return the corresponding bdevsw and cdevsw pointers. */extern voiddevice_driver_devsw_get(	device_driver_t driver, 				struct bdevsw **bdevswp,				struct cdevsw **cdevswp);/* Given a driver, return its name (prefix). */extern void device_driver_name_get(device_driver_t driver, char *buffer, int length);/*  * A descriptor for every static device driver in the system. * lboot creates a table of these and places in in master.c. * device_driver_init runs through this table during initialization * in order to "register" every static device driver. */typedef struct static_device_driver_desc_s {	char 		*sdd_prefix;	struct bdevsw 	*sdd_bdevsw;	struct cdevsw 	*sdd_cdevsw;} *static_device_driver_desc_t;extern struct static_device_driver_desc_s static_device_driver_table[];extern int static_devsw_count;/*====== administration support ========== *//* structure of each entry in the table created by lboot for * device / driver administration*/typedef struct dev_admin_info_s {	char	*dai_name;		/* name of the device or driver					 * prefix 					 */	char	*dai_param_name;	/* device or driver parameter name */	char	*dai_param_val;		/* value of the parameter */} dev_admin_info_t;/* Update all the administrative hints associated with the device */extern void 	device_admin_info_update(devfs_handle_t	dev_vhdl);/* Update all the administrative hints associated with the device driver */extern void	device_driver_admin_info_update(device_driver_t	driver);/* Get a particular administrative hint associated with a device */extern char 	*device_admin_info_get(devfs_handle_t	dev_vhdl,				       char		*info_lbl);/* Associate a particular administrative hint for a device */extern int	device_admin_info_set(devfs_handle_t	dev_vhdl,				      char		*info_lbl,				      char		*info_val);/* Get a particular administrative hint associated with a device driver*/extern char 	*device_driver_admin_info_get(char	*driver_prefix,						      char	*info_name);/* Associate a particular administrative hint for a device driver*/extern int	device_driver_admin_info_set(char	*driver_prefix,					     char	*driver_info_lbl,					     char	*driver_info_val);/* Initialize the extended device administrative hint table */extern void	device_admin_table_init(void);/* Add a hint corresponding to a device to the extended device administrative * hint table. */extern void	device_admin_table_update(char *dev_name,					  char *param_name,					  char *param_val);/* Initialize the extended device driver administrative hint table */extern void	device_driver_admin_table_init(void);/* Add a hint corresponding to a device to the extended device driver  * administrative hint table. */extern void	device_driver_admin_table_update(char *drv_prefix,						 char *param_name,						 char *param_val);	#endif /* _ASM_SN_DRIVER_H */

⌨️ 快捷键说明

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