--- /dev/null
+%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