All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Brown <broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
To: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: Ulf Hansson <ulf.hansson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
	Magnus Damm <magnus.damm-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Rickard ANDERSSON
	<rickard.andersson-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH 03/10] tty: pxa: configure pin
Date: Tue, 23 Oct 2012 12:58:07 +0100	[thread overview]
Message-ID: <20121023115806.GX4477@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <CACRpkdb+DkZbTDZamGMN+9t07kPktuA_3QtHQJFv+Vu859r7KA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>


[-- Attachment #1.1: Type: text/plain, Size: 1989 bytes --]

On Tue, Oct 23, 2012 at 11:59:30AM +0200, Linus Walleij wrote:
> On Tue, Oct 23, 2012 at 11:37 AM, Mark Brown
> > On Tue, Oct 23, 2012 at 11:26:40AM +0200, Linus Walleij wrote:

> > Can we handle this with power domains - if different devices require
> > different orderings they can be placed in power domains which implement
> > the appropriate orderings for them?

> clocks, regulators, pins and all in power domains?

> Then we should rename them "device resource domains" or
> something...

We can call them Ichabod for all I care...

> I have a strong sense of system-wide all-or-nothing approaches
> to this problem.

> - Either we use "power" domains to handle every resource the
>  device has.
> - Or the device driver manages it's own resources.

> I find it pretty hard to build consensus around either idea.

Well, I don't think we want all or nothing approaches here.  One problem
is that we don't have a home for the SoC integration so we're trying to
shove it all into the drivers which just leads to a stack of pointless
boilerplate when the driver isn't actually doing anything beyond the
basic pattern of turning everything off when it goes idle and turning it
on again when it needs to do something.  Having to open code that stuff
in the drivers and then deal with the stubbing and error handling so the
error handling in the drivers is painful.  There's also another axis
where things aren't part of a SoC but are separate devices so you want
to carry things along with the driver rather than have a separate bit of
code which is required to glue things into the platform.

For example it seems fairly clear to me that things like the pinctrl
integration I see in something like sound/soc/fsl/imx-audmux.c shouldn't
really be there as we're just setting up a static configration on boot.
On the other hand where things are directly involved with the active
operation of a device like changing clock rates then clearly the driver
needs to know about and manage things.

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

[-- Attachment #2: Type: text/plain, Size: 192 bytes --]

_______________________________________________
devicetree-discuss mailing list
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
https://lists.ozlabs.org/listinfo/devicetree-discuss

WARNING: multiple messages have this Message-ID (diff)
From: broonie@opensource.wolfsonmicro.com (Mark Brown)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 03/10] tty: pxa: configure pin
Date: Tue, 23 Oct 2012 12:58:07 +0100	[thread overview]
Message-ID: <20121023115806.GX4477@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <CACRpkdb+DkZbTDZamGMN+9t07kPktuA_3QtHQJFv+Vu859r7KA@mail.gmail.com>

On Tue, Oct 23, 2012 at 11:59:30AM +0200, Linus Walleij wrote:
> On Tue, Oct 23, 2012 at 11:37 AM, Mark Brown
> > On Tue, Oct 23, 2012 at 11:26:40AM +0200, Linus Walleij wrote:

> > Can we handle this with power domains - if different devices require
> > different orderings they can be placed in power domains which implement
> > the appropriate orderings for them?

> clocks, regulators, pins and all in power domains?

> Then we should rename them "device resource domains" or
> something...

We can call them Ichabod for all I care...

> I have a strong sense of system-wide all-or-nothing approaches
> to this problem.

> - Either we use "power" domains to handle every resource the
>  device has.
> - Or the device driver manages it's own resources.

> I find it pretty hard to build consensus around either idea.

Well, I don't think we want all or nothing approaches here.  One problem
is that we don't have a home for the SoC integration so we're trying to
shove it all into the drivers which just leads to a stack of pointless
boilerplate when the driver isn't actually doing anything beyond the
basic pattern of turning everything off when it goes idle and turning it
on again when it needs to do something.  Having to open code that stuff
in the drivers and then deal with the stubbing and error handling so the
error handling in the drivers is painful.  There's also another axis
where things aren't part of a SoC but are separate devices so you want
to carry things along with the driver rather than have a separate bit of
code which is required to glue things into the platform.

For example it seems fairly clear to me that things like the pinctrl
integration I see in something like sound/soc/fsl/imx-audmux.c shouldn't
really be there as we're just setting up a static configration on boot.
On the other hand where things are directly involved with the active
operation of a device like changing clock rates then clearly the driver
needs to know about and manage things.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20121023/48f227e3/attachment.sig>

  parent reply	other threads:[~2012-10-23 11:58 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-18  9:06 [PATCH 01/10] pinctrl: use postcore_initcall Haojian Zhuang
2012-10-18  9:06 ` Haojian Zhuang
     [not found] ` <1350551224-12857-1-git-send-email-haojian.zhuang-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-10-18  9:06   ` [PATCH 02/10] ARM: mmp: select pinctrl driver Haojian Zhuang
2012-10-18  9:06     ` Haojian Zhuang
2012-10-18  9:06   ` [PATCH 03/10] tty: pxa: configure pin Haojian Zhuang
2012-10-18  9:06     ` Haojian Zhuang
     [not found]     ` <1350551224-12857-3-git-send-email-haojian.zhuang-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-10-18 18:21       ` Linus Walleij
2012-10-18 18:21         ` Linus Walleij
2012-10-18 22:20       ` Stephen Warren
2012-10-18 22:20         ` Stephen Warren
     [not found]         ` <508080CB.5010904-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-10-22  8:45           ` Linus Walleij
2012-10-22  8:45             ` Linus Walleij
     [not found]             ` <CACRpkdb5Jiw71jBLDXpf2VTJQx7_gABqs03_20CeCLbVT=JkaA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-10-22 20:26               ` Stephen Warren
2012-10-22 20:26                 ` Stephen Warren
     [not found]                 ` <5085AC06.8070508-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-10-23  9:26                   ` Linus Walleij
2012-10-23  9:26                     ` Linus Walleij
     [not found]                     ` <CACRpkdY-XyagxGU_ya_FZirzbqStTirOC5nuBBwwFY3f4bBTYA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-10-23  9:37                       ` Mark Brown
2012-10-23  9:37                         ` Mark Brown
     [not found]                         ` <20121023093711.GS4477-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2012-10-23  9:59                           ` Linus Walleij
2012-10-23  9:59                             ` Linus Walleij
     [not found]                             ` <CACRpkdb+DkZbTDZamGMN+9t07kPktuA_3QtHQJFv+Vu859r7KA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-10-23 11:58                               ` Mark Brown [this message]
2012-10-23 11:58                                 ` Mark Brown
     [not found]                                 ` <20121023115806.GX4477-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2012-10-24  5:43                                   ` Linus Walleij
2012-10-24  5:43                                     ` Linus Walleij
2012-10-18  9:06   ` [PATCH 04/10] i2c: pxa: configure pins Haojian Zhuang
2012-10-18  9:06     ` Haojian Zhuang
     [not found]     ` <1350551224-12857-4-git-send-email-haojian.zhuang-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-10-18 18:22       ` Linus Walleij
2012-10-18 18:22         ` Linus Walleij
2012-10-18  9:06   ` [PATCH 05/10] i2c: pxa: use devm_kzalloc Haojian Zhuang
2012-10-18  9:06     ` Haojian Zhuang
     [not found]     ` <1350551224-12857-5-git-send-email-haojian.zhuang-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-10-18 22:27       ` Stephen Warren
2012-10-18 22:27         ` Stephen Warren
     [not found]         ` <5080826D.6040108-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-10-19  1:16           ` Haojian Zhuang
2012-10-19  1:16             ` Haojian Zhuang
2012-10-18  9:07   ` [PATCH 06/10] pinctrl: single: support gpio request and free Haojian Zhuang
2012-10-18  9:07     ` Haojian Zhuang
     [not found]     ` <1350551224-12857-6-git-send-email-haojian.zhuang-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-10-19 22:37       ` Tony Lindgren
2012-10-19 22:37         ` Tony Lindgren
2012-10-18  9:07   ` [PATCH 07/10] pinctrl: remove mutex lock in groups show Haojian Zhuang
2012-10-18  9:07     ` Haojian Zhuang
     [not found]     ` <1350551224-12857-7-git-send-email-haojian.zhuang-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-10-18 18:29       ` Linus Walleij
2012-10-18 18:29         ` Linus Walleij
2012-10-18 22:26       ` Stephen Warren
2012-10-18 22:26         ` Stephen Warren
     [not found]         ` <50808200.3080207-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-10-22  8:53           ` Linus Walleij
2012-10-22  8:53             ` Linus Walleij
2012-10-18  9:07   ` [PATCH 08/10] pinctrl: single: support pinconf generic Haojian Zhuang
2012-10-18  9:07     ` Haojian Zhuang
     [not found]     ` <1350551224-12857-8-git-send-email-haojian.zhuang-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-10-18 18:30       ` Linus Walleij
2012-10-18 18:30         ` Linus Walleij
     [not found]         ` <CACRpkda0QLkdKns3CXNOijYBjaDtW1QyhNYjTqDvRH-in8pvZQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-10-18 22:29           ` Tony Lindgren
2012-10-18 22:29             ` Tony Lindgren
     [not found]             ` <20121018222907.GH30550-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-10-19  2:23               ` Haojian Zhuang
2012-10-19  2:23                 ` Haojian Zhuang
     [not found]                 ` <CAN1soZzsruhWt7VFgf5Fi79npcjLiMSUEVwnE3hR5iWEh+9GRw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-10-19  2:40                   ` Tony Lindgren
2012-10-19  2:40                     ` Tony Lindgren
     [not found]                     ` <20121019024012.GP30550-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-10-19 18:44                       ` Tony Lindgren
2012-10-19 18:44                         ` Tony Lindgren
2012-10-19 18:53                   ` Tony Lindgren
2012-10-19 18:53                     ` Tony Lindgren
2012-10-19 19:13       ` Tony Lindgren
2012-10-19 19:13         ` Tony Lindgren
     [not found]         ` <20121019191333.GT4730-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-10-22 10:09           ` Haojian Zhuang
2012-10-22 10:09             ` Haojian Zhuang
     [not found]             ` <CAN1soZzE_tTkmPBechvUcdAbWKSScwcaqe_cb0TTmnRJi9gtRg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-10-22 17:09               ` Tony Lindgren
2012-10-22 17:09                 ` Tony Lindgren
     [not found]                 ` <20121022170917.GB4730-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-10-25 23:43                   ` Tony Lindgren
2012-10-25 23:43                     ` Tony Lindgren
     [not found]                     ` <20121025234328.GF11928-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-10-26  1:47                       ` Haojian Zhuang
2012-10-26  1:47                         ` Haojian Zhuang
     [not found]                         ` <CAN1soZyosQJYZAT61tUig6PGVrfXzwDeiC1R0hnKWoFLVP4Ayw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-10-26 17:29                           ` Tony Lindgren
2012-10-26 17:29                             ` Tony Lindgren
2012-10-31 22:37                       ` Haojian Zhuang
2012-10-31 22:37                         ` Haojian Zhuang
2012-10-18  9:07   ` [PATCH 09/10] ARM: dts: support pinctrl single in pxa910 Haojian Zhuang
2012-10-18  9:07     ` Haojian Zhuang
2012-10-18  9:07   ` [PATCH 10/10] document: devicetree: bind pinconf in pinctrl single Haojian Zhuang
2012-10-18  9:07     ` Haojian Zhuang
     [not found]     ` <1350551224-12857-10-git-send-email-haojian.zhuang-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-10-19 22:40       ` Tony Lindgren
2012-10-19 22:40         ` Tony Lindgren
2012-10-18 18:20   ` [PATCH 01/10] pinctrl: use postcore_initcall Linus Walleij
2012-10-18 18:20     ` Linus Walleij
2012-10-18 22:18   ` Stephen Warren
2012-10-18 22:18     ` Stephen Warren
     [not found]     ` <5080802B.3000209-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-10-18 22:28       ` Tony Lindgren
2012-10-18 22:28         ` Tony Lindgren
     [not found]         ` <20121018222802.GG30550-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-10-19  2:16           ` Haojian Zhuang
2012-10-19  2:16             ` Haojian Zhuang
     [not found]             ` <CAN1soZy17wO2s7WoRSRod8k5Zh7fuUc1gxhQiHEb0=zwLhyj6A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-10-19  2:38               ` Tony Lindgren
2012-10-19  2:38                 ` Tony Lindgren
     [not found]                 ` <20121019023818.GO30550-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-10-19  2:53                   ` Haojian Zhuang
2012-10-19  2:53                     ` Haojian Zhuang
     [not found]                     ` <CAN1soZw+EzFjEcxDJfi50BEhuQqDUwsB4DMGEXg+oyU-6gO_Jw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-10-19 17:41                       ` Tony Lindgren
2012-10-19 17:41                         ` Tony Lindgren
2012-10-19  2:24   ` Jean-Christophe PLAGNIOL-VILLARD
2012-10-19  2:24     ` Jean-Christophe PLAGNIOL-VILLARD

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=20121023115806.GX4477@opensource.wolfsonmicro.com \
    --to=broonie-yzvpicuk2aatku/dhu1wvuem+bqzidxxqq4iyu8u01e@public.gmane.org \
    --cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
    --cc=linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=magnus.damm-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=rickard.andersson-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org \
    --cc=ulf.hansson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    /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.