* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.