Improve utilised clk/notifier APIs, making use of device managed versions of functions, make dynamic reconfiguration support optional (because it is in hardware) and add support for the clock monitor functionailty added in version 6.0 of the Xilinx clocking wizard IP core, through use of the auxiliary bus and UIO frameworks. The combined addition of all of these patches allows, for example, to use the clocking wizard solely for its user clock monitoring logic, keeping dynamic reconfiguration support disabled. This is currently untested on hardware, so any help testing this would be much appreciated! v1 -> v2: - Split and improve clk_hw+devres transition patch (2+3) - Fix/improve DT binding patches (5+8) - Utilise auxiliary bus in monitor support patch (6) - Add dedicated UIO driver for monitor support (7) Harry Austen (9): clk: clocking-wizard: simplify probe/remove with devres helpers clk: clocking-wizard: use newer clk_hw API clk: clocking-wizard: use devres versions of clk_hw API clk: clocking-wizard: move clock registration to separate function dt-bindings: clock: xilinx: add description of user monitor interrupt clk: clocking-wizard: add user clock monitor support uio: add Xilinx user clock monitor support dt-bindings: clock: xilinx: describe whether dynamic reconfig is enabled clk: clocking-wizard: move dynamic reconfig setup behind flag .../bindings/clock/xlnx,clocking-wizard.yaml | 32 +- drivers/clk/xilinx/Kconfig | 1 + drivers/clk/xilinx/clk-xlnx-clock-wizard.c | 335 +++++++++--------- drivers/uio/Kconfig | 8 + drivers/uio/Makefile | 1 + drivers/uio/uio_xlnx_clk_mon.c | 71 ++++ 6 files changed, 285 insertions(+), 163 deletions(-) create mode 100644 drivers/uio/uio_xlnx_clk_mon.c -- 2.46.0