* [PATCH 0/2] spi: axiado: cond_no_effect and kernel-doc fixes
@ 2026-07-13 6:08 Babanpreet Singh
2026-07-13 6:08 ` [PATCH 1/2] spi: axiado: merge identical if/else branches in ax_transfer_one() Babanpreet Singh
2026-07-13 6:08 ` [PATCH 2/2] spi: axiado: fix kernel-doc comments Babanpreet Singh
0 siblings, 2 replies; 3+ messages in thread
From: Babanpreet Singh @ 2026-07-13 6:08 UTC (permalink / raw)
To: Mark Brown
Cc: Vladimir Moravcevic, Tzu-Hao Wei, Swark Yang, Prasad Bolisetty,
Karthikeyan Mitran, kernel test robot, Julia Lawall, linux-spi,
linux-arm-kernel, linux-kernel, Babanpreet Singh
Two small cleanups for the Axiado SPI driver, both defects present
since the driver was added in e75a6b00ad79 ("spi: axiado: Add driver
for Axiado SPI DB controller").
Patch 1 addresses the coccinelle cond_no_effect warning reported by
the kernel test robot on 2026-07-12 [1]: the RX-only/full-duplex
else-if arm and the trailing else arm in ax_transfer_one() have
identical bodies, so the second condition has no effect. The arms are
merged; no functional change (on x86_64/gcc 14, only
ax_transfer_one()'s object code changes, dropping the dead condition
evaluation).
Patch 2 fixes the kernel-doc comments in the driver: a copy-pasted
function name on ax_spi_get_rx_byte_for_irq(), a /** block with no
identifier line on ax_spi_process_rx_and_finalize(), and stale/missing
member documentation on struct ax_spi. This silences the driver's two
W=1 kernel-doc warnings plus five more visible when kernel-doc is run
on the header directly.
Both patches are against spi/for-next; they are independent of each
other except for touching the same file.
[1] https://lore.kernel.org/r/202607121827.djB0zLAj-lkp@intel.com/
Babanpreet Singh (2):
spi: axiado: merge identical if/else branches in ax_transfer_one()
spi: axiado: fix kernel-doc comments
drivers/spi/spi-axiado.c | 20 ++++++++++----------
drivers/spi/spi-axiado.h | 5 +++--
2 files changed, 13 insertions(+), 12 deletions(-)
base-commit: 5f1b513690edf51727e6928b97705b6437f9a98e
--
2.43.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 1/2] spi: axiado: merge identical if/else branches in ax_transfer_one()
2026-07-13 6:08 [PATCH 0/2] spi: axiado: cond_no_effect and kernel-doc fixes Babanpreet Singh
@ 2026-07-13 6:08 ` Babanpreet Singh
2026-07-13 6:08 ` [PATCH 2/2] spi: axiado: fix kernel-doc comments Babanpreet Singh
1 sibling, 0 replies; 3+ messages in thread
From: Babanpreet Singh @ 2026-07-13 6:08 UTC (permalink / raw)
To: Mark Brown
Cc: Vladimir Moravcevic, Tzu-Hao Wei, Swark Yang, Prasad Bolisetty,
Karthikeyan Mitran, kernel test robot, Julia Lawall, linux-spi,
linux-arm-kernel, linux-kernel, Babanpreet Singh
The else-if arm taken for RX-only and full-duplex transfers and the
trailing else arm in the RX bookkeeping setup of ax_transfer_one()
have identical bodies, so the second condition has no effect:
drivers/spi/spi-axiado.c:433:8-10: WARNING: possible condition with
no effect (if == else)
The trailing else arm (neither TX nor RX buffer) is also unreachable:
the SPI core only calls the ->transfer_one() callback for transfers
that carry at least one buffer, see spi_transfer_one_message().
Merge the two arms into a single else branch and fold their comments.
No functional change. The redundant condition has been present since
the driver was added in commit e75a6b00ad79 ("spi: axiado: Add driver
for Axiado SPI DB controller").
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Julia Lawall <julia.lawall@inria.fr>
Closes: https://lore.kernel.org/r/202607121827.djB0zLAj-lkp@intel.com/
Assisted-by: Claude:claude-fable-5 [coccinelle]
Signed-off-by: Babanpreet Singh <bbnpreetsingh@gmail.com>
---
drivers/spi/spi-axiado.c | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/drivers/spi/spi-axiado.c b/drivers/spi/spi-axiado.c
index 649f149617ce..c4bc7a50d6c9 100644
--- a/drivers/spi/spi-axiado.c
+++ b/drivers/spi/spi-axiado.c
@@ -430,15 +430,11 @@ static int ax_transfer_one(struct spi_controller *ctlr,
/* TX mode: discard all received data */
xspi->rx_discard = transfer->len;
xspi->rx_copy_remaining = 0;
- } else if ((!transfer->tx_buf && transfer->rx_buf) ||
- (transfer->tx_buf && transfer->rx_buf)) {
- /* RX mode: generate clock by filling TX FIFO with dummy bytes
- * Full-duplex mode: generate clock by filling TX FIFO
- */
- xspi->rx_discard = 0;
- xspi->rx_copy_remaining = transfer->len;
} else {
- /* No TX and RX */
+ /* RX-only or full-duplex mode: copy received data, with the
+ * clock generated by filling the TX FIFO (with dummy bytes
+ * in RX-only mode)
+ */
xspi->rx_discard = 0;
xspi->rx_copy_remaining = transfer->len;
}
base-commit: 5f1b513690edf51727e6928b97705b6437f9a98e
--
2.43.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/2] spi: axiado: fix kernel-doc comments
2026-07-13 6:08 [PATCH 0/2] spi: axiado: cond_no_effect and kernel-doc fixes Babanpreet Singh
2026-07-13 6:08 ` [PATCH 1/2] spi: axiado: merge identical if/else branches in ax_transfer_one() Babanpreet Singh
@ 2026-07-13 6:08 ` Babanpreet Singh
1 sibling, 0 replies; 3+ messages in thread
From: Babanpreet Singh @ 2026-07-13 6:08 UTC (permalink / raw)
To: Mark Brown
Cc: Vladimir Moravcevic, Tzu-Hao Wei, Swark Yang, Prasad Bolisetty,
Karthikeyan Mitran, kernel test robot, Julia Lawall, linux-spi,
linux-arm-kernel, linux-kernel, Babanpreet Singh
Running kernel-doc -Wall on the driver reports 7 warnings, all present
since the driver was added in commit e75a6b00ad79 ("spi: axiado: Add
driver for Axiado SPI DB controller"). Two are in spi-axiado.c and
also show up in W=1 builds of drivers/spi:
Warning: drivers/spi/spi-axiado.c:226 expecting prototype for
ax_spi_get_rx_byte(). Prototype was for ax_spi_get_rx_byte_for_irq()
instead
Warning: drivers/spi/spi-axiado.c:248 This comment starts with
'/**', but isn't a kernel-doc comment. Refer to
Documentation/doc-guide/kernel-doc.rst
The other five are for struct ax_spi in spi-axiado.h, seen when
kernel-doc is invoked on the header directly (headers are not scanned
by the build-time kernel-doc checks):
Warning: drivers/spi/spi-axiado.h:130 Excess struct member 'rxbuf'
description in 'ax_spi'
Warning: drivers/spi/spi-axiado.h:130 Excess struct member 'txbuf'
description in 'ax_spi'
Warning: drivers/spi/spi-axiado.h:130 struct member 'clk_rate' not
described in 'ax_spi'
Warning: drivers/spi/spi-axiado.h:130 struct member 'rx_buf' not
described in 'ax_spi'
Warning: drivers/spi/spi-axiado.h:130 struct member 'tx_buf' not
described in 'ax_spi'
Fix the three underlying defects:
- The comment on ax_spi_get_rx_byte_for_irq() carries the name of
ax_spi_get_rx_byte(), from which it was evidently copied when the
IRQ variant was split out; fix the function name.
- The comment on ax_spi_process_rx_and_finalize() is opened with the
kernel-doc /** marker but has no identifier line; turn it into
proper kernel-doc (identifier line, @ctlr, Return:) since it
already describes the behavior and the return value.
- The struct ax_spi comment documents @txbuf and @rxbuf while the
members are named tx_buf and rx_buf, and does not document
clk_rate; fix the member names and describe clk_rate.
No functional change.
Assisted-by: Claude:claude-fable-5 [kernel-doc]
Signed-off-by: Babanpreet Singh <bbnpreetsingh@gmail.com>
---
drivers/spi/spi-axiado.c | 8 ++++++--
drivers/spi/spi-axiado.h | 5 +++--
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/drivers/spi/spi-axiado.c b/drivers/spi/spi-axiado.c
index c4bc7a50d6c9..25561aa9f76f 100644
--- a/drivers/spi/spi-axiado.c
+++ b/drivers/spi/spi-axiado.c
@@ -213,7 +213,7 @@ static void ax_spi_fill_tx_fifo(struct ax_spi *xspi)
}
/**
- * ax_spi_get_rx_byte - Gets a byte from the RX FIFO buffer
+ * ax_spi_get_rx_byte_for_irq - Gets a byte from the RX FIFO buffer
* @xspi: Controller private data (struct ax_spi *)
*
* This function handles the logic of extracting bytes from the 32-bit RX FIFO.
@@ -246,9 +246,13 @@ static u8 ax_spi_get_rx_byte_for_irq(struct ax_spi *xspi)
}
/**
+ * ax_spi_process_rx_and_finalize - Process RX bytes and check for completion
+ * @ctlr: Pointer to spi_controller structure
+ *
* Helper function to process received bytes and check for transfer completion.
* This avoids code duplication and centralizes the completion logic.
- * Returns true if the transfer was finalized.
+ *
+ * Return: true if the transfer was finalized.
*/
static bool ax_spi_process_rx_and_finalize(struct spi_controller *ctlr)
{
diff --git a/drivers/spi/spi-axiado.h b/drivers/spi/spi-axiado.h
index 6cf0e5bf5879..d24d31c3a446 100644
--- a/drivers/spi/spi-axiado.h
+++ b/drivers/spi/spi-axiado.h
@@ -98,9 +98,10 @@
* @regs: Virtual address of the SPI controller registers
* @ref_clk: Pointer to the peripheral clock
* @pclk: Pointer to the APB clock
+ * @clk_rate: Reference clock rate in Hz
* @speed_hz: Current SPI bus clock speed in Hz
- * @txbuf: Pointer to the TX buffer
- * @rxbuf: Pointer to the RX buffer
+ * @tx_buf: Pointer to the TX buffer
+ * @rx_buf: Pointer to the RX buffer
* @tx_bytes: Number of bytes left to transfer
* @rx_bytes: Number of bytes requested
* @tx_fifo_depth: Depth of the TX FIFO
--
2.43.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-07-13 6:08 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-13 6:08 [PATCH 0/2] spi: axiado: cond_no_effect and kernel-doc fixes Babanpreet Singh
2026-07-13 6:08 ` [PATCH 1/2] spi: axiado: merge identical if/else branches in ax_transfer_one() Babanpreet Singh
2026-07-13 6:08 ` [PATCH 2/2] spi: axiado: fix kernel-doc comments Babanpreet Singh
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox