Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp370035ybz; Fri, 24 Apr 2020 01:46:10 -0700 (PDT) X-Google-Smtp-Source: APiQypI63G9zw9EPJK9pla/r+2R8uiKqnPx0PbUC4gtvb0f/3T/mmKYcebA1rMxbyVopJyIjjhaW X-Received: by 2002:a05:6402:1651:: with SMTP id s17mr6336420edx.173.1587717970238; Fri, 24 Apr 2020 01:46:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587717970; cv=none; d=google.com; s=arc-20160816; b=xzdiErR2mvWnluFu63r2LJwhHExuJhq9BP1DjCaE1+U3vTSCurvsUfTEIB6XHogTrf IYxEOh96LO3/KH+KQJKVxXPp4wbzFuRg+cfE8w84DvY2sdCScfqlirH0CtWb8hWfFvBP qTUBDtNzKYzRhDgsrroelsK5YRYi/kMRqfuYiasWri9H5GYt9zF8WgTvFsjcZiG3Gq4J 7xJ+vbIlUt7goFmMItpfsQbr4gR8WD7oE22Cz7JIrudOZ+X4kGhc/OtLwnIaOFvhdS3/ 0UeXebS9QU2k1bozV2rJD+bkbD4DWarRsA86YqTeZER34/b/ftfggCKyf00kbfMqIIKC jx8Q== 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=KahPbvSltMlEDsEeg/YpqC1aWuwrm7i/vom/fz3t8MI=; b=cDoEMHSMpbMDmXMFgX57GfPyPRwODEUicVNOnJtKeA42APbhjlELDmtBHk6xTkkOC0 l3zpW6d7171io/Jp2EE2jSjcRU+s7TbN4NFIVsex9Wwk0MvsXnJdeFj9+nclZprXzQPu fEmzfuoGNRi5X3Pikz6qz1nHsKzfCDOdFXpdC6tFX3+Oe1tF722u2kfUryDxC5IB4OrM b2eS4ZLpWN7XOgbGolVOMd+9/ZFg1x6bMg6g1hBAnPxWiNM1AAFs92Y1XRzgT6BLb3DL Ut8hmubwGvZIsd2oiDmrLtF3FS41gzAOcRJy5q2DbJjJFasTzpBLCMJAB8qiXLBaVmcr Thng== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=C703FsBf; 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 rv13si2825809ejb.115.2020.04.24.01.45.46; Fri, 24 Apr 2020 01:46:10 -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=C703FsBf; 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 S1726774AbgDXIni (ORCPT + 99 others); Fri, 24 Apr 2020 04:43:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44904 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726298AbgDXIni (ORCPT ); Fri, 24 Apr 2020 04:43:38 -0400 Received: from mail-lf1-x143.google.com (mail-lf1-x143.google.com [IPv6:2a00:1450:4864:20::143]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ACADCC09B045 for ; Fri, 24 Apr 2020 01:43:37 -0700 (PDT) Received: by mail-lf1-x143.google.com with SMTP id w145so7033437lff.3 for ; Fri, 24 Apr 2020 01:43:37 -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=KahPbvSltMlEDsEeg/YpqC1aWuwrm7i/vom/fz3t8MI=; b=C703FsBfCivIr01X565R4eJgDHh8uASs3zFuWvMLo/hE3YFmCWq+LAQ0DAzJ90H2qi hfnk5TMBcpnzYH5PJM+tdQ7Cre0RrzZpIsy/mrvpDCpQModeebB6J57Ah5SZJ5EJwn+/ cSU/BT7koyaVe37mc5yxU0gYsKjoUAguafi01CF8BYn08Q61u/VZo0da49x10gtimv/L 1bEkra85Rjt2fXE0LhqxFNq8bZHMcbIBqt64wi7hNbYzCIyRyzsTVXE0drtl9jtGbVTj Ujo28NPeTShbEJAAtoYNVHMjV4t8HPgRI4Q4//1qJh48V3RgnmXJgzvqbhEM6WBL2v11 qV3A== 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=KahPbvSltMlEDsEeg/YpqC1aWuwrm7i/vom/fz3t8MI=; b=hAW9Exr8LTj3e+lZ3lAXYUChX42PnMYYSu3cDs4ZeLcfSPz/UYEFAKvJwzaXjsZc6A MnQj88TSpcH10xMrMRbuuFdHNzgRYSSSjAirpW7oxDNc8N4V4pltyXX5NZY5B9X9essh N0TH4XGIXk5dMA7R86hlhUQ3o4q8dlISHDgfzmL/ca/lCRbjhI0kUGKlO5xukLg01seR igWpaz7zeav3Bvo8kC6Ea2PUT/pUpT3bf1Cz4LRt0MRP7vzgFM2VSi/u/V2yLpWaJWiT 2n3tTFjaL8mqwAPGKNv4CfzbjcRYAUqjW3LkIinSHs0oAQ4cFBRVi5qp/ZzoazvHg/of 83CA== X-Gm-Message-State: AGi0PubidXBBKRMVJsv6R5W/kVpz75g7vSHtf2so0TfSrs670lI3YgYf aND8Zs5BAfQWsLEqhD0mUHHg+REhsJtS8gLz1uM= X-Received: by 2002:ac2:57cb:: with SMTP id k11mr5537416lfo.19.1587717816207; Fri, 24 Apr 2020 01:43:36 -0700 (PDT) MIME-Version: 1.0 References: <96d444cd73239e0166316bd8f44082031cf72491.1587088646.git.baolin.wang7@gmail.com> <20200424081138.GP3612@dell> <20200424083255.GQ3612@dell> In-Reply-To: From: Baolin Wang Date: Fri, 24 Apr 2020 16:43:24 +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:42 PM Baolin Wang wrote: > > 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. Sorry, I forgot the link: https://lore.kernel.org/patchwork/patch/1228160/ -- Baolin Wang