aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/spi/spi-summary
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/spi/spi-summary')
-rw-r--r--Documentation/spi/spi-summary16
1 files changed, 16 insertions, 0 deletions
diff --git a/Documentation/spi/spi-summary b/Documentation/spi/spi-summary
index c6152d1ff2b0..761debf748e9 100644
--- a/Documentation/spi/spi-summary
+++ b/Documentation/spi/spi-summary
@@ -363,6 +363,22 @@ upper boundaries might include sysfs (especially for sensor readings),
363the input layer, ALSA, networking, MTD, the character device framework, 363the input layer, ALSA, networking, MTD, the character device framework,
364or other Linux subsystems. 364or other Linux subsystems.
365 365
366Note that there are two types of memory your driver must manage as part
367of interacting with SPI devices.
368
369 - I/O buffers use the usual Linux rules, and must be DMA-safe.
370 You'd normally allocate them from the heap or free page pool.
371 Don't use the stack, or anything that's declared "static".
372
373 - The spi_message and spi_transfer metadata used to glue those
374 I/O buffers into a group of protocol transactions. These can
375 be allocated anywhere it's convenient, including as part of
376 other allocate-once driver data structures. Zero-init these.
377
378If you like, spi_message_alloc() and spi_message_free() convenience
379routines are available to allocate and zero-initialize an spi_message
380with several transfers.
381
366 382
367How do I write an "SPI Master Controller Driver"? 383How do I write an "SPI Master Controller Driver"?
368------------------------------------------------- 384-------------------------------------------------