diff options
author | Stefan Lengfeld <contact@stefanchrist.eu> | 2019-04-15 23:34:32 +0200 |
---|---|---|
committer | Stefan Agner <stefan.agner@toradex.com> | 2019-10-14 11:28:49 +0200 |
commit | c46186f95f027674c3ce1ff8d84f9f03315b168d (patch) | |
tree | 9bb1d747ef6a19f89515cee1755245370aff2c57 /lib/mpi/mpiutil.c | |
parent | cca06bebfa676cea2e743344d2bef84af4eed58a (diff) |
i2c: imx: implement master_xfer_atomic callback
Rework the read and write code paths in the driver to support operation
in atomic contexts. To achieve this, the driver must not rely on IRQs
and not call schedule(), e.g. via a sleep routine, in these cases.
With this patch the driver supports normal operation, DMA transfers and
now the polling mode or also called sleep-free or IRQ-less operation. It
makes the code not simpler or easier to read, but atomic I2C transfers
are needed on some hardware configurations, e.g. to trigger reboots on
an external PMIC chip.
The patch is tested on a phyCORE-i.MX6 Solo board.
Signed-off-by: Stefan Lengfeld <contact@stefanchrist.eu>
Diffstat (limited to 'lib/mpi/mpiutil.c')
0 files changed, 0 insertions, 0 deletions