mbox series

[00/14] spi: axi-spi-engine improvements

Message ID 20231117-axi-spi-engine-series-1-v1-0-cc59db999b87@baylibre.com
Headers show
Series spi: axi-spi-engine improvements | expand

Message

David Lechner Nov. 17, 2023, 8:12 p.m. UTC
We are working towards adding support for the offload feature[1] of the
AXI SPI Engine IP core. Before we can do that, we want to make some
general fixes and improvements to the driver. In order to avoid a giant
series with 35+ patches, we are splitting this up into a few smaller
series.

This first series mostly doing some housekeeping:
* Convert device tree bindings to yaml.
* Add a MAINTAINERS entry.
* Clean up probe and remove using devm.
* Separate message state from driver state.
* Add support for cs_off and variable word size.

Once this series is applied, we will follow up with a second series of
general improvements, and then finally a 3rd series that implements the
offload support. The offload support will also involve the IIO
subsystem (a new IIO driver will depend on the new SPI offload feature),
so I'm mentioning this now in case we want to do anything ahead of time
to prepare for that (e.g. putting all of these changes on a separate
branch).

[1]: https://wiki.analog.com/resources/fpga/peripherals/spi_engine/offload

---
David Lechner (14):
      dt-bindings: spi: axi-spi-engine: convert to yaml
      MAINTAINERS: add entry for AXI SPI Engine
      spi: axi-spi-engine: simplify driver data allocation
      spi: axi-spi-engine: use devm_spi_alloc_host()
      spi: axi-spi-engine: use devm action to reset hw on remove
      spi: axi-spi-engine: use devm_request_irq()
      spi: axi-spi-engine: use devm_spi_register_controller()
      spi: axi-spi-engine: check for valid clock rate
      spi: axi-spi-engine: move msg state to new struct
      spi: axi-spi-engine: use message_prepare/unprepare
      spi: axi-spi-engine: remove completed_id from driver state
      spi: axi-spi-engine: remove struct spi_engine::msg
      spi: axi-spi-engine: add support for cs_off
      spi: axi-spi-engine: add support for any word size

 .../devicetree/bindings/spi/adi,axi-spi-engine.txt |  31 --
 .../bindings/spi/adi,axi-spi-engine.yaml           |  66 ++++
 MAINTAINERS                                        |  10 +
 drivers/spi/spi-axi-spi-engine.c                   | 399 +++++++++++++--------
 4 files changed, 329 insertions(+), 177 deletions(-)
---
base-commit: 6f9da18171889fae105e1413a825c53fa5aab40c
change-id: 20231117-axi-spi-engine-series-1-7c76311440f9

Comments

David Lechner Nov. 17, 2023, 8:44 p.m. UTC | #1
On Fri, Nov 17, 2023 at 2:13 PM David Lechner <dlechner@baylibre.com> wrote:
>
> The AXI SPI Engine driver has been in the kernel for many years but has
> lacked a proper maintainers entry. This adds a new entry for the driver
> and the devicetree bindings.
>
> Signed-off-by: David Lechner <dlechner@baylibre.com>
> ---
>
> Note: This work is being done by BayLibre on behalf of Analog Devices Inc.
> This is why the maintainers are @analog.com rather than @baylibre.com.
>
>  MAINTAINERS | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 97f51d5ec1cf..a40f61ad5843 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -3415,6 +3415,16 @@ W:       https://ez.analog.com/linux-software-drivers
>  F:     Documentation/devicetree/bindings/hwmon/adi,axi-fan-control.yaml
>  F:     drivers/hwmon/axi-fan-control.c
>
> +AXI SPI ENGINE
> +M:     Michael Hennerich <michael.hennerich@analog.com>
> +M:     Nuno Sá <nuno.sa@analog.com>
> +R:     David Lechner <dlechner@baylibre.com>
> +L:     linux-spi@vger.kernel.org
> +S:     Supported
> +W:     https://ez.analog.com/linux-software-drivers
> +F:     Documentation/devicetree/bindings/spi/adi,axi-spi-engine.yaml
> +F:     drivers/spi/spi-axi-spi-engine.c
> +
>  AXXIA I2C CONTROLLER
>  M:     Krzysztof Adamski <krzysztof.adamski@nokia.com>
>  L:     linux-i2c@vger.kernel.org
>
> --
> 2.42.0
>

Hi Lars,

As the original author, do you have an interested in being included in
this list?
Lars-Peter Clausen Nov. 19, 2023, 7:01 p.m. UTC | #2
On 11/17/23 12:44, David Lechner wrote:
> On Fri, Nov 17, 2023 at 2:13 PM David Lechner <dlechner@baylibre.com> wrote:
>> The AXI SPI Engine driver has been in the kernel for many years but has
>> lacked a proper maintainers entry. This adds a new entry for the driver
>> and the devicetree bindings.
>>
>> Signed-off-by: David Lechner <dlechner@baylibre.com>
>> ---
>>
>> Note: This work is being done by BayLibre on behalf of Analog Devices Inc.
>> This is why the maintainers are @analog.com rather than @baylibre.com.
>>
>>   MAINTAINERS | 10 ++++++++++
>>   1 file changed, 10 insertions(+)
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index 97f51d5ec1cf..a40f61ad5843 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -3415,6 +3415,16 @@ W:       https://ez.analog.com/linux-software-drivers
>>   F:     Documentation/devicetree/bindings/hwmon/adi,axi-fan-control.yaml
>>   F:     drivers/hwmon/axi-fan-control.c
>>
>> +AXI SPI ENGINE
>> +M:     Michael Hennerich <michael.hennerich@analog.com>
>> +M:     Nuno Sá <nuno.sa@analog.com>
>> +R:     David Lechner <dlechner@baylibre.com>
>> +L:     linux-spi@vger.kernel.org
>> +S:     Supported
>> +W:     https://ez.analog.com/linux-software-drivers
>> +F:     Documentation/devicetree/bindings/spi/adi,axi-spi-engine.yaml
>> +F:     drivers/spi/spi-axi-spi-engine.c
>> +
>>   AXXIA I2C CONTROLLER
>>   M:     Krzysztof Adamski <krzysztof.adamski@nokia.com>
>>   L:     linux-i2c@vger.kernel.org
>>
>> --
>> 2.42.0
>>
> Hi Lars,
>
> As the original author, do you have an interested in being included in
> this list?

No :)
Mark Brown Nov. 20, 2023, 6:25 p.m. UTC | #3
On Fri, 17 Nov 2023 14:12:51 -0600, David Lechner wrote:
> We are working towards adding support for the offload feature[1] of the
> AXI SPI Engine IP core. Before we can do that, we want to make some
> general fixes and improvements to the driver. In order to avoid a giant
> series with 35+ patches, we are splitting this up into a few smaller
> series.
> 
> This first series mostly doing some housekeeping:
> * Convert device tree bindings to yaml.
> * Add a MAINTAINERS entry.
> * Clean up probe and remove using devm.
> * Separate message state from driver state.
> * Add support for cs_off and variable word size.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next

Thanks!

[01/14] dt-bindings: spi: axi-spi-engine: convert to yaml
        commit: 252eafe11ffc032579a56c7a29faa8431785a91e
[02/14] MAINTAINERS: add entry for AXI SPI Engine
        commit: 68539d1803476b4ecd403c126aa74b9f25b45f2b
[03/14] spi: axi-spi-engine: simplify driver data allocation
        commit: 9e4ce5220eedea2cc440f3961dec1b5122e815b2
[04/14] spi: axi-spi-engine: use devm_spi_alloc_host()
        commit: e12cd96e8e93044646fdf4b2c9a1de62cfa01e7c
[05/14] spi: axi-spi-engine: use devm action to reset hw on remove
        commit: e094de13ae78035c5642d5dfc65b07301765eebc
[06/14] spi: axi-spi-engine: use devm_request_irq()
        commit: 076f32d5db73f16c95b38149f9168210cf267b33
[07/14] spi: axi-spi-engine: use devm_spi_register_controller()
        commit: e16e71e3f3c4b73b20f8c79f7ce8465542a337e9
[08/14] spi: axi-spi-engine: check for valid clock rate
        commit: e6d5eb85e84aeace5e231b951ece86b20df9f63a
[09/14] spi: axi-spi-engine: move msg state to new struct
        commit: 7f970ecb77b6759d37ee743fc36fc0daba960e75
[10/14] spi: axi-spi-engine: use message_prepare/unprepare
        commit: 0c74de5c6853b0e83413ad237867a37ba30ef3f9
[11/14] spi: axi-spi-engine: remove completed_id from driver state
        commit: 4a074ddeb90f5e81738b401643651b2dea257f57
[12/14] spi: axi-spi-engine: remove struct spi_engine::msg
        commit: 4e991445478c6404a6846928093837249c52694a
[13/14] spi: axi-spi-engine: add support for cs_off
        commit: 145bb2aedb9f78f290c2b5503b553894a6ec53fe
[14/14] spi: axi-spi-engine: add support for any word size
        commit: d861b417e1893a46c63cef2cb46d3587da1e5b15

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark