Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

input_register_device(9) [centos man page]

INPUT_REGISTER_DEVIC(9) 					  Input Subsystem					   INPUT_REGISTER_DEVIC(9)

NAME
input_register_device - register device with input core SYNOPSIS
int input_register_device(struct input_dev * dev); ARGUMENTS
dev device to be registered DESCRIPTION
This function registers device with input core. The device must be allocated with input_allocate_device and all it's capabilities set up before registering. If function fails the device must be freed with input_free_device. Once device has been successfully registered it can be unregistered with input_unregister_device; input_free_device should not be called in this case. Note that this function is also used to register managed input devices (ones allocated with devm_input_allocate_device). Such managed input devices need not be explicitly unregistered or freed, their tear down is controlled by the devres infrastructure. It is also worth noting that tear down of managed input devices is internally a 2-step process: registered managed input device is first unregistered, but stays in memory and can still handle input_event calls (although events will not be delivered anywhere). The freeing of managed input device will happen later, when devres stack is unwound to the point where device allocation was made. COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 INPUT_REGISTER_DEVIC(9)

Check Out this Related Man Page

STRUCT 
INPUT_HANDLER(9) Input Subsystem STRUCT INPUT_HANDLER(9) NAME
struct_input_handler - implements one of interfaces for input devices SYNOPSIS
struct input_handler { void * private; void (* event) (struct input_handle *handle, unsigned int type, unsigned int code, int value); bool (* filter) (struct input_handle *handle, unsigned int type, unsigned int code, int value); bool (* match) (struct input_handler *handler, struct input_dev *dev); int (* connect) (struct input_handler *handler, struct input_dev *dev, const struct input_device_id *id); void (* disconnect) (struct input_handle *handle); void (* start) (struct input_handle *handle); const struct file_operations * fops; int minor; const char * name; const struct input_device_id * id_table; struct list_head h_list; struct list_head node; }; MEMBERS
private driver-specific data event event handler. This method is being called by input core with interrupts disabled and dev->event_lock spinlock held and so it may not sleep filter similar to event; separates normal event handlers from "filters". match called after comparing device's id with handler's id_table to perform fine-grained matching between device and handler connect called when attaching a handler to an input device disconnect disconnects a handler from input device start starts handler for given handle. This function is called by input core right after connect method and also when a process that "grabbed" a device releases it fops file operations this driver implements minor beginning of range of 32 minors for devices this driver can provide name name of the handler, to be shown in /proc/bus/input/handlers id_table pointer to a table of input_device_ids this driver can handle h_list list of input handles associated with the handler node for placing the driver onto input_handler_list DESCRIPTION
Input handlers attach to input devices and create input handles. There are likely several handlers attached to any given input device at the same time. All of them will get their copy of input event generated by the device. The very same structure is used to implement input filters. Input core allows filters to run first and will not pass event to regular handlers if any of the filters indicate that the event should be filtered (by returning true from their filter method). Note that input core serializes calls to connect and disconnect methods. COPYRIGHT
Kernel Hackers Manual 2.6. July 2010 STRUCT INPUT_HANDLER(9)
Man Page