From: Darren Hart <dvhart@linux.intel.com>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
"H. Peter Anvin" <hpa@zytor.com>,
"peter.p.waskiewicz.jr" <peter.p.waskiewicz.jr@intel.com>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
danders <danders@circuitco.com>,
"vishal.l.verma" <vishal.l.verma@intel.com>,
Matthew Garrett <matthew.garrett@nebula.com>,
Grant Likely <grant.likely@linaro.org>,
Richard Purdie <richard.purdie@linuxfoundation.org>,
platform-driver-x86 <platform-driver-x86@vger.kernel.org>
Subject: Re: [PATCH 4/8] minnowboard: Add base platform driver for the MinnowBoard
Date: Thu, 27 Jun 2013 22:43:38 -0700 [thread overview]
Message-ID: <1372398218.9243.29.camel@envy.home> (raw)
In-Reply-To: <CACRpkda8QGdoAvjsUs7Uu+ukUu7ST63g=H9arA7SS7ceWmMTaQ@mail.gmail.com>
On Thu, 2013-06-27 at 11:14 +0200, Linus Walleij wrote:
> On Wed, Jun 26, 2013 at 3:53 AM, Darren Hart <dvhart@linux.intel.com> wrote:
>
> > Provide a minimal public interface:
> > minnow_detect()
> > minnow_lvds_detect()
> > minnow_hwid()
> > minnow_phy_reset()
>
> So instead of these calling drivers issueing gpio_request() themselves
> to obtain a resource, they make a function call to this proxy that issue
> gpio_request() for them.
>
> This is generally not how we do things. A driver should request its
> GPIO just as it requests its regulator or clock or IRQ line or anything
> else.
I'll fix this for minnow_phy_reset() by moving the reset routine into
the pch_gbe driver and have it request the GPIO, using the pci_id
structure to determine the GPIO line.
I'll drop minnow_lvds_detect() and work toward the firmware managing
this aspect instead.
minnow_detect() doesn't access GPIO.
minnow_hwid() just returns an int that the minnowboard platform driver
read from the GPIO. This seems like a proper abstraction to me. Do you
object to this one as well?
> Centralizing resource handling is not a good idea IMO, it's better
> that each driver request it's GPIO pin(s) and do the stuff it needs
> with them.
Understood. Since minnow_hwid() is not currently used anywhere anyway,
I'll take Olof's advice and just drop it. We can always add it back if
it becomes necessary.
> This of course creates the problem of associating the GPIOs to a
> driver and how it should look that up, which I guess ACPI can do,
> isn't that what acpi_find_gpio() is for?
The only one that remains is pch_gbe and we have a PCI Subsystem ID
there that we can use. Once we determine it is a MinnowBoard, we can
look the GPIO up by chip and offset. If this changes in future board
revs, we'll need minnow_hwid(), or we'll have to figure something out
either in the PCI config space or via ACPI as you suggested.
Thanks Linus, appreciate all the feedback.
--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Technical Lead - Linux Kernel
next prev parent reply other threads:[~2013-06-28 5:43 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-26 1:53 [PATCH 0/8] MinnowBoard support Darren Hart
2013-06-26 1:53 ` [PATCH 1/8] pch_gbe: Use PCH_GBE_PHY_REGS_LEN instead of 32 Darren Hart
2013-06-26 1:53 ` [PATCH 2/8] pch_uart: Add uart_clk selection for the MinnowBoard Darren Hart
2013-06-26 2:31 ` Greg Kroah-Hartman
2013-06-26 3:16 ` Darren Hart
2013-06-26 3:39 ` Greg Kroah-Hartman
2013-06-26 3:58 ` Darren Hart
2013-06-26 4:16 ` Greg Kroah-Hartman
2013-06-26 6:43 ` Jiri Slaby
2013-06-26 7:19 ` Darren Hart
2013-06-26 7:25 ` Jiri Slaby
2013-06-26 16:23 ` Darren Hart
2013-06-26 1:53 ` [PATCH 3/8] gpio-sch: Add sch_gpio_resume_set_enable() Darren Hart
2013-06-26 21:24 ` Darren Hart
2013-06-26 1:53 ` [PATCH 4/8] minnowboard: Add base platform driver for the MinnowBoard Darren Hart
2013-06-26 4:00 ` Olof Johansson
2013-06-26 4:43 ` Darren Hart
2013-06-26 4:52 ` Matthew Garrett
2013-06-26 5:32 ` Darren Hart
2013-06-26 5:36 ` Matthew Garrett
2013-06-26 7:17 ` Darren Hart
2013-06-27 9:14 ` Linus Walleij
2013-06-28 5:43 ` Darren Hart [this message]
2013-07-04 16:26 ` Mark Brown
2013-07-20 17:37 ` Linus Walleij
2013-07-21 23:41 ` Mark Brown
2013-10-30 14:18 ` Darren Hart
2013-10-30 21:36 ` Mark Brown
2013-07-22 0:09 ` Grant Likely
2013-07-22 3:27 ` Darren Hart
2013-06-26 1:53 ` [PATCH 5/8] minnowboard-gpio: Export MinnowBoard expansion GPIO Darren Hart
2013-06-26 7:55 ` Andy Shevchenko
2013-06-26 16:21 ` Darren Hart
2013-06-27 8:18 ` Andy Shevchenko
2013-06-28 4:27 ` Darren Hart
2013-06-26 1:53 ` [PATCH 6/8] minnowboard-keys: Bind MinnowBoard buttons to arrow keys Darren Hart
2013-06-26 8:46 ` Andy Shevchenko
2013-06-26 16:28 ` Darren Hart
2013-06-26 17:16 ` Greg Kroah-Hartman
2013-06-26 17:23 ` Darren Hart
2013-06-26 19:57 ` Linus Walleij
2013-06-26 21:23 ` Darren Hart
2013-06-26 1:53 ` [PATCH 7/8] pci: Add CircuitCo VENDOR ID and MinnowBoard DEVICE ID Darren Hart
2013-06-26 16:32 ` Bjorn Helgaas
2013-06-26 17:15 ` Darren Hart
2013-06-26 19:37 ` Bjorn Helgaas
2013-06-26 21:16 ` Darren Hart
2013-06-26 21:30 ` Bjorn Helgaas
2013-06-26 21:30 ` H. Peter Anvin
2013-06-26 21:46 ` Bjorn Helgaas
2013-06-26 21:49 ` H. Peter Anvin
2013-06-26 1:53 ` [PATCH 8/8] pch_gbe: Add MinnowBoard support Darren Hart
2013-06-26 2:35 ` Bjorn Helgaas
2013-06-26 3:11 ` Darren Hart
2013-06-26 3:25 ` H. Peter Anvin
2013-06-28 5:37 ` Darren Hart
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=1372398218.9243.29.camel@envy.home \
--to=dvhart@linux.intel.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=danders@circuitco.com \
--cc=grant.likely@linaro.org \
--cc=hpa@zytor.com \
--cc=linus.walleij@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=matthew.garrett@nebula.com \
--cc=peter.p.waskiewicz.jr@intel.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=richard.purdie@linuxfoundation.org \
--cc=vishal.l.verma@intel.com \
/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
Powered by JetHome