Re: [PATCH v2 10/11] dmaengine: ioat: use sysfs_emit() in per-channel sysfs show()
From: Dave Jiang
Date: Tue Jul 21 2026 - 12:31:52 EST
On 7/21/26 8:57 AM, Logan Gunthorpe wrote:
> Convert the sprintf() calls in the per-channel sysfs attribute show()
> functions to sysfs_emit().
>
> Signed-off-by: Logan Gunthorpe <logang@xxxxxxxxxxxx>
Acked-by: Dave Jiang <dave.jiang@xxxxxxxxx>
> ---
> drivers/dma/ioat/sysfs.c | 22 +++++++++++-----------
> 1 file changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/dma/ioat/sysfs.c b/drivers/dma/ioat/sysfs.c
> index e796ddb5383f..976134df8108 100644
> --- a/drivers/dma/ioat/sysfs.c
> +++ b/drivers/dma/ioat/sysfs.c
> @@ -24,12 +24,12 @@ static ssize_t cap_show(struct dma_chan *c, char *page)
> {
> struct dma_device *dma = c->device;
>
> - return sprintf(page, "copy%s%s%s%s%s\n",
> - dma_has_cap(DMA_PQ, dma->cap_mask) ? " pq" : "",
> - dma_has_cap(DMA_PQ_VAL, dma->cap_mask) ? " pq_val" : "",
> - dma_has_cap(DMA_XOR, dma->cap_mask) ? " xor" : "",
> - dma_has_cap(DMA_XOR_VAL, dma->cap_mask) ? " xor_val" : "",
> - dma_has_cap(DMA_INTERRUPT, dma->cap_mask) ? " intr" : "");
> + return sysfs_emit(page, "copy%s%s%s%s%s\n",
> + dma_has_cap(DMA_PQ, dma->cap_mask) ? " pq" : "",
> + dma_has_cap(DMA_PQ_VAL, dma->cap_mask) ? " pq_val" : "",
> + dma_has_cap(DMA_XOR, dma->cap_mask) ? " xor" : "",
> + dma_has_cap(DMA_XOR_VAL, dma->cap_mask) ? " xor_val" : "",
> + dma_has_cap(DMA_INTERRUPT, dma->cap_mask) ? " intr" : "");
>
> }
> static const struct ioat_sysfs_entry ioat_cap_attr = __ATTR_RO(cap);
> @@ -39,8 +39,8 @@ static ssize_t version_show(struct dma_chan *c, char *page)
> struct dma_device *dma = c->device;
> struct ioatdma_device *ioat_dma = to_ioatdma_device(dma);
>
> - return sprintf(page, "%d.%d\n",
> - ioat_dma->version >> 4, ioat_dma->version & 0xf);
> + return sysfs_emit(page, "%d.%d\n",
> + ioat_dma->version >> 4, ioat_dma->version & 0xf);
> }
> static const struct ioat_sysfs_entry ioat_version_attr = __ATTR_RO(version);
>
> @@ -118,7 +118,7 @@ static ssize_t ring_size_show(struct dma_chan *c, char *page)
> {
> struct ioatdma_chan *ioat_chan = to_ioat_chan(c);
>
> - return sprintf(page, "%d\n", (1 << ioat_chan->alloc_order) & ~1);
> + return sysfs_emit(page, "%d\n", (1 << ioat_chan->alloc_order) & ~1);
> }
> static const struct ioat_sysfs_entry ring_size_attr = __ATTR_RO(ring_size);
>
> @@ -127,7 +127,7 @@ static ssize_t ring_active_show(struct dma_chan *c, char *page)
> struct ioatdma_chan *ioat_chan = to_ioat_chan(c);
>
> /* ...taken outside the lock, no need to be precise */
> - return sprintf(page, "%d\n", ioat_ring_active(ioat_chan));
> + return sysfs_emit(page, "%d\n", ioat_ring_active(ioat_chan));
> }
> static const struct ioat_sysfs_entry ring_active_attr = __ATTR_RO(ring_active);
>
> @@ -135,7 +135,7 @@ static ssize_t intr_coalesce_show(struct dma_chan *c, char *page)
> {
> struct ioatdma_chan *ioat_chan = to_ioat_chan(c);
>
> - return sprintf(page, "%d\n", ioat_chan->intr_coalesce);
> + return sysfs_emit(page, "%d\n", ioat_chan->intr_coalesce);
> }
>
> static ssize_t intr_coalesce_store(struct dma_chan *c, const char *page,