kobject, ksets, and ktypes The device model from the bottom up Jonathan Corbet LWN.net corbet@lwn.net