From: Thadeu Lima de Souza Cascardo Date: Sat, 22 May 2010 11:45:01 +0000 (-0400) Subject: Device Driver Model. X-Git-Url: http://git.cascardo.eti.br/?p=cascardo%2Fkernel%2Fslides%2F.git;a=commitdiff_plain;h=7ad2b067cd84e568d67a49bd7055e1561095a0cb Device Driver Model. --- diff --git a/12dd/dd b/12dd/dd new file mode 100644 index 0000000..fcc69f5 --- /dev/null +++ b/12dd/dd @@ -0,0 +1,50 @@ +%Device Driver Model +%Thadeu Cascardo + +# Linux 2.6 Device Driver Model + +* Design and Implementation by GregKH +* kobjects +* sysfs + +# Buses + +* A way to communicate with device +* Interface between Linux and hardware +* May allow hotplug of devices +* Examples: + - USB + - PCI + - I2C + - SPI + - ACPI + - Platform +* /sys/bus/ + +# Classes + +* A view of the device +* Interface between Linux and user space software +* The interface may use character devices and/or sysfs or other interfaces +* Specific interface classes: + - block devices + - network devices +* Other classes: + - tty + - video4linux + - input + - backlight + - rtc +* /sys/class/ + +# Drivers + +* Implement the communication with the hardware, usually through a bus +* Present a view of the device, communicating with user space +* Basically, links the bus and the class for a given device model (or a family) + +# Device + +* An object representing a device in the bus or a class device +* Establishes an hierarchy through the parent link +* A class device usually has a device in the bus as its parent