Skip to Content
Linux Device Drivers, Second Edition
book

Linux Device Drivers, Second Edition

by Jonathan Corbet, Alessandro Rubini
June 2001
Intermediate to advanced
592 pages
19h 20m
English
O'Reilly Media, Inc.
Content preview from Linux Device Drivers, Second Edition

Quick Reference

This section summarizes the kernel functions, variables, macros, and /proc files that we’ve touched on in this chapter. It is meant to act as a reference. Each item is listed after the relevant header file, if any. A similar section appears at the end of every chapter from here on, summarizing the new symbols introduced in the chapter.

__KERNEL__ , MODULE

Preprocessor symbols, which must both be defined to compile modularized kernel code.

__SMP__

A preprocessor symbol that must be defined when compiling modules for symmetric multiprocessor systems.

int init_module(void); , void cleanup_module(void);

Module entry points, which must be defined in the module object file.

#include <linux/init.h> , module_init(init_function); , module_exit(cleanup_function);

The modern mechanism for marking a module’s initialization and cleanup functions.

#include <linux/module.h>

Required header. It must be included by a module source.

MOD_INC_USE_COUNT; , MOD_DEC_USE_COUNT; , MOD_IN_USE;

Macros that act on the usage count.

/proc/modules

The list of currently loaded modules. Entries contain the module name, the amount of memory each module occupies, and the usage count. Extra strings are appended to each line to specify flags that are currently active for the module.

EXPORT_SYMTAB;

Preprocessor macro, required for modules that export symbols.

EXPORT_NO_SYMBOLS;

Macro used to specify that the module exports no symbols to the kernel.

EXPORT_SYMBOL ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Linux Device Drivers, 3rd Edition

Linux Device Drivers, 3rd Edition

Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman

Publisher Resources

ISBN: 0596000081Supplemental ContentCatalog PageErrata