input_register_device — register device with input core
|struct input_dev * dev|
This function registers device with input core. The device must be
input_allocate_device and all it's capabilities
set up before registering.
If function fails the device must be freed with
Once device has been successfully registered it can be unregistered
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.