From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753756AbdCHPoj (ORCPT ); Wed, 8 Mar 2017 10:44:39 -0500 Received: from foss.arm.com ([217.140.101.70]:60816 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752177AbdCHPoh (ORCPT ); Wed, 8 Mar 2017 10:44:37 -0500 Subject: Re: [PATCH 1/2] reset: add reset-simple to unify socfpga, stm32, and sunxi To: Philipp Zabel , Alexandre Torgue References: <20170308095423.3948-1-p.zabel@pengutronix.de> <1ed8aac5-5945-c265-2d66-17a260938372@arm.com> <1488975630.2467.20.camel@pengutronix.de> Cc: linux-kernel@vger.kernel.org, Maxime Coquelin , Maxime Ripard , Chen-Yu Tsai From: Andre Przywara Message-ID: Date: Wed, 8 Mar 2017 14:03:32 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 In-Reply-To: <1488975630.2467.20.camel@pengutronix.de> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 08/03/17 12:20, Philipp Zabel wrote: > On Wed, 2017-03-08 at 12:05 +0100, Alexandre Torgue wrote: >> Hi Philipp, >> >> On 03/08/2017 11:19 AM, Andre Przywara wrote: >>> Hi, >>> >>> On 08/03/17 09:54, Philipp Zabel wrote: >>>> Reset operations for simple reset controllers with reset lines that can >>>> be controlled by toggling bits in (mostly) contiguous register ranges >>>> using read-modify-write cycles under a spinlock. So far this covers the >>>> socfpga, stm32, and sunxi drivers. >>> >>> Wow, that looks nice, thanks for that. >>> >>> But can't we go one step further and unify those driver into one file then? >>> And either have different probe functions to cover the different DT >>> requirements or to just have one unified probe checking for the super >>> set of all properties? >> >> I agree with Andre. It looks nice and it should be a good thing to have >> a common probe inside reset-simple.c >> Maybe only "nresets" and "inverted" DT properties are needed. > > Adding DT properties is not an option, as the driver would have to work > with the existing bindings. We could merge them into one file, with a > single probe function that configures different parameters depending on > the of_device_id returned by of_match_device. Yes, either that or we could just parse all possible properties, as allowing additional properties on top of the documented binding doc shouldn't hurt, I think. That's what I mean with super-set. I have to check if this is acceptable, though. And I think it would be worthwhile to create a generic binding (or at least a generic compatible string) on the way, specifying all the existing properties there, so new drivers could just use that without having to add their own compatible string to the *driver* (but just to the binding doc). This would have the advantage of new SoCs possibly being supported without actual kernel changes. Cheers, Andre.