From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [5/5] dmaengine: sprd: Add 'device_config' and 'device_prep_slave_sg' interfaces From: Lars-Peter Clausen Message-Id: <5c951129-b167-3ed6-48f4-0a42cd2df28e@metafoo.de> Date: Tue, 17 Apr 2018 12:45:20 +0200 To: Baolin Wang , dan.j.williams@intel.com, vinod.koul@intel.com Cc: eric.long@spreadtrum.com, broonie@kernel.org, dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org List-ID: T24gMDQvMTAvMjAxOCAwOTo0NiBBTSwgQmFvbGluIFdhbmcgd3JvdGU6ClsuLi5dCj4gK3N0YXRp YyBpbnQgc3ByZF9kbWFfc2xhdmVfY29uZmlnKHN0cnVjdCBkbWFfY2hhbiAqY2hhbiwKPiArCQkJ CSBzdHJ1Y3QgZG1hX3NsYXZlX2NvbmZpZyAqY29uZmlnKQo+ICt7Cj4gKwlzdHJ1Y3Qgc3ByZF9k bWFfY2huICpzY2hhbiA9IHRvX3NwcmRfZG1hX2NoYW4oY2hhbik7Cj4gKwlzdHJ1Y3Qgc3ByZF9k bWFfY29uZmlnICpzbGF2ZV9jZmcgPQo+ICsJCWNvbnRhaW5lcl9vZihjb25maWcsIHN0cnVjdCBz cHJkX2RtYV9jb25maWcsIGNvbmZpZyk7Cj4gKwoKUGxlYXNlIGRvIG5vdCBvdmVybG9hZCBzdGFu ZGFyZCBBUEkgd2l0aCBjdXN0b20gc2VtYW50aWNzLiBUaGlzIG1ha2VzIHRoZQpkcml2ZXIgaW5j b21wYXRpYmxlIHRvIHRoZSBBUEkgYW5kIG5lZ2F0ZXMgdGhlIHdob2xlIGlkZWEgb2YgaGF2aW5n IGEgY29tbW9uCkFQSS4gRS5nLiB0aGlzIHdpbGwgY3Jhc2ggd2hlbiBzb21lYm9keSBwYXNzZXMg YSBub3JtYWwgZG1hX3NsYXZlX2NvbmZpZwpzdHJ1Y3QgdG8gdGhpcyBmdW5jdGlvbi4KCj4gKwlt ZW1jcHkoJnNjaGFuLT5zbGF2ZV9jZmcsIHNsYXZlX2NmZywgc2l6ZW9mKCpzbGF2ZV9jZmcpKTsK PiArCXJldHVybiAwOwo+ICt9Ci0tLQpUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbGlzdDogc2Vu ZCB0aGUgbGluZSAidW5zdWJzY3JpYmUgZG1hZW5naW5lIiBpbgp0aGUgYm9keSBvZiBhIG1lc3Nh Z2UgdG8gbWFqb3Jkb21vQHZnZXIua2VybmVsLm9yZwpNb3JlIG1ham9yZG9tbyBpbmZvIGF0ICBo dHRwOi8vdmdlci5rZXJuZWwub3JnL21ham9yZG9tby1pbmZvLmh0bWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752580AbeDQKpd (ORCPT ); Tue, 17 Apr 2018 06:45:33 -0400 Received: from www381.your-server.de ([78.46.137.84]:54655 "EHLO www381.your-server.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751270AbeDQKpb (ORCPT ); Tue, 17 Apr 2018 06:45:31 -0400 Subject: Re: [PATCH 5/5] dmaengine: sprd: Add 'device_config' and 'device_prep_slave_sg' interfaces To: Baolin Wang , dan.j.williams@intel.com, vinod.koul@intel.com Cc: eric.long@spreadtrum.com, broonie@kernel.org, dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org References: <0a9fa618bd74e74c135ebee2e40b30d361c1d905.1523346135.git.baolin.wang@linaro.org> From: Lars-Peter Clausen Message-ID: <5c951129-b167-3ed6-48f4-0a42cd2df28e@metafoo.de> Date: Tue, 17 Apr 2018 12:45:20 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <0a9fa618bd74e74c135ebee2e40b30d361c1d905.1523346135.git.baolin.wang@linaro.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Authenticated-Sender: lars@metafoo.de Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 04/10/2018 09:46 AM, Baolin Wang wrote: [...] > +static int sprd_dma_slave_config(struct dma_chan *chan, > + struct dma_slave_config *config) > +{ > + struct sprd_dma_chn *schan = to_sprd_dma_chan(chan); > + struct sprd_dma_config *slave_cfg = > + container_of(config, struct sprd_dma_config, config); > + Please do not overload standard API with custom semantics. This makes the driver incompatible to the API and negates the whole idea of having a common API. E.g. this will crash when somebody passes a normal dma_slave_config struct to this function. > + memcpy(&schan->slave_cfg, slave_cfg, sizeof(*slave_cfg)); > + return 0; > +}