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

📄 doc-index.html

📁 linux驱动开发
💻 HTML
📖 第 1 页 / 共 2 页
字号:
>MODULE_LICENSE(),
    <A
HREF="x317.htm"
>Hello World (part 4): Licensing and Module Documentation</A
>
  </DT
><DT
>MODULE_PARM,
    <A
HREF="a1352.htm#AEN1361"
>Changes between 2.0 and 2.2</A
>
  </DT
><DT
>module_permissions,
    <A
HREF="c760.htm#AEN762"
>Using /proc For Input</A
>
  </DT
><DT
>module_sleep_on,
    <A
HREF="c1006.htm#AEN1015"
>Replacing printk</A
>,
    <A
HREF="c1143.htm#AEN1145"
>Scheduling Tasks</A
>
  </DT
><DT
>MODULE_SUPPORTED_DEVICE(),
    <A
HREF="x317.htm"
>Hello World (part 4): Licensing and Module Documentation</A
>
  </DT
><DT
>module_wake_up,
    <A
HREF="c1006.htm#AEN1015"
>Replacing printk</A
>
  </DT
><DT
>MOD_DEC_USE_COUNT,
    <A
HREF="c569.htm#AEN653"
>Unregistering A Device</A
>
  </DT
><DT
>MOD_INC_USE_COUNT,
    <A
HREF="c569.htm#AEN653"
>Unregistering A Device</A
>,
    <A
HREF="c929.htm#AEN931"
>System Calls</A
>
  </DT
><DT
>MOD_IN_USE,
    <A
HREF="c569.htm#AEN653"
>Unregistering A Device</A
>
  </DT
><DT
>monolithic kernel,
    <A
HREF="c427.htm#AEN502"
>Code space</A
>
  </DT
><DT
>multi-processing,
    <A
HREF="c1289.htm#AEN1291"
>Symmetrical Multi-Processing</A
>
  </DT
><DT
>multi-tasking,
    <A
HREF="c1006.htm#AEN1015"
>Replacing printk</A
>
  </DT
><DT
>multitasking,
    <A
HREF="c1006.htm#AEN1015"
>Replacing printk</A
>
  </DT
></DL
></DIV
><DIV
CLASS="INDEXDIV"
><H2
CLASS="INDEXDIV"
><A
NAME="AEN1880"
></A
>N</H2
><DL
><DT
>namespace pollution,
    <A
HREF="c427.htm#AEN485"
>Name Space</A
>
  </DT
><DT
>Neutrino,
    <A
HREF="c427.htm#AEN502"
>Code space</A
>
  </DT
><DT
>non-blocking,
    <A
HREF="c1006.htm#AEN1015"
>Replacing printk</A
>
  </DT
></DL
></DIV
><DIV
CLASS="INDEXDIV"
><H2
CLASS="INDEXDIV"
><A
NAME="AEN1891"
></A
>O</H2
><DL
><DT
>official ioctl assignment,
    <A
HREF="c846.htm#AEN848"
>Talking to Device Files (writes and IOCTLs)}</A
>
  </DT
><DT
>O_NONBLOCK,
    <A
HREF="c1006.htm#AEN1015"
>Replacing printk</A
>
  </DT
></DL
></DIV
><DIV
CLASS="INDEXDIV"
><H2
CLASS="INDEXDIV"
><A
NAME="AEN1899"
></A
>P</H2
><DL
><DT
>permission,
    <A
HREF="c760.htm#AEN762"
>Using /proc For Input</A
>
  </DT
><DT
>pointer
  </DT
><DD
><DL
><DT
>current,
    <A
HREF="c760.htm#AEN762"
>Using /proc For Input</A
>
  </DT
><DD
><DL
></DL
></DD
></DL
></DD
><DT
>printk
  </DT
><DD
><DL
><DT
>replacing,
    <A
HREF="c1109.htm#AEN1111"
>Replacing printk</A
>
  </DT
><DD
><DL
></DL
></DD
></DL
></DD
><DT
>printk(),
    <A
HREF="c143.htm#INTRODUCINGPRINTK"
>Introducing printk()</A
>
  </DT
><DT
>proc
  </DT
><DD
><DL
><DT
>using for input,
    <A
HREF="c760.htm#AEN762"
>Using /proc For Input</A
>
  </DT
><DD
><DL
></DL
></DD
></DL
></DD
><DT
>proc file
  </DT
><DD
><DL
><DT
>ksyms,
    <A
HREF="c1315.htm#AEN1317"
>Common Pitfalls</A
>
  </DT
><DD
><DL
></DL
></DD
></DL
></DD
><DT
>processes
  </DT
><DD
><DL
><DT
>blocking,
    <A
HREF="c1006.htm#AEN1008"
>Blocking Processes</A
>
  </DT
><DD
><DL
></DL
></DD
><DT
>killing,
    <A
HREF="c1006.htm#AEN1015"
>Replacing printk</A
>
  </DT
><DD
><DL
></DL
></DD
><DT
>waking up,
    <A
HREF="c1006.htm#AEN1015"
>Replacing printk</A
>
  </DT
><DD
><DL
></DL
></DD
></DL
></DD
><DT
>processing
  </DT
><DD
><DL
><DT
>multi,
    <A
HREF="c1289.htm#AEN1291"
>Symmetrical Multi-Processing</A
>
  </DT
><DD
><DL
></DL
></DD
></DL
></DD
><DT
>proc_dir_entry,
    <A
HREF="c760.htm#AEN762"
>Using /proc For Input</A
>
  </DT
><DT
>proc_register,
    <A
HREF="c714.htm#AEN716"
>The /proc File System</A
>,
    <A
HREF="a1352.htm#AEN1361"
>Changes between 2.0 and 2.2</A
>
  </DT
><DT
>proc_register_dynamic,
    <A
HREF="c714.htm#AEN716"
>The /proc File System</A
>,
    <A
HREF="a1352.htm#AEN1361"
>Changes between 2.0 and 2.2</A
>
  </DT
><DT
>putting processes to sleep,
    <A
HREF="c1006.htm#AEN1015"
>Replacing printk</A
>
  </DT
><DT
>put_user,
    <A
HREF="c760.htm#AEN762"
>Using /proc For Input</A
>,
    <A
HREF="a1352.htm#AEN1361"
>Changes between 2.0 and 2.2</A
>
  </DT
></DL
></DIV
><DIV
CLASS="INDEXDIV"
><H2
CLASS="INDEXDIV"
><A
NAME="AEN1953"
></A
>Q</H2
><DL
><DT
>queue_task,
    <A
HREF="c1143.htm#AEN1145"
>Scheduling Tasks</A
>,
    <A
HREF="c1204.htm#AEN1213"
>Interrupt Handlers</A
>,
    <A
HREF="a1352.htm#AEN1361"
>Changes between 2.0 and 2.2</A
>
  </DT
><DT
>queue_task_irq,
    <A
HREF="c1204.htm#AEN1213"
>Interrupt Handlers</A
>,
    <A
HREF="a1352.htm#AEN1361"
>Changes between 2.0 and 2.2</A
>
  </DT
></DL
></DIV
><DIV
CLASS="INDEXDIV"
><H2
CLASS="INDEXDIV"
><A
NAME="AEN1964"
></A
>R</H2
><DL
><DT
>read,
    <A
HREF="a1352.htm#AEN1361"
>Changes between 2.0 and 2.2</A
>
  </DT
><DD
><DL
><DT
>in the kernel,
    <A
HREF="c760.htm#AEN762"
>Using /proc For Input</A
>
  </DT
><DD
><DL
></DL
></DD
></DL
></DD
><DT
>reference count,
    <A
HREF="c1143.htm#AEN1145"
>Scheduling Tasks</A
>
  </DT
><DT
>refund policy,
    <A
HREF="c1315.htm#AEN1317"
>Common Pitfalls</A
>
  </DT
><DT
>register_chrdev,
    <A
HREF="c569.htm#AEN623"
>Registering A Device</A
>
  </DT
><DT
>request_irq(),
    <A
HREF="c1204.htm#AEN1213"
>Interrupt Handlers</A
>
  </DT
><DT
>rmmod,
    <A
HREF="c929.htm#AEN931"
>System Calls</A
>,
    <A
HREF="c1143.htm#AEN1145"
>Scheduling Tasks</A
>
  </DT
><DD
><DL
><DT
>preventing,
    <A
HREF="c569.htm#AEN653"
>Unregistering A Device</A
>
  </DT
><DD
><DL
></DL
></DD
></DL
></DD
></DL
></DIV
><DIV
CLASS="INDEXDIV"
><H2
CLASS="INDEXDIV"
><A
NAME="AEN1989"
></A
>S</H2
><DL
><DT
>SA_INTERRUPT,
    <A
HREF="c1204.htm#AEN1213"
>Interrupt Handlers</A
>
  </DT
><DT
>SA_SHIRQ,
    <A
HREF="c1204.htm#AEN1213"
>Interrupt Handlers</A
>
  </DT
><DT
>scheduler,
    <A
HREF="c1006.htm#AEN1015"
>Replacing printk</A
>
  </DT
><DT
>scheduling tasks,
    <A
HREF="c1143.htm#AEN1145"
>Scheduling Tasks</A
>
  </DT
><DT
>segment
  </DT
><DD
><DL
><DT
>memory,
    <A
HREF="c760.htm#AEN762"
>Using /proc For Input</A
>
  </DT
><DD
><DL
></DL
></DD
></DL
></DD
><DT
>serial port,
    <A
HREF="c846.htm#AEN848"
>Talking to Device Files (writes and IOCTLs)}</A
>
  </DT
><DT
>shutdown,
    <A
HREF="c929.htm#AEN931"
>System Calls</A
>
  </DT
><DT
>SIGINT,
    <A
HREF="c1006.htm#AEN1015"
>Replacing printk</A
>
  </DT
><DT
>signal,
    <A
HREF="c1006.htm#AEN1015"
>Replacing printk</A
>
  </DT
><DT
>signals,
    <A
HREF="a1352.htm#AEN1361"
>Changes between 2.0 and 2.2</A
>
  </DT
><DT
>sleep
  </DT
><DD
><DL
><DT
>putting processes to,
    <A
HREF="c1006.htm#AEN1015"
>Replacing printk</A
>
  </DT
><DD
><DL
></DL
></DD
></DL
></DD
><DT
>sleep_on,
    <A
HREF="c1006.htm#AEN1015"
>Replacing printk</A
>,
    <A
HREF="c1143.htm#AEN1145"
>Scheduling Tasks</A
>
  </DT
><DT
>SMP,
    <A
HREF="c1289.htm#AEN1291"
>Symmetrical Multi-Processing</A
>,
    <A
HREF="a1352.htm#AEN1361"
>Changes between 2.0 and 2.2</A
>
  </DT
><DT
>source file
  </DT
><DD
><DL
><DT
>chardev.c,
    <A
HREF="c846.htm#AEN848"
>Talking to Device Files (writes and IOCTLs)}</A
>
  </DT
><DD
><DL
></DL
></DD
><DT
>chardev.h,
    <A
HREF="c846.htm#AEN848"
>Talking to Device Files (writes and IOCTLs)}</A
>
  </DT
><DD
><DL
></DL
></DD
><DT
>hello-1.c,
    <A
HREF="c143.htm#AEN145"
>Hello, World (part 1): The Simplest Module</A
>
  </DT
><DD
><DL
></DL
></DD
><DT
>hello-2.c,
    <A
HREF="x253.htm"
>Hello World (part 2)</A
>
  </DT
><DD
><DL
></DL
></DD
><DT
>hello-3.c,
    <A
HREF="x277.htm"
>Hello World (part 3): The __init and __exit Macros</A
>
  </DT
><DD
><DL
></DL
></DD
><DT
>hello-4.c,
    <A
HREF="x317.htm"
>Hello World (part 4): Licensing and Module Documentation</A
>
  </DT
><DD
><DL
></DL
></DD
><DT
>hello-5.c,
    <A
HREF="x350.htm"
>Passing Command Line Arguments to a Module</A
>
  </DT
><DD
><DL
></DL
></DD
><DT
>intrpt.c,
    <A
HREF="c1204.htm#KEYBOARD"
>Keyboards on the Intel Architecture</A
>
  </DT
><DD
><DL
></DL
></DD
><DT
>ioctl.c,
    <A
HREF="c846.htm#AEN848"
>Talking to Device Files (writes and IOCTLs)}</A
>
  </DT
><DD
><DL
></DL
></DD
><DT
>print_string.c,
    <A
HREF="c1109.htm#AEN1111"
>Replacing printk</A
>
  </DT
><DD
><DL
></DL
></DD
><DT
>procfs.c,
    <A
HREF="c929.htm#AEN931"
>System Calls</A
>
  </DT
><DD
><DL
></DL
></DD
><DT
>sched.c,
    <A
HREF="c1143.htm#AEN1145"
>Scheduling Tasks</A
>
  </DT
><DD
><DL
></DL
></DD
><DT
>sleep.c,
    <A
HREF="c1006.htm#AEN1015"
>Replacing printk</A
>
  </DT
><DD
><DL
></DL
></DD
><DT
>start.c,
    <A
HREF="x377.htm"
>Modules Spanning Multiple Files</A
>
  </DT
><DD
><DL
></DL
></DD
><DT
>stop.c,
    <A
HREF="x377.htm"
>Modules Spanning Multiple Files</A
>
  </DT
><DD
><DL
></DL
></DD
></DL
></DD
><DT
>source files
  </DT
><DD
><DL
><DT
>multiple,
    <A
HREF="x377.htm"
>Modules Spanning Multiple Files</A
>
  </DT
><DD
><DL
></DL
></DD
></DL
></DD
><DT
>ssize_t,
    <A
HREF="a1352.htm#AEN1361"
>Changes between 2.0 and 2.2</A
>
  </DT
><DT
>standard libraries,
    <A
HREF="c1315.htm#AEN1317"
>Common Pitfalls</A
>
  </DT
><DT
>strace,
    <A
HREF="c427.htm#AEN443"
>Functions available to modules</A
>,
    <A
HREF="c929.htm#AEN931"
>System Calls</A
>
  </DT
><DT
>struct
  </DT
><DD
><DL
><DT
>tty,
    <A
HREF="c1109.htm#AEN1111"
>Replacing printk</A
>
  </DT
><DD
><DL
></DL
></DD
></DL
></DD
><DT
>struct file_operations,
    <A
HREF="c760.htm#AEN762"
>Using /proc For Input</A
>
  </DT
><DT
>struct inode_operations,
    <A
HREF="c760.htm#AEN762"
>Using /proc For Input</A
>
  </DT
><DT
>structure
  </DT
><DD
><DL
><DT
>file_operations,
    <A
HREF="a1352.htm#AEN1361"
>Changes between 2.0 and 2.2</A
>
  </DT
><DD
><DL
></DL
></DD
></DL
></DD
><DT
>symbol table,
    <A
HREF="c427.htm#AEN485"
>Name Space</A
>
  </DT
><DT
>symmetrical multi-processing,
    <A
HREF="c1289.htm#AEN1291"
>Symmetrical Multi-Processing</A
>,
    <A
HREF="a1352.htm#AEN1361"
>Changes between 2.0 and 2.2</A
>
  </DT
><DT
>sync,
    <A
HREF="c929.htm#AEN931"
>System Calls</A
>
  </DT
><DT
>system call,
    <A
HREF="c427.htm#AEN443"
>Functions available to modules</A
>,
    <A
HREF="c929.htm#AEN931"
>System Calls</A
>
  </DT
><DD
><DL
><DT
>open,
    <A
HREF="c929.htm#AEN931"
>System Calls</A
>
  </DT
><DD
><DL
></DL
></DD
></DL
></DD
><DT
>system calls,
    <A
HREF="c929.htm#AEN931"
>System Calls</A
>
  </DT
><DT
>sys_call_table,
    <A
HREF="c929.htm#AEN931"
>System Calls</A
>
  </DT
><DT
>sys_open,
    <A
HREF="c929.htm#AEN931"
>System Calls</A
>
  </DT
></DL
></DIV
><DIV
CLASS="INDEXDIV"
><H2
CLASS="INDEXDIV"
><A
NAME="AEN2119"
></A
>T</H2
><DL
><DT
>task,
    <A
HREF="c1143.htm#AEN1145"
>Scheduling Tasks</A
>
  </DT
><DD
><DL
><DT
>current,
    <A
HREF="c1109.htm#AEN1111"
>Replacing printk</A
>
  </DT
><DD
><DL
></DL
></DD
></DL
></DD
><DT
>tasks
  </DT
><DD
><DL
><DT
>scheduling,
    <A
HREF="c1143.htm#AEN1145"
>Scheduling Tasks</A
>
  </DT
><DD
><DL
></DL
></DD
></DL
></DD
><DT
>TASK_INTERRUPTIBLE,
    <A
HREF="c1006.htm#AEN1015"
>Replacing printk</A
>
  </DT
><DT
>tq_immediate,
    <A
HREF="c1204.htm#AEN1213"
>Interrupt Handlers</A
>
  </DT
><DT
>tq_struct,
    <A
HREF="c1143.htm#AEN1145"
>Scheduling Tasks</A
>
  </DT
><DT
>tq_timer,
    <A
HREF="c1143.htm#AEN1145"
>Scheduling Tasks</A
>
  </DT
><DT
>tty_structure,
    <A
HREF="c1109.htm#AEN1111"
>Replacing printk</A
>
  </DT
></DL
></DIV
><DIV
CLASS="INDEXDIV"
><H2
CLASS="INDEXDIV"
><A
NAME="AEN2145"
></A
>V</H2
><DL
><DT
>version.h,
    <A
HREF="x377.htm"
>Modules Spanning Multiple Files</A
>
  </DT
></DL
></DIV
><DIV
CLASS="INDEXDIV"
><H2
CLASS="INDEXDIV"
><A
NAME="AEN2150"
></A
>W</H2
><DL
><DT
>waking up processes,
    <A
HREF="c1006.htm#AEN1015"
>Replacing printk</A
>
  </DT
><DT
>write,
    <A
HREF="a1352.htm#AEN1361"
>Changes between 2.0 and 2.2</A
>
  </DT
><DD
><DL
><DT
>in the kernel,
    <A
HREF="c760.htm#AEN762"
>Using /proc For Input</A
>
  </DT
><DD
><DL
></DL
></DD
></DL
></DD
></DL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="x1483.html"
ACCESSKEY="P"
>返回</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>返回首页</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>为什么这样写?</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>&nbsp;</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

⌨️ 快捷键说明

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