linux/drivers/i2c
Noralf Trønnes 8d2cc5cc6e i2c: bcm2835: Can't support I2C_M_IGNORE_NAK
The controller can't support this flag, so remove it.

Documentation/i2c/i2c-protocol states that all of the message is sent:

I2C_M_IGNORE_NAK:
    Normally message is interrupted immediately if there is [NA] from the
    client. Setting this flag treats any [NA] as [A], and all of
    message is sent.

>From the BCM2835 ARM Peripherals datasheet:

    The ERR field is set when the slave fails to acknowledge either
    its address or a data byte written to it.

So when the controller doesn't receive an ack, it sets ERR and raises
an interrupt. In other words, the whole message is not sent.

Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2016-11-07 01:48:31 +01:00
..
algos i2c: algo-bit: declare i2c_bit_quirk_no_clk_stretch as static 2016-05-11 17:16:30 +02:00
busses i2c: bcm2835: Can't support I2C_M_IGNORE_NAK 2016-11-07 01:48:31 +01:00
muxes Merge branch 'i2c/for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2016-10-07 14:12:21 -07:00
i2c-boardinfo.c i2c: remove __init from i2c_register_board_info() 2016-06-19 14:13:50 +02:00
i2c-core.c i2c: core: fix NULL pointer dereference under race condition 2016-11-04 20:36:58 +01:00
i2c-core.h i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-dev.c i2c-dev: don't get i2c adapter via i2c_dev 2016-07-08 10:29:31 +09:00
i2c-mux.c i2c: move locking operations to their own struct 2016-08-30 22:56:14 +02:00
i2c-slave-eeprom.c i2c: Drop owner assignment from i2c_driver 2015-08-10 08:37:35 +02:00
i2c-smbus.c i2c: i2c-smbus: fix i2c_handle_smbus_host_notify documentation 2016-07-18 20:09:54 +02:00
i2c-stub.c i2c: i2c-stub: sort includes 2016-02-20 23:33:39 +01:00
Kconfig i2c: Update the description of I2C_SMBUS 2016-07-18 20:11:08 +02:00
Makefile i2c: slave-eeprom: add eeprom simulator driver 2014-12-11 22:25:54 +01:00