From: thierry.reding@gmail.com (Thierry Reding)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 00/12] Add NVIDIA Tegra FUSE driver
Date: Fri, 11 Jul 2014 14:15:59 +0200 [thread overview]
Message-ID: <1405080971-7609-1-git-send-email-thierry.reding@gmail.com> (raw)
From: Thierry Reding <treding@nvidia.com>
This series is an extension of Peter's original series to add a proper
driver for the FUSE block on Tegra.
Patches 1 and 2 are preparatory work that cleans up include lists and
introduces a function to query the Tegra chip ID rather than accessing
a simple variable. This is used by subsequent patches to allow us to
execute code when the variable is accessed to help in pin-pointing
locations where it's accessed before the driver had a chance to
initialize.
Patches 3 through 8 are Peter's series with a fixup patch by Stephen. I
also moved the driver to drivers/soc/tegra/fuse as requested by Olof.
Patches 9 and 10 defer usages of the tegra_get_chip_id() function to a
later stage (pure_initcall). This allows patch 11 to set up the early
FUSE support code from an early initcall. This has the advantage of not
requiring an explicit call from SoC setup code in arch/arm/mach-tegra
and will allow the code to be shared on 64-bit variants of Tegra.
Patch 12 finally turns the PMC and powergate support code into a proper
driver which also sets up a minimal environment from an early initcall.
The driver isn't moved out of arch/arm/mach-tegra yet because people
have suggested drivers/power as a good home, but that whole directory
depends on the POWER_SUPPLY Kconfig symbol yet this driver doesn't have
anything to do with that. Once that debate has been settled the driver
can easily be moved out in a separate patch.
Some of the patches in this series introduce diagnostic WARN() messages
if functions are called without setup having completed. I've booted the
v3.16-rc1 kernel with these changes on top on Tegra20 (TrimSlice),
Tegra30 (Beaver), Tegra114 (Dalmore) and Tegra124 (Jetson TK1) without
encountering any of the diagnostic warnings and without noticing any
breakage.
Olof, this series should address the concerns you expressed after
reviewing Stephen's earlier pull request for Peter's FUSE driver series.
It would be great if you could take another look to see if this is more
according to your taste. I'll see if I can take this through linux-next
for a little and if you have no objections will submit another pull
request next week.
Thierry
Peter De Schrijver (5):
ARM: tegra: export apb dma readl/writel
ARM: tegra: move fuse exports to tegra-soc.h
soc/tegra: Add efuse driver for Tegra
soc/tegra: Add efuse and apbmisc bindings
soc/tegra: fuse: move APB DMA into Tegra20 fuse driver
Stephen Warren (1):
misc: fuse: fix dummy functions
Thierry Reding (6):
ARM: tegra: Sort includes alphabetically
ARM: tegra: Use a function to get the chip ID
ARM: tegra: Setup CPU hotplug in a pure initcall
ARM: tegra: Always lock the CPU reset vector
soc/tegra: fuse: Set up in early initcall
ARM: tegra: Convert PMC to a driver
Documentation/ABI/testing/sysfs-driver-tegra-fuse | 11 +
.../bindings/fuse/nvidia,tegra20-fuse.txt | 40 +
.../bindings/misc/nvidia,tegra20-apbmisc.txt | 13 +
arch/arm/boot/dts/tegra114.dtsi | 15 +
arch/arm/boot/dts/tegra124.dtsi | 15 +
arch/arm/boot/dts/tegra20.dtsi | 15 +
arch/arm/boot/dts/tegra30.dtsi | 15 +
arch/arm/mach-tegra/Makefile | 8 +-
arch/arm/mach-tegra/apbio.c | 206 -----
arch/arm/mach-tegra/apbio.h | 22 -
arch/arm/mach-tegra/board-paz00.c | 3 +-
arch/arm/mach-tegra/board.h | 7 -
arch/arm/mach-tegra/cpuidle-tegra114.c | 10 +-
arch/arm/mach-tegra/cpuidle-tegra20.c | 16 +-
arch/arm/mach-tegra/cpuidle-tegra30.c | 10 +-
arch/arm/mach-tegra/cpuidle.c | 6 +-
arch/arm/mach-tegra/flowctrl.c | 10 +-
arch/arm/mach-tegra/fuse.c | 252 ------
arch/arm/mach-tegra/fuse.h | 79 --
arch/arm/mach-tegra/hotplug.c | 25 +-
arch/arm/mach-tegra/io.c | 8 +-
arch/arm/mach-tegra/irq.c | 8 +-
arch/arm/mach-tegra/platsmp.c | 27 +-
arch/arm/mach-tegra/pm-tegra20.c | 1 +
arch/arm/mach-tegra/pm-tegra30.c | 1 +
arch/arm/mach-tegra/pm.c | 60 +-
arch/arm/mach-tegra/pm.h | 10 +-
arch/arm/mach-tegra/pmc.c | 413 ---------
arch/arm/mach-tegra/pmc.h | 49 --
arch/arm/mach-tegra/powergate.c | 515 -----------
arch/arm/mach-tegra/reset-handler.S | 6 +-
arch/arm/mach-tegra/reset.c | 18 +-
arch/arm/mach-tegra/sleep-tegra30.S | 6 +-
arch/arm/mach-tegra/sleep.h | 3 -
arch/arm/mach-tegra/tegra-pmc.c | 948 +++++++++++++++++++++
arch/arm/mach-tegra/tegra.c | 35 +-
drivers/misc/fuse/Makefile | 1 +
drivers/soc/Makefile | 1 +
drivers/soc/tegra/Makefile | 1 +
drivers/soc/tegra/fuse/Makefile | 8 +
drivers/soc/tegra/fuse/fuse-tegra.c | 158 ++++
drivers/soc/tegra/fuse/fuse-tegra20.c | 214 +++++
drivers/soc/tegra/fuse/fuse-tegra30.c | 223 +++++
drivers/soc/tegra/fuse/fuse.h | 71 ++
.../soc/tegra/fuse/speedo-tegra114.c | 53 +-
drivers/soc/tegra/fuse/speedo-tegra124.c | 167 ++++
.../soc/tegra/fuse/speedo-tegra20.c | 42 +-
.../soc/tegra/fuse/speedo-tegra30.c | 173 ++--
drivers/soc/tegra/fuse/tegra-apbmisc.c | 114 +++
include/linux/tegra-soc.h | 89 ++
50 files changed, 2387 insertions(+), 1814 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-driver-tegra-fuse
create mode 100644 Documentation/devicetree/bindings/fuse/nvidia,tegra20-fuse.txt
create mode 100644 Documentation/devicetree/bindings/misc/nvidia,tegra20-apbmisc.txt
delete mode 100644 arch/arm/mach-tegra/apbio.c
delete mode 100644 arch/arm/mach-tegra/apbio.h
delete mode 100644 arch/arm/mach-tegra/fuse.c
delete mode 100644 arch/arm/mach-tegra/fuse.h
delete mode 100644 arch/arm/mach-tegra/pmc.c
delete mode 100644 arch/arm/mach-tegra/pmc.h
delete mode 100644 arch/arm/mach-tegra/powergate.c
create mode 100644 arch/arm/mach-tegra/tegra-pmc.c
create mode 100644 drivers/misc/fuse/Makefile
create mode 100644 drivers/soc/tegra/Makefile
create mode 100644 drivers/soc/tegra/fuse/Makefile
create mode 100644 drivers/soc/tegra/fuse/fuse-tegra.c
create mode 100644 drivers/soc/tegra/fuse/fuse-tegra20.c
create mode 100644 drivers/soc/tegra/fuse/fuse-tegra30.c
create mode 100644 drivers/soc/tegra/fuse/fuse.h
rename arch/arm/mach-tegra/tegra114_speedo.c => drivers/soc/tegra/fuse/speedo-tegra114.c (55%)
create mode 100644 drivers/soc/tegra/fuse/speedo-tegra124.c
rename arch/arm/mach-tegra/tegra20_speedo.c => drivers/soc/tegra/fuse/speedo-tegra20.c (67%)
rename arch/arm/mach-tegra/tegra30_speedo.c => drivers/soc/tegra/fuse/speedo-tegra30.c (52%)
create mode 100644 drivers/soc/tegra/fuse/tegra-apbmisc.c
--
2.0.1
next reply other threads:[~2014-07-11 12:15 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-11 12:15 Thierry Reding [this message]
2014-07-11 12:16 ` [PATCH 01/12] ARM: tegra: Sort includes alphabetically Thierry Reding
2014-07-11 12:16 ` [PATCH 02/12] ARM: tegra: Use a function to get the chip ID Thierry Reding
2014-07-11 12:16 ` [PATCH 03/12] ARM: tegra: export apb dma readl/writel Thierry Reding
2014-07-11 12:16 ` [PATCH 04/12] ARM: tegra: move fuse exports to tegra-soc.h Thierry Reding
2014-07-11 12:16 ` [PATCH 05/12] soc/tegra: Add efuse driver for Tegra Thierry Reding
2014-10-19 3:12 ` Shawn Guo
2014-11-10 15:10 ` Thierry Reding
2014-07-11 12:16 ` [PATCH 06/12] soc/tegra: Add efuse and apbmisc bindings Thierry Reding
2014-07-11 12:16 ` [PATCH 07/12] soc/tegra: fuse: move APB DMA into Tegra20 fuse driver Thierry Reding
2014-07-11 12:16 ` [PATCH 08/12] misc: fuse: fix dummy functions Thierry Reding
2014-07-11 12:16 ` [PATCH 09/12] ARM: tegra: Setup CPU hotplug in a pure initcall Thierry Reding
2014-07-11 12:16 ` [PATCH 10/12] ARM: tegra: Always lock the CPU reset vector Thierry Reding
2014-07-11 12:16 ` [PATCH 11/12] soc/tegra: fuse: Set up in early initcall Thierry Reding
2014-07-11 12:16 ` [PATCH 12/12] ARM: tegra: Convert PMC to a driver Thierry Reding
2014-07-11 13:58 ` Peter De Schrijver
2014-07-14 8:06 ` Thierry Reding
2014-07-16 11:56 ` Arnd Bergmann
2014-07-16 13:22 ` Thierry Reding
2014-07-16 14:12 ` Arnd Bergmann
2014-07-16 15:14 ` Thierry Reding
2014-07-16 15:22 ` Arnd Bergmann
2014-07-16 18:57 ` Thierry Reding
2014-07-16 19:34 ` Olof Johansson
2014-07-17 8:54 ` Arnd Bergmann
2014-07-17 11:06 ` Thierry Reding
2014-07-21 12:06 ` Arnd Bergmann
2014-07-21 13:12 ` Thierry Reding
2014-07-21 13:16 ` Tejun Heo
2014-07-21 13:39 ` Thierry Reding
2014-07-17 8:53 ` Peter De Schrijver
2014-07-17 9:01 ` Peter De Schrijver
2014-07-17 11:01 ` Thierry Reding
2014-07-21 7:09 ` Vince Hsu
2014-07-21 9:02 ` Thierry Reding
2014-07-22 3:34 ` Vince Hsu
2014-07-13 6:38 ` [PATCH 00/12] Add NVIDIA Tegra FUSE driver Olof Johansson
2014-07-14 6:57 ` Thierry Reding
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=1405080971-7609-1-git-send-email-thierry.reding@gmail.com \
--to=thierry.reding@gmail.com \
--cc=linux-arm-kernel@lists.infradead.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).