This patchset is primarily to enable iio support for the MCP2221 HID driver, but requires several Kconfig changes and device resource management. First attempt of this patchset is referenced here: Link: https://lore.kernel.org/all/20220729154723.99947-1-matt.ranostay@xxxxxxxxxxxx/ Changes from v1: * Fixing various Kconfig recursive dependencies that appear with 'imply IIO' * Switch hid-mcp2221 driver to device managed resources for i2c support * Reworking patchset per advice on lore.kernel.org link above Changes from v2: * add linux-iio list to CC Changes from v3: * replace .remove() tasks with devm_add_action_or_reset() in .probe() * reschedule SRAM configuration read on failures * add IIO_CHAN_INFO_SCALE values for ADC + DAC based on reference voltage Changes from v4: * add .remove function with no operation to avoid hid_hw_stop() being called twice due to new devm functions * add retries limit to five for reading SRAM configuration data * update 'io: adc: stx104: fix future recursive dependencies' to new Kconfig location for STX104 driver on linux-next pending-fixes branch Changes from v5: * dropped all Kconfig changes not related to mcp2221 driver * changed 'select GPIOLIB' to imply for mcp2221 along with IS_REACHABLE check Matt Ranostay (3): HID: mcp2221: switch i2c registration to devm functions HID: mcp2221: change 'select GPIOLIB' to imply HID: mcp2221: add ADC/DAC support via iio subsystem drivers/hid/Kconfig | 3 +- drivers/hid/hid-mcp2221.c | 310 ++++++++++++++++++++++++++++++++++---- 2 files changed, 286 insertions(+), 27 deletions(-) -- 2.37.2