Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp441118pxj; Wed, 2 Jun 2021 03:04:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz0NXpC3GF+0KPNL7+iQUTIVObjapycjFUDZkRdWU4MprjiZN+OiGHzOqH0ezIp7SjFQtH9 X-Received: by 2002:aa7:c799:: with SMTP id n25mr35614936eds.16.1622628270838; Wed, 02 Jun 2021 03:04:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1622628270; cv=none; d=google.com; s=arc-20160816; b=I9uhMzbT5OMivscJnqwNtMvupLsmpvgH0s9xupixBA7QAFhPmDwkIt7+HGcFAIkes5 Gne8P35w/NhMGC2gbnTy/3UkCaZhKbtdF1gorByJ/BUDq2P5mpguqM+ZIjjs+xcVU75u VC6ZeoVZdG9S4xDPkSZ8nFRa/vAwriJ8VhJ8+aVXR6u7V9NsldNZ5U6j8cUxTFbhmkpH qFcObQlHyThT8kqVjUHN23W4s0tL9DU9qJP3YGWEYL4x2DnehU1DwK393TK+5T5YsP4B 89Tg0P9fL327E0kg1rIJI/5ISFdYAzS/O5UgA3jLG56RlApNy8rDGI2XKrTk7VX8MkHd YorA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:date:message-id:in-reply-to:subject :cc:to:from:user-agent:references:dkim-signature; bh=+4n68OhQQoaJqMJRmFarUHWhO6SLp5CZpVwSs3bY57M=; b=eKKpUoiSwZo2IQo+4rRpzVr/dYhPieY0lF2YEsB1xWCO1aFK3xe9214P+S2cAwGzIg W0IW8W7g6uXZUJoQHhC5CRkPG7zMJFaV6woO3mTN9tkYaCVPu2iiJ7/crHr64RP2KrdA Nsu2p53ukjfJfllODmK+hYqyGgWK5TmyBMisC45H0WDr5i7gqEVP66F0ACTqP6VNqcHe 6lXBVLdmFzBIpCuzPkvCwyQdBHH7AfDVcAW2RfnHXYYVJ5jbIXqo/OhVicBDPJQ/kycb lzqvMG9gfitwmi0HDU3n4V5WL8pHjcpWzOmMLiWmrbFhfrCtL3UCxwrnIjPfx3nfVl3a 2VHw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=QdtCH6Ow; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b24si2257322ejl.625.2021.06.02.03.04.07; Wed, 02 Jun 2021 03:04:30 -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=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=QdtCH6Ow; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229524AbhFBJei (ORCPT + 99 others); Wed, 2 Jun 2021 05:34:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56030 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229583AbhFBJei (ORCPT ); Wed, 2 Jun 2021 05:34:38 -0400 Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com [IPv6:2a00:1450:4864:20::32d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5B6C1C06174A for ; Wed, 2 Jun 2021 02:32:55 -0700 (PDT) Received: by mail-wm1-x32d.google.com with SMTP id h5-20020a05600c3505b029019f0654f6f1so2804114wmq.0 for ; Wed, 02 Jun 2021 02:32:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=references:user-agent:from:to:cc:subject:in-reply-to:message-id :date:mime-version; bh=+4n68OhQQoaJqMJRmFarUHWhO6SLp5CZpVwSs3bY57M=; b=QdtCH6OwgAWbnUTfXQQobKbEMVCsv/NfJBaCfk/cjIBLyX30zRtdf7I9yQR+a8zN7w So9FhMuKA51H7t0Iz3VwB3j6Y+y0rR9b07MQUlWinb/vlJWd8I5IBTtQb069NU9HuDWP fLeP7MfTvg2JL45gQzLpPV4+slEzo5rsKvvV2WtDTNP6vjH/3CInyKKzEF6Ma1rj2bM9 HUvJfc0h6LLqF35WgVDrMEElaxEE5nvXub1O7TidzmVnkRo0rYXaHG4Qmpj4k4njYByT fxtAjVXR+oCPy33idGpVPAxm0H1Tchr1vktUJ8TIScJuR/CrW7k2vq9fxUDhLbJ2xoMh mZcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:message-id:date:mime-version; bh=+4n68OhQQoaJqMJRmFarUHWhO6SLp5CZpVwSs3bY57M=; b=g5S6VqFo02JOY33e1KMl4QZ+xpVluWK/Ei65NPRMMRviH/QVUnE5hyNjoWkS5nsmM/ jDwerPmc/KnAXDbmjcSFUu0EFI+63yHTq5hfYzJlDFYqvSvHRFavPZBbiPQqD1aioLr/ eyQu49zYs0hpG7biffW+H/CTrXf5xUTJTvas4hWF2ZnGRB7kbKu/sg8O2cx5a7mWavR6 iLksoyc4vZcIdW5SW1TDAXQdo2+EUcqLbGajC6P5kHv53Do0Fr/db7Tya8nXsUX0rlgj kXzSEVzXzdZIeieY9NGAqRZH///4J18dE31Tnb2RW6y2vowfzgIZNcZRHHFpV+Rbdu8m I69g== X-Gm-Message-State: AOAM530TmR3sTSOXRUrMwoIQ4E0Nby9IDNnYJDcbZbaGJ2tqfiebEOFZ xh3IZQONIpcUlVZhJv6rY+3tRA== X-Received: by 2002:a1c:bcd6:: with SMTP id m205mr4378881wmf.12.1622626373963; Wed, 02 Jun 2021 02:32:53 -0700 (PDT) Received: from localhost (82-65-169-74.subs.proxad.net. [82.65.169.74]) by smtp.gmail.com with ESMTPSA id j14sm2093415wmi.32.2021.06.02.02.32.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Jun 2021 02:32:53 -0700 (PDT) References: <20210528113403.5374-1-peng.fan@oss.nxp.com> <162262192433.4130789.1017942859005253343@swboyd.mtv.corp.google.com> User-agent: mu4e 1.4.15; emacs 27.1 From: Jerome Brunet To: Marc Kleine-Budde , Stephen Boyd , "Peng Fan (OSS)" , mturquette@baylibre.com Cc: Peng Fan , linux-kernel@vger.kernel.org, kernel@pengutronix.de, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH 0/3] clk: support regmap In-reply-to: Message-ID: <1j1r9kobln.fsf@starbuckisacylon.baylibre.com> Date: Wed, 02 Jun 2021 11:32:52 +0200 MIME-Version: 1.0 Content-Type: text/plain Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed 02 Jun 2021 at 10:21, Marc Kleine-Budde wrote: > On 6/2/21 10:18 AM, Stephen Boyd wrote: >> Quoting Peng Fan (OSS) (2021-05-28 04:34:00) >>> From: Peng Fan >>> >>> To i.MX8ULP, a PCC register provides clk(mux, gate, divider) and peripheral >>> reset functionality, so we need make sure the access to the PCC register >>> be protected to avoid concurrent access from clk and reset subsystem. >>> >>> So let's use regmap here. >>> >>> The i.MX specific code will be posted if this patchset is ok for you. >> >> We have a couple regmap clk drivers in the tree. Either combine the >> different regmap clk drivers or duplicate it into the imx directory. I'd >> prefer we combine them but last time I couldn't agree on the approach >> when Jerome wanted to do it. Maybe now is the time to combine them all >> into one common piece of code. > > IMHO for the basic drivers, such as gate, divider, mux, mux-div, etc... it makes > no sense to have them in an arch specific subdir, like meson. Indeed, those basic types were not meant to remain platform specific. Some framework (ASoC for ex) make heavy use of regmap and could welcome regmap based basic clock types. At the time, Stephen (qcom) and I (meson) had slightly different approaches. Before having those types spread through the kernel, I think testing things out was a good thing ... this is why these are platform specific ATM. It's been 3 years now ... and it has not been a total disaster :) In the end things are not so different. Let's compare: a. Both have a generic "clk_regmap" type common to all regmap based types. This is very useful to easily fix the regmap pointer in static clocks (which are heavily used by both platform) b. Meson uses a generic pointer to store the type specific info. Qcom embeds the generic clk_regmap into the specific type one. => In the end, I don't see any advantage to the meson approach. Switching to the qcom method would be quite a big bang for meson but it is doable (nothing difficult, just a huge line count) c. Qcom basic regmap type deviates a bit from the regular basic ones when it comes to the actual data. The qcom "clk_regmap" also provides the gate, mux have the qcom "parent_map". In meson, I tried to keep as close as possible to regular basic types ... at least what they were 3 years ago. Only the register poking part should be different actually. => I'd be in favor of keeping close to meson here. A possible plan could be: 1. Rework meson as explained in [b] above. 2. reword types in qcom where necessary to avoid name clashes (add "_qcom" extension for ex) 3. Move the clk_regmap implementation out of meson to drivers/clk 4. Things are yours to play with ... I can take care of 1. and 3. I would welcome help for 2. especially since I won't be able to test it. > > regards, > Marc