From patchwork Sat Sep 27 08:54:44 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxime Ripard X-Patchwork-Id: 4989471 Return-Path: X-Original-To: patchwork-dmaengine@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 3FA399FB83 for ; Sat, 27 Sep 2014 08:57:08 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 73C04201E4 for ; Sat, 27 Sep 2014 08:57:07 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 8813920212 for ; Sat, 27 Sep 2014 08:57:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752868AbaI0I4w (ORCPT ); Sat, 27 Sep 2014 04:56:52 -0400 Received: from top.free-electrons.com ([176.31.233.9]:38677 "EHLO mail.free-electrons.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752854AbaI0I4u (ORCPT ); Sat, 27 Sep 2014 04:56:50 -0400 Received: by mail.free-electrons.com (Postfix, from userid 106) id BEA6220C1; Sat, 27 Sep 2014 10:56:49 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Spam-Level: X-Spam-Status: No, score=-7.8 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 Received: from localhost (unknown [80.12.35.177]) by mail.free-electrons.com (Postfix) with ESMTPSA id 412DA6FD; Sat, 27 Sep 2014 10:56:49 +0200 (CEST) From: Maxime Ripard To: Vinod Koul , dmaengine@vger.kernel.org Cc: Laurent Pinchart , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, =?UTF-8?q?Antoine=20T=C3=A9nart?= , lars@metafoo.de, Maxime Ripard Subject: [PATCH 8/9] dmaengine: Mark device_control as deprecated Date: Sat, 27 Sep 2014 10:54:44 +0200 Message-Id: <1411808085-27792-9-git-send-email-maxime.ripard@free-electrons.com> X-Mailer: git-send-email 2.1.0 In-Reply-To: <1411808085-27792-1-git-send-email-maxime.ripard@free-electrons.com> References: <1411808085-27792-1-git-send-email-maxime.ripard@free-electrons.com> Sender: dmaengine-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: dmaengine@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Now that device_control has been split into several functions, we can consider it deprecated. That also means that we don't want to make it mandatory any more. Since any device was free to implement any command of device_control, the only least common denominator is to not expect any callback anymore. Hopefully, device_slave_caps can provide such informations to the client. Signed-off-by: Maxime Ripard --- drivers/dma/dmaengine.c | 2 -- include/linux/dmaengine.h | 10 ++++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c index cfcb181b1184..87348e6a3791 100644 --- a/drivers/dma/dmaengine.c +++ b/drivers/dma/dmaengine.c @@ -812,8 +812,6 @@ int dma_async_device_register(struct dma_device *device) !device->device_prep_dma_sg); BUG_ON(dma_has_cap(DMA_CYCLIC, device->cap_mask) && !device->device_prep_dma_cyclic); - BUG_ON(dma_has_cap(DMA_SLAVE, device->cap_mask) && - !device->device_control); BUG_ON(dma_has_cap(DMA_INTERLEAVE, device->cap_mask) && !device->device_prep_interleaved_dma); diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index e25a365b808c..9c0d16273ef9 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -619,7 +619,7 @@ struct dma_tx_state { * @device_config: Pushes a new configuration to a channel, return 0 or an error * code * @device_control: manipulate all pending operations on a channel, returns - * zero or error code + * zero or error code (Deprecated) * @device_pause: Pauses any transfer happening on a channel. Returns * 0 or an error code * @device_resume: Resumes any transfer on a channel previously @@ -631,7 +631,7 @@ struct dma_tx_state { * struct with auxiliary transfer status information, otherwise the call * will just return a simple status code * @device_issue_pending: push pending transactions to hardware - * @device_slave_caps: return the slave channel capabilities + * @device_slave_caps: return the slave channel capabilities (Deprecated) */ struct dma_device { @@ -697,8 +697,6 @@ struct dma_device { int (*device_config)(struct dma_chan *chan, struct dma_slave_config *config); - int (*device_control)(struct dma_chan *chan, enum dma_ctrl_cmd cmd, - unsigned long arg); int (*device_pause)(struct dma_chan *chan); int (*device_resume)(struct dma_chan *chan); int (*device_terminate_all)(struct dma_chan *chan); @@ -706,6 +704,10 @@ struct dma_device { dma_cookie_t cookie, struct dma_tx_state *txstate); void (*device_issue_pending)(struct dma_chan *chan); + + /* Deprecated */ + int (*device_control)(struct dma_chan *chan, enum dma_ctrl_cmd cmd, + unsigned long arg); int (*device_slave_caps)(struct dma_chan *chan, struct dma_slave_caps *caps); };