From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S938129AbdDSQcp (ORCPT ); Wed, 19 Apr 2017 12:32:45 -0400 Received: from metis.ext.4.pengutronix.de ([92.198.50.35]:44813 "EHLO metis.ext.4.pengutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S938111AbdDSQcm (ORCPT ); Wed, 19 Apr 2017 12:32:42 -0400 Message-ID: <1492619554.2970.176.camel@pengutronix.de> Subject: Re: [RFC 2/2] mux: mmio-based syscon mux controller From: Philipp Zabel To: Steve Longerbeam Cc: Peter Rosin , Rob Herring , Mark Rutland , Sakari Ailus , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de Date: Wed, 19 Apr 2017 18:32:34 +0200 In-Reply-To: References: <20170413154812.19597-1-p.zabel@pengutronix.de> <20170413154812.19597-2-p.zabel@pengutronix.de> <58fd5844-f24a-37cc-be81-26a716251860@gmail.com> <1492602613.2970.92.camel@pengutronix.de> <1492615640.2970.145.camel@pengutronix.de> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.12.9-1+b1 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-SA-Exim-Connect-IP: 2001:67c:670:100:3ad5:47ff:feaf:1a17 X-SA-Exim-Mail-From: p.zabel@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2017-04-19 at 09:23 -0700, Steve Longerbeam wrote: > > On 04/19/2017 08:27 AM, Philipp Zabel wrote: > > On Wed, 2017-04-19 at 13:58 +0200, Peter Rosin wrote: > >> On 2017-04-19 13:50, Philipp Zabel wrote: > >>> On Thu, 2017-04-13 at 18:09 -0700, Steve Longerbeam wrote: > >>>> > >>>> On 04/13/2017 08:48 AM, Philipp Zabel wrote: > >>>>> This adds a driver for mmio-based syscon multiplexers controlled by a > >>>>> single bitfield in a syscon register range. > >>>>> > >>>>> Signed-off-by: Philipp Zabel > >>>>> --- > >>>>> drivers/mux/Kconfig | 13 +++++ > >>>>> drivers/mux/Makefile | 1 + > >>>>> drivers/mux/mux-syscon.c | 130 +++++++++++++++++++++++++++++++++++++++++++++++ > >>>>> 3 files changed, 144 insertions(+) > >>>>> create mode 100644 drivers/mux/mux-syscon.c > >>>>> > >>>>> diff --git a/drivers/mux/Kconfig b/drivers/mux/Kconfig > >>>>> index 86668b4d2fc52..a5e6a3b01ac24 100644 > >>>>> --- a/drivers/mux/Kconfig > >>>>> +++ b/drivers/mux/Kconfig > >>>>> @@ -43,4 +43,17 @@ config MUX_GPIO > >>>>> To compile the driver as a module, choose M here: the module will > >>>>> be called mux-gpio. > >>>>> > >>>>> +config MUX_SYSCON > >>>> > >>>> my preference would be CONFIG_MUX_MMIO. > >>>> > >>>>> + tristate "MMIO bitfield-controlled Multiplexer" > >>>> > >>>> "MMIO register bitfield-controlled Multiplexer" > >>>> > >>>> The rest looks good to me. > >>> > >>> I'll change those. mux-syscon.c should probably be renamed to > >>> mux-mmio.c, too. > >> > >> I think I disagree. But I'm not familiar with syscon so I don't know. > >> IIUC, syscon uses regmap to do mmio and this driver requires syscon > >> to get at the regmap, and in the end this driver doesn't know anything > >> about mmio. All it knows is syscon/regmap. > > > > That is a good point. Right now there is nothing MMIO about the driver > > except for the hardware that I want it to handle. > > > >> If some warped syscon > >> thing shows up that wraps something other than mmio in its regmap, > >> this driver wouldn't care about it. And syscon is something that > >> is also known in the DT world. Given that, I think everything in this > >> driver should be named syscon and not mmio. > >> > > My argument against using the name "syscon" in the device tree is that > it is referring to a subsystem in the Linux kernel. Besides the fact > that "syscon" does not clearly describe, at least to me, what sort of > device this mux is. If I'm not mistaken, this point was not about the DT compatible property, just about the driver name. I'm also in favor of keeping the "syscon" name out of the device tree as far as it is still possible, for the same reasons. The i.MX6 muxes are MMIO register bitfield muxes, but not "syscon muxes". regards Philipp