Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp368951ybz; Fri, 24 Apr 2020 01:44:49 -0700 (PDT) X-Google-Smtp-Source: APiQypKzrQLrZd1YI4wt027PMn6NUu8aUAqFgDrWnewBttUPu7NFwNWCfAZZH7CqlKuqlvRp4NCU X-Received: by 2002:a17:906:2d4a:: with SMTP id e10mr6376039eji.222.1587717889423; Fri, 24 Apr 2020 01:44:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587717889; cv=none; d=google.com; s=arc-20160816; b=YGtAJptiBKnSmFutH5WBGmtG785Zc4KAo1xAg+WNpmMyXY77a7VPt5zNOG/ilXPerE bufL1ukc32gG7soOYjk2npyM/GzC2xZ1hIzUhlDtdkq60TFZy2z13W326TCZtRF7gkFx hevYXdnfS3qcF986CGJDpFRVzY9/nvSbiFd8T+BSAI29YI/+rgcn99wCgRRViCCOjJ4v NChOjXgBe4oW6vz6eXjsYPUdkN4w4qYnMSCBtGj6zEQjBIaBjfKQbLT/rEtxL8ZGojdB 38vTZmlP8Jn65bWfKEhSygsf+6ZQMRh928Z1fKA6NUSN0CvWzPZNM8TQ/eJgmtlOL/py EAXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=3/5V9rfViLiIb3lSUOpxPhyBVl/15uDOkbFOxJipIyA=; b=j0qLPTWpJdUgMs5Sk1I2ZgGcaT81cWizM6M2JSEwzrhsKL1NYOnTY3opBzP9aVZhKu /XAebqJXn7iz3LH3vgqxc2tn7K0jzUfyeH2B720jUueM424rhw24JbtBVhhaYmBF6N3W OM+vjCvptNTrv3wdtvbDzsEN4n9ngJP1bBDEwIbGNQJiyhgcDH10mgG+PqZx5xmIqVxl jYoGEkDwO6YJjsLBlC6BUnx+sdsya6XHLYeQprh41h3lti1BcC6UuG3EI4RMwUN1kvDN Ngpl3d7YoHb0uPTEOt11EfB2IUTEwQznY7i0lMA1QjeWhIFmgsaKte4GIN5/8IIxQ9jy 1ISw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=tgWUgeVt; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id aq18si2767303ejc.201.2020.04.24.01.44.26; Fri, 24 Apr 2020 01:44:49 -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=@gmail.com header.s=20161025 header.b=tgWUgeVt; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726668AbgDXInE (ORCPT + 99 others); Fri, 24 Apr 2020 04:43:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44814 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726298AbgDXInE (ORCPT ); Fri, 24 Apr 2020 04:43:04 -0400 Received: from mail-lj1-x244.google.com (mail-lj1-x244.google.com [IPv6:2a00:1450:4864:20::244]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D54DDC09B045 for ; Fri, 24 Apr 2020 01:43:03 -0700 (PDT) Received: by mail-lj1-x244.google.com with SMTP id f11so4490399ljp.1 for ; Fri, 24 Apr 2020 01:43:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=3/5V9rfViLiIb3lSUOpxPhyBVl/15uDOkbFOxJipIyA=; b=tgWUgeVt7DG6b5h4PlBnjqc4eCwJPI2AosELfpmCWn59Cg3NDw74znWUe+s2G1ef8e CZ3Nq/voUq5ST78kTQD0PTfeJh88Cw/Gh2i0BWYA1TAPNsppYaQiJopPD1tuqR1X23J+ u2Rmpy11NykrZ8zz+ZB3mdIzp9dRzpua0A/x12OLCXUmLWoquyMaDOpdIn7xdiDo5nsc E3BOFNlq2QiwCPVC9ei3naFh+Dfl9i0Ul/+pL7m5FkMMUGQHEkVvg35JbisitY1f2TRh 2syeY0wtkOKQAyjD7P5aJADQcqZ2MypVDmE9/2ndn/sBrx+Co8xJN7ltzWHquO9EQirI 6nxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=3/5V9rfViLiIb3lSUOpxPhyBVl/15uDOkbFOxJipIyA=; b=XPBh9ks1DOiOInge1hpMM5R1PTR18sHU1AoRjb6yDhRH44bn1CGudeuyiMPCGkGq4j rV/kFEhRbhGnw7mP3lc5prEdvzAS3r/P/VoRzq8vybW22LjpCYCbE2Pe1NXCyJS0CJmh mDxlF0+BH2jpoOPFx7r6Qy4FNfv69YmDPvEXwFgUKL03FLoqRw+O3NCmB0ZYhxqJfJXV 4SRAsOmuHYOO5IUwj6Vr4JYAAn2LSIIlAuBQgWhgHpAo9cpj/juDqAAl5V0zdtsZ9xYU E3mqb7ByTUvRHVWbipr/1dcTgwJeiQzYHjTBZA3uye5+7pH/nd3KkmUck9WQbHIFCObU 5lgQ== X-Gm-Message-State: AGi0PuaIRRO8pxuyjrBttXdizVEIAdunXqHXxXpECjXrsLAZ4gzFhqaU 4U0vV0eRSrjqHUDoTE5A4SDhfqL8TEX+2ng2hxY= X-Received: by 2002:a2e:6c08:: with SMTP id h8mr4950543ljc.48.1587717782344; Fri, 24 Apr 2020 01:43:02 -0700 (PDT) MIME-Version: 1.0 References: <96d444cd73239e0166316bd8f44082031cf72491.1587088646.git.baolin.wang7@gmail.com> <20200424081138.GP3612@dell> <20200424083255.GQ3612@dell> In-Reply-To: <20200424083255.GQ3612@dell> From: Baolin Wang Date: Fri, 24 Apr 2020 16:42:50 +0800 Message-ID: Subject: Re: [PATCH 1/2] mfd: syscon: Support physical regmap bus To: Lee Jones Cc: Arnd Bergmann , Mark Brown , Orson Zhai , Lyra Zhang , "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Apr 24, 2020 at 4:32 PM Lee Jones wrote: > > On Fri, 24 Apr 2020, Arnd Bergmann wrote: > > > On Fri, Apr 24, 2020 at 10:11 AM Lee Jones wrote: > > > On Fri, 17 Apr 2020, Baolin Wang wrote: > > > > @@ -106,14 +107,25 @@ static struct syscon *of_syscon_register(struct device_node *np, bool check_clk) > > > > syscon_config.val_bits = reg_io_width * 8; > > > > syscon_config.max_register = resource_size(&res) - reg_io_width; > > > > > > > > - regmap = regmap_init_mmio(NULL, base, &syscon_config); > > > > + /* > > > > + * The Spreadtrum syscon need register a real physical regmap bus > > > > + * with new atomic bits updating operation instead of using > > > > + * read-modify-write. > > > > + */ > > > > + if (IS_ENABLED(CONFIG_ARCH_SPRD) && > > > > + of_device_is_compatible(np, "sprd,atomic-syscon") && > > > > > > Please find a more generic way of supporting your use-case. This is a > > > generic driver, and as such I am vehemently against adding any sort of > > > vendor specific code in here. > > > > I suggested doing it this way, as all alternatives seemed worse than this. > > If we're using a registration function (could probably be swapped out > for or accompanied by a Device Tree property) anyway, then why conduct > the vendor platform checks? Actually I've send out the v3 patch according to Arnd's suggestion. In v3 patch, I removed the registration function, but we agreed that adding the vendor specific support in the syscon driver seems a better way than others. -- Baolin Wang