Hi Pavel, I love your patch! Perhaps something to improve: [auto build test WARNING on input/next] [also build test WARNING on v4.20-rc7 next-20181218] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Pavel-Machek/saving-old-mice-button-glitching-debouncing/20181216-025214 base: https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git next reproduce: make htmldocs All warnings (new ones prefixed by >>): WARNING: convert(1) not found, for SVG to PDF conversion install ImageMagick (https://www.imagemagick.org) include/net/cfg80211.h:4216: warning: Function parameter or member 'wext.ibss' not described in 'wireless_dev' include/net/cfg80211.h:4216: warning: Function parameter or member 'wext.connect' not described in 'wireless_dev' include/net/cfg80211.h:4216: warning: Function parameter or member 'wext.keys' not described in 'wireless_dev' include/net/cfg80211.h:4216: warning: Function parameter or member 'wext.ie' not described in 'wireless_dev' include/net/cfg80211.h:4216: warning: Function parameter or member 'wext.ie_len' not described in 'wireless_dev' include/net/cfg80211.h:4216: warning: Function parameter or member 'wext.bssid' not described in 'wireless_dev' include/net/cfg80211.h:4216: warning: Function parameter or member 'wext.ssid' not described in 'wireless_dev' include/net/cfg80211.h:4216: warning: Function parameter or member 'wext.default_key' not described in 'wireless_dev' include/net/cfg80211.h:4216: warning: Function parameter or member 'wext.default_mgmt_key' not described in 'wireless_dev' include/net/cfg80211.h:4216: warning: Function parameter or member 'wext.prev_bssid_valid' not described in 'wireless_dev' include/net/mac80211.h:2282: warning: Function parameter or member 'radiotap_timestamp.units_pos' not described in 'ieee80211_hw' include/net/mac80211.h:2282: warning: Function parameter or member 'radiotap_timestamp.accuracy' not described in 'ieee80211_hw' include/net/mac80211.h:955: warning: Function parameter or member 'control.rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:955: warning: Function parameter or member 'control.rts_cts_rate_idx' not described in 'ieee80211_tx_info' include/net/mac80211.h:955: warning: Function parameter or member 'control.use_rts' not described in 'ieee80211_tx_info' include/net/mac80211.h:955: warning: Function parameter or member 'control.use_cts_prot' not described in 'ieee80211_tx_info' include/net/mac80211.h:955: warning: Function parameter or member 'control.short_preamble' not described in 'ieee80211_tx_info' include/net/mac80211.h:955: warning: Function parameter or member 'control.skip_table' not described in 'ieee80211_tx_info' include/net/mac80211.h:955: warning: Function parameter or member 'control.jiffies' not described in 'ieee80211_tx_info' include/net/mac80211.h:955: warning: Function parameter or member 'control.vif' not described in 'ieee80211_tx_info' include/net/mac80211.h:955: warning: Function parameter or member 'control.hw_key' not described in 'ieee80211_tx_info' include/net/mac80211.h:955: warning: Function parameter or member 'control.flags' not described in 'ieee80211_tx_info' include/net/mac80211.h:955: warning: Function parameter or member 'control.enqueue_time' not described in 'ieee80211_tx_info' include/net/mac80211.h:955: warning: Function parameter or member 'ack' not described in 'ieee80211_tx_info' include/net/mac80211.h:955: warning: Function parameter or member 'ack.cookie' not described in 'ieee80211_tx_info' include/net/mac80211.h:955: warning: Function parameter or member 'status.rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:955: warning: Function parameter or member 'status.ack_signal' not described in 'ieee80211_tx_info' include/net/mac80211.h:955: warning: Function parameter or member 'status.ampdu_ack_len' not described in 'ieee80211_tx_info' include/net/mac80211.h:955: warning: Function parameter or member 'status.ampdu_len' not described in 'ieee80211_tx_info' include/net/mac80211.h:955: warning: Function parameter or member 'status.antenna' not described in 'ieee80211_tx_info' include/net/mac80211.h:955: warning: Function parameter or member 'status.tx_time' not described in 'ieee80211_tx_info' include/net/mac80211.h:955: warning: Function parameter or member 'status.is_valid_ack_signal' not described in 'ieee80211_tx_info' include/net/mac80211.h:955: warning: Function parameter or member 'status.status_driver_data' not described in 'ieee80211_tx_info' include/net/mac80211.h:955: warning: Function parameter or member 'driver_rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:955: warning: Function parameter or member 'pad' not described in 'ieee80211_tx_info' include/net/mac80211.h:955: warning: Function parameter or member 'rate_driver_data' not described in 'ieee80211_tx_info' net/mac80211/sta_info.h:586: warning: Function parameter or member 'rx_stats_avg' not described in 'sta_info' net/mac80211/sta_info.h:586: warning: Function parameter or member 'rx_stats_avg.signal' not described in 'sta_info' net/mac80211/sta_info.h:586: warning: Function parameter or member 'rx_stats_avg.chain_signal' not described in 'sta_info' net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.filtered' not described in 'sta_info' net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.retry_failed' not described in 'sta_info' net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.retry_count' not described in 'sta_info' net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.lost_packets' not described in 'sta_info' net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.last_tdls_pkt_time' not described in 'sta_info' net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.msdu_retries' not described in 'sta_info' net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.msdu_failed' not described in 'sta_info' net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.last_ack' not described in 'sta_info' net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.last_ack_signal' not described in 'sta_info' net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.ack_signal_filled' not described in 'sta_info' net/mac80211/sta_info.h:586: warning: Function parameter or member 'tx_stats.packets' not described in 'sta_info' net/mac80211/sta_info.h:586: warning: Function parameter or member 'tx_stats.bytes' not described in 'sta_info' net/mac80211/sta_info.h:586: warning: Function parameter or member 'tx_stats.last_rate' not described in 'sta_info' net/mac80211/sta_info.h:586: warning: Function parameter or member 'tx_stats.msdu' not described in 'sta_info' kernel/sched/fair.c:3719: warning: Function parameter or member 'flags' not described in 'attach_entity_load_avg' include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_excl.cb' not described in 'dma_buf' include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_excl.poll' not described in 'dma_buf' include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_excl.active' not described in 'dma_buf' include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_shared.cb' not described in 'dma_buf' include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_shared.poll' not described in 'dma_buf' include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_shared.active' not described in 'dma_buf' include/linux/dma-fence-array.h:54: warning: Function parameter or member 'work' not described in 'dma_fence_array' include/linux/gpio/driver.h:142: warning: Function parameter or member 'request_key' not described in 'gpio_irq_chip' include/linux/iio/iio.h:270: warning: Function parameter or member 'scan_type.sign' not described in 'iio_chan_spec' include/linux/iio/iio.h:270: warning: Function parameter or member 'scan_type.realbits' not described in 'iio_chan_spec' include/linux/iio/iio.h:270: warning: Function parameter or member 'scan_type.storagebits' not described in 'iio_chan_spec' include/linux/iio/iio.h:270: warning: Function parameter or member 'scan_type.shift' not described in 'iio_chan_spec' include/linux/iio/iio.h:270: warning: Function parameter or member 'scan_type.repeat' not described in 'iio_chan_spec' include/linux/iio/iio.h:270: warning: Function parameter or member 'scan_type.endianness' not described in 'iio_chan_spec' include/linux/iio/hw-consumer.h:1: warning: no structured comments found >> include/linux/input.h:192: warning: Function parameter or member 'debounce_key' not described in 'input_dev' include/linux/input/sparse-keymap.h:46: warning: Function parameter or member 'sw' not described in 'key_entry' include/linux/mtd/rawnand.h:752: warning: Function parameter or member 'timings.sdr' not described in 'nand_data_interface' include/linux/mtd/rawnand.h:817: warning: Function parameter or member 'buf' not described in 'nand_op_data_instr' include/linux/mtd/rawnand.h:817: warning: Function parameter or member 'buf.in' not described in 'nand_op_data_instr' include/linux/mtd/rawnand.h:817: warning: Function parameter or member 'buf.out' not described in 'nand_op_data_instr' include/linux/mtd/rawnand.h:863: warning: Function parameter or member 'ctx' not described in 'nand_op_instr' include/linux/mtd/rawnand.h:863: warning: Function parameter or member 'ctx.cmd' not described in 'nand_op_instr' include/linux/mtd/rawnand.h:863: warning: Function parameter or member 'ctx.addr' not described in 'nand_op_instr' include/linux/mtd/rawnand.h:863: warning: Function parameter or member 'ctx.data' not described in 'nand_op_instr' include/linux/mtd/rawnand.h:863: warning: Function parameter or member 'ctx.waitrdy' not described in 'nand_op_instr' include/linux/mtd/rawnand.h:1016: warning: Function parameter or member 'ctx' not described in 'nand_op_parser_pattern_elem' include/linux/mtd/rawnand.h:1016: warning: Function parameter or member 'ctx.addr' not described in 'nand_op_parser_pattern_elem' include/linux/mtd/rawnand.h:1016: warning: Function parameter or member 'ctx.data' not described in 'nand_op_parser_pattern_elem' include/linux/mtd/rawnand.h:1319: warning: Function parameter or member 'manufacturer.desc' not described in 'nand_chip' include/linux/mtd/rawnand.h:1319: warning: Function parameter or member 'manufacturer.priv' not described in 'nand_chip' include/linux/regulator/driver.h:222: warning: Function parameter or member 'resume_early' not described in 'regulator_ops' drivers/regulator/core.c:4306: warning: Excess function parameter 'state' description in 'regulator_suspend_late' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw0' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw1' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw2' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw3' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.eadm' not described in 'irb' drivers/usb/typec/mux.c:186: warning: Function parameter or member 'mux' not described in 'typec_mux_unregister' drivers/usb/typec/mux.c:186: warning: Excess function parameter 'sw' description in 'typec_mux_unregister' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_pin' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_unpin' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_res_obj' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_get_sg_table' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_import_sg_table' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_vmap' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_vunmap' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_mmap' not described in 'drm_driver' drivers/gpu/drm/drm_prime.c:342: warning: Function parameter or member 'attach' not described in 'drm_gem_unmap_dma_buf' drivers/gpu/drm/drm_prime.c:342: warning: Function parameter or member 'sgt' not described in 'drm_gem_unmap_dma_buf' drivers/gpu/drm/drm_prime.c:342: warning: Function parameter or member 'dir' not described in 'drm_gem_unmap_dma_buf' drivers/gpu/drm/drm_prime.c:438: warning: Function parameter or member 'dma_buf' not described in 'drm_gem_dmabuf_kmap_atomic' drivers/gpu/drm/drm_prime.c:438: warning: Function parameter or member 'page_num' not described in 'drm_gem_dmabuf_kmap_atomic' drivers/gpu/drm/drm_prime.c:450: warning: Function parameter or member 'dma_buf' not described in 'drm_gem_dmabuf_kunmap_atomic' drivers/gpu/drm/drm_prime.c:450: warning: Function parameter or member 'page_num' not described in 'drm_gem_dmabuf_kunmap_atomic' drivers/gpu/drm/drm_prime.c:450: warning: Function parameter or member 'addr' not described in 'drm_gem_dmabuf_kunmap_atomic' drivers/gpu/drm/drm_prime.c:461: warning: Function parameter or member 'dma_buf' not described in 'drm_gem_dmabuf_kmap' drivers/gpu/drm/drm_prime.c:461: warning: Function parameter or member 'page_num' not described in 'drm_gem_dmabuf_kmap' drivers/gpu/drm/drm_prime.c:473: warning: Function parameter or member 'dma_buf' not described in 'drm_gem_dmabuf_kunmap' drivers/gpu/drm/drm_prime.c:473: warning: Function parameter or member 'page_num' not described in 'drm_gem_dmabuf_kunmap' drivers/gpu/drm/drm_prime.c:473: warning: Function parameter or member 'addr' not described in 'drm_gem_dmabuf_kunmap' include/media/v4l2-dev.h:42: warning: Enum value 'VFL_TYPE_MAX' not described in enum 'vfl_devnode_type' include/linux/skbuff.h:850: warning: Function parameter or member 'dev_scratch' not described in 'sk_buff' include/linux/skbuff.h:850: warning: Function parameter or member 'ip_defrag_offset' not described in 'sk_buff' include/linux/skbuff.h:850: warning: Function parameter or member 'skb_mstamp' not described in 'sk_buff' include/linux/skbuff.h:850: warning: Function parameter or member '__cloned_offset' not described in 'sk_buff' include/linux/skbuff.h:850: warning: Function parameter or member 'head_frag' not described in 'sk_buff' include/linux/skbuff.h:850: warning: Function parameter or member '__unused' not described in 'sk_buff' include/linux/skbuff.h:850: warning: Function parameter or member '__pkt_type_offset' not described in 'sk_buff' include/linux/skbuff.h:850: warning: Function parameter or member 'pfmemalloc' not described in 'sk_buff' include/linux/skbuff.h:850: warning: Function parameter or member 'encapsulation' not described in 'sk_buff' include/linux/skbuff.h:850: warning: Function parameter or member 'encap_hdr_csum' not described in 'sk_buff' include/linux/skbuff.h:850: warning: Function parameter or member 'csum_valid' not described in 'sk_buff' include/linux/skbuff.h:850: warning: Function parameter or member 'csum_complete_sw' not described in 'sk_buff' include/linux/skbuff.h:850: warning: Function parameter or member 'csum_level' not described in 'sk_buff' include/linux/skbuff.h:850: warning: Function parameter or member 'inner_protocol_type' not described in 'sk_buff' include/linux/skbuff.h:850: warning: Function parameter or member 'remcsum_offload' not described in 'sk_buff' include/linux/skbuff.h:850: warning: Function parameter or member 'offload_fwd_mark' not described in 'sk_buff' include/linux/skbuff.h:850: warning: Function parameter or member 'offload_mr_fwd_mark' not described in 'sk_buff' include/linux/skbuff.h:850: warning: Function parameter or member 'sender_cpu' not described in 'sk_buff' include/linux/skbuff.h:850: warning: Function parameter or member 'reserved_tailroom' not described in 'sk_buff' include/linux/skbuff.h:850: warning: Function parameter or member 'inner_ipproto' not described in 'sk_buff' include/net/sock.h:234: warning: Function parameter or member 'skc_addrpair' not described in 'sock_common' include/net/sock.h:234: warning: Function parameter or member 'skc_portpair' not described in 'sock_common' include/net/sock.h:234: warning: Function parameter or member 'skc_ipv6only' not described in 'sock_common' include/net/sock.h:234: warning: Function parameter or member 'skc_net_refcnt' not described in 'sock_common' include/net/sock.h:234: warning: Function parameter or member 'skc_v6_daddr' not described in 'sock_common' include/net/sock.h:234: warning: Function parameter or member 'skc_v6_rcv_saddr' not described in 'sock_common' include/net/sock.h:234: warning: Function parameter or member 'skc_cookie' not described in 'sock_common' include/net/sock.h:234: warning: Function parameter or member 'skc_listener' not described in 'sock_common' include/net/sock.h:234: warning: Function parameter or member 'skc_tw_dr' not described in 'sock_common' include/net/sock.h:234: warning: Function parameter or member 'skc_rcv_wnd' not described in 'sock_common' include/net/sock.h:234: warning: Function parameter or member 'skc_tw_rcv_nxt' not described in 'sock_common' include/net/sock.h:488: warning: Function parameter or member 'sk_backlog.rmem_alloc' not described in 'sock' include/net/sock.h:488: warning: Function parameter or member 'sk_backlog.len' not described in 'sock' include/net/sock.h:488: warning: Function parameter or member 'sk_backlog.head' not described in 'sock' include/net/sock.h:488: warning: Function parameter or member 'sk_backlog.tail' not described in 'sock' include/net/sock.h:488: warning: Function parameter or member 'sk_wq_raw' not described in 'sock' include/net/sock.h:488: warning: Function parameter or member 'tcp_rtx_queue' not described in 'sock' include/net/sock.h:488: warning: Function parameter or member 'sk_route_forced_caps' not described in 'sock' include/linux/netdevice.h:1955: warning: Function parameter or member 'adj_list.upper' not described in 'net_device' include/linux/netdevice.h:1955: warning: Function parameter or member 'adj_list.lower' not described in 'net_device' include/linux/netdevice.h:1955: warning: Function parameter or member 'gso_partial_features' not described in 'net_device' include/linux/netdevice.h:1955: warning: Function parameter or member 'switchdev_ops' not described in 'net_device' include/linux/netdevice.h:1955: warning: Function parameter or member 'l3mdev_ops' not described in 'net_device' include/linux/netdevice.h:1955: warning: Function parameter or member 'xfrmdev_ops' not described in 'net_device' include/linux/netdevice.h:1955: warning: Function parameter or member 'name_assign_type' not described in 'net_device' include/linux/netdevice.h:1955: warning: Function parameter or member 'ieee802154_ptr' not described in 'net_device' include/linux/netdevice.h:1955: warning: Function parameter or member 'mpls_ptr' not described in 'net_device' include/linux/netdevice.h:1955: warning: Function parameter or member 'xdp_prog' not described in 'net_device' include/linux/netdevice.h:1955: warning: Function parameter or member 'gro_flush_timeout' not described in 'net_device' include/linux/netdevice.h:1955: warning: Function parameter or member 'nf_hooks_ingress' not described in 'net_device' include/linux/netdevice.h:1955: warning: Function parameter or member '____cacheline_aligned_in_smp' not described in 'net_device' include/linux/netdevice.h:1955: warning: Function parameter or member 'qdisc_hash' not described in 'net_device' include/linux/phylink.h:56: warning: Function parameter or member '__ETHTOOL_DECLARE_LINK_MODE_MASK(advertising' not described in 'phylink_link_state' include/linux/phylink.h:56: warning: Function parameter or member '__ETHTOOL_DECLARE_LINK_MODE_MASK(lp_advertising' not described in 'phylink_link_state' vim +192 include/linux/input.h 4369c64c7 Henrik Rydberg 2012-09-15 38 4369c64c7 Henrik Rydberg 2012-09-15 39 /** 8006479c9 Dmitry Torokhov 2007-08-30 40 * struct input_dev - represents an input device 8006479c9 Dmitry Torokhov 2007-08-30 41 * @name: name of the device 8006479c9 Dmitry Torokhov 2007-08-30 42 * @phys: physical path to the device in the system hierarchy 8006479c9 Dmitry Torokhov 2007-08-30 43 * @uniq: unique identification code for the device (if device has it) 8006479c9 Dmitry Torokhov 2007-08-30 44 * @id: id of the device (struct input_id) 85b772003 Henrik Rydberg 2010-12-18 45 * @propbit: bitmap of device properties and quirks 8006479c9 Dmitry Torokhov 2007-08-30 46 * @evbit: bitmap of types of events supported by the device (EV_KEY, 8006479c9 Dmitry Torokhov 2007-08-30 47 * EV_REL, etc.) 8006479c9 Dmitry Torokhov 2007-08-30 48 * @keybit: bitmap of keys/buttons this device has 8006479c9 Dmitry Torokhov 2007-08-30 49 * @relbit: bitmap of relative axes for the device 8006479c9 Dmitry Torokhov 2007-08-30 50 * @absbit: bitmap of absolute axes for the device 8006479c9 Dmitry Torokhov 2007-08-30 51 * @mscbit: bitmap of miscellaneous events supported by the device 8006479c9 Dmitry Torokhov 2007-08-30 52 * @ledbit: bitmap of leds present on the device 8006479c9 Dmitry Torokhov 2007-08-30 53 * @sndbit: bitmap of sound effects supported by the device 8006479c9 Dmitry Torokhov 2007-08-30 54 * @ffbit: bitmap of force feedback effects supported by the device 8006479c9 Dmitry Torokhov 2007-08-30 55 * @swbit: bitmap of switches present on the device 63a6404d8 Henrik Rydberg 2010-06-10 56 * @hint_events_per_packet: average number of events generated by the 63a6404d8 Henrik Rydberg 2010-06-10 57 * device in a packet (between EV_SYN/SYN_REPORT events). Used by 63a6404d8 Henrik Rydberg 2010-06-10 58 * event handlers to estimate size of the buffer needed to hold 63a6404d8 Henrik Rydberg 2010-06-10 59 * events. 8006479c9 Dmitry Torokhov 2007-08-30 60 * @keycodemax: size of keycode table 8006479c9 Dmitry Torokhov 2007-08-30 61 * @keycodesize: size of elements in keycode table 8006479c9 Dmitry Torokhov 2007-08-30 62 * @keycode: map of scancodes to keycodes for this device 8613e4c28 Mauro Carvalho Chehab 2010-09-09 63 * @getkeycode: optional legacy method to retrieve current keymap. 8006479c9 Dmitry Torokhov 2007-08-30 64 * @setkeycode: optional method to alter current keymap, used to implement 66d2a5952 Dmitry Torokhov 2009-12-01 65 * sparse keymaps. If not supplied default mechanism will be used. 66d2a5952 Dmitry Torokhov 2009-12-01 66 * The method is being called while holding event_lock and thus must 66d2a5952 Dmitry Torokhov 2009-12-01 67 * not sleep 8006479c9 Dmitry Torokhov 2007-08-30 68 * @ff: force feedback structure associated with the device if device 8006479c9 Dmitry Torokhov 2007-08-30 69 * supports force feedback effects 8006479c9 Dmitry Torokhov 2007-08-30 70 * @repeat_key: stores key code of the last key pressed; used to implement 8006479c9 Dmitry Torokhov 2007-08-30 71 * software autorepeat 8006479c9 Dmitry Torokhov 2007-08-30 72 * @timer: timer for software autorepeat 8006479c9 Dmitry Torokhov 2007-08-30 73 * @rep: current values for autorepeat parameters (delay, rate) 8d18fba28 Henrik Rydberg 2012-09-15 74 * @mt: pointer to multitouch state 86b17f76f Dmitry Torokhov 2010-11-29 75 * @absinfo: array of &struct input_absinfo elements holding information d31b2865a Daniel Mack 2010-08-02 76 * about absolute axes (current value, min, max, flat, fuzz, d31b2865a Daniel Mack 2010-08-02 77 * resolution) 8006479c9 Dmitry Torokhov 2007-08-30 78 * @key: reflects current state of device's keys/buttons 8006479c9 Dmitry Torokhov 2007-08-30 79 * @led: reflects current state of device's LEDs 8006479c9 Dmitry Torokhov 2007-08-30 80 * @snd: reflects current state of sound effects 8006479c9 Dmitry Torokhov 2007-08-30 81 * @sw: reflects current state of device's switches 8006479c9 Dmitry Torokhov 2007-08-30 82 * @open: this method is called when the very first user calls 8006479c9 Dmitry Torokhov 2007-08-30 83 * input_open_device(). The driver must prepare the device 8006479c9 Dmitry Torokhov 2007-08-30 84 * to start generating events (start polling thread, 8006479c9 Dmitry Torokhov 2007-08-30 85 * request an IRQ, submit URB, etc.) 8006479c9 Dmitry Torokhov 2007-08-30 86 * @close: this method is called when the very last user calls 8006479c9 Dmitry Torokhov 2007-08-30 87 * input_close_device(). 8006479c9 Dmitry Torokhov 2007-08-30 88 * @flush: purges the device. Most commonly used to get rid of force 8006479c9 Dmitry Torokhov 2007-08-30 89 * feedback effects loaded into the device when disconnecting 8006479c9 Dmitry Torokhov 2007-08-30 90 * from it 8006479c9 Dmitry Torokhov 2007-08-30 91 * @event: event handler for events sent _to_ the device, like EV_LED 8006479c9 Dmitry Torokhov 2007-08-30 92 * or EV_SND. The device is expected to carry out the requested 8006479c9 Dmitry Torokhov 2007-08-30 93 * action (turn on a LED, play sound, etc.) The call is protected 8006479c9 Dmitry Torokhov 2007-08-30 94 * by @event_lock and must not sleep 8006479c9 Dmitry Torokhov 2007-08-30 95 * @grab: input handle that currently has the device grabbed (via 8006479c9 Dmitry Torokhov 2007-08-30 96 * EVIOCGRAB ioctl). When a handle grabs a device it becomes sole 8006479c9 Dmitry Torokhov 2007-08-30 97 * recipient for all input events coming from the device 83510e5f5 Masanari Iida 2016-07-13 98 * @event_lock: this spinlock is taken when input core receives 8006479c9 Dmitry Torokhov 2007-08-30 99 * and processes a new event for the device (in input_event()). 8006479c9 Dmitry Torokhov 2007-08-30 100 * Code that accesses and/or modifies parameters of a device 8006479c9 Dmitry Torokhov 2007-08-30 101 * (such as keymap or absmin, absmax, absfuzz, etc.) after device 8006479c9 Dmitry Torokhov 2007-08-30 102 * has been registered with input core must take this lock. 8006479c9 Dmitry Torokhov 2007-08-30 103 * @mutex: serializes calls to open(), close() and flush() methods 8006479c9 Dmitry Torokhov 2007-08-30 104 * @users: stores number of users (input handlers) that opened this 8006479c9 Dmitry Torokhov 2007-08-30 105 * device. It is used by input_open_device() and input_close_device() 8006479c9 Dmitry Torokhov 2007-08-30 106 * to make sure that dev->open() is only called when the first 8006479c9 Dmitry Torokhov 2007-08-30 107 * user opens device and dev->close() is called when the very 8006479c9 Dmitry Torokhov 2007-08-30 108 * last user closes the device 8006479c9 Dmitry Torokhov 2007-08-30 109 * @going_away: marks devices that are in a middle of unregistering and 8006479c9 Dmitry Torokhov 2007-08-30 110 * causes input_open_device*() fail with -ENODEV. 8006479c9 Dmitry Torokhov 2007-08-30 111 * @dev: driver model's view of this device 8006479c9 Dmitry Torokhov 2007-08-30 112 * @h_list: list of input handles associated with the device. When 8006479c9 Dmitry Torokhov 2007-08-30 113 * accessing the list dev->mutex must be held 8006479c9 Dmitry Torokhov 2007-08-30 114 * @node: used to place the device onto input_dev_list 800963fd5 Henrik Rydberg 2012-11-10 115 * @num_vals: number of values queued in the current frame 800963fd5 Henrik Rydberg 2012-11-10 116 * @max_vals: maximum number of values queued in a frame 800963fd5 Henrik Rydberg 2012-11-10 117 * @vals: array of values queued in the current frame 2be975c6d Dmitry Torokhov 2012-11-03 118 * @devres_managed: indicates that devices is managed with devres framework 2be975c6d Dmitry Torokhov 2012-11-03 119 * and needs not be explicitly unregistered or freed. 8006479c9 Dmitry Torokhov 2007-08-30 120 */ ^1da177e4 Linus Torvalds 2005-04-16 121 struct input_dev { 5b6271bda Dmitry Torokhov 2005-06-30 122 const char *name; 5b6271bda Dmitry Torokhov 2005-06-30 123 const char *phys; 5b6271bda Dmitry Torokhov 2005-06-30 124 const char *uniq; ^1da177e4 Linus Torvalds 2005-04-16 125 struct input_id id; ^1da177e4 Linus Torvalds 2005-04-16 126 85b772003 Henrik Rydberg 2010-12-18 127 unsigned long propbit[BITS_TO_LONGS(INPUT_PROP_CNT)]; 85b772003 Henrik Rydberg 2010-12-18 128 7b19ada2e Jiri Slaby 2007-10-18 129 unsigned long evbit[BITS_TO_LONGS(EV_CNT)]; 7b19ada2e Jiri Slaby 2007-10-18 130 unsigned long keybit[BITS_TO_LONGS(KEY_CNT)]; 7b19ada2e Jiri Slaby 2007-10-18 131 unsigned long relbit[BITS_TO_LONGS(REL_CNT)]; 7b19ada2e Jiri Slaby 2007-10-18 132 unsigned long absbit[BITS_TO_LONGS(ABS_CNT)]; 7b19ada2e Jiri Slaby 2007-10-18 133 unsigned long mscbit[BITS_TO_LONGS(MSC_CNT)]; 7b19ada2e Jiri Slaby 2007-10-18 134 unsigned long ledbit[BITS_TO_LONGS(LED_CNT)]; 7b19ada2e Jiri Slaby 2007-10-18 135 unsigned long sndbit[BITS_TO_LONGS(SND_CNT)]; 7b19ada2e Jiri Slaby 2007-10-18 136 unsigned long ffbit[BITS_TO_LONGS(FF_CNT)]; 7b19ada2e Jiri Slaby 2007-10-18 137 unsigned long swbit[BITS_TO_LONGS(SW_CNT)]; ^1da177e4 Linus Torvalds 2005-04-16 138 63a6404d8 Henrik Rydberg 2010-06-10 139 unsigned int hint_events_per_packet; 63a6404d8 Henrik Rydberg 2010-06-10 140 ^1da177e4 Linus Torvalds 2005-04-16 141 unsigned int keycodemax; ^1da177e4 Linus Torvalds 2005-04-16 142 unsigned int keycodesize; ^1da177e4 Linus Torvalds 2005-04-16 143 void *keycode; 8613e4c28 Mauro Carvalho Chehab 2010-09-09 144 58b939959 Dmitry Torokhov 2010-03-08 145 int (*setkeycode)(struct input_dev *dev, 8613e4c28 Mauro Carvalho Chehab 2010-09-09 146 const struct input_keymap_entry *ke, 8613e4c28 Mauro Carvalho Chehab 2010-09-09 147 unsigned int *old_keycode); aebd636bd Dmitry Torokhov 2011-01-31 148 int (*getkeycode)(struct input_dev *dev, 8613e4c28 Mauro Carvalho Chehab 2010-09-09 149 struct input_keymap_entry *ke); ^1da177e4 Linus Torvalds 2005-04-16 150 509ca1a93 Anssi Hannula 2006-07-19 151 struct ff_device *ff; 509ca1a93 Anssi Hannula 2006-07-19 152 507fbe1d7 Pavel Machek 2018-12-15 153 int debounce_key; ^1da177e4 Linus Torvalds 2005-04-16 154 unsigned int repeat_key; ^1da177e4 Linus Torvalds 2005-04-16 155 struct timer_list timer; ^1da177e4 Linus Torvalds 2005-04-16 156 d31b2865a Daniel Mack 2010-08-02 157 int rep[REP_CNT]; ^1da177e4 Linus Torvalds 2005-04-16 158 8d18fba28 Henrik Rydberg 2012-09-15 159 struct input_mt *mt; 40d007e7d Henrik Rydberg 2010-07-15 160 d31b2865a Daniel Mack 2010-08-02 161 struct input_absinfo *absinfo; d31b2865a Daniel Mack 2010-08-02 162 7b19ada2e Jiri Slaby 2007-10-18 163 unsigned long key[BITS_TO_LONGS(KEY_CNT)]; 7b19ada2e Jiri Slaby 2007-10-18 164 unsigned long led[BITS_TO_LONGS(LED_CNT)]; 7b19ada2e Jiri Slaby 2007-10-18 165 unsigned long snd[BITS_TO_LONGS(SND_CNT)]; 7b19ada2e Jiri Slaby 2007-10-18 166 unsigned long sw[BITS_TO_LONGS(SW_CNT)]; ^1da177e4 Linus Torvalds 2005-04-16 167 ^1da177e4 Linus Torvalds 2005-04-16 168 int (*open)(struct input_dev *dev); ^1da177e4 Linus Torvalds 2005-04-16 169 void (*close)(struct input_dev *dev); ^1da177e4 Linus Torvalds 2005-04-16 170 int (*flush)(struct input_dev *dev, struct file *file); ^1da177e4 Linus Torvalds 2005-04-16 171 int (*event)(struct input_dev *dev, unsigned int type, unsigned int code, int value); ^1da177e4 Linus Torvalds 2005-04-16 172 2be852792 Arnd Bergmann 2010-03-04 173 struct input_handle __rcu *grab; 0fbf87caf Dmitry Torokhov 2005-05-29 174 8006479c9 Dmitry Torokhov 2007-08-30 175 spinlock_t event_lock; 8006479c9 Dmitry Torokhov 2007-08-30 176 struct mutex mutex; 8006479c9 Dmitry Torokhov 2007-08-30 177 0fbf87caf Dmitry Torokhov 2005-05-29 178 unsigned int users; ffd0db971 Dmitry Torokhov 2009-09-16 179 bool going_away; 0fbf87caf Dmitry Torokhov 2005-05-29 180 9657d75c5 Dmitry Torokhov 2007-06-14 181 struct device dev; ^1da177e4 Linus Torvalds 2005-04-16 182 ^1da177e4 Linus Torvalds 2005-04-16 183 struct list_head h_list; ^1da177e4 Linus Torvalds 2005-04-16 184 struct list_head node; 4369c64c7 Henrik Rydberg 2012-09-15 185 4369c64c7 Henrik Rydberg 2012-09-15 186 unsigned int num_vals; 4369c64c7 Henrik Rydberg 2012-09-15 187 unsigned int max_vals; 4369c64c7 Henrik Rydberg 2012-09-15 188 struct input_value *vals; 2be975c6d Dmitry Torokhov 2012-11-03 189 2be975c6d Dmitry Torokhov 2012-11-03 190 bool devres_managed; ^1da177e4 Linus Torvalds 2005-04-16 191 }; 9657d75c5 Dmitry Torokhov 2007-06-14 @192 #define to_input_dev(d) container_of(d, struct input_dev, dev) ^1da177e4 Linus Torvalds 2005-04-16 193 :::::: The code at line 192 was first introduced by commit :::::: 9657d75c5f0f7d0a9cb507521d3ad1436aea28c9 Input: convert from class devices to standard devices :::::: TO: Dmitry Torokhov <dtor@xxxxxxxxxxxxx> :::::: CC: Dmitry Torokhov <dtor@xxxxxxxxxxxxx> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip