Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

struct_input_handler(9) [centos man page]

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); void (* events) (struct input_handle *handle,const struct input_value *vals, unsigned int count); 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); bool legacy_minors; 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 events event sequence 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 legacy_minors set to true by drivers using legacy minor ranges minor beginning of range of 32 legacy 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 3.10 June 2014 STRUCT INPUT_HANDLER(9)

Check Out this Related Man Page

struct_i2c_driver - represent an I2C device driver SYNOPSIS
struct i2c_driver { unsigned int class; int (* attach_adapter) (struct i2c_adapter *); int (* detach_adapter) (struct i2c_adapter *); int (* probe) (struct i2c_client *, const struct i2c_device_id *); int (* remove) (struct i2c_client *); void (* shutdown) (struct i2c_client *); int (* suspend) (struct i2c_client *, pm_message_t mesg); int (* resume) (struct i2c_client *); int (* command) (struct i2c_client *client, unsigned int cmd, void *arg); struct device_driver driver; const struct i2c_device_id * id_table; int (* detect) (struct i2c_client *, struct i2c_board_info *); const unsigned short * address_list; struct list_head clients; }; MEMBERS
class What kind of i2c device we instantiate (for detect) attach_adapter Callback for bus addition (for legacy drivers) detach_adapter Callback for bus removal (for legacy drivers) probe Callback for device binding remove Callback for device unbinding shutdown Callback for device shutdown suspend Callback for device suspend resume Callback for device resume command Callback for bus-wide signaling (optional) driver Device driver model driver id_table List of I2C devices supported by this driver detect Callback for device detection address_list The I2C addresses to probe (for detect) clients List of detected clients we created (for i2c-core use only) DESCRIPTION
The driver.owner field should be set to the module owner of this driver. The field should be set to the name of this driver. For automatic device detection, both detect and address_data must be defined. class should also be set, otherwise only devices forced with module parameters will be created. The detect function must fill at least the name field of the i2c_board_info structure it is handed upon successful detection, and possibly also the flags field. If detect is missing, the driver will still work fine for enumerated devices. Detected devices simply won't be supported. This is expected for the many I2C/SMBus devices which can't be detected reliably, and the ones which can always be enumerated in practice. The i2c_client structure which is handed to the detect callback is not a real i2c_client. It is initialized just enough so that you can call i2c_smbus_read_byte_data and friends on it. Don't do anything else with it. In particular, calling dev_dbg and friends on it is not allowed. COPYRIGHT
Kernel Hackers Manual 2.6. July 2010 STRUCT I2C_DRIVER(9)
Man Page