From: Grant Likely <grant.likely@secretlab.ca>
To: Wim Van Sebroeck <wim@iguana.be>
Cc: "Albrecht Dreß" <albrecht.dress@arcor.de>,
devicetree-discuss@lists.ozlabs.org,
"Linux PPC Development" <linuxppc-dev@ozlabs.org>
Subject: Re: [PATCH 3/3] mpc52xx/wdt: WDT uses GPT api
Date: Thu, 12 Nov 2009 23:21:15 -0700 [thread overview]
Message-ID: <fa686aa40911122221s24efdcc9k1daf63b600e7b429@mail.gmail.com> (raw)
In-Reply-To: <20091112213630.GE19336@infomag.iguana.be>
On Thu, Nov 12, 2009 at 2:36 PM, Wim Van Sebroeck <wim@iguana.be> wrote:
> Hi All,
>
>>> Can the WDT functionality just be merged entirely into
>>> arch/powerpc/platforms/52xx/mpc52xx_gpt.c, eliminating the need for
>>> this file entirely? =A0I think I'd rather have all the GPT "built in"
>>> behaviour handled by a single driver.
>>
>> I also thought about it, as it has IMHO the cleaner code, and it would h=
ave the extra benefit that the gpt-wdt api doesn't need to be public.
>>
>> However, the reasons I hesitated to do so are:
>> - I don't want to remove a file someone else wrote (even it doesn't work=
);
>> - WDT code is shifted from drivers/watchdog to arch/powerpc/platforms/52=
xx which might not be the "logical" place from the directory layout's pov;
>> - a file living in arch/powerpc/platforms/52xx depends upon config optio=
ns set from drivers/watchdog/Kconfig which may be confusing.
>>
>> You see these are more political/cosmetical questions, so I would prefer=
to leave the decision to the maintainers (i.e. you and Wim). =A0Preparing =
a fully merged driver is actually a matter of minutes!
>
> My opinion: it is harder to maintain the watchdog code if it is being mov=
ed away from drivers/watchdog.
> I need to check the code before I comment any further on this, but my fir=
st thought is: why don't you do it with platform resources like other devic=
es are doing? This way you can keep the platform code under arch and the wa=
tchdog itself under drivers/watchdog/. You can look at the following driver=
s as an example: adx_wdt.c ar7_wdt.c at32ap700x_wdt.c coh901327_wdt.c davin=
ci_wdt.c mpcore_wdt.c mv64x60_wdt.c nuc900_wdt.c omap_wdt.c pnx4008_wdt.c r=
c32434_wdt.c s3c2410_wdt.c txx9wdt.c .
In actual fact, it is a single device with multiple functions, some of
which can be used at the same time. The driver for the device
determines what the device instance supports and registers the
appropriate interfaces. There is a GPIO controller, a PWM controller,
a general purpose timer, and the watchdog. Because of the
multifunction nature of the device, there are subtle interactions
between the functions that the driver needs to maintain. I don't want
to export functions from the driver which will only be used by a
watchdog instance. I also don't want the added code and complexity of
a secondary probe path. It is simpler and less code to roll all the
behaviour up into the one driver single driver that gets probed once.
>From the maintenance perspective, having the main driver in
arch/powerpc and the watchdog bit in drivers/watchdog doesn't really
help much anyway because anything that changes the internal driver API
(between the core and watchdog bits) will require cross-maintainer
changes. ie. do changes go through my tree because they touch
arch/powerpc, or do they go through yours because they touch
drivers/watchdog? I'd much rather all the internal details be
contained within a single driver.
Besides, there is already precedence for very arch-specific drivers
living under arch/*/. find ./arch -name *gpio*
Cheers,
g.
--=20
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
next prev parent reply other threads:[~2009-11-13 6:21 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-10 19:43 [PATCH 3/3] mpc52xx/wdt: WDT uses GPT api Albrecht Dreß
2009-11-10 19:59 ` Grant Likely
2009-11-10 20:26 ` Albrecht Dreß
2009-11-10 21:07 ` Grant Likely
2009-11-11 8:32 ` Aw: " Albrecht Dreß
2009-11-11 20:18 ` Grant Likely
2009-11-12 21:36 ` Wim Van Sebroeck
2009-11-13 6:21 ` Grant Likely [this message]
2009-12-08 20:48 ` Wim Van Sebroeck
2009-12-08 21:21 ` Grant Likely
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=fa686aa40911122221s24efdcc9k1daf63b600e7b429@mail.gmail.com \
--to=grant.likely@secretlab.ca \
--cc=albrecht.dress@arcor.de \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=linuxppc-dev@ozlabs.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).