All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lee Jones <lee.jones@linaro.org>
To: Arnd Bergmann <arnd@arndb.de>
Cc: linux-arm-kernel@lists.infradead.org, a.zummo@towertech.it,
	kernel@stlinux.com, rtc-linux@googlegroups.com,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	wim@iguana.be, linux@roeck-us.net,
	linux-watchdog@vger.kernel.org
Subject: Re: [PATCH 5/8] watchdog: bindings: Provide ST bindings for ST's LPC Watchdog device
Date: Thu, 18 Dec 2014 09:04:04 +0000	[thread overview]
Message-ID: <20141218090404.GU13885@x1> (raw)
In-Reply-To: <2894129.AmAkgPJPNf@wuerfel>

We 
On Thu, 18 Dec 2014, Arnd Bergmann wrote:

> On Thursday 18 December 2014 08:13:34 Lee Jones wrote:
> > On Wed, 17 Dec 2014, Arnd Bergmann wrote:
> > 
> > > On Wednesday 17 December 2014 16:45:24 Lee Jones wrote:
> > > > +- compatible   : Must be one of: "st,stih407-lpc" "st,stih416-lpc"
> > > > +                                 "st,stih415-lpc" "st,stid127-lpc"
> > > > +- reg          : LPC registers base address + size
> > > > +- interrupts    : LPC interrupt line number and associated flags
> > > > +- clocks       : Clock used by LPC device (See: ../clock/clock-bindings.txt)
> > > > +- st,lpc-mode  : The LPC can run either one of two modes ST_LPC_MODE_RTC [0] or
> > > > +                 ST_LPC_MODE_WDT [1].  One (and only one) mode must be
> > > > +                 selected.
> > > > 
> > > 
> > > I'm glad you got it to work with two drivers for the same device.
> > > 
> > > With this binding, I'm still a bit unhappy about the st,lpc-mode property,
> > > in particular since you rely on a shared include file for something that
> > > can only be set in one way or another and always has to be present.
> > > 
> > > Why not just use a boolean property that enforces one mode when present
> > > and another mode when absent?
> > 
> > There is nothing stopping me from doing that, and it was a
> > consideration.  I concluded that this method would be more explicit
> > however.  Both when describing our choices in DT and at a functional
> > level within each of the drivers.
> > 
> > Let me know if you fundamentally disagree and I can fix-up.
> 
> I generally don't like  header files that define interfaces between C code
> and DT nodes. There are cases where it's the least ugly solution, but I don't
> think this is one of them.
> 
> If you want to be more explicit about the modes, how about having one
> boolean property per mode? That would also allow devices that could be
> driven in either mode, e.g. if you have only one instance of this device.

Isn't this was you suggested above?

Making a decision on the absence is a property is what I'm calling
not-explicit.  If it's accidentally left off the driver(s) won't issue a
warning, it'll just assume that the lack of this boolean property was
intentional and go follow the Watchdog path for instance.

But as I briefly mentioned to you elsewhere, there are actually 3
devices (Watchdog, RTC and Global Timer).  How would you like to
handle that with a Boolean property when we introduce this new driver?

-- 
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-watchdog" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: lee.jones@linaro.org (Lee Jones)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 5/8] watchdog: bindings: Provide ST bindings for ST's LPC Watchdog device
Date: Thu, 18 Dec 2014 09:04:04 +0000	[thread overview]
Message-ID: <20141218090404.GU13885@x1> (raw)
In-Reply-To: <2894129.AmAkgPJPNf@wuerfel>

We 
On Thu, 18 Dec 2014, Arnd Bergmann wrote:

> On Thursday 18 December 2014 08:13:34 Lee Jones wrote:
> > On Wed, 17 Dec 2014, Arnd Bergmann wrote:
> > 
> > > On Wednesday 17 December 2014 16:45:24 Lee Jones wrote:
> > > > +- compatible   : Must be one of: "st,stih407-lpc" "st,stih416-lpc"
> > > > +                                 "st,stih415-lpc" "st,stid127-lpc"
> > > > +- reg          : LPC registers base address + size
> > > > +- interrupts    : LPC interrupt line number and associated flags
> > > > +- clocks       : Clock used by LPC device (See: ../clock/clock-bindings.txt)
> > > > +- st,lpc-mode  : The LPC can run either one of two modes ST_LPC_MODE_RTC [0] or
> > > > +                 ST_LPC_MODE_WDT [1].  One (and only one) mode must be
> > > > +                 selected.
> > > > 
> > > 
> > > I'm glad you got it to work with two drivers for the same device.
> > > 
> > > With this binding, I'm still a bit unhappy about the st,lpc-mode property,
> > > in particular since you rely on a shared include file for something that
> > > can only be set in one way or another and always has to be present.
> > > 
> > > Why not just use a boolean property that enforces one mode when present
> > > and another mode when absent?
> > 
> > There is nothing stopping me from doing that, and it was a
> > consideration.  I concluded that this method would be more explicit
> > however.  Both when describing our choices in DT and at a functional
> > level within each of the drivers.
> > 
> > Let me know if you fundamentally disagree and I can fix-up.
> 
> I generally don't like  header files that define interfaces between C code
> and DT nodes. There are cases where it's the least ugly solution, but I don't
> think this is one of them.
> 
> If you want to be more explicit about the modes, how about having one
> boolean property per mode? That would also allow devices that could be
> driven in either mode, e.g. if you have only one instance of this device.

Isn't this was you suggested above?

Making a decision on the absence is a property is what I'm calling
not-explicit.  If it's accidentally left off the driver(s) won't issue a
warning, it'll just assume that the lack of this boolean property was
intentional and go follow the Watchdog path for instance.

But as I briefly mentioned to you elsewhere, there are actually 3
devices (Watchdog, RTC and Global Timer).  How would you like to
handle that with a Boolean property when we introduce this new driver?

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

WARNING: multiple messages have this Message-ID (diff)
From: Lee Jones <lee.jones@linaro.org>
To: Arnd Bergmann <arnd@arndb.de>
Cc: linux-arm-kernel@lists.infradead.org, a.zummo@towertech.it,
	kernel@stlinux.com, rtc-linux@googlegroups.com,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	wim@iguana.be, linux@roeck-us.net,
	linux-watchdog@vger.kernel.org
Subject: Re: [PATCH 5/8] watchdog: bindings: Provide ST bindings for ST's LPC Watchdog device
Date: Thu, 18 Dec 2014 09:04:04 +0000	[thread overview]
Message-ID: <20141218090404.GU13885@x1> (raw)
In-Reply-To: <2894129.AmAkgPJPNf@wuerfel>

We 
On Thu, 18 Dec 2014, Arnd Bergmann wrote:

> On Thursday 18 December 2014 08:13:34 Lee Jones wrote:
> > On Wed, 17 Dec 2014, Arnd Bergmann wrote:
> > 
> > > On Wednesday 17 December 2014 16:45:24 Lee Jones wrote:
> > > > +- compatible   : Must be one of: "st,stih407-lpc" "st,stih416-lpc"
> > > > +                                 "st,stih415-lpc" "st,stid127-lpc"
> > > > +- reg          : LPC registers base address + size
> > > > +- interrupts    : LPC interrupt line number and associated flags
> > > > +- clocks       : Clock used by LPC device (See: ../clock/clock-bindings.txt)
> > > > +- st,lpc-mode  : The LPC can run either one of two modes ST_LPC_MODE_RTC [0] or
> > > > +                 ST_LPC_MODE_WDT [1].  One (and only one) mode must be
> > > > +                 selected.
> > > > 
> > > 
> > > I'm glad you got it to work with two drivers for the same device.
> > > 
> > > With this binding, I'm still a bit unhappy about the st,lpc-mode property,
> > > in particular since you rely on a shared include file for something that
> > > can only be set in one way or another and always has to be present.
> > > 
> > > Why not just use a boolean property that enforces one mode when present
> > > and another mode when absent?
> > 
> > There is nothing stopping me from doing that, and it was a
> > consideration.  I concluded that this method would be more explicit
> > however.  Both when describing our choices in DT and at a functional
> > level within each of the drivers.
> > 
> > Let me know if you fundamentally disagree and I can fix-up.
> 
> I generally don't like  header files that define interfaces between C code
> and DT nodes. There are cases where it's the least ugly solution, but I don't
> think this is one of them.
> 
> If you want to be more explicit about the modes, how about having one
> boolean property per mode? That would also allow devices that could be
> driven in either mode, e.g. if you have only one instance of this device.

Isn't this was you suggested above?

Making a decision on the absence is a property is what I'm calling
not-explicit.  If it's accidentally left off the driver(s) won't issue a
warning, it'll just assume that the lack of this boolean property was
intentional and go follow the Watchdog path for instance.

But as I briefly mentioned to you elsewhere, there are actually 3
devices (Watchdog, RTC and Global Timer).  How would you like to
handle that with a Boolean property when we introduce this new driver?

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

  reply	other threads:[~2014-12-18  9:04 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-17 16:45 [PATCH v2 0/8] watchdog: rtc: New driver(s) for ST's LPC IP Lee Jones
2014-12-17 16:45 ` Lee Jones
2014-12-17 16:45 ` Lee Jones
2014-12-17 16:45 ` [PATCH 1/8] mfd: dt-bindings: Provide human readable defines for LPC mode choosing Lee Jones
2014-12-17 16:45   ` Lee Jones
2014-12-17 16:45 ` [PATCH 2/8] ARM: multi_v7_defconfig: Enable support for ST's LPC Watchdog Lee Jones
2014-12-17 16:45   ` Lee Jones
2014-12-17 16:45   ` Lee Jones
2014-12-17 16:45 ` [PATCH 3/8] ARM: multi_v7_defconfig: Enable support for ST's LPC RTC Lee Jones
2014-12-17 16:45   ` Lee Jones
2014-12-17 16:45 ` [PATCH 4/8] ARM: STi: DT: STiH407: Add Device Tree node for the LPC Lee Jones
2014-12-17 16:45   ` Lee Jones
2014-12-17 16:45 ` [PATCH 5/8] watchdog: bindings: Provide ST bindings for ST's LPC Watchdog device Lee Jones
2014-12-17 16:45   ` Lee Jones
2014-12-17 21:54   ` Arnd Bergmann
2014-12-17 21:54     ` Arnd Bergmann
2014-12-17 21:54     ` Arnd Bergmann
2014-12-18  8:13     ` Lee Jones
2014-12-18  8:13       ` Lee Jones
2014-12-18  8:13       ` Lee Jones
2014-12-18  8:46       ` Arnd Bergmann
2014-12-18  8:46         ` Arnd Bergmann
2014-12-18  8:46         ` Arnd Bergmann
2014-12-18  9:04         ` Lee Jones [this message]
2014-12-18  9:04           ` Lee Jones
2014-12-18  9:04           ` Lee Jones
2014-12-18  9:15           ` Arnd Bergmann
2014-12-18  9:15             ` Arnd Bergmann
2014-12-18  9:28             ` Lee Jones
2014-12-18  9:28               ` Lee Jones
2014-12-18  9:28               ` Lee Jones
2014-12-17 16:45 ` [PATCH 6/8] watchdog: st_wdt: Add new driver for ST's LPC Watchdog Lee Jones
2014-12-17 16:45   ` Lee Jones
2014-12-17 16:45   ` Lee Jones
2014-12-17 18:02   ` Guenter Roeck
2014-12-17 18:02     ` Guenter Roeck
2014-12-18  8:26     ` Lee Jones
2014-12-18  8:26       ` Lee Jones
2014-12-18  8:26       ` Lee Jones
2014-12-18 16:00       ` Guenter Roeck
2014-12-18 16:00         ` Guenter Roeck
2014-12-18 17:20         ` Lee Jones
2014-12-18 17:20           ` Lee Jones
2014-12-18 17:20           ` Lee Jones
2014-12-18 17:20           ` Lee Jones
2014-12-18  8:43   ` [STLinux Kernel] " Peter Griffin
2014-12-18  8:43     ` Peter Griffin
2014-12-18  8:43     ` Peter Griffin
2014-12-18  9:08     ` Lee Jones
2014-12-18  9:08       ` Lee Jones
2014-12-18  9:08       ` Lee Jones
2014-12-18  9:08       ` Lee Jones
2014-12-17 16:45 ` [PATCH 7/8] rtc: bindings: Provide ST bindings for ST's LPC RTC device Lee Jones
2014-12-17 16:45   ` Lee Jones
2014-12-17 16:45 ` [PATCH 8/8] rtc: st: add new driver for ST's LPC RTC Lee Jones
2014-12-17 16:45   ` Lee Jones
2014-12-17 16:45   ` Lee Jones

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141218090404.GU13885@x1 \
    --to=lee.jones@linaro.org \
    --cc=a.zummo@towertech.it \
    --cc=arnd@arndb.de \
    --cc=devicetree@vger.kernel.org \
    --cc=kernel@stlinux.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=rtc-linux@googlegroups.com \
    --cc=wim@iguana.be \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.