__CLASS_CREATE(9) Device drivers infrastructure __CLASS_CREATE(9)NAME
__class_create - create a struct class structure
SYNOPSIS
struct class * __class_create(struct module * owner, const char * name, struct lock_class_key * key);
ARGUMENTS
owner
pointer to the module that is to "own" this struct class
name
pointer to a string for the name of this class.
key
the lock_class_key for this class; used by mutex lock debugging
DESCRIPTION
This is used to create a struct class pointer that can then be used in calls to device_create.
Returns struct class pointer on success, or ERR_PTR on error.
Note, the pointer created here is to be destroyed when finished by making a call to class_destroy.
COPYRIGHT Kernel Hackers Manual 3.10 June 2014 __CLASS_CREATE(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)
restricted access...
Hi
I need to restrict users shell access to only $HOME under /home for each user. I don't want them getting out of their own directories. From what I understand chroot is something I could use, but I want to avoid this since it involves creating symbolic links to a number... (9 Replies)
Hi all,
Currently i am involved in developing a device driver for a custom hardware.
My linux stack already has the sysfs directory structure
/sys/class/hwmon/
My need is that, while loading my device driver i need to create a "xyz" sysfs directory inside hwmon sysfs directory as... (0 Replies)
See the following code:
#include<iostream>
using namespace std;
class Uncopyable
{
protected:
Uncopyable(){cout<<"hehe\n";}
~Uncopyable(){}
private:
Uncopyable(const Uncopyable &rhs){cout<<"oooops\n";};
Uncopyable& operator=(const Uncopyable &rhs);
};
class Dog :... (5 Replies)
Hi all!
I am trying to register a device in an existing device class, but I am
having trouble getting the pointer to an existing class.
I can create a class in a module, get the pointer to it and then use
it to register the device with:
*cl = class_create(THIS_MODULE, className);... (0 Replies)