Le Fri, Mar 01, 2024 at 11:39:05AM +0100, Kamel Bouhara a écrit : > Add a new driver for the TouchNetix's axiom family of touchscreen > controller. This driver only support i2c and can be later adapted for > SPI and USB support. > > Kamel Bouhara (3): > dt-bindings: vendor-prefixes: Add TouchNetix AS > dt-bindings: input: Add TouchNetix axiom touchscreen > Input: Add TouchNetix axiom i2c touchscreen driver > > .../input/touchscreen/touchnetix,ax54a.yaml | 62 ++ > .../devicetree/bindings/vendor-prefixes.yaml | 2 + > MAINTAINERS | 7 + > drivers/input/touchscreen/Kconfig | 12 + > drivers/input/touchscreen/Makefile | 1 + > drivers/input/touchscreen/touchnetix_axiom.c | 669 ++++++++++++++++++ > 6 files changed, 753 insertions(+) > create mode 100644 Documentation/devicetree/bindings/input/touchscreen/touchnetix,ax54a.yaml > create mode 100644 drivers/input/touchscreen/touchnetix_axiom.c > > -- > 2.25.1 > Above is the missing changelog: Changes in v2: - Add device tree binding documentation - Move core functions in axiom_i2c as we only care about i2c support now - Use static function when required - Use syntax dev_err_probe() - Add an hardware based reset Changes in v3: - Remove irq-gpios property in dt-binding - Use a generic node name - Fix issues reported in https://lore.kernel.org/oe-kbuild-all/202310100300.oAC2M62R-lkp@xxxxxxxxx/ Changes in v4: - Cleanup unused headers and macros - Use standard kernel type - Namespace structures and functions - Use packed struct when possible to avoid bitfield operators - Fix missing break when address is found in axiom_populate_target_address() - Split reads in two steps for the reports, first length then report itself so we only read required bytes - Get poll-interval from devicetree - Add VDDI/VDDA regulators - Add a startup delay of 110 ms required after VDDA/VDDI is applied - Remove axiom_i2c_write() as it is no more used Changes in v5: - Fix wrong message constructed in axiom_i2c_read - Delay required between i2c reads is >= 250us - Do not split report reading in two phases as we'll have to wait 500us - Use lower-case in properties names - Make regulators properties are required in dt-binding - Fix bug report: https://lore.kernel.org/lkml/202312051457.y3N1q3sZ-lkp@xxxxxxxxx/ - Fix bug report: https://lore.kernel.org/lkml/6f8e3b64-5b21-4a50-8680-063ef7a93bdb@suswa.mountain/ Changes in v6: - Fix missing unevaluatedProperties.in dt-binding - Use __le16 to correctly deal with device endianness - Use standart kernel types s/char/u8/ - Use regmap api as driver might support spi later - Use get_unaligned_le16() for the sake of clarity - Use devm_regulator_enable_optional() Changes in v7: - Remove startup time from dt-binding - Fix usage table not correctly populated Changes in v8: - Fix missing call to input_report_slot_state() - Fix issue reported in https://lore.kernel.org/oe-kbuild-all/202402020623.8T1Ah513-lkp@xxxxxxxxx/ Changes in v9: - Fix issue reported in https://lore.kernel.org/oe-kbuild-all/202402201157.BKo97uWl-lkp@xxxxxxxxx/ - Rebase on v6.8-rc2 -- Kamel Bouhara, Bootlin Embedded Linux and kernel engineering https://bootlin.com