Currently the V4L2 notifiers are registered during DT parsing. Move this handling and all other V4L2 code to two distinct implementations and contained higher in the source code. This simplifies the hardware initialisation functions, and makes error paths and cleanup much easier to parse. I hope to squash these two patches into the max9286 and then post a v7, along with Jacopo's RDACM20 split work, with an aim to hopefully getting upstream integration. max9286 v7 changlog currently looks like: v7: [Kieran] - Ensure powerdown lines are optional - Add a 4ms power-up delay - Add max9286_check_config_link() to core - Add GPIO chip controller for GPIO0OUT and GPIO1OUT - Fix GPIO registration [Jacopo] - Remove redundanct MAXIM_I2C_SPEED macros - Move notifiers operations - Add delay after reverse channel reconfiguration - Move link setup to completion - Fix up max9286_check_config_link() implementation - Remove redundant dual configuration of reverse channel Kieran Bingham (2): max9286: Split out async registration max9286: Collect all V4L2 registrations drivers/media/i2c/max9286.c | 205 ++++++++++++++++++++++-------------- 1 file changed, 127 insertions(+), 78 deletions(-) -- 2.20.1