Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input

Pull input subsystem fixes from Dmitry Torokhov:
"Two small driver fixups and a documentation update for managed input
devices"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: wacom - fix wacom_set_report retry logic
Input: document that unregistering managed devices is not necessary
Input: lm8323 - fix checking PWM interrupt status

Changed files
+18 -6
drivers
input
keyboard
tablet
+14 -2
drivers/input/input.c
··· 1785 1785 * its driver (or binding fails). Once managed input device is allocated, 1786 1786 * it is ready to be set up and registered in the same fashion as regular 1787 1787 * input device. There are no special devm_input_device_[un]register() 1788 - * variants, regular ones work with both managed and unmanaged devices. 1788 + * variants, regular ones work with both managed and unmanaged devices, 1789 + * should you need them. In most cases however, managed input device need 1790 + * not be explicitly unregistered or freed. 1789 1791 * 1790 1792 * NOTE: the owner device is set up as parent of input device and users 1791 1793 * should not override it. 1792 1794 */ 1793 - 1794 1795 struct input_dev *devm_input_allocate_device(struct device *dev) 1795 1796 { 1796 1797 struct input_dev *input; ··· 2005 2004 * Once device has been successfully registered it can be unregistered 2006 2005 * with input_unregister_device(); input_free_device() should not be 2007 2006 * called in this case. 2007 + * 2008 + * Note that this function is also used to register managed input devices 2009 + * (ones allocated with devm_input_allocate_device()). Such managed input 2010 + * devices need not be explicitly unregistered or freed, their tear down 2011 + * is controlled by the devres infrastructure. It is also worth noting 2012 + * that tear down of managed input devices is internally a 2-step process: 2013 + * registered managed input device is first unregistered, but stays in 2014 + * memory and can still handle input_event() calls (although events will 2015 + * not be delivered anywhere). The freeing of managed input device will 2016 + * happen later, when devres stack is unwound to the point where device 2017 + * allocation was made. 2008 2018 */ 2009 2019 int input_register_device(struct input_dev *dev) 2010 2020 {
+1 -1
drivers/input/keyboard/lm8323.c
··· 398 398 lm8323_configure(lm); 399 399 } 400 400 for (i = 0; i < LM8323_NUM_PWMS; i++) { 401 - if (ints & (1 << (INT_PWM1 + i))) { 401 + if (ints & (INT_PWM1 << i)) { 402 402 dev_vdbg(&lm->client->dev, 403 403 "pwm%d engine completed\n", i); 404 404 pwm_done(&lm->pwm[i]);
+3 -3
drivers/input/tablet/wacom_sys.c
··· 553 553 if (!rep_data) 554 554 return error; 555 555 556 - rep_data[0] = report_id; 557 - rep_data[1] = mode; 558 - 559 556 do { 557 + rep_data[0] = report_id; 558 + rep_data[1] = mode; 559 + 560 560 error = wacom_set_report(intf, WAC_HID_FEATURE_REPORT, 561 561 report_id, rep_data, length, 1); 562 562 if (error >= 0)