Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp3771668ybb; Tue, 31 Mar 2020 11:39:46 -0700 (PDT) X-Google-Smtp-Source: ADFU+vvTxitlLOz2Hyqsbh4Mjze0ol/ZvhR7Yu3MSB0H07E+TsF/vQ8rlpd4swwe11jNuYfeeuON X-Received: by 2002:a4a:d749:: with SMTP id h9mr8908586oot.15.1585679986611; Tue, 31 Mar 2020 11:39:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585679986; cv=none; d=google.com; s=arc-20160816; b=Xf9CQm6gCAgW6R6jtLwxYS2DWkgM/tMsaDx+MdccdtY/KEn8AxpfCvD1JlvTmy/2bz Xvk1+tVbdI/xUYFuJcUPm3Pa593mD4Tbi2gv+hV5TXXCa8fo56zmmaq0Sd0FUoLUBgZQ kPIJ8xsHX9BaaYrrhMLdNOsM1uKYtZCa/GKfAMMnnymcS1W18CZSIC6VmOwyzHYe5TVj vbFW4qCPQtpf/kQ4SJDsVYW6ExGmvmTWc6azYsVNX7mqwmA6sH/+W2ACd6DK2l4yVdF6 2pjin9tZ6kd8YZFBx2qv9MNC9vAM3p8JJkOa/qmOf/cfcnpmPHH6fLxhO3ZUhWr07XuO QSaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=KW3Lbde0NrLlMFOPBVL9VFr/xqlRRv5C9s8T2uV/EC8=; b=RIVLMEh31G4Yeu8XVV4Q1FcPLOudZcYA5gml+FO2/MdXRsjyawGxPDv2/eEaAwmQQv twwozbPSFzrpTLq56WopFMsa54IZZ2lzuH6eyNfnIoTaeCbVvSmdPXeKzmtS3BvOupZ5 4ka8XSuzCrO77Gn7bOaiOvmJ9n5ALyrEdnKCIWPLMWAJXXt+3oj28RZJ+g9nuCRSXdv3 SRlCkfY9puT5KV8qZcr5V2hvOOcr8npLN/f4Ct2b3V/PJFbWEjazBUiQsL+4M/PaYgs4 8GNcc6qsU4GGhVQb45vZhlX2b4+eMFQiTrJw/sKmYj8PogzaL9SQvOGw3x4243Ct/EgE IIiQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=YAzpmToC; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d145si7406493oob.68.2020.03.31.11.39.34; Tue, 31 Mar 2020 11:39:46 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=YAzpmToC; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728277AbgCaSi6 (ORCPT + 99 others); Tue, 31 Mar 2020 14:38:58 -0400 Received: from mail-lf1-f67.google.com ([209.85.167.67]:38769 "EHLO mail-lf1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727937AbgCaSiy (ORCPT ); Tue, 31 Mar 2020 14:38:54 -0400 Received: by mail-lf1-f67.google.com with SMTP id c5so18205883lfp.5 for ; Tue, 31 Mar 2020 11:38:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=KW3Lbde0NrLlMFOPBVL9VFr/xqlRRv5C9s8T2uV/EC8=; b=YAzpmToCHjPKwhVBcWenpASCnFKvzdesYgGqqYMRCP6llJmlm7Y0lj5BXG7cxcVRIl 1fQhsBHrIpdVSutqQJVbpCEti0sA06lsT2dwQTcMRT/nIwMMC4O94hZhauz+WI9GJO6p 12WAtAAApshg2SASKYHsA3S/db71nblcaq3R52IYHCxiGj7rIDzrt1M+tKgLtq7iTSFU aODeaHftNj89LL0xeI0W+Hei2+iJIAT2joCgO2P38SQDfWP6+Ktk5uEgbg+CJVvx4E49 ZrGqhnUVONAeEWgjWrVaZ3BhXiqrh+R/IFaUyAlqH2Zjkgh2qY9Z0AkIAL6AblS6MrhU Y3sQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KW3Lbde0NrLlMFOPBVL9VFr/xqlRRv5C9s8T2uV/EC8=; b=Kh73BcCih/XGz6m2wMqGCV+dsB5X0Fe4jNy1Kvte34ZL8OxARf4GPkILWGPKTD+nqE HEIoHYr9l3lUIYLRl3k/6dv0oXgmxyUjltjfBXPuTsWSTRZd2wFxsR3bq9eWJr1szcYW exM95KXcqPKW57jMnzE/xmwidpJUnuczFhwqKZNOLzJalgPyOCm58gNEa9EfpOiIN86C W0MldNSEQeqVpVfQCMpmjGqJHUv2Cd+IwjxJoDkgIAVlC5NM6n8/CbpDcvqUPmGmFv5L Ul3m49WYMBBAKEoPvoFKKXnS79dLYd+2YVhpPU9HJx7M9XsWCprLJ/NosCenTvuoT3Qh jVmA== X-Gm-Message-State: AGi0PubltkwFXIVoSa1g+2zoLZfHH2laxbHCXmx6+25ZSEW9ciC9YnFC FMsh/6ZKtB6GXnaxSEzmcyTtrQ== X-Received: by 2002:a05:6512:3091:: with SMTP id z17mr12711035lfd.42.1585679932325; Tue, 31 Mar 2020 11:38:52 -0700 (PDT) Received: from localhost.localdomain (h-158-174-22-210.NA.cust.bahnhof.se. [158.174.22.210]) by smtp.gmail.com with ESMTPSA id b28sm10331849ljp.90.2020.03.31.11.38.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Mar 2020 11:38:51 -0700 (PDT) From: Ulf Hansson To: Greg Kroah-Hartman , "Rafael J . Wysocki" , linux-kernel@vger.kernel.org Cc: Arnd Bergmann , Christoph Hellwig , Russell King , Linus Walleij , Robin Murphy , Vinod Koul , Haibo Chen , Ludovic Barre , linux-arm-kernel@lists.infradead.org, dmaengine@vger.kernel.org, Ulf Hansson , stable@vger.kernel.org Subject: [PATCH v2 2/2] amba: Initialize dma_parms for amba devices Date: Tue, 31 Mar 2020 20:38:44 +0200 Message-Id: <20200331183844.30488-3-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200331183844.30488-1-ulf.hansson@linaro.org> References: <20200331183844.30488-1-ulf.hansson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org It's currently the amba driver's responsibility to initialize the pointer, dma_parms, for its corresponding struct device. The benefit with this approach allows us to avoid the initialization and to not waste memory for the struct device_dma_parameters, as this can be decided on a case by case basis. However, it has turned out that this approach is not very practical. Not only does it lead to open coding, but also to real errors. In principle callers of dma_set_max_seg_size() doesn't check the error code, but just assumes it succeeds. For these reasons, let's do the initialization from the common amba bus at the device registration point. This also follows the way the PCI devices are being managed, see pci_device_add(). Suggested-by: Christoph Hellwig Cc: Russell King Cc: Signed-off-by: Ulf Hansson --- Changes in v2: - Move initialization to amba_device_initialize() to be more consistent with how we manage platform devices. --- drivers/amba/bus.c | 1 + include/linux/amba/bus.h | 1 + 2 files changed, 2 insertions(+) diff --git a/drivers/amba/bus.c b/drivers/amba/bus.c index fe1523664816..8558b629880b 100644 --- a/drivers/amba/bus.c +++ b/drivers/amba/bus.c @@ -645,6 +645,7 @@ static void amba_device_initialize(struct amba_device *dev, const char *name) dev->dev.release = amba_device_release; dev->dev.bus = &amba_bustype; dev->dev.dma_mask = &dev->dev.coherent_dma_mask; + dev->dev.dma_parms = &dev->dma_parms; dev->res.name = dev_name(&dev->dev); } diff --git a/include/linux/amba/bus.h b/include/linux/amba/bus.h index 26f0ecf401ea..0bbfd647f5c6 100644 --- a/include/linux/amba/bus.h +++ b/include/linux/amba/bus.h @@ -65,6 +65,7 @@ struct amba_device { struct device dev; struct resource res; struct clk *pclk; + struct device_dma_parameters dma_parms; unsigned int periphid; unsigned int cid; struct amba_cs_uci_id uci; -- 2.20.1