|
Revision tags: v6.15 |
|
| #
1007ae0d |
| 22-May-2025 |
Greg Kroah-Hartman <[email protected]> |
spi: use container_of_cont() for to_spi_device()
Some places in the spi core pass in a const pointer to a device and the default container_of() casts that away, which is not a good idea. Preserve th
spi: use container_of_cont() for to_spi_device()
Some places in the spi core pass in a const pointer to a device and the default container_of() casts that away, which is not a good idea. Preserve the proper const attribute by using container_of_const() for to_spi_device() instead, which is what it was designed for.
Note, this removes the NULL check for a device pointer in the call, but no one was ever checking for that return value, and a device pointer should never be NULL overall anyway, so this should be a safe change.
Cc: Mark Brown <[email protected]> Fixes: d69d80484598 ("driver core: have match() callback in struct bus_type take a const *") Signed-off-by: Greg Kroah-Hartman <[email protected]> Link: https://patch.msgid.link/2025052230-fidgeting-stooge-66f5@gregkh Signed-off-by: Mark Brown <[email protected]>
show more ...
|
|
Revision tags: v6.15-rc7, v6.15-rc6, v6.15-rc5, v6.15-rc4, v6.15-rc3, v6.15-rc2, v6.15-rc1, v6.14, v6.14-rc7 |
|
| #
91ce208d |
| 13-Mar-2025 |
Andy Shevchenko <[email protected]> |
spi: Use inclusive language
Replace "master" by "[host] controller" in the SPI core code and comments. All the similar to the "slave" by "target [device]" changes.
Signed-off-by: Andy Shevchenko <a
spi: Use inclusive language
Replace "master" by "[host] controller" in the SPI core code and comments. All the similar to the "slave" by "target [device]" changes.
Signed-off-by: Andy Shevchenko <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
show more ...
|
|
Revision tags: v6.14-rc6, v6.14-rc5, v6.14-rc4, v6.14-rc3 |
|
| #
d795a052 |
| 12-Feb-2025 |
David Lechner <[email protected]> |
spi: fix missing offload_flags doc
Add offload_flags to the documentation comment for struct spi_transfer. This was missed when adding the field.
Reported-by: Stephen Rothwell <[email protected]
spi: fix missing offload_flags doc
Add offload_flags to the documentation comment for struct spi_transfer. This was missed when adding the field.
Reported-by: Stephen Rothwell <[email protected]> Closes: https://lore.kernel.org/linux-next/[email protected]/ Fixes: 700a281905f2 ("spi: add offload TX/RX streaming APIs") Signed-off-by: David Lechner <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
show more ...
|
|
Revision tags: v6.14-rc2 |
|
| #
700a2819 |
| 07-Feb-2025 |
David Lechner <[email protected]> |
spi: add offload TX/RX streaming APIs
Most configuration of SPI offloads is handled opaquely using the offload pointer that is passed to the various offload functions. However, there are some offloa
spi: add offload TX/RX streaming APIs
Most configuration of SPI offloads is handled opaquely using the offload pointer that is passed to the various offload functions. However, there are some offload features that need to be controlled on a per transfer basis.
This patch adds a flag field to struct spi_transfer to allow specifying such features. The first feature to be added is the ability to stream data to/from a hardware sink/source rather than using a tx or rx buffer. Additional flags can be added in the future as needed.
A flags field is also added to the offload struct for providers to indicate which flags are supported. This allows for generic checking of offload capabilities during __spi_validate() so that each offload provider doesn't have to implement their own validation.
As a first users of this streaming capability, getter functions are added to get a DMA channel that is directly connected to the offload. Peripheral drivers will use this to get a DMA channel and configure it to suit their needs.
Reviewed-by: Jonathan Cameron <[email protected]> Reviewed-by: Nuno Sa <[email protected]> Signed-off-by: David Lechner <[email protected]> Link: https://patch.msgid.link/20250207-dlech-mainline-spi-engine-offload-2-v8-5-e48a489be48c@baylibre.com Signed-off-by: Mark Brown <[email protected]>
show more ...
|
| #
8e02d188 |
| 07-Feb-2025 |
David Lechner <[email protected]> |
spi: add basic support for SPI offloading
Add the basic infrastructure to support SPI offload providers and consumers.
SPI offloading is a feature that allows the SPI controller to perform transfer
spi: add basic support for SPI offloading
Add the basic infrastructure to support SPI offload providers and consumers.
SPI offloading is a feature that allows the SPI controller to perform transfers without any CPU intervention. This is useful, e.g. for high-speed data acquisition.
SPI controllers with offload support need to implement the get_offload and put_offload callbacks and can use the devm_spi_offload_alloc() to allocate offload instances.
SPI peripheral drivers will call devm_spi_offload_get() to get a reference to the matching offload instance. This offload instance can then be attached to a SPI message to request offloading that message.
It is expected that SPI controllers with offload support will check for the offload instance in the SPI message in the ctlr->optimize_message() callback and handle it accordingly.
CONFIG_SPI_OFFLOAD is intended to be a select-only option. Both consumer and provider drivers should `select SPI_OFFLOAD` in their Kconfig to ensure that the SPI core is built with offload support.
Reviewed-by: Jonathan Cameron <[email protected]> Reviewed-by: Nuno Sa <[email protected]> Signed-off-by: David Lechner <[email protected]> Link: https://patch.msgid.link/20250207-dlech-mainline-spi-engine-offload-2-v8-1-e48a489be48c@baylibre.com Signed-off-by: Mark Brown <[email protected]>
show more ...
|
|
Revision tags: v6.14-rc1, v6.13, v6.13-rc7, v6.13-rc6, v6.13-rc5, v6.13-rc4, v6.13-rc3, v6.13-rc2, v6.13-rc1, v6.12, v6.12-rc7, v6.12-rc6, v6.12-rc5, v6.12-rc4, v6.12-rc3, v6.12-rc2, v6.12-rc1, v6.11, v6.11-rc7 |
|
| #
0809a9cc |
| 02-Sep-2024 |
Yang Yingliang <[email protected]> |
spi: remove {devm_}spi_alloc_master/slave()
All the {devm_}spi_alloc_master/slave() have been replaced, so they can be removed and replaced in doc and comment.
No functional changed.
Signed-off-by
spi: remove {devm_}spi_alloc_master/slave()
All the {devm_}spi_alloc_master/slave() have been replaced, so they can be removed and replaced in doc and comment.
No functional changed.
Signed-off-by: Yang Yingliang <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
show more ...
|
| #
740c1c84 |
| 10-Sep-2024 |
Yang Yingliang <[email protected]> |
spi: remove spi_controller_is_slave() and spi_slave_abort()
spi_controller_is_slave() and spi_slave_abort() are all replaced, so they can be removed.
No functional changed.
Signed-off-by: Yang Yin
spi: remove spi_controller_is_slave() and spi_slave_abort()
spi_controller_is_slave() and spi_slave_abort() are all replaced, so they can be removed.
No functional changed.
Signed-off-by: Yang Yingliang <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
show more ...
|
|
Revision tags: v6.11-rc6, v6.11-rc5, v6.11-rc4, v6.11-rc3, v6.11-rc2 |
|
| #
90ec3a8a |
| 02-Aug-2024 |
Richard Fitzgerald <[email protected]> |
spi: Add empty versions of ACPI functions
Provide empty versions of acpi_spi_count_resources(), acpi_spi_device_alloc() and acpi_spi_find_controller_by_adev() if the real functions are not being bui
spi: Add empty versions of ACPI functions
Provide empty versions of acpi_spi_count_resources(), acpi_spi_device_alloc() and acpi_spi_find_controller_by_adev() if the real functions are not being built.
This commit fixes two problems with the original definitions:
1) There wasn't an empty version of these functions 2) The #if only depended on CONFIG_ACPI. But the functions are implemented in the core spi.c so CONFIG_SPI_MASTER must also be enabled for the real functions to exist.
Signed-off-by: Richard Fitzgerald <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
show more ...
|
|
Revision tags: v6.11-rc1, v6.10 |
|
| #
ca52aa4c |
| 09-Jul-2024 |
David Lechner <[email protected]> |
spi: add defer_optimize_message controller flag
Adding spi_optimize_message() broke the spi-mux driver because it calls spi_async() from it's transfer_one_message() callback. This resulted in passin
spi: add defer_optimize_message controller flag
Adding spi_optimize_message() broke the spi-mux driver because it calls spi_async() from it's transfer_one_message() callback. This resulted in passing an incorrectly optimized message to the controller. For example, if the underlying controller has an optimize_message() callback, this would have not been called and can cause a crash when the underlying controller driver tries to transfer the message.
Also, since the spi-mux driver swaps out the controller pointer by replacing msg->spi, __spi_unoptimize_message() was being called with a different controller than the one used in __spi_optimize_message(). This could cause a crash when attempting to free the message resources when __spi_unoptimize_message() is called in spi_finalize_current_message() since it is being called with a controller that did not allocate the resources.
This is fixed by adding a defer_optimize_message flag for controllers. This flag causes all of the spi_[maybe_][un]optimize_message() calls to be a no-op (other than attaching a pointer to the spi device to the message).
This allows the spi-mux driver to pass an unmodified message to spi_async() in spi_mux_transfer_one_message() after the spi device has been swapped out. This causes __spi_optimize_message() and __spi_unoptimize_message() to be called only once per message and with the correct/same controller in each case.
Reported-by: Oleksij Rempel <[email protected]> Closes: https://lore.kernel.org/linux-spi/[email protected]/ Reported-by: Marc Kleine-Budde <[email protected]> Closes: https://lore.kernel.org/linux-spi/[email protected]/ Fixes: 7b1d87af14d9 ("spi: add spi_optimize_message() APIs") Signed-off-by: David Lechner <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
show more ...
|
|
Revision tags: v6.10-rc7 |
|
| #
d69d8048 |
| 01-Jul-2024 |
Greg Kroah-Hartman <[email protected]> |
driver core: have match() callback in struct bus_type take a const *
In the match() callback, the struct device_driver * should not be changed, so change the function callback to be a const *. This
driver core: have match() callback in struct bus_type take a const *
In the match() callback, the struct device_driver * should not be changed, so change the function callback to be a const *. This is one step of many towards making the driver core safe to have struct device_driver in read-only memory.
Because the match() callback is in all busses, all busses are modified to handle this properly. This does entail switching some container_of() calls to container_of_const() to properly handle the constant *.
For some busses, like PCI and USB and HV, the const * is cast away in the match callback as those busses do want to modify those structures at this point in time (they have a local lock in the driver structure.) That will have to be changed in the future if they wish to have their struct device * in read-only-memory.
Cc: Rafael J. Wysocki <[email protected]> Reviewed-by: Alex Elder <[email protected]> Acked-by: Sumit Garg <[email protected]> Link: https://lore.kernel.org/r/2024070136-wrongdoer-busily-01e8@gregkh Signed-off-by: Greg Kroah-Hartman <[email protected]>
show more ...
|
|
Revision tags: v6.10-rc6, v6.10-rc5 |
|
| #
d4a0055f |
| 21-Jun-2024 |
David Lechner <[email protected]> |
spi: add devm_spi_optimize_message() helper
This adds a new helper function devm_spi_optimize_message() that automatically registers spi_unoptimize_message() to be called when the device is removed.
spi: add devm_spi_optimize_message() helper
This adds a new helper function devm_spi_optimize_message() that automatically registers spi_unoptimize_message() to be called when the device is removed.
Signed-off-by: David Lechner <[email protected]> Link: https://patch.msgid.link/20240621-devm_spi_optimize_message-v1-2-3f9dcba6e95e@baylibre.com Signed-off-by: Mark Brown <[email protected]>
show more ...
|
| #
d6a711a8 |
| 18-Jun-2024 |
Patrice Chotard <[email protected]> |
spi: Fix OCTAL mode support
Add OCTAL mode support. Issue detected using "--octal" spidev_test's option.
Signed-off-by: Patrice Chotard <[email protected]> Link: https://msgid.link/r/2024
spi: Fix OCTAL mode support
Add OCTAL mode support. Issue detected using "--octal" spidev_test's option.
Signed-off-by: Patrice Chotard <[email protected]> Link: https://msgid.link/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
show more ...
|
|
Revision tags: v6.10-rc4, v6.10-rc3, v6.10-rc2 |
|
| #
e289df82 |
| 31-May-2024 |
Andy Shevchenko <[email protected]> |
spi: Rework per message DMA mapped flag to be per transfer
The granularity of DMA mappings is transfer and moreover, the direction is also important as it can be unidirect.
The current cur_msg_mapp
spi: Rework per message DMA mapped flag to be per transfer
The granularity of DMA mappings is transfer and moreover, the direction is also important as it can be unidirect.
The current cur_msg_mapped flag doesn't fit well the DMA mapping and syncing calls and we have tons of checks around on top of it. So, instead of doing that rework the code to use per transfer per direction flag to show if it's DMA mapped or not.
Signed-off-by: Andy Shevchenko <[email protected]> Tested-by: Neil Armstrong <[email protected]> # on SM8650-QRD Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Serge Semin <[email protected]> Tested-by: Nícolas F. R. A. Prado <[email protected]> Signed-off-by: Mark Brown <[email protected]>
show more ...
|
|
Revision tags: v6.10-rc1, v6.9, v6.9-rc7, v6.9-rc6, v6.9-rc5, v6.9-rc4, v6.9-rc3, v6.9-rc2 |
|
| #
ba520688 |
| 28-Mar-2024 |
Randy Dunlap <[email protected]> |
spi: spi.h: add missing kernel-doc for @last_cs_index_mask
kernel-doc complains about last_cs_index_mask not described, so add its description.
spi.h:778: warning: Function parameter or struct memb
spi: spi.h: add missing kernel-doc for @last_cs_index_mask
kernel-doc complains about last_cs_index_mask not described, so add its description.
spi.h:778: warning: Function parameter or struct member 'last_cs_index_mask' not described in 'spi_controller'
Fixes: 4d8ff6b0991d ("spi: Add multi-cs memories support in SPI core") Signed-off-by: Randy Dunlap <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
show more ...
|
| #
9b163e0d |
| 25-Mar-2024 |
David Lechner <[email protected]> |
spi: remove struct spi_message::is_dma_mapped
There are no more users of the deprecated is_dma_mapped in struct spi_message so it can be removed.
References in documentation and comments are also r
spi: remove struct spi_message::is_dma_mapped
There are no more users of the deprecated is_dma_mapped in struct spi_message so it can be removed.
References in documentation and comments are also removed.
A few similar checks if xfer->tx_dma or xfer->rx_dma are not NULL are also removed since these are now guaranteed to be NULL because they were previously set only if is_dma_mapped was true.
Signed-off-by: David Lechner <[email protected]> Link: https://msgid.link/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
show more ...
|
|
Revision tags: v6.9-rc1, v6.8 |
|
| #
14fe5a98 |
| 07-Mar-2024 |
Andy Shevchenko <[email protected]> |
spi: Fix types of the last chip select storage variables
First of all, last_cs_index_mask should be aligned with the original cs_index_mask, which is 16-bit (for now) wide. Use the same pattern for
spi: Fix types of the last chip select storage variables
First of all, last_cs_index_mask should be aligned with the original cs_index_mask, which is 16-bit (for now) wide. Use the same pattern for the last_cs_index_mask.
Second, last_cs can be negative and since 'char' is equal to 'unsigned char' in the kernel, it's incorrect, strictly speaking, to assign signed number to it. Use s8 type as it's done for *_native_cs ones.
With this change, regroup a bit the ordering to avoid too much memory space to be wasted due to paddings. Shuffle kernel documentation accordignly.
Signed-off-by: Andy Shevchenko <[email protected]> Link: https://msgid.link/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
show more ...
|
|
Revision tags: v6.8-rc7, v6.8-rc6 |
|
| #
7b1d87af |
| 19-Feb-2024 |
David Lechner <[email protected]> |
spi: add spi_optimize_message() APIs
This adds a new spi_optimize_message() function that can be used to optimize SPI messages that are used more than once. Peripheral drivers that use the same mess
spi: add spi_optimize_message() APIs
This adds a new spi_optimize_message() function that can be used to optimize SPI messages that are used more than once. Peripheral drivers that use the same message multiple times can use this API to perform SPI message validation and controller-specific optimizations once and then reuse the message while avoiding the overhead of revalidating the message on each spi_(a)sync() call.
Internally, the SPI core will also call this function for each message if the peripheral driver did not explicitly call it. This is done to so that controller drivers don't have to have multiple code paths for optimized and non-optimized messages.
A hook is provided for controller drivers to perform controller-specific optimizations.
Suggested-by: Martin Sperl <[email protected]> Link: https://lore.kernel.org/linux-spi/[email protected]/ Signed-off-by: David Lechner <[email protected]> Link: https://msgid.link/r/20240219-mainline-spi-precook-message-v2-1-4a762c6701b9@baylibre.com Reviewed-by: Jonathan Cameron <[email protected]> Signed-off-by: Mark Brown <[email protected]>
show more ...
|
|
Revision tags: v6.8-rc5, v6.8-rc4 |
|
| #
620d269f |
| 07-Feb-2024 |
Uwe Kleine-König <[email protected]> |
spi: Drop compat layer from renaming "master" to "controller"
Now that all in-tree users followed the rename, the compat stuff can go away. This completes the renaming started with commit 8caab75fd
spi: Drop compat layer from renaming "master" to "controller"
Now that all in-tree users followed the rename, the compat stuff can go away. This completes the renaming started with commit 8caab75fd2c2 ("spi: Generalize SPI "master" to "controller"")
Acked-by: Jonathan Cameron <[email protected]> Signed-off-by: Uwe Kleine-König <[email protected]> Link: https://lore.kernel.org/r/ad1d949325b61a4682e8d6ecf9d05da751e6a99f.1707324794.git.u.kleine-koenig@pengutronix.de Signed-off-by: Mark Brown <[email protected]>
show more ...
|
| #
c0c0293c |
| 06-Feb-2024 |
David Lechner <[email protected]> |
spi: drop gpf arg from __spi_split_transfer_maxsize()
The __spi_split_transfer_maxsize() function has a gpf argument to allow callers to specify the type of memory allocation that needs to be used.
spi: drop gpf arg from __spi_split_transfer_maxsize()
The __spi_split_transfer_maxsize() function has a gpf argument to allow callers to specify the type of memory allocation that needs to be used. However, this function only allocates struct spi_transfer and is not intended to be used from atomic contexts so this type should always be GFP_KERNEL, so we can just drop the argument.
Some callers of these functions also passed GFP_DMA, but since only struct spi_transfer is allocated and not any tx/rx buffers, this is not actually necessary and is removed in this commit.
Signed-off-by: David Lechner <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
show more ...
|
| #
c5d74fe6 |
| 04-Feb-2024 |
R SUNDAR <[email protected]> |
spi: Remove the @multi_cs_cap to prevent kernel-doc warnings
./include/linux/spi/spi.h:778: warning: Excess struct member 'multi_cs_cap' description in 'spi_controller'
Signed-off-by: R SUNDAR <pro
spi: Remove the @multi_cs_cap to prevent kernel-doc warnings
./include/linux/spi/spi.h:778: warning: Excess struct member 'multi_cs_cap' description in 'spi_controller'
Signed-off-by: R SUNDAR <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
show more ...
|
|
Revision tags: v6.8-rc3 |
|
| #
e6c5812d |
| 31-Jan-2024 |
David Lechner <[email protected]> |
spi: reorder spi_message struct member doc comments
The members of `struct spi_message` were reordered in commit ae2ade4ba581 ("spi: Reorder fields in 'struct spi_message'") but the documentation co
spi: reorder spi_message struct member doc comments
The members of `struct spi_message` were reordered in commit ae2ade4ba581 ("spi: Reorder fields in 'struct spi_message'") but the documentation comments were not updated to match.
This commit updates the comments to match the new order.
Signed-off-by: David Lechner <[email protected]> Link: https://msgid.link/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
show more ...
|
|
Revision tags: v6.8-rc2 |
|
| #
2f8c7c37 |
| 24-Jan-2024 |
Mark Brown <[email protected]> |
spi: Raise limit on number of chip selects
As reported by Guenter the limit we've got on the number of chip selects is set too low for some systems, raise the limit. We should really remove the hard
spi: Raise limit on number of chip selects
As reported by Guenter the limit we've got on the number of chip selects is set too low for some systems, raise the limit. We should really remove the hard coded limit but this is needed as a fix so let's do the simple thing and raise the limit for now.
Fixes: 4d8ff6b0991d ("spi: Add multi-cs memories support in SPI core") Reported-by: Guenter Roeck <[email protected]> Suggested-by: Guenter Roeck <[email protected]> Signed-off-by: Mark Brown <[email protected]> Link: https://msgid.link/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
show more ...
|
|
Revision tags: v6.8-rc1, v6.7 |
|
| #
6df534cc |
| 05-Jan-2024 |
Greg Kroah-Hartman <[email protected]> |
spi: make spi_bus_type const
Now that the driver core can properly handle constant struct bus_type, move the spi_bus_type variable to be a constant structure as well, placing it into read-only memor
spi: make spi_bus_type const
Now that the driver core can properly handle constant struct bus_type, move the spi_bus_type variable to be a constant structure as well, placing it into read-only memory which can not be modified at runtime.
Cc: Mark Brown <[email protected]> Cc: <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]> Link: https://msgid.link/r/2024010549-erasure-swoop-1cc6@gregkh Signed-off-by: Mark Brown <[email protected]>
show more ...
|
|
Revision tags: v6.7-rc8, v6.7-rc7, v6.7-rc6, v6.7-rc5, v6.7-rc4, v6.7-rc3 |
|
| #
4d8ff6b0 |
| 25-Nov-2023 |
Amit Kumar Mahapatra <[email protected]> |
spi: Add multi-cs memories support in SPI core
AMD-Xilinx GQSPI controller has two advanced mode that allows the controller to consider two flashes as one single device.
One of these two mode is th
spi: Add multi-cs memories support in SPI core
AMD-Xilinx GQSPI controller has two advanced mode that allows the controller to consider two flashes as one single device.
One of these two mode is the parallel mode in which each byte of data is stored in both devices, the even bits in the lower flash & the odd bits in the upper flash. The byte split is automatically handled by the QSPI controller.
The other mode is the stacked mode in which both the flashes share the same SPI bus but each of the device contain half of the data. In this mode, the controller does not follow CS requests but instead internally wires the two CS levels with the value of the most significant address bit.
For supporting both these modes SPI core need to be updated for providing multiple CS for a single SPI device.
For adding multi CS support the SPI device need to be aware of all the CS values. So, the "chip_select" member in the spi_device structure is now an array that holds all the CS values.
spi_device structure now has a "cs_index_mask" member. This acts as an index to the chip_select array. If nth bit of spi->cs_index_mask is set then the driver would assert spi->chip_select[n].
In parallel mode all the chip selects are asserted/de-asserted simultaneously and each byte of data is stored in both devices, the even bits in one, the odd bits in the other. The split is automatically handled by the GQSPI controller. The GQSPI controller supports a maximum of two flashes connected in parallel mode. A SPI_CONTROLLER_MULTI_CS flag bit is added in the spi controller flags, through ctlr->flags the spi core will make sure that the controller is capable of handling multiple chip selects at once.
For supporting multiple CS via GPIO the cs_gpiod member of the spi_device structure is now an array that holds the gpio descriptor for each chipselect.
CS GPIO is not tested on our hardware, but it has been tested by @Stefan https://lore.kernel.org/all/[email protected]/
Signed-off-by: Amit Kumar Mahapatra <[email protected]> Tested-by: Stefan Binding <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
show more ...
|
| #
39cefd85 |
| 29-Nov-2023 |
Nam Cao <[email protected]> |
spi: introduce SPI_TRANS_FAIL_IO for error reporting
The default message transfer implementation - spi_transfer_one_message - invokes the specific device driver's transfer_one(), then waits for comp
spi: introduce SPI_TRANS_FAIL_IO for error reporting
The default message transfer implementation - spi_transfer_one_message - invokes the specific device driver's transfer_one(), then waits for completion. However, there is no mechanism for the device driver to report failure in the middle of the transfer.
Introduce SPI_TRANS_FAIL_IO for drivers to report transfer failure.
Signed-off-by: Nam Cao <[email protected]> Acked-by: Linus Walleij <[email protected]> Link: https://lore.kernel.org/r/4b420dac528e60f122adde16851da88e4798c1ea.1701274975.git.namcao@linutronix.de Signed-off-by: Mark Brown <[email protected]>
show more ...
|