Visit Our UNIX and Linux User Community

Linux and UNIX Man Pages

Test Your Knowledge in Computers #314
Difficulty: Easy
Pointers were not used in the original C programming language and were added later in in C++.
True or False?
Linux & Unix Commands - Search Man Pages

kobject_add(9) [centos man page]

KOBJECT_ADD(9)							   Driver Basics						    KOBJECT_ADD(9)

NAME
kobject_add - the main kobject add function SYNOPSIS
int kobject_add(struct kobject * kobj, struct kobject * parent, const char * fmt, ...); ARGUMENTS
kobj the kobject to add parent pointer to the parent of the kobject. fmt format to name the kobject with. ... variable arguments DESCRIPTION
The kobject name is set and added to the kobject hierarchy in this function. If parent is set, then the parent of the kobj will be set to it. If parent is NULL, then the parent of the kobj will be set to the kobject associted with the kset assigned to this kobject. If no kset is assigned to the kobject, then the kobject will be located in the root of the sysfs tree. If this function returns an error, kobject_put must be called to properly clean up the memory associated with the object. Under no instance should the kobject that is passed to this function be directly freed with a call to kfree, that can leak memory. Note, no "add" uevent will be created with this call, the caller should set up all of the necessary sysfs files for the object and then call kobject_uevent with the UEVENT_ADD parameter to ensure that userspace is properly notified of this kobject's creation. COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 KOBJECT_ADD(9)

Check Out this Related Man Page

STRUCT 
CLASS(9) Device drivers infrastructure STRUCT CLASS(9) NAME
struct_class - device classes SYNOPSIS
struct class { const char * name; struct module * owner; struct class_attribute * class_attrs; struct device_attribute * dev_attrs; const struct attribute_group ** dev_groups; struct bin_attribute * dev_bin_attrs; struct kobject * dev_kobj; int (* dev_uevent) (struct device *dev, struct kobj_uevent_env *env); char *(* devnode) (struct device *dev, umode_t *mode); void (* class_release) (struct class *class); void (* dev_release) (struct device *dev); int (* suspend) (struct device *dev, pm_message_t state); int (* resume) (struct device *dev); const struct kobj_ns_type_operations * ns_type; const void *(* namespace) (struct device *dev); const struct dev_pm_ops * pm; struct subsys_private * p; }; MEMBERS
name Name of the class. owner The module owner. class_attrs Default attributes of this class. dev_attrs Default attributes of the devices belong to the class. dev_groups Default attributes of the devices that belong to the class. dev_bin_attrs Default binary attributes of the devices belong to the class. dev_kobj The kobject that represents this class and links it into the hierarchy. dev_uevent Called when a device is added, removed from this class, or a few other things that generate uevents to add the environment variables. devnode Callback to provide the devtmpfs. class_release Called to release this class. dev_release Called to release the device. suspend Used to put the device to sleep mode, usually to a low power state. resume Used to bring the device from the sleep mode. ns_type Callbacks so sysfs can detemine namespaces. namespace Namespace of the device belongs to this class. pm The default device power management operations of this class. p The private data of the driver core, no one other than the driver core can touch this. DESCRIPTION
A class is a higher-level view of a device that abstracts out low-level implementation details. Drivers may see a SCSI disk or an ATA disk, but, at the class level, they are all simply disks. Classes allow user space to work with devices based on what they do, rather than how they are connected or how they work. COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 STRUCT CLASS(9)

Featured Tech Videos