Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752478AbbKCKM1 (ORCPT ); Tue, 3 Nov 2015 05:12:27 -0500 Received: from mail-wm0-f41.google.com ([74.125.82.41]:35561 "EHLO mail-wm0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751418AbbKCKMW (ORCPT ); Tue, 3 Nov 2015 05:12:22 -0500 Date: Tue, 3 Nov 2015 10:12:17 +0000 From: Lee Jones To: Arnd Bergmann Cc: Damien Riegel , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-watchdog@vger.kernel.org, shawnguo@kernel.org, kernel@pengutronix.de, wim@iguana.be, robh+dt@kernel.org, sameo@linux.intel.com, dinh.linux@gmail.com, linux@roeck-us.net, kernel@savoirfairelinux.com Subject: Re: [PATCH v2 2/5] mfd: ts4800-syscon: add driver for TS-4800 syscon Message-ID: <20151103101217.GE3503@x1> References: <1446150450-22093-1-git-send-email-damien.riegel@savoirfairelinux.com> <20151103083817.GC3503@x1> <20151103083923.GD3503@x1> <4911273.Q2mbQ2gvpn@wuerfel> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <4911273.Q2mbQ2gvpn@wuerfel> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2849 Lines: 71 On Tue, 03 Nov 2015, Arnd Bergmann wrote: > On Tuesday 03 November 2015 08:39:23 Lee Jones wrote: > > On Tue, 03 Nov 2015, Lee Jones wrote: > > > > > On Mon, 02 Nov 2015, Damien Riegel wrote: > > > > On Mon, Nov 02, 2015 at 09:12:53AM +0000, Lee Jones wrote: > > > > > [Cc'ing Arnd] > > > > > > > > > > On Fri, 30 Oct 2015, Damien Riegel wrote: > > > > > > On Fri, Oct 30, 2015 at 05:56:56PM +0000, Lee Jones wrote: > > > > > > > On Thu, 29 Oct 2015, Damien Riegel wrote: > > > > > > > > > > > > > > > Driver for TS-4800 syscon. These registers belong to a FPGA that is > > > > > > > > memory mapped and are used for counters, enable various IPs in the FPGA, > > > > > > > > control LEDs, control IOs, etc. > > > > > > > > > > > > > > > > Currently, only the watchdog is handled. > > > > > > > > > > > > > > Why do you require your own syscon driver? > > > > > > > > > > > > > > What's wrong with the generic one? > > > > > > > > > > > > > > > > > > > The generic one uses a regmap_config with reg_stride set to 4 and val_bits > > > > > > to 32. > > > > > > > > > > > > TS-4800 syscon registers are 16-bit wide and must be accessed with 16 > > > > > > bit read and writes: > > > > > > http://wiki.embeddedarm.com/wiki/TS-4800#Syscon > > > > > > > > > > > > I will address the other issues in the next version (split commit, > > > > > > license issue, style, and superfluous remove). > > > > > > > > > > The Syscon driver was written to be generic so that each > > > > > vendor/platform didn't require their own incarnation. How unique is > > > > > the TS-4800? > > > > > > > > > > Perhaps it might be better to supply a generic 16 bit Syscon for > > > > > devices akin to the TS-4800? > > > > > > > > The TS-4800 syscon could use a generic 16-bit syscon. There is nothing > > > > specific that requires a driver besides that. > > > > > > > > We could add some optional properties to the generic syscon node to > > > > configure reg_bits, val_bits, and reg_stride (and pad_bits ?). Would > > > > that be a good solution ? > > > > > > Without looking at the ramifications of such an addition, the premise > > > sounds good to me. So long as the current behaviour remains the > > > default. > > > > Perhaps a "syscon-16bit" compatible might be in order? > > > > > > I think a 'buswidth=<16>;' property in addition to 'compatible="syscon"' > is more in line with what other subsystems do. Perfect. Are you happy coding this up Damien? -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/