Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp4140792pxf; Tue, 6 Apr 2021 08:50:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwfSa4khHD+CN5kOsoD8AP1u50moq4MmiCG5JNyJOBjvZZsCwEYkgrz02b7GlNd2nuCSFEU X-Received: by 2002:a5d:850c:: with SMTP id q12mr24534738ion.13.1617724253532; Tue, 06 Apr 2021 08:50:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617724253; cv=none; d=google.com; s=arc-20160816; b=XhkHavV9b83icJLDBwcx5RYayWM5q3fvdwUoLyHfHDAI52zAvAmQPBnxCBj6Aho1X8 Jp2E1U7mWuj4Tj8D4YUaQNba0NEhyyMXkIGyPfbmoVNDQ4mtCZQ84BzzK6iWnpGYut2x 8WgpXqp4K5tG3SqdZ66EMi2oE8xei0dC+xRD/5EVkxAX7xqGDoNZUQOys7w56LdPrJSN gZ1531UEDiDivXcCTfV3dO8zpu8RltmcTquwCDUH0C0C5mOM7VNMYGZyfxJvvLSuEeWZ 43F7zuEKIg/0rHFl3w+N+Z+sU2SUj2CWGb4OLRI14eCMVCM/7zg4GHKRR11vL36H0afk Urdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=qLwIf+jFeAtE/tmW0S64bxmMbsAtseVpsAvWl5goiEo=; b=yLlSbfAO6Bxz839V4pMOJp5kIi9vFWsENU72JiCC7KrOWAzdP4hNDSQEAkwGud12HM 8jxpIwoggXROc0TueOBFSlWddVYMnt4HfvS+GoJTs1cL5KJf3h82DFFpcqAUgwPsMycv At0cs8I/6p+N2X6wOa2EMLjewH89nFljz+4Jprf4SQ34puFKHSmW1xItvOmXiSvQvhAi JsHdk6CVDSfdKkYzlyad+Q/RHL1m8eLD0mtWXLBleMJv9ZhWdJnLV9HF4uXmQcamP62/ xG3xEssLsn7i7oN/o5V2aTmCm2zXdfLHvBrZHL6OWYJNaPPY8BBsHp0BrdL5qPZAuZql ugtQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=MZ1CxFVW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h23si17700563iob.7.2021.04.06.08.50.41; Tue, 06 Apr 2021 08:50:53 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=MZ1CxFVW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232269AbhDFGCY (ORCPT + 99 others); Tue, 6 Apr 2021 02:02:24 -0400 Received: from mail.kernel.org ([198.145.29.99]:38712 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243934AbhDFGCV (ORCPT ); Tue, 6 Apr 2021 02:02:21 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id C64E3613C8; Tue, 6 Apr 2021 06:02:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1617688934; bh=vsBChbY5+LVkujpH9gbQlIQG3kRuiu5IdEM2SWqQFPQ=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=MZ1CxFVWIewiqkef0s0fsT8o07mW1EtcauFEY+QOvfQhPQzgmtUSR6G4rgUJsdLJq j3mfoRsXvoWUJmjDMVDRQWde4DPbrzO6we3YAxlKwIagW/EeGZt/kiB6x2i7mKEToD LWf9Q+B7HJaVRyLgnbb10d5q7Xh7GKPclRiQ3c9tzk/r9DyT9yjjXtvUXKqMhyE1/x p4nn10JEHw6ctw8UmjHElg5WyOyZRDn3gEr/7RRbdDw/4XQFhpTbmyqVLjez6t3xjd u7Rhuud/4KkIYmPqZms796Db8fmA2GTpc/iZB6g4a4sR4cT6V+TO+s4O1LdyLfGBPJ FhkDJwB1Yn6fQ== Subject: Re: [PATCH 2/2] clk: ti: get register address from device tree To: Dario Binacchi , linux-kernel@vger.kernel.org Cc: Bin Meng , Michael Turquette , Stephen Boyd , linux-clk@vger.kernel.org, linux-omap@vger.kernel.org References: <20210402192054.7934-1-dariobin@libero.it> <20210402192054.7934-3-dariobin@libero.it> From: Tero Kristo Message-ID: <12964099-7d74-57f3-e517-79c8b14c9b94@kernel.org> Date: Tue, 6 Apr 2021 09:02:10 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <20210402192054.7934-3-dariobin@libero.it> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 02/04/2021 22:20, Dario Binacchi wrote: > Until now, only the register offset was retrieved from the device tree > to be added, during access, to a common base address for the clocks. > If possible, we try to retrieve the physical address of the register > directly from the device tree. The physical address is derived from the base address of the clock provider, it is not derived from the clock node itself. Doing what this patch does may actually break things, as you end up creating an individual ioremap for every single clock register, and they are typically a word apart from each other. In the TI clock driver case, the ioremap is done only once for the whole clock register space. -Tero > > Signed-off-by: Dario Binacchi > > --- > > drivers/clk/ti/clk.c | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/drivers/clk/ti/clk.c b/drivers/clk/ti/clk.c > index 3da33c786d77..938f5a2cb425 100644 > --- a/drivers/clk/ti/clk.c > +++ b/drivers/clk/ti/clk.c > @@ -265,9 +265,21 @@ int __init ti_clk_retry_init(struct device_node *node, void *user, > int ti_clk_get_reg_addr(struct device_node *node, int index, > struct clk_omap_reg *reg) > { > + const __be32 *addrp; > + u64 size, addr = OF_BAD_ADDR; > + unsigned int flags; > u32 val; > int i; > > + addrp = of_get_address(node, index, &size, &flags); > + if (addrp) > + addr = of_translate_address(node, addrp); > + > + if (addr != OF_BAD_ADDR) { > + reg->ptr = ioremap(addr, sizeof(u32)); > + return 0; > + } > + > for (i = 0; i < CLK_MAX_MEMMAPS; i++) { > if (clocks_node_ptr[i] == node->parent) > break; > @@ -287,7 +299,6 @@ int ti_clk_get_reg_addr(struct device_node *node, int index, > > reg->offset = val; > reg->ptr = NULL; > - > return 0; > } > >