devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sebastian Reichel <sre-GFxCN5SEZAc@public.gmane.org>
To: Ivajlo Dimitrov
	<ivo.g.dimitrov.75-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: "Linus Walleij"
	<linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	"Shubhrajyoti Datta"
	<omaplinuxkernel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	"Carlos Chinea"
	<cch.devel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	"Tony Lindgren" <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>,
	"Grant Likely"
	<grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	"Rob Herring"
	<rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
	"Pawel Moll" <pawel.moll-5wv7dgnIgG8@public.gmane.org>,
	"Mark Rutland" <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
	"Stephen Warren"
	<swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>,
	"Ian Campbell"
	<ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>,
	"Rob Landley" <rob-VoJi6FS/r0vR7s880joybQ@public.gmane.org>,
	"Benoît Cousson"
	<bcousson-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>,
	"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Linux-OMAP <linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"Pali Rohár" <pali.rohar-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	"Ивайло Димитров" <freemangordon-uiMcrn6V0Vs@public.gmane.org>,
	"Joni Lapilainen"
	<joni.lapilainen-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	"Aaro Koskinen" <aaro.koskinen-X3B1VOXEql0@public.gmane.org>,
	pavel@ucw.c
Subject: Re: Re: [RFCv4 06/11] misc: Introduce Nokia CMT driver
Date: Wed, 18 Dec 2013 00:25:27 +0100	[thread overview]
Message-ID: <20131217232525.GA12152@earth.universe> (raw)
In-Reply-To: <52B090E0.5040006-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 3394 bytes --]

On Tue, Dec 17, 2013 at 07:58:56PM +0200, Ivajlo Dimitrov wrote:
> >On Mon, Dec 16, 2013 at 02:31:53PM +0100, Linus Walleij wrote:
> >>I am very reluctant in letting device trees specify exports of GPIOs
> >>to userspace, not so much because it's Linux-specific but for
> >>the fact that people are doing things in userspace that should not
> >>be done in userspace.
> >>
> >>Last time it was proposed I asked to the specific usecase,
> >>exactly why userspace needed this handle on a physical
> >>GPIO line, and why it can't use another userspace interface
> >>(example: leds, keys etc.)
> >There are a couple of lines ("cmt_apeslpx", "cmt_rst_rq", "cmt_en",
> >"cmt_rst", "cmt_bsi"), which are handled by ofono to do the correct
> >power sequence for the modem. The relevant ofono code is here:
> >
> >https://git.kernel.org/cgit/network/ofono/ofono.git/tree/plugins/nokia-gpio.c
> >
> >In MeeGo etc. they have a little board specific init script, which
> >exports the gpio lines and setups some symlinks. IMHO at least the
> >board specific stuff should be handled by the kernel, thus I added
> >this code to the driver. I guess you prefer to move the power
> >sequencing completly to the kernel?
> 
> Don't forget there is not only ofono, but rtcom-call-ui and all the
> telephony stack in Maemo 5 :). However, power sequencing and control
> is specific not only to the modem model, but to the firmware version
> the modem is running as well (afaik). IMO you can't simply move the
> modem power/reset/sleep control to the kernel and hope for the best,
> I am not sure there is enough documentation (if any) for this to be
> done reliably, esp on n900 with its BB5 modem. The point is that
> those gpios are used not only for the initial power-up, but for
> control of the modem state and reset (if needed) during normal
> usage. The APE reset line is an example of stuff that can't be moved
> to the kernel without providing some interface/feedback to/from the
> userspace IMO - what if she is dialing 112 at the moment the modem
> decides it is too hot and wants a device reset (or whatever reason
> there could be for a modem to request a device reset)? The same goes
> for the APE sleep request line (cmt_apeslpx) - based on what should
> the kernel decide whether to put the modem in sleep?
> 
> Sure, exporting gpios to userspace might not be the best way to
> achieve the required functionality, but every way could be argued if
> it is the best. And for sure labeling a modem "LED" won't make it
> such.

Yes, but as far as I know the kernel design rules are not bended for
nonfree userspace components. Using the nonfree Maemo stuff should
be supported by disabling the CMT driver and exporting the pins from
userspace using some board specific init script (=> this is how its
done until now).

I had a look at both ofono's and freesmartphone.org's implementation
for the GPIO handling and both implementations are very similar. I
think it should be possible to move the state machine described in
[0] into the kernel and provide a simple sysfs/uevent interface.

I was thinking of something like /sys/devices/platform/nokia-cmt/state,
which accepts "enable", "disable" and "reset" as input and outputs the
current state.

[0] https://git.kernel.org/cgit/network/ofono/ofono.git/tree/plugins/nokia-gpio.c

-- Sebastian

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

  parent reply	other threads:[~2013-12-17 23:25 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-15 23:27 [RFCv4 00/11] OMAP SSI driver / N900 modem support Sebastian Reichel
2013-12-15 23:27 ` [RFCv4 01/11] HSI: method to unregister clients from an hsi port Sebastian Reichel
2013-12-15 23:27 ` [RFCv4 02/11] HSI: hsi-char: add Device Tree support Sebastian Reichel
2013-12-15 23:27 ` [RFCv4 03/11] HSI: hsi-char: fix driver for multiport scenarios Sebastian Reichel
2013-12-15 23:27 ` [RFCv4 04/11] ARM: OMAP2+: HSI: Introduce OMAP SSI driver Sebastian Reichel
2013-12-15 23:27 ` [RFCv4 05/11] Documentation: DT: omap-ssi binding documentation Sebastian Reichel
2013-12-19 19:03   ` Tony Lindgren
     [not found]     ` <20131219190344.GW27438-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2014-01-10 23:52       ` Sebastian Reichel
2013-12-15 23:27 ` [RFCv4 06/11] misc: Introduce Nokia CMT driver Sebastian Reichel
2013-12-16  9:48   ` Linus Walleij
2013-12-16 12:15     ` Sebastian Reichel
2013-12-16 13:31       ` Linus Walleij
2013-12-16 18:34         ` Sebastian Reichel
2013-12-17 17:58           ` Ivajlo Dimitrov
     [not found]             ` <52B090E0.5040006-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-12-17 23:25               ` Sebastian Reichel [this message]
     [not found]                 ` <20131217232525.GA12152-SfvFxonMDyemK9LvCR3Hrw@public.gmane.org>
2013-12-22 10:22                   ` Linus Walleij
2013-12-15 23:28 ` [RFCv4 07/11] Documentation: DT: nokia-cmt binding documentation Sebastian Reichel
2013-12-15 23:28 ` [RFCv4 08/11] HSI: Introduce driver for SSI Protocol Sebastian Reichel
2013-12-15 23:28 ` [RFCv4 09/11] DTS: ARM: OMAP3-N900: Add SSI support Sebastian Reichel
2013-12-15 23:28 ` [RFCv4 10/11] DTS: ARM: OMAP3-N900: Add CMT support Sebastian Reichel
2013-12-15 23:28 ` [RFCv4 11/11] DTS: ARM: OMAP3-N900: Add SSI protocol support Sebastian Reichel

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=20131217232525.GA12152@earth.universe \
    --to=sre-gfxcn5sezac@public.gmane.org \
    --cc=aaro.koskinen-X3B1VOXEql0@public.gmane.org \
    --cc=bcousson-rdvid1DuHRBWk0Htik3J/w@public.gmane.org \
    --cc=cch.devel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=freemangordon-uiMcrn6V0Vs@public.gmane.org \
    --cc=grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org \
    --cc=ivo.g.dimitrov.75-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=joni.lapilainen-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=omaplinuxkernel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=pali.rohar-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=pavel@ucw.c \
    --cc=pawel.moll-5wv7dgnIgG8@public.gmane.org \
    --cc=rob-VoJi6FS/r0vR7s880joybQ@public.gmane.org \
    --cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
    --cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org \
    --cc=tony-4v6yS6AI5VpBDgjK7y7TUQ@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 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).