input_register_device — register device with input core
int input_register_device ( | struct input_dev * dev) ; |
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.