Revision 5ee96fa9dd78b2dc81b587e33074d877002d7605 authored by Linus Torvalds on 21 March 2021, 18:34:24 UTC, committed by Linus Torvalds on 21 March 2021, 18:34:24 UTC
Pull irq fix from Ingo Molnar:
 "A change to robustify force-threaded IRQ handlers to always disable
  interrupts, plus a DocBook fix.

  The force-threaded IRQ handler change has been accelerated from the
  normal schedule of such a change to keep the bad pattern/workaround of
  spin_lock_irqsave() in handlers or IRQF_NOTHREAD as a kludge from
  spreading"

* tag 'irq-urgent-2021-03-21' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  genirq: Disable interrupts for force threaded handlers
  genirq/irq_sim: Fix typos in kernel doc (fnode -> fwnode)
2 parent s 1c74516 + 81e2073
Raw File
spi-sc18is602.rst
===========================
Kernel driver spi-sc18is602
===========================

Supported chips:

  * NXP SI18IS602/602B/603

    Datasheet: https://www.nxp.com/documents/data_sheet/SC18IS602_602B_603.pdf

Author:
        Guenter Roeck <linux@roeck-us.net>


Description
-----------

This driver provides connects a NXP SC18IS602/603 I2C-bus to SPI bridge to the
kernel's SPI core subsystem.

The driver does not probe for supported chips, since the SI18IS602/603 does not
support Chip ID registers. You will have to instantiate the devices explicitly.
Please see Documentation/i2c/instantiating-devices.rst for details.


Usage Notes
-----------

This driver requires the I2C adapter driver to support raw I2C messages. I2C
adapter drivers which can only handle the SMBus protocol are not supported.

The maximum SPI message size supported by SC18IS602/603 is 200 bytes. Attempts
to initiate longer transfers will fail with -EINVAL. EEPROM read operations and
similar large accesses have to be split into multiple chunks of no more than
200 bytes per SPI message (128 bytes of data per message is recommended). This
means that programs such as "cp" or "od", which automatically use large block
sizes to access a device, can not be used directly to read data from EEPROM.
Programs such as dd, where the block size can be specified, should be used
instead.
back to top