All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] New eFuse subsystem
@ 2015-02-25 11:45 ` Ezequiel Garcia
  0 siblings, 0 replies; 25+ messages in thread
From: Ezequiel Garcia @ 2015-02-25 11:45 UTC (permalink / raw)
  To: Thierry Reding, Stephen Warren, Arnd Bergmann, Maxime Ripard,
	Andrew Bresticker, James Hartley
  Cc: linux-arm-kernel, linux-kernel, Ezequiel Garcia

This patchset introduces a new driver subsystem, meant to support eFuse
(alias OTP, one-time-programmable) devices.

The motivation behind this work is to have a common place for drivers
that are currently more or less scattered: the tegra efuses are in
drivers/soc/ and the sunxi efuses in drivers/misc/eeprom.

For now, there's no proposal for a generic efuse API. Instead, we simply
group the drivers together.

This patchset is the result of the initial submission for IMG Pistachio
eFuse support [1]. Our first proposal was to follow the Tegra efuse, and
put the Pistachio efuse in drivers/soc. After some discussion we finally
agreed [2] to first create an efuse directoy, and then put all efuse drivers
in it.

As always, all comments are welcome!

[1] http://www.spinics.net/lists/devicetree/msg59246.html
[2] http://www.spinics.net/lists/arm-kernel/msg389325.html

Ezequiel Garcia (7):
  soc: tegra: Add missing include linux/types.h
  soc: tegra: Move the fuse header to a separate directory
  drivers: Introduce new eFuse subsystem stub
  efuse: Move Tegra efuse driver
  ARM: tegra: Make sure efuse is always selected
  efuse: Move Sunxi fuse driver
  ARM: sunxi: Rename EFUSE_SUNXI option in defconfigs

 arch/arm/configs/multi_v7_defconfig                |  2 +-
 arch/arm/configs/sunxi_defconfig                   |  2 +-
 arch/arm/mach-tegra/Kconfig                        |  1 +
 arch/arm/mach-tegra/cpuidle.c                      |  3 +--
 arch/arm/mach-tegra/flowctrl.c                     |  3 +--
 arch/arm/mach-tegra/hotplug.c                      |  2 +-
 arch/arm/mach-tegra/platsmp.c                      |  2 +-
 arch/arm/mach-tegra/pm.c                           |  2 +-
 arch/arm/mach-tegra/reset-handler.S                |  3 +--
 arch/arm/mach-tegra/reset.c                        |  3 +--
 arch/arm/mach-tegra/sleep-tegra30.S                |  3 +--
 arch/arm/mach-tegra/tegra.c                        |  2 +-
 drivers/Kconfig                                    |  2 ++
 drivers/Makefile                                   |  1 +
 drivers/ata/ahci_tegra.c                           |  2 +-
 drivers/clk/tegra/clk-periph-gate.c                |  3 +--
 drivers/clk/tegra/clk.c                            |  3 +--
 drivers/efuse/Kconfig                              | 22 ++++++++++++++++++++++
 drivers/efuse/Makefile                             |  2 ++
 drivers/{misc/eeprom => efuse}/sunxi_sid.c         |  0
 drivers/{soc/tegra/fuse => efuse/tegra}/Makefile   |  0
 .../{soc/tegra/fuse => efuse/tegra}/fuse-tegra.c   |  2 +-
 .../{soc/tegra/fuse => efuse/tegra}/fuse-tegra20.c |  3 +--
 .../{soc/tegra/fuse => efuse/tegra}/fuse-tegra30.c |  3 +--
 drivers/{soc/tegra/fuse => efuse/tegra}/fuse.h     |  0
 .../tegra/fuse => efuse/tegra}/speedo-tegra114.c   |  3 +--
 .../tegra/fuse => efuse/tegra}/speedo-tegra124.c   |  3 +--
 .../tegra/fuse => efuse/tegra}/speedo-tegra20.c    |  3 +--
 .../tegra/fuse => efuse/tegra}/speedo-tegra30.c    |  3 +--
 .../tegra/fuse => efuse/tegra}/tegra-apbmisc.c     |  3 +--
 drivers/gpu/drm/nouveau/nouveau_platform.c         |  2 +-
 drivers/misc/eeprom/Kconfig                        | 13 -------------
 drivers/misc/eeprom/Makefile                       |  1 -
 drivers/soc/tegra/Makefile                         |  2 --
 drivers/soc/tegra/pmc.c                            |  2 +-
 drivers/thermal/tegra_soctherm.c                   |  3 +--
 include/{soc/tegra/fuse.h => linux/efuse/tegra.h}  |  2 ++
 37 files changed, 55 insertions(+), 56 deletions(-)
 create mode 100644 drivers/efuse/Kconfig
 create mode 100644 drivers/efuse/Makefile
 rename drivers/{misc/eeprom => efuse}/sunxi_sid.c (100%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/Makefile (100%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra.c (99%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra20.c (99%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra30.c (99%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/fuse.h (100%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra114.c (98%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra124.c (99%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra20.c (99%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra30.c (99%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/tegra-apbmisc.c (98%)
 rename include/{soc/tegra/fuse.h => linux/efuse/tegra.h} (98%)

-- 
2.3.0


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH 0/7] New eFuse subsystem
@ 2015-02-25 11:45 ` Ezequiel Garcia
  0 siblings, 0 replies; 25+ messages in thread
From: Ezequiel Garcia @ 2015-02-25 11:45 UTC (permalink / raw)
  To: linux-arm-kernel

This patchset introduces a new driver subsystem, meant to support eFuse
(alias OTP, one-time-programmable) devices.

The motivation behind this work is to have a common place for drivers
that are currently more or less scattered: the tegra efuses are in
drivers/soc/ and the sunxi efuses in drivers/misc/eeprom.

For now, there's no proposal for a generic efuse API. Instead, we simply
group the drivers together.

This patchset is the result of the initial submission for IMG Pistachio
eFuse support [1]. Our first proposal was to follow the Tegra efuse, and
put the Pistachio efuse in drivers/soc. After some discussion we finally
agreed [2] to first create an efuse directoy, and then put all efuse drivers
in it.

As always, all comments are welcome!

[1] http://www.spinics.net/lists/devicetree/msg59246.html
[2] http://www.spinics.net/lists/arm-kernel/msg389325.html

Ezequiel Garcia (7):
  soc: tegra: Add missing include linux/types.h
  soc: tegra: Move the fuse header to a separate directory
  drivers: Introduce new eFuse subsystem stub
  efuse: Move Tegra efuse driver
  ARM: tegra: Make sure efuse is always selected
  efuse: Move Sunxi fuse driver
  ARM: sunxi: Rename EFUSE_SUNXI option in defconfigs

 arch/arm/configs/multi_v7_defconfig                |  2 +-
 arch/arm/configs/sunxi_defconfig                   |  2 +-
 arch/arm/mach-tegra/Kconfig                        |  1 +
 arch/arm/mach-tegra/cpuidle.c                      |  3 +--
 arch/arm/mach-tegra/flowctrl.c                     |  3 +--
 arch/arm/mach-tegra/hotplug.c                      |  2 +-
 arch/arm/mach-tegra/platsmp.c                      |  2 +-
 arch/arm/mach-tegra/pm.c                           |  2 +-
 arch/arm/mach-tegra/reset-handler.S                |  3 +--
 arch/arm/mach-tegra/reset.c                        |  3 +--
 arch/arm/mach-tegra/sleep-tegra30.S                |  3 +--
 arch/arm/mach-tegra/tegra.c                        |  2 +-
 drivers/Kconfig                                    |  2 ++
 drivers/Makefile                                   |  1 +
 drivers/ata/ahci_tegra.c                           |  2 +-
 drivers/clk/tegra/clk-periph-gate.c                |  3 +--
 drivers/clk/tegra/clk.c                            |  3 +--
 drivers/efuse/Kconfig                              | 22 ++++++++++++++++++++++
 drivers/efuse/Makefile                             |  2 ++
 drivers/{misc/eeprom => efuse}/sunxi_sid.c         |  0
 drivers/{soc/tegra/fuse => efuse/tegra}/Makefile   |  0
 .../{soc/tegra/fuse => efuse/tegra}/fuse-tegra.c   |  2 +-
 .../{soc/tegra/fuse => efuse/tegra}/fuse-tegra20.c |  3 +--
 .../{soc/tegra/fuse => efuse/tegra}/fuse-tegra30.c |  3 +--
 drivers/{soc/tegra/fuse => efuse/tegra}/fuse.h     |  0
 .../tegra/fuse => efuse/tegra}/speedo-tegra114.c   |  3 +--
 .../tegra/fuse => efuse/tegra}/speedo-tegra124.c   |  3 +--
 .../tegra/fuse => efuse/tegra}/speedo-tegra20.c    |  3 +--
 .../tegra/fuse => efuse/tegra}/speedo-tegra30.c    |  3 +--
 .../tegra/fuse => efuse/tegra}/tegra-apbmisc.c     |  3 +--
 drivers/gpu/drm/nouveau/nouveau_platform.c         |  2 +-
 drivers/misc/eeprom/Kconfig                        | 13 -------------
 drivers/misc/eeprom/Makefile                       |  1 -
 drivers/soc/tegra/Makefile                         |  2 --
 drivers/soc/tegra/pmc.c                            |  2 +-
 drivers/thermal/tegra_soctherm.c                   |  3 +--
 include/{soc/tegra/fuse.h => linux/efuse/tegra.h}  |  2 ++
 37 files changed, 55 insertions(+), 56 deletions(-)
 create mode 100644 drivers/efuse/Kconfig
 create mode 100644 drivers/efuse/Makefile
 rename drivers/{misc/eeprom => efuse}/sunxi_sid.c (100%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/Makefile (100%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra.c (99%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra20.c (99%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra30.c (99%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/fuse.h (100%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra114.c (98%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra124.c (99%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra20.c (99%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra30.c (99%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/tegra-apbmisc.c (98%)
 rename include/{soc/tegra/fuse.h => linux/efuse/tegra.h} (98%)

-- 
2.3.0

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH 1/7] soc: tegra: Add missing include linux/types.h
  2015-02-25 11:45 ` Ezequiel Garcia
@ 2015-02-25 11:45   ` Ezequiel Garcia
  -1 siblings, 0 replies; 25+ messages in thread
From: Ezequiel Garcia @ 2015-02-25 11:45 UTC (permalink / raw)
  To: Thierry Reding, Stephen Warren, Arnd Bergmann, Maxime Ripard,
	Andrew Bresticker, James Hartley
  Cc: linux-arm-kernel, linux-kernel, Ezequiel Garcia, Thierry Reding,
	Alexandre Courbot

The soc/tegra/fuse.h header makes use of kernel-specific types (u32, u8) and
therefore it needs a linux/types.h include.

Cc: Thierry Reding <treding@nvidia.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Alexandre Courbot <gnurou@gmail.com>
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
---
 include/soc/tegra/fuse.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/soc/tegra/fuse.h b/include/soc/tegra/fuse.h
index b5f7b5f..8459008 100644
--- a/include/soc/tegra/fuse.h
+++ b/include/soc/tegra/fuse.h
@@ -28,6 +28,8 @@
 
 #ifndef __ASSEMBLY__
 
+#include <linux/types.h>
+
 u32 tegra_read_chipid(void);
 u8 tegra_get_chip_id(void);
 
-- 
2.3.0


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 1/7] soc: tegra: Add missing include linux/types.h
@ 2015-02-25 11:45   ` Ezequiel Garcia
  0 siblings, 0 replies; 25+ messages in thread
From: Ezequiel Garcia @ 2015-02-25 11:45 UTC (permalink / raw)
  To: linux-arm-kernel

The soc/tegra/fuse.h header makes use of kernel-specific types (u32, u8) and
therefore it needs a linux/types.h include.

Cc: Thierry Reding <treding@nvidia.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Alexandre Courbot <gnurou@gmail.com>
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
---
 include/soc/tegra/fuse.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/soc/tegra/fuse.h b/include/soc/tegra/fuse.h
index b5f7b5f..8459008 100644
--- a/include/soc/tegra/fuse.h
+++ b/include/soc/tegra/fuse.h
@@ -28,6 +28,8 @@
 
 #ifndef __ASSEMBLY__
 
+#include <linux/types.h>
+
 u32 tegra_read_chipid(void);
 u8 tegra_get_chip_id(void);
 
-- 
2.3.0

^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 2/7] soc: tegra: Move the fuse header to a separate directory
  2015-02-25 11:45 ` Ezequiel Garcia
@ 2015-02-25 11:45   ` Ezequiel Garcia
  -1 siblings, 0 replies; 25+ messages in thread
From: Ezequiel Garcia @ 2015-02-25 11:45 UTC (permalink / raw)
  To: Thierry Reding, Stephen Warren, Arnd Bergmann, Maxime Ripard,
	Andrew Bresticker, James Hartley
  Cc: linux-arm-kernel, linux-kernel, Ezequiel Garcia, Thierry Reding,
	Alexandre Courbot

As preparation work for the introduction of an eFuse subsystem,
this commit moves Tegra's fuse header and fixes the includes
where needed.

Cc: Thierry Reding <treding@nvidia.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Alexandre Courbot <gnurou@gmail.com>
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
---
 arch/arm/mach-tegra/cpuidle.c                     | 3 +--
 arch/arm/mach-tegra/flowctrl.c                    | 3 +--
 arch/arm/mach-tegra/hotplug.c                     | 2 +-
 arch/arm/mach-tegra/platsmp.c                     | 2 +-
 arch/arm/mach-tegra/pm.c                          | 2 +-
 arch/arm/mach-tegra/reset-handler.S               | 3 +--
 arch/arm/mach-tegra/reset.c                       | 3 +--
 arch/arm/mach-tegra/sleep-tegra30.S               | 3 +--
 arch/arm/mach-tegra/tegra.c                       | 2 +-
 drivers/ata/ahci_tegra.c                          | 2 +-
 drivers/clk/tegra/clk-periph-gate.c               | 3 +--
 drivers/clk/tegra/clk.c                           | 3 +--
 drivers/gpu/drm/nouveau/nouveau_platform.c        | 2 +-
 drivers/soc/tegra/fuse/fuse-tegra.c               | 2 +-
 drivers/soc/tegra/fuse/fuse-tegra20.c             | 3 +--
 drivers/soc/tegra/fuse/fuse-tegra30.c             | 3 +--
 drivers/soc/tegra/fuse/speedo-tegra114.c          | 3 +--
 drivers/soc/tegra/fuse/speedo-tegra124.c          | 3 +--
 drivers/soc/tegra/fuse/speedo-tegra20.c           | 3 +--
 drivers/soc/tegra/fuse/speedo-tegra30.c           | 3 +--
 drivers/soc/tegra/fuse/tegra-apbmisc.c            | 3 +--
 drivers/soc/tegra/pmc.c                           | 2 +-
 drivers/thermal/tegra_soctherm.c                  | 3 +--
 include/{soc/tegra/fuse.h => linux/efuse/tegra.h} | 0
 24 files changed, 23 insertions(+), 38 deletions(-)
 rename include/{soc/tegra/fuse.h => linux/efuse/tegra.h} (100%)

diff --git a/arch/arm/mach-tegra/cpuidle.c b/arch/arm/mach-tegra/cpuidle.c
index 3165631..62b8086 100644
--- a/arch/arm/mach-tegra/cpuidle.c
+++ b/arch/arm/mach-tegra/cpuidle.c
@@ -21,11 +21,10 @@
  * more details.
  */
 
+#include <linux/efuse/tegra.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 
-#include <soc/tegra/fuse.h>
-
 #include "cpuidle.h"
 
 void __init tegra_cpuidle_init(void)
diff --git a/arch/arm/mach-tegra/flowctrl.c b/arch/arm/mach-tegra/flowctrl.c
index 475e783..623c820 100644
--- a/arch/arm/mach-tegra/flowctrl.c
+++ b/arch/arm/mach-tegra/flowctrl.c
@@ -19,14 +19,13 @@
  */
 
 #include <linux/cpumask.h>
+#include <linux/efuse/tegra.h>
 #include <linux/init.h>
 #include <linux/io.h>
 #include <linux/kernel.h>
 #include <linux/of.h>
 #include <linux/of_address.h>
 
-#include <soc/tegra/fuse.h>
-
 #include "flowctrl.h"
 
 static u8 flowctrl_offset_halt_cpu[] = {
diff --git a/arch/arm/mach-tegra/hotplug.c b/arch/arm/mach-tegra/hotplug.c
index 6fc71f1..0d55820 100644
--- a/arch/arm/mach-tegra/hotplug.c
+++ b/arch/arm/mach-tegra/hotplug.c
@@ -9,11 +9,11 @@
  */
 
 #include <linux/clk/tegra.h>
+#include <linux/efuse/tegra.h>
 #include <linux/kernel.h>
 #include <linux/smp.h>
 
 #include <soc/tegra/common.h>
-#include <soc/tegra/fuse.h>
 
 #include <asm/smp_plat.h>
 
diff --git a/arch/arm/mach-tegra/platsmp.c b/arch/arm/mach-tegra/platsmp.c
index b450866..2c65404 100644
--- a/arch/arm/mach-tegra/platsmp.c
+++ b/arch/arm/mach-tegra/platsmp.c
@@ -15,13 +15,13 @@
 #include <linux/clk/tegra.h>
 #include <linux/delay.h>
 #include <linux/device.h>
+#include <linux/efuse/tegra.h>
 #include <linux/errno.h>
 #include <linux/init.h>
 #include <linux/io.h>
 #include <linux/jiffies.h>
 #include <linux/smp.h>
 
-#include <soc/tegra/fuse.h>
 #include <soc/tegra/pmc.h>
 
 #include <asm/cacheflush.h>
diff --git a/arch/arm/mach-tegra/pm.c b/arch/arm/mach-tegra/pm.c
index b0f48a3..7089444 100644
--- a/arch/arm/mach-tegra/pm.c
+++ b/arch/arm/mach-tegra/pm.c
@@ -20,6 +20,7 @@
 #include <linux/cpumask.h>
 #include <linux/cpu_pm.h>
 #include <linux/delay.h>
+#include <linux/efuse/tegra.h>
 #include <linux/err.h>
 #include <linux/io.h>
 #include <linux/kernel.h>
@@ -27,7 +28,6 @@
 #include <linux/spinlock.h>
 #include <linux/suspend.h>
 
-#include <soc/tegra/fuse.h>
 #include <soc/tegra/pm.h>
 #include <soc/tegra/pmc.h>
 
diff --git a/arch/arm/mach-tegra/reset-handler.S b/arch/arm/mach-tegra/reset-handler.S
index 71be4af..318fbcc 100644
--- a/arch/arm/mach-tegra/reset-handler.S
+++ b/arch/arm/mach-tegra/reset-handler.S
@@ -14,11 +14,10 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <linux/efuse/tegra.h>
 #include <linux/init.h>
 #include <linux/linkage.h>
 
-#include <soc/tegra/fuse.h>
-
 #include <asm/asm-offsets.h>
 #include <asm/cache.h>
 
diff --git a/arch/arm/mach-tegra/reset.c b/arch/arm/mach-tegra/reset.c
index 894c5c4..7fb3030 100644
--- a/arch/arm/mach-tegra/reset.c
+++ b/arch/arm/mach-tegra/reset.c
@@ -16,11 +16,10 @@
 
 #include <linux/bitops.h>
 #include <linux/cpumask.h>
+#include <linux/efuse/tegra.h>
 #include <linux/init.h>
 #include <linux/io.h>
 
-#include <soc/tegra/fuse.h>
-
 #include <asm/cacheflush.h>
 #include <asm/firmware.h>
 #include <asm/hardware/cache-l2x0.h>
diff --git a/arch/arm/mach-tegra/sleep-tegra30.S b/arch/arm/mach-tegra/sleep-tegra30.S
index 5d8d13a..e8c8946 100644
--- a/arch/arm/mach-tegra/sleep-tegra30.S
+++ b/arch/arm/mach-tegra/sleep-tegra30.S
@@ -14,10 +14,9 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <linux/efuse/tegra.h>
 #include <linux/linkage.h>
 
-#include <soc/tegra/fuse.h>
-
 #include <asm/asm-offsets.h>
 #include <asm/assembler.h>
 #include <asm/cache.h>
diff --git a/arch/arm/mach-tegra/tegra.c b/arch/arm/mach-tegra/tegra.c
index 914341b..b216403 100644
--- a/arch/arm/mach-tegra/tegra.c
+++ b/arch/arm/mach-tegra/tegra.c
@@ -19,6 +19,7 @@
 #include <linux/clk.h>
 #include <linux/clk/tegra.h>
 #include <linux/dma-mapping.h>
+#include <linux/efuse/tegra.h>
 #include <linux/init.h>
 #include <linux/io.h>
 #include <linux/irqchip.h>
@@ -35,7 +36,6 @@
 #include <linux/sys_soc.h>
 #include <linux/usb/tegra_usb_phy.h>
 
-#include <soc/tegra/fuse.h>
 #include <soc/tegra/pmc.h>
 
 #include <asm/hardware/cache-l2x0.h>
diff --git a/drivers/ata/ahci_tegra.c b/drivers/ata/ahci_tegra.c
index 3a62eb2..cbd4b43 100644
--- a/drivers/ata/ahci_tegra.c
+++ b/drivers/ata/ahci_tegra.c
@@ -19,6 +19,7 @@
 
 #include <linux/ahci_platform.h>
 #include <linux/errno.h>
+#include <linux/efuse/tegra.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/of_device.h>
@@ -26,7 +27,6 @@
 #include <linux/regulator/consumer.h>
 #include <linux/reset.h>
 
-#include <soc/tegra/fuse.h>
 #include <soc/tegra/pmc.h>
 
 #include "ahci.h"
diff --git a/drivers/clk/tegra/clk-periph-gate.c b/drivers/clk/tegra/clk-periph-gate.c
index 0aa8830..8df474c 100644
--- a/drivers/clk/tegra/clk-periph-gate.c
+++ b/drivers/clk/tegra/clk-periph-gate.c
@@ -20,8 +20,7 @@
 #include <linux/io.h>
 #include <linux/delay.h>
 #include <linux/err.h>
-
-#include <soc/tegra/fuse.h>
+#include <linux/efuse/tegra.h>
 
 #include "clk.h"
 
diff --git a/drivers/clk/tegra/clk.c b/drivers/clk/tegra/clk.c
index 9ddb754..02b2694 100644
--- a/drivers/clk/tegra/clk.c
+++ b/drivers/clk/tegra/clk.c
@@ -14,14 +14,13 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <linux/efuse/tegra.h>
 #include <linux/clk.h>
 #include <linux/clk-provider.h>
 #include <linux/of.h>
 #include <linux/clk/tegra.h>
 #include <linux/reset-controller.h>
 
-#include <soc/tegra/fuse.h>
-
 #include "clk.h"
 
 #define CLK_OUT_ENB_L			0x010
diff --git a/drivers/gpu/drm/nouveau/nouveau_platform.c b/drivers/gpu/drm/nouveau/nouveau_platform.c
index dc5900b..719f8a6 100644
--- a/drivers/gpu/drm/nouveau/nouveau_platform.c
+++ b/drivers/gpu/drm/nouveau/nouveau_platform.c
@@ -20,6 +20,7 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
+#include <linux/efuse/tegra.h>
 #include <linux/clk.h>
 #include <linux/io.h>
 #include <linux/module.h>
@@ -27,7 +28,6 @@
 #include <linux/of.h>
 #include <linux/reset.h>
 #include <linux/regulator/consumer.h>
-#include <soc/tegra/fuse.h>
 #include <soc/tegra/pmc.h>
 
 #include "nouveau_drm.h"
diff --git a/drivers/soc/tegra/fuse/fuse-tegra.c b/drivers/soc/tegra/fuse/fuse-tegra.c
index c0d660f..5e6656d 100644
--- a/drivers/soc/tegra/fuse/fuse-tegra.c
+++ b/drivers/soc/tegra/fuse/fuse-tegra.c
@@ -16,6 +16,7 @@
  */
 
 #include <linux/device.h>
+#include <linux/efuse/tegra.h>
 #include <linux/kobject.h>
 #include <linux/kernel.h>
 #include <linux/platform_device.h>
@@ -24,7 +25,6 @@
 #include <linux/io.h>
 
 #include <soc/tegra/common.h>
-#include <soc/tegra/fuse.h>
 
 #include "fuse.h"
 
diff --git a/drivers/soc/tegra/fuse/fuse-tegra20.c b/drivers/soc/tegra/fuse/fuse-tegra20.c
index 5eff6f0..08ce2fb 100644
--- a/drivers/soc/tegra/fuse/fuse-tegra20.c
+++ b/drivers/soc/tegra/fuse/fuse-tegra20.c
@@ -17,6 +17,7 @@
  */
 
 #include <linux/device.h>
+#include <linux/efuse/tegra.h>
 #include <linux/clk.h>
 #include <linux/completion.h>
 #include <linux/dmaengine.h>
@@ -29,8 +30,6 @@
 #include <linux/platform_device.h>
 #include <linux/random.h>
 
-#include <soc/tegra/fuse.h>
-
 #include "fuse.h"
 
 #define FUSE_BEGIN	0x100
diff --git a/drivers/soc/tegra/fuse/fuse-tegra30.c b/drivers/soc/tegra/fuse/fuse-tegra30.c
index 4d2f71b..574d7a9 100644
--- a/drivers/soc/tegra/fuse/fuse-tegra30.c
+++ b/drivers/soc/tegra/fuse/fuse-tegra30.c
@@ -16,6 +16,7 @@
  */
 
 #include <linux/device.h>
+#include <linux/efuse/tegra.h>
 #include <linux/clk.h>
 #include <linux/err.h>
 #include <linux/io.h>
@@ -25,8 +26,6 @@
 #include <linux/platform_device.h>
 #include <linux/random.h>
 
-#include <soc/tegra/fuse.h>
-
 #include "fuse.h"
 
 #define FUSE_BEGIN	0x100
diff --git a/drivers/soc/tegra/fuse/speedo-tegra114.c b/drivers/soc/tegra/fuse/speedo-tegra114.c
index 2a6ca03..8a4c9f1 100644
--- a/drivers/soc/tegra/fuse/speedo-tegra114.c
+++ b/drivers/soc/tegra/fuse/speedo-tegra114.c
@@ -16,10 +16,9 @@
 
 #include <linux/bug.h>
 #include <linux/device.h>
+#include <linux/efuse/tegra.h>
 #include <linux/kernel.h>
 
-#include <soc/tegra/fuse.h>
-
 #include "fuse.h"
 
 #define CORE_PROCESS_CORNERS	2
diff --git a/drivers/soc/tegra/fuse/speedo-tegra124.c b/drivers/soc/tegra/fuse/speedo-tegra124.c
index 4636238..0dd8c04 100644
--- a/drivers/soc/tegra/fuse/speedo-tegra124.c
+++ b/drivers/soc/tegra/fuse/speedo-tegra124.c
@@ -15,11 +15,10 @@
  */
 
 #include <linux/device.h>
+#include <linux/efuse/tegra.h>
 #include <linux/kernel.h>
 #include <linux/bug.h>
 
-#include <soc/tegra/fuse.h>
-
 #include "fuse.h"
 
 #define CPU_PROCESS_CORNERS	2
diff --git a/drivers/soc/tegra/fuse/speedo-tegra20.c b/drivers/soc/tegra/fuse/speedo-tegra20.c
index eff1b63..09b40ab 100644
--- a/drivers/soc/tegra/fuse/speedo-tegra20.c
+++ b/drivers/soc/tegra/fuse/speedo-tegra20.c
@@ -16,10 +16,9 @@
 
 #include <linux/bug.h>
 #include <linux/device.h>
+#include <linux/efuse/tegra.h>
 #include <linux/kernel.h>
 
-#include <soc/tegra/fuse.h>
-
 #include "fuse.h"
 
 #define CPU_SPEEDO_LSBIT		20
diff --git a/drivers/soc/tegra/fuse/speedo-tegra30.c b/drivers/soc/tegra/fuse/speedo-tegra30.c
index b17f0dc..65331d0 100644
--- a/drivers/soc/tegra/fuse/speedo-tegra30.c
+++ b/drivers/soc/tegra/fuse/speedo-tegra30.c
@@ -16,10 +16,9 @@
 
 #include <linux/bug.h>
 #include <linux/device.h>
+#include <linux/efuse/tegra.h>
 #include <linux/kernel.h>
 
-#include <soc/tegra/fuse.h>
-
 #include "fuse.h"
 
 #define CORE_PROCESS_CORNERS	1
diff --git a/drivers/soc/tegra/fuse/tegra-apbmisc.c b/drivers/soc/tegra/fuse/tegra-apbmisc.c
index 3bf5aba..31de5f8 100644
--- a/drivers/soc/tegra/fuse/tegra-apbmisc.c
+++ b/drivers/soc/tegra/fuse/tegra-apbmisc.c
@@ -15,13 +15,12 @@
  *
  */
 
+#include <linux/efuse/tegra.h>
 #include <linux/kernel.h>
 #include <linux/of.h>
 #include <linux/of_address.h>
 #include <linux/io.h>
 
-#include <soc/tegra/fuse.h>
-
 #include "fuse.h"
 
 #define APBMISC_BASE	0x70000800
diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c
index c956395..d901e4e 100644
--- a/drivers/soc/tegra/pmc.c
+++ b/drivers/soc/tegra/pmc.c
@@ -33,9 +33,9 @@
 #include <linux/reset.h>
 #include <linux/seq_file.h>
 #include <linux/spinlock.h>
+#include <linux/efuse/tegra.h>
 
 #include <soc/tegra/common.h>
-#include <soc/tegra/fuse.h>
 #include <soc/tegra/pmc.h>
 
 #define PMC_CNTRL			0x0
diff --git a/drivers/thermal/tegra_soctherm.c b/drivers/thermal/tegra_soctherm.c
index 9197fc0..daec2e7 100644
--- a/drivers/thermal/tegra_soctherm.c
+++ b/drivers/thermal/tegra_soctherm.c
@@ -19,6 +19,7 @@
 #include <linux/clk.h>
 #include <linux/delay.h>
 #include <linux/err.h>
+#include <linux/efuse/tegra.h>
 #include <linux/interrupt.h>
 #include <linux/io.h>
 #include <linux/module.h>
@@ -27,8 +28,6 @@
 #include <linux/reset.h>
 #include <linux/thermal.h>
 
-#include <soc/tegra/fuse.h>
-
 #define SENSOR_CONFIG0				0
 #define SENSOR_CONFIG0_STOP			BIT(0)
 #define SENSOR_CONFIG0_TALL_SHIFT		8
diff --git a/include/soc/tegra/fuse.h b/include/linux/efuse/tegra.h
similarity index 100%
rename from include/soc/tegra/fuse.h
rename to include/linux/efuse/tegra.h
-- 
2.3.0


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 2/7] soc: tegra: Move the fuse header to a separate directory
@ 2015-02-25 11:45   ` Ezequiel Garcia
  0 siblings, 0 replies; 25+ messages in thread
From: Ezequiel Garcia @ 2015-02-25 11:45 UTC (permalink / raw)
  To: linux-arm-kernel

As preparation work for the introduction of an eFuse subsystem,
this commit moves Tegra's fuse header and fixes the includes
where needed.

Cc: Thierry Reding <treding@nvidia.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Alexandre Courbot <gnurou@gmail.com>
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
---
 arch/arm/mach-tegra/cpuidle.c                     | 3 +--
 arch/arm/mach-tegra/flowctrl.c                    | 3 +--
 arch/arm/mach-tegra/hotplug.c                     | 2 +-
 arch/arm/mach-tegra/platsmp.c                     | 2 +-
 arch/arm/mach-tegra/pm.c                          | 2 +-
 arch/arm/mach-tegra/reset-handler.S               | 3 +--
 arch/arm/mach-tegra/reset.c                       | 3 +--
 arch/arm/mach-tegra/sleep-tegra30.S               | 3 +--
 arch/arm/mach-tegra/tegra.c                       | 2 +-
 drivers/ata/ahci_tegra.c                          | 2 +-
 drivers/clk/tegra/clk-periph-gate.c               | 3 +--
 drivers/clk/tegra/clk.c                           | 3 +--
 drivers/gpu/drm/nouveau/nouveau_platform.c        | 2 +-
 drivers/soc/tegra/fuse/fuse-tegra.c               | 2 +-
 drivers/soc/tegra/fuse/fuse-tegra20.c             | 3 +--
 drivers/soc/tegra/fuse/fuse-tegra30.c             | 3 +--
 drivers/soc/tegra/fuse/speedo-tegra114.c          | 3 +--
 drivers/soc/tegra/fuse/speedo-tegra124.c          | 3 +--
 drivers/soc/tegra/fuse/speedo-tegra20.c           | 3 +--
 drivers/soc/tegra/fuse/speedo-tegra30.c           | 3 +--
 drivers/soc/tegra/fuse/tegra-apbmisc.c            | 3 +--
 drivers/soc/tegra/pmc.c                           | 2 +-
 drivers/thermal/tegra_soctherm.c                  | 3 +--
 include/{soc/tegra/fuse.h => linux/efuse/tegra.h} | 0
 24 files changed, 23 insertions(+), 38 deletions(-)
 rename include/{soc/tegra/fuse.h => linux/efuse/tegra.h} (100%)

diff --git a/arch/arm/mach-tegra/cpuidle.c b/arch/arm/mach-tegra/cpuidle.c
index 3165631..62b8086 100644
--- a/arch/arm/mach-tegra/cpuidle.c
+++ b/arch/arm/mach-tegra/cpuidle.c
@@ -21,11 +21,10 @@
  * more details.
  */
 
+#include <linux/efuse/tegra.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 
-#include <soc/tegra/fuse.h>
-
 #include "cpuidle.h"
 
 void __init tegra_cpuidle_init(void)
diff --git a/arch/arm/mach-tegra/flowctrl.c b/arch/arm/mach-tegra/flowctrl.c
index 475e783..623c820 100644
--- a/arch/arm/mach-tegra/flowctrl.c
+++ b/arch/arm/mach-tegra/flowctrl.c
@@ -19,14 +19,13 @@
  */
 
 #include <linux/cpumask.h>
+#include <linux/efuse/tegra.h>
 #include <linux/init.h>
 #include <linux/io.h>
 #include <linux/kernel.h>
 #include <linux/of.h>
 #include <linux/of_address.h>
 
-#include <soc/tegra/fuse.h>
-
 #include "flowctrl.h"
 
 static u8 flowctrl_offset_halt_cpu[] = {
diff --git a/arch/arm/mach-tegra/hotplug.c b/arch/arm/mach-tegra/hotplug.c
index 6fc71f1..0d55820 100644
--- a/arch/arm/mach-tegra/hotplug.c
+++ b/arch/arm/mach-tegra/hotplug.c
@@ -9,11 +9,11 @@
  */
 
 #include <linux/clk/tegra.h>
+#include <linux/efuse/tegra.h>
 #include <linux/kernel.h>
 #include <linux/smp.h>
 
 #include <soc/tegra/common.h>
-#include <soc/tegra/fuse.h>
 
 #include <asm/smp_plat.h>
 
diff --git a/arch/arm/mach-tegra/platsmp.c b/arch/arm/mach-tegra/platsmp.c
index b450866..2c65404 100644
--- a/arch/arm/mach-tegra/platsmp.c
+++ b/arch/arm/mach-tegra/platsmp.c
@@ -15,13 +15,13 @@
 #include <linux/clk/tegra.h>
 #include <linux/delay.h>
 #include <linux/device.h>
+#include <linux/efuse/tegra.h>
 #include <linux/errno.h>
 #include <linux/init.h>
 #include <linux/io.h>
 #include <linux/jiffies.h>
 #include <linux/smp.h>
 
-#include <soc/tegra/fuse.h>
 #include <soc/tegra/pmc.h>
 
 #include <asm/cacheflush.h>
diff --git a/arch/arm/mach-tegra/pm.c b/arch/arm/mach-tegra/pm.c
index b0f48a3..7089444 100644
--- a/arch/arm/mach-tegra/pm.c
+++ b/arch/arm/mach-tegra/pm.c
@@ -20,6 +20,7 @@
 #include <linux/cpumask.h>
 #include <linux/cpu_pm.h>
 #include <linux/delay.h>
+#include <linux/efuse/tegra.h>
 #include <linux/err.h>
 #include <linux/io.h>
 #include <linux/kernel.h>
@@ -27,7 +28,6 @@
 #include <linux/spinlock.h>
 #include <linux/suspend.h>
 
-#include <soc/tegra/fuse.h>
 #include <soc/tegra/pm.h>
 #include <soc/tegra/pmc.h>
 
diff --git a/arch/arm/mach-tegra/reset-handler.S b/arch/arm/mach-tegra/reset-handler.S
index 71be4af..318fbcc 100644
--- a/arch/arm/mach-tegra/reset-handler.S
+++ b/arch/arm/mach-tegra/reset-handler.S
@@ -14,11 +14,10 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <linux/efuse/tegra.h>
 #include <linux/init.h>
 #include <linux/linkage.h>
 
-#include <soc/tegra/fuse.h>
-
 #include <asm/asm-offsets.h>
 #include <asm/cache.h>
 
diff --git a/arch/arm/mach-tegra/reset.c b/arch/arm/mach-tegra/reset.c
index 894c5c4..7fb3030 100644
--- a/arch/arm/mach-tegra/reset.c
+++ b/arch/arm/mach-tegra/reset.c
@@ -16,11 +16,10 @@
 
 #include <linux/bitops.h>
 #include <linux/cpumask.h>
+#include <linux/efuse/tegra.h>
 #include <linux/init.h>
 #include <linux/io.h>
 
-#include <soc/tegra/fuse.h>
-
 #include <asm/cacheflush.h>
 #include <asm/firmware.h>
 #include <asm/hardware/cache-l2x0.h>
diff --git a/arch/arm/mach-tegra/sleep-tegra30.S b/arch/arm/mach-tegra/sleep-tegra30.S
index 5d8d13a..e8c8946 100644
--- a/arch/arm/mach-tegra/sleep-tegra30.S
+++ b/arch/arm/mach-tegra/sleep-tegra30.S
@@ -14,10 +14,9 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <linux/efuse/tegra.h>
 #include <linux/linkage.h>
 
-#include <soc/tegra/fuse.h>
-
 #include <asm/asm-offsets.h>
 #include <asm/assembler.h>
 #include <asm/cache.h>
diff --git a/arch/arm/mach-tegra/tegra.c b/arch/arm/mach-tegra/tegra.c
index 914341b..b216403 100644
--- a/arch/arm/mach-tegra/tegra.c
+++ b/arch/arm/mach-tegra/tegra.c
@@ -19,6 +19,7 @@
 #include <linux/clk.h>
 #include <linux/clk/tegra.h>
 #include <linux/dma-mapping.h>
+#include <linux/efuse/tegra.h>
 #include <linux/init.h>
 #include <linux/io.h>
 #include <linux/irqchip.h>
@@ -35,7 +36,6 @@
 #include <linux/sys_soc.h>
 #include <linux/usb/tegra_usb_phy.h>
 
-#include <soc/tegra/fuse.h>
 #include <soc/tegra/pmc.h>
 
 #include <asm/hardware/cache-l2x0.h>
diff --git a/drivers/ata/ahci_tegra.c b/drivers/ata/ahci_tegra.c
index 3a62eb2..cbd4b43 100644
--- a/drivers/ata/ahci_tegra.c
+++ b/drivers/ata/ahci_tegra.c
@@ -19,6 +19,7 @@
 
 #include <linux/ahci_platform.h>
 #include <linux/errno.h>
+#include <linux/efuse/tegra.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/of_device.h>
@@ -26,7 +27,6 @@
 #include <linux/regulator/consumer.h>
 #include <linux/reset.h>
 
-#include <soc/tegra/fuse.h>
 #include <soc/tegra/pmc.h>
 
 #include "ahci.h"
diff --git a/drivers/clk/tegra/clk-periph-gate.c b/drivers/clk/tegra/clk-periph-gate.c
index 0aa8830..8df474c 100644
--- a/drivers/clk/tegra/clk-periph-gate.c
+++ b/drivers/clk/tegra/clk-periph-gate.c
@@ -20,8 +20,7 @@
 #include <linux/io.h>
 #include <linux/delay.h>
 #include <linux/err.h>
-
-#include <soc/tegra/fuse.h>
+#include <linux/efuse/tegra.h>
 
 #include "clk.h"
 
diff --git a/drivers/clk/tegra/clk.c b/drivers/clk/tegra/clk.c
index 9ddb754..02b2694 100644
--- a/drivers/clk/tegra/clk.c
+++ b/drivers/clk/tegra/clk.c
@@ -14,14 +14,13 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <linux/efuse/tegra.h>
 #include <linux/clk.h>
 #include <linux/clk-provider.h>
 #include <linux/of.h>
 #include <linux/clk/tegra.h>
 #include <linux/reset-controller.h>
 
-#include <soc/tegra/fuse.h>
-
 #include "clk.h"
 
 #define CLK_OUT_ENB_L			0x010
diff --git a/drivers/gpu/drm/nouveau/nouveau_platform.c b/drivers/gpu/drm/nouveau/nouveau_platform.c
index dc5900b..719f8a6 100644
--- a/drivers/gpu/drm/nouveau/nouveau_platform.c
+++ b/drivers/gpu/drm/nouveau/nouveau_platform.c
@@ -20,6 +20,7 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
+#include <linux/efuse/tegra.h>
 #include <linux/clk.h>
 #include <linux/io.h>
 #include <linux/module.h>
@@ -27,7 +28,6 @@
 #include <linux/of.h>
 #include <linux/reset.h>
 #include <linux/regulator/consumer.h>
-#include <soc/tegra/fuse.h>
 #include <soc/tegra/pmc.h>
 
 #include "nouveau_drm.h"
diff --git a/drivers/soc/tegra/fuse/fuse-tegra.c b/drivers/soc/tegra/fuse/fuse-tegra.c
index c0d660f..5e6656d 100644
--- a/drivers/soc/tegra/fuse/fuse-tegra.c
+++ b/drivers/soc/tegra/fuse/fuse-tegra.c
@@ -16,6 +16,7 @@
  */
 
 #include <linux/device.h>
+#include <linux/efuse/tegra.h>
 #include <linux/kobject.h>
 #include <linux/kernel.h>
 #include <linux/platform_device.h>
@@ -24,7 +25,6 @@
 #include <linux/io.h>
 
 #include <soc/tegra/common.h>
-#include <soc/tegra/fuse.h>
 
 #include "fuse.h"
 
diff --git a/drivers/soc/tegra/fuse/fuse-tegra20.c b/drivers/soc/tegra/fuse/fuse-tegra20.c
index 5eff6f0..08ce2fb 100644
--- a/drivers/soc/tegra/fuse/fuse-tegra20.c
+++ b/drivers/soc/tegra/fuse/fuse-tegra20.c
@@ -17,6 +17,7 @@
  */
 
 #include <linux/device.h>
+#include <linux/efuse/tegra.h>
 #include <linux/clk.h>
 #include <linux/completion.h>
 #include <linux/dmaengine.h>
@@ -29,8 +30,6 @@
 #include <linux/platform_device.h>
 #include <linux/random.h>
 
-#include <soc/tegra/fuse.h>
-
 #include "fuse.h"
 
 #define FUSE_BEGIN	0x100
diff --git a/drivers/soc/tegra/fuse/fuse-tegra30.c b/drivers/soc/tegra/fuse/fuse-tegra30.c
index 4d2f71b..574d7a9 100644
--- a/drivers/soc/tegra/fuse/fuse-tegra30.c
+++ b/drivers/soc/tegra/fuse/fuse-tegra30.c
@@ -16,6 +16,7 @@
  */
 
 #include <linux/device.h>
+#include <linux/efuse/tegra.h>
 #include <linux/clk.h>
 #include <linux/err.h>
 #include <linux/io.h>
@@ -25,8 +26,6 @@
 #include <linux/platform_device.h>
 #include <linux/random.h>
 
-#include <soc/tegra/fuse.h>
-
 #include "fuse.h"
 
 #define FUSE_BEGIN	0x100
diff --git a/drivers/soc/tegra/fuse/speedo-tegra114.c b/drivers/soc/tegra/fuse/speedo-tegra114.c
index 2a6ca03..8a4c9f1 100644
--- a/drivers/soc/tegra/fuse/speedo-tegra114.c
+++ b/drivers/soc/tegra/fuse/speedo-tegra114.c
@@ -16,10 +16,9 @@
 
 #include <linux/bug.h>
 #include <linux/device.h>
+#include <linux/efuse/tegra.h>
 #include <linux/kernel.h>
 
-#include <soc/tegra/fuse.h>
-
 #include "fuse.h"
 
 #define CORE_PROCESS_CORNERS	2
diff --git a/drivers/soc/tegra/fuse/speedo-tegra124.c b/drivers/soc/tegra/fuse/speedo-tegra124.c
index 4636238..0dd8c04 100644
--- a/drivers/soc/tegra/fuse/speedo-tegra124.c
+++ b/drivers/soc/tegra/fuse/speedo-tegra124.c
@@ -15,11 +15,10 @@
  */
 
 #include <linux/device.h>
+#include <linux/efuse/tegra.h>
 #include <linux/kernel.h>
 #include <linux/bug.h>
 
-#include <soc/tegra/fuse.h>
-
 #include "fuse.h"
 
 #define CPU_PROCESS_CORNERS	2
diff --git a/drivers/soc/tegra/fuse/speedo-tegra20.c b/drivers/soc/tegra/fuse/speedo-tegra20.c
index eff1b63..09b40ab 100644
--- a/drivers/soc/tegra/fuse/speedo-tegra20.c
+++ b/drivers/soc/tegra/fuse/speedo-tegra20.c
@@ -16,10 +16,9 @@
 
 #include <linux/bug.h>
 #include <linux/device.h>
+#include <linux/efuse/tegra.h>
 #include <linux/kernel.h>
 
-#include <soc/tegra/fuse.h>
-
 #include "fuse.h"
 
 #define CPU_SPEEDO_LSBIT		20
diff --git a/drivers/soc/tegra/fuse/speedo-tegra30.c b/drivers/soc/tegra/fuse/speedo-tegra30.c
index b17f0dc..65331d0 100644
--- a/drivers/soc/tegra/fuse/speedo-tegra30.c
+++ b/drivers/soc/tegra/fuse/speedo-tegra30.c
@@ -16,10 +16,9 @@
 
 #include <linux/bug.h>
 #include <linux/device.h>
+#include <linux/efuse/tegra.h>
 #include <linux/kernel.h>
 
-#include <soc/tegra/fuse.h>
-
 #include "fuse.h"
 
 #define CORE_PROCESS_CORNERS	1
diff --git a/drivers/soc/tegra/fuse/tegra-apbmisc.c b/drivers/soc/tegra/fuse/tegra-apbmisc.c
index 3bf5aba..31de5f8 100644
--- a/drivers/soc/tegra/fuse/tegra-apbmisc.c
+++ b/drivers/soc/tegra/fuse/tegra-apbmisc.c
@@ -15,13 +15,12 @@
  *
  */
 
+#include <linux/efuse/tegra.h>
 #include <linux/kernel.h>
 #include <linux/of.h>
 #include <linux/of_address.h>
 #include <linux/io.h>
 
-#include <soc/tegra/fuse.h>
-
 #include "fuse.h"
 
 #define APBMISC_BASE	0x70000800
diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c
index c956395..d901e4e 100644
--- a/drivers/soc/tegra/pmc.c
+++ b/drivers/soc/tegra/pmc.c
@@ -33,9 +33,9 @@
 #include <linux/reset.h>
 #include <linux/seq_file.h>
 #include <linux/spinlock.h>
+#include <linux/efuse/tegra.h>
 
 #include <soc/tegra/common.h>
-#include <soc/tegra/fuse.h>
 #include <soc/tegra/pmc.h>
 
 #define PMC_CNTRL			0x0
diff --git a/drivers/thermal/tegra_soctherm.c b/drivers/thermal/tegra_soctherm.c
index 9197fc0..daec2e7 100644
--- a/drivers/thermal/tegra_soctherm.c
+++ b/drivers/thermal/tegra_soctherm.c
@@ -19,6 +19,7 @@
 #include <linux/clk.h>
 #include <linux/delay.h>
 #include <linux/err.h>
+#include <linux/efuse/tegra.h>
 #include <linux/interrupt.h>
 #include <linux/io.h>
 #include <linux/module.h>
@@ -27,8 +28,6 @@
 #include <linux/reset.h>
 #include <linux/thermal.h>
 
-#include <soc/tegra/fuse.h>
-
 #define SENSOR_CONFIG0				0
 #define SENSOR_CONFIG0_STOP			BIT(0)
 #define SENSOR_CONFIG0_TALL_SHIFT		8
diff --git a/include/soc/tegra/fuse.h b/include/linux/efuse/tegra.h
similarity index 100%
rename from include/soc/tegra/fuse.h
rename to include/linux/efuse/tegra.h
-- 
2.3.0

^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 3/7] drivers: Introduce new eFuse subsystem stub
  2015-02-25 11:45 ` Ezequiel Garcia
@ 2015-02-25 11:45   ` Ezequiel Garcia
  -1 siblings, 0 replies; 25+ messages in thread
From: Ezequiel Garcia @ 2015-02-25 11:45 UTC (permalink / raw)
  To: Thierry Reding, Stephen Warren, Arnd Bergmann, Maxime Ripard,
	Andrew Bresticker, James Hartley
  Cc: linux-arm-kernel, linux-kernel, Ezequiel Garcia, Thierry Reding,
	Stefan Wahren

This commit introduces a new eFuse subsystem stub to hold all the eFuse-like
device drivers. This will be used to host the currently supported Tegra
eFuse driver, and will allow to add support for other platforms as well.

Cc: Thierry Reding <treding@nvidia.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
---
 drivers/Kconfig        | 2 ++
 drivers/Makefile       | 1 +
 drivers/efuse/Kconfig  | 3 +++
 drivers/efuse/Makefile | 0
 4 files changed, 6 insertions(+)
 create mode 100644 drivers/efuse/Kconfig
 create mode 100644 drivers/efuse/Makefile

diff --git a/drivers/Kconfig b/drivers/Kconfig
index c0cc96b..9c0d93d 100644
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -146,6 +146,8 @@ source "drivers/remoteproc/Kconfig"
 
 source "drivers/rpmsg/Kconfig"
 
+source "drivers/efuse/Kconfig"
+
 source "drivers/soc/Kconfig"
 
 source "drivers/devfreq/Kconfig"
diff --git a/drivers/Makefile b/drivers/Makefile
index 527a6da..5572728 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -34,6 +34,7 @@ obj-y				+= amba/
 obj-$(CONFIG_DMADEVICES)	+= dma/
 
 # SOC specific infrastructure drivers.
+obj-y				+= efuse/
 obj-y				+= soc/
 
 obj-$(CONFIG_VIRTIO)		+= virtio/
diff --git a/drivers/efuse/Kconfig b/drivers/efuse/Kconfig
new file mode 100644
index 0000000..617476f
--- /dev/null
+++ b/drivers/efuse/Kconfig
@@ -0,0 +1,3 @@
+menu "eFuse drivers"
+
+endmenu
diff --git a/drivers/efuse/Makefile b/drivers/efuse/Makefile
new file mode 100644
index 0000000..e69de29
-- 
2.3.0


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 3/7] drivers: Introduce new eFuse subsystem stub
@ 2015-02-25 11:45   ` Ezequiel Garcia
  0 siblings, 0 replies; 25+ messages in thread
From: Ezequiel Garcia @ 2015-02-25 11:45 UTC (permalink / raw)
  To: linux-arm-kernel

This commit introduces a new eFuse subsystem stub to hold all the eFuse-like
device drivers. This will be used to host the currently supported Tegra
eFuse driver, and will allow to add support for other platforms as well.

Cc: Thierry Reding <treding@nvidia.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
---
 drivers/Kconfig        | 2 ++
 drivers/Makefile       | 1 +
 drivers/efuse/Kconfig  | 3 +++
 drivers/efuse/Makefile | 0
 4 files changed, 6 insertions(+)
 create mode 100644 drivers/efuse/Kconfig
 create mode 100644 drivers/efuse/Makefile

diff --git a/drivers/Kconfig b/drivers/Kconfig
index c0cc96b..9c0d93d 100644
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -146,6 +146,8 @@ source "drivers/remoteproc/Kconfig"
 
 source "drivers/rpmsg/Kconfig"
 
+source "drivers/efuse/Kconfig"
+
 source "drivers/soc/Kconfig"
 
 source "drivers/devfreq/Kconfig"
diff --git a/drivers/Makefile b/drivers/Makefile
index 527a6da..5572728 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -34,6 +34,7 @@ obj-y				+= amba/
 obj-$(CONFIG_DMADEVICES)	+= dma/
 
 # SOC specific infrastructure drivers.
+obj-y				+= efuse/
 obj-y				+= soc/
 
 obj-$(CONFIG_VIRTIO)		+= virtio/
diff --git a/drivers/efuse/Kconfig b/drivers/efuse/Kconfig
new file mode 100644
index 0000000..617476f
--- /dev/null
+++ b/drivers/efuse/Kconfig
@@ -0,0 +1,3 @@
+menu "eFuse drivers"
+
+endmenu
diff --git a/drivers/efuse/Makefile b/drivers/efuse/Makefile
new file mode 100644
index 0000000..e69de29
-- 
2.3.0

^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 4/7] efuse: Move Tegra efuse driver
  2015-02-25 11:45 ` Ezequiel Garcia
@ 2015-02-25 11:45   ` Ezequiel Garcia
  -1 siblings, 0 replies; 25+ messages in thread
From: Ezequiel Garcia @ 2015-02-25 11:45 UTC (permalink / raw)
  To: Thierry Reding, Stephen Warren, Arnd Bergmann, Maxime Ripard,
	Andrew Bresticker, James Hartley
  Cc: linux-arm-kernel, linux-kernel, Ezequiel Garcia, Alexandre Courbot

Now that the efuse subsystem has been introduced, move the Tegra efuse driver
from drivers/soc/tegra/fuse/ to drivers/efuse/tegra. For now, there's no
generic efuse API. However, by having the drivers in a unified location it is
expected that such API will arise easier once support for more devices is added.

Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Alexandre Courbot <gnurou@gmail.com>
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
---
 drivers/efuse/Kconfig                                     | 7 +++++++
 drivers/efuse/Makefile                                    | 1 +
 drivers/{soc/tegra/fuse => efuse/tegra}/Makefile          | 0
 drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra.c      | 0
 drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra20.c    | 0
 drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra30.c    | 0
 drivers/{soc/tegra/fuse => efuse/tegra}/fuse.h            | 0
 drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra114.c | 0
 drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra124.c | 0
 drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra20.c  | 0
 drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra30.c  | 0
 drivers/{soc/tegra/fuse => efuse/tegra}/tegra-apbmisc.c   | 0
 drivers/soc/tegra/Makefile                                | 2 --
 13 files changed, 8 insertions(+), 2 deletions(-)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/Makefile (100%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra.c (100%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra20.c (100%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra30.c (100%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/fuse.h (100%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra114.c (100%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra124.c (100%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra20.c (100%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra30.c (100%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/tegra-apbmisc.c (100%)

diff --git a/drivers/efuse/Kconfig b/drivers/efuse/Kconfig
index 617476f..b84e06b 100644
--- a/drivers/efuse/Kconfig
+++ b/drivers/efuse/Kconfig
@@ -1,3 +1,10 @@
 menu "eFuse drivers"
 
+config EFUSE_TEGRA
+	bool
+	depends on ARCH_TEGRA
+	help
+	  Support for the eFuses available on Tegra SoCs
+
+
 endmenu
diff --git a/drivers/efuse/Makefile b/drivers/efuse/Makefile
index e69de29..b69a0d6 100644
--- a/drivers/efuse/Makefile
+++ b/drivers/efuse/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_EFUSE_TEGRA)	+= tegra/
diff --git a/drivers/soc/tegra/fuse/Makefile b/drivers/efuse/tegra/Makefile
similarity index 100%
rename from drivers/soc/tegra/fuse/Makefile
rename to drivers/efuse/tegra/Makefile
diff --git a/drivers/soc/tegra/fuse/fuse-tegra.c b/drivers/efuse/tegra/fuse-tegra.c
similarity index 100%
rename from drivers/soc/tegra/fuse/fuse-tegra.c
rename to drivers/efuse/tegra/fuse-tegra.c
diff --git a/drivers/soc/tegra/fuse/fuse-tegra20.c b/drivers/efuse/tegra/fuse-tegra20.c
similarity index 100%
rename from drivers/soc/tegra/fuse/fuse-tegra20.c
rename to drivers/efuse/tegra/fuse-tegra20.c
diff --git a/drivers/soc/tegra/fuse/fuse-tegra30.c b/drivers/efuse/tegra/fuse-tegra30.c
similarity index 100%
rename from drivers/soc/tegra/fuse/fuse-tegra30.c
rename to drivers/efuse/tegra/fuse-tegra30.c
diff --git a/drivers/soc/tegra/fuse/fuse.h b/drivers/efuse/tegra/fuse.h
similarity index 100%
rename from drivers/soc/tegra/fuse/fuse.h
rename to drivers/efuse/tegra/fuse.h
diff --git a/drivers/soc/tegra/fuse/speedo-tegra114.c b/drivers/efuse/tegra/speedo-tegra114.c
similarity index 100%
rename from drivers/soc/tegra/fuse/speedo-tegra114.c
rename to drivers/efuse/tegra/speedo-tegra114.c
diff --git a/drivers/soc/tegra/fuse/speedo-tegra124.c b/drivers/efuse/tegra/speedo-tegra124.c
similarity index 100%
rename from drivers/soc/tegra/fuse/speedo-tegra124.c
rename to drivers/efuse/tegra/speedo-tegra124.c
diff --git a/drivers/soc/tegra/fuse/speedo-tegra20.c b/drivers/efuse/tegra/speedo-tegra20.c
similarity index 100%
rename from drivers/soc/tegra/fuse/speedo-tegra20.c
rename to drivers/efuse/tegra/speedo-tegra20.c
diff --git a/drivers/soc/tegra/fuse/speedo-tegra30.c b/drivers/efuse/tegra/speedo-tegra30.c
similarity index 100%
rename from drivers/soc/tegra/fuse/speedo-tegra30.c
rename to drivers/efuse/tegra/speedo-tegra30.c
diff --git a/drivers/soc/tegra/fuse/tegra-apbmisc.c b/drivers/efuse/tegra/tegra-apbmisc.c
similarity index 100%
rename from drivers/soc/tegra/fuse/tegra-apbmisc.c
rename to drivers/efuse/tegra/tegra-apbmisc.c
diff --git a/drivers/soc/tegra/Makefile b/drivers/soc/tegra/Makefile
index cdaad9d..23a0f64 100644
--- a/drivers/soc/tegra/Makefile
+++ b/drivers/soc/tegra/Makefile
@@ -1,4 +1,2 @@
-obj-$(CONFIG_ARCH_TEGRA) += fuse/
-
 obj-$(CONFIG_ARCH_TEGRA) += common.o
 obj-$(CONFIG_ARCH_TEGRA) += pmc.o
-- 
2.3.0


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 4/7] efuse: Move Tegra efuse driver
@ 2015-02-25 11:45   ` Ezequiel Garcia
  0 siblings, 0 replies; 25+ messages in thread
From: Ezequiel Garcia @ 2015-02-25 11:45 UTC (permalink / raw)
  To: linux-arm-kernel

Now that the efuse subsystem has been introduced, move the Tegra efuse driver
from drivers/soc/tegra/fuse/ to drivers/efuse/tegra. For now, there's no
generic efuse API. However, by having the drivers in a unified location it is
expected that such API will arise easier once support for more devices is added.

Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Alexandre Courbot <gnurou@gmail.com>
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
---
 drivers/efuse/Kconfig                                     | 7 +++++++
 drivers/efuse/Makefile                                    | 1 +
 drivers/{soc/tegra/fuse => efuse/tegra}/Makefile          | 0
 drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra.c      | 0
 drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra20.c    | 0
 drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra30.c    | 0
 drivers/{soc/tegra/fuse => efuse/tegra}/fuse.h            | 0
 drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra114.c | 0
 drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra124.c | 0
 drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra20.c  | 0
 drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra30.c  | 0
 drivers/{soc/tegra/fuse => efuse/tegra}/tegra-apbmisc.c   | 0
 drivers/soc/tegra/Makefile                                | 2 --
 13 files changed, 8 insertions(+), 2 deletions(-)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/Makefile (100%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra.c (100%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra20.c (100%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra30.c (100%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/fuse.h (100%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra114.c (100%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra124.c (100%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra20.c (100%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra30.c (100%)
 rename drivers/{soc/tegra/fuse => efuse/tegra}/tegra-apbmisc.c (100%)

diff --git a/drivers/efuse/Kconfig b/drivers/efuse/Kconfig
index 617476f..b84e06b 100644
--- a/drivers/efuse/Kconfig
+++ b/drivers/efuse/Kconfig
@@ -1,3 +1,10 @@
 menu "eFuse drivers"
 
+config EFUSE_TEGRA
+	bool
+	depends on ARCH_TEGRA
+	help
+	  Support for the eFuses available on Tegra SoCs
+
+
 endmenu
diff --git a/drivers/efuse/Makefile b/drivers/efuse/Makefile
index e69de29..b69a0d6 100644
--- a/drivers/efuse/Makefile
+++ b/drivers/efuse/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_EFUSE_TEGRA)	+= tegra/
diff --git a/drivers/soc/tegra/fuse/Makefile b/drivers/efuse/tegra/Makefile
similarity index 100%
rename from drivers/soc/tegra/fuse/Makefile
rename to drivers/efuse/tegra/Makefile
diff --git a/drivers/soc/tegra/fuse/fuse-tegra.c b/drivers/efuse/tegra/fuse-tegra.c
similarity index 100%
rename from drivers/soc/tegra/fuse/fuse-tegra.c
rename to drivers/efuse/tegra/fuse-tegra.c
diff --git a/drivers/soc/tegra/fuse/fuse-tegra20.c b/drivers/efuse/tegra/fuse-tegra20.c
similarity index 100%
rename from drivers/soc/tegra/fuse/fuse-tegra20.c
rename to drivers/efuse/tegra/fuse-tegra20.c
diff --git a/drivers/soc/tegra/fuse/fuse-tegra30.c b/drivers/efuse/tegra/fuse-tegra30.c
similarity index 100%
rename from drivers/soc/tegra/fuse/fuse-tegra30.c
rename to drivers/efuse/tegra/fuse-tegra30.c
diff --git a/drivers/soc/tegra/fuse/fuse.h b/drivers/efuse/tegra/fuse.h
similarity index 100%
rename from drivers/soc/tegra/fuse/fuse.h
rename to drivers/efuse/tegra/fuse.h
diff --git a/drivers/soc/tegra/fuse/speedo-tegra114.c b/drivers/efuse/tegra/speedo-tegra114.c
similarity index 100%
rename from drivers/soc/tegra/fuse/speedo-tegra114.c
rename to drivers/efuse/tegra/speedo-tegra114.c
diff --git a/drivers/soc/tegra/fuse/speedo-tegra124.c b/drivers/efuse/tegra/speedo-tegra124.c
similarity index 100%
rename from drivers/soc/tegra/fuse/speedo-tegra124.c
rename to drivers/efuse/tegra/speedo-tegra124.c
diff --git a/drivers/soc/tegra/fuse/speedo-tegra20.c b/drivers/efuse/tegra/speedo-tegra20.c
similarity index 100%
rename from drivers/soc/tegra/fuse/speedo-tegra20.c
rename to drivers/efuse/tegra/speedo-tegra20.c
diff --git a/drivers/soc/tegra/fuse/speedo-tegra30.c b/drivers/efuse/tegra/speedo-tegra30.c
similarity index 100%
rename from drivers/soc/tegra/fuse/speedo-tegra30.c
rename to drivers/efuse/tegra/speedo-tegra30.c
diff --git a/drivers/soc/tegra/fuse/tegra-apbmisc.c b/drivers/efuse/tegra/tegra-apbmisc.c
similarity index 100%
rename from drivers/soc/tegra/fuse/tegra-apbmisc.c
rename to drivers/efuse/tegra/tegra-apbmisc.c
diff --git a/drivers/soc/tegra/Makefile b/drivers/soc/tegra/Makefile
index cdaad9d..23a0f64 100644
--- a/drivers/soc/tegra/Makefile
+++ b/drivers/soc/tegra/Makefile
@@ -1,4 +1,2 @@
-obj-$(CONFIG_ARCH_TEGRA) += fuse/
-
 obj-$(CONFIG_ARCH_TEGRA) += common.o
 obj-$(CONFIG_ARCH_TEGRA) += pmc.o
-- 
2.3.0

^ permalink raw reply related	[flat|nested] 25+ messages in thread

* Re: [PATCH 0/7] New eFuse subsystem
  2015-02-25 11:45 ` Ezequiel Garcia
@ 2015-02-25 12:02   ` Maxime Ripard
  -1 siblings, 0 replies; 25+ messages in thread
From: Maxime Ripard @ 2015-02-25 12:02 UTC (permalink / raw)
  To: Ezequiel Garcia
  Cc: Thierry Reding, Stephen Warren, Arnd Bergmann, Andrew Bresticker,
	James Hartley, linux-arm-kernel, linux-kernel

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

Hi Ezequiel,

On Wed, Feb 25, 2015 at 08:45:12AM -0300, Ezequiel Garcia wrote:
> This patchset introduces a new driver subsystem, meant to support eFuse
> (alias OTP, one-time-programmable) devices.
> 
> The motivation behind this work is to have a common place for drivers
> that are currently more or less scattered: the tegra efuses are in
> drivers/soc/ and the sunxi efuses in drivers/misc/eeprom.
> 
> For now, there's no proposal for a generic efuse API. Instead, we simply
> group the drivers together.
> 
> This patchset is the result of the initial submission for IMG Pistachio
> eFuse support [1]. Our first proposal was to follow the Tegra efuse, and
> put the Pistachio efuse in drivers/soc. After some discussion we finally
> agreed [2] to first create an efuse directoy, and then put all efuse drivers
> in it.
> 
> As always, all comments are welcome!
> 
> [1] http://www.spinics.net/lists/devicetree/msg59246.html
> [2] http://www.spinics.net/lists/arm-kernel/msg389325.html

Have you looked at the EEPROM framework currently in discussions? The
two seems to be covering pretty much the same use cases.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH 0/7] New eFuse subsystem
@ 2015-02-25 12:02   ` Maxime Ripard
  0 siblings, 0 replies; 25+ messages in thread
From: Maxime Ripard @ 2015-02-25 12:02 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Ezequiel,

On Wed, Feb 25, 2015 at 08:45:12AM -0300, Ezequiel Garcia wrote:
> This patchset introduces a new driver subsystem, meant to support eFuse
> (alias OTP, one-time-programmable) devices.
> 
> The motivation behind this work is to have a common place for drivers
> that are currently more or less scattered: the tegra efuses are in
> drivers/soc/ and the sunxi efuses in drivers/misc/eeprom.
> 
> For now, there's no proposal for a generic efuse API. Instead, we simply
> group the drivers together.
> 
> This patchset is the result of the initial submission for IMG Pistachio
> eFuse support [1]. Our first proposal was to follow the Tegra efuse, and
> put the Pistachio efuse in drivers/soc. After some discussion we finally
> agreed [2] to first create an efuse directoy, and then put all efuse drivers
> in it.
> 
> As always, all comments are welcome!
> 
> [1] http://www.spinics.net/lists/devicetree/msg59246.html
> [2] http://www.spinics.net/lists/arm-kernel/msg389325.html

Have you looked at the EEPROM framework currently in discussions? The
two seems to be covering pretty much the same use cases.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150225/ca06db6f/attachment.sig>

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH 3/7] drivers: Introduce new eFuse subsystem stub
@ 2015-02-25 12:29     ` Stefan Wahren
  0 siblings, 0 replies; 25+ messages in thread
From: Stefan Wahren @ 2015-02-25 12:29 UTC (permalink / raw)
  To: Ezequiel Garcia, Thierry Reding, Stephen Warren, Arnd Bergmann,
	Maxime Ripard, Andrew Bresticker, James Hartley
  Cc: Thierry Reding, linux-kernel, linux-arm-kernel, devicetree

Hi,

[adding devicetree list]

Am 25.02.2015 um 12:45 schrieb Ezequiel Garcia:
> This commit introduces a new eFuse subsystem stub to hold all the eFuse-like
> device drivers. This will be used to host the currently supported Tegra
> eFuse driver, and will allow to add support for other platforms as well.

as i mentioned in the old discussion it would be nice to keep drivers
and devicetree binding documentation consistent.

So how about renaming?

Documentation/devicetree/bindings/fuse/ ->
Documentation/devicetree/bindings/efuse/

Best regards
Stefan





^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH 3/7] drivers: Introduce new eFuse subsystem stub
@ 2015-02-25 12:29     ` Stefan Wahren
  0 siblings, 0 replies; 25+ messages in thread
From: Stefan Wahren @ 2015-02-25 12:29 UTC (permalink / raw)
  To: Ezequiel Garcia, Thierry Reding, Stephen Warren, Arnd Bergmann,
	Maxime Ripard, Andrew Bresticker, James Hartley
  Cc: Thierry Reding, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	devicetree-u79uwXL29TY76Z2rM5mHXA

Hi,

[adding devicetree list]

Am 25.02.2015 um 12:45 schrieb Ezequiel Garcia:
> This commit introduces a new eFuse subsystem stub to hold all the eFuse-like
> device drivers. This will be used to host the currently supported Tegra
> eFuse driver, and will allow to add support for other platforms as well.

as i mentioned in the old discussion it would be nice to keep drivers
and devicetree binding documentation consistent.

So how about renaming?

Documentation/devicetree/bindings/fuse/ ->
Documentation/devicetree/bindings/efuse/

Best regards
Stefan




--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH 3/7] drivers: Introduce new eFuse subsystem stub
@ 2015-02-25 12:29     ` Stefan Wahren
  0 siblings, 0 replies; 25+ messages in thread
From: Stefan Wahren @ 2015-02-25 12:29 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

[adding devicetree list]

Am 25.02.2015 um 12:45 schrieb Ezequiel Garcia:
> This commit introduces a new eFuse subsystem stub to hold all the eFuse-like
> device drivers. This will be used to host the currently supported Tegra
> eFuse driver, and will allow to add support for other platforms as well.

as i mentioned in the old discussion it would be nice to keep drivers
and devicetree binding documentation consistent.

So how about renaming?

Documentation/devicetree/bindings/fuse/ ->
Documentation/devicetree/bindings/efuse/

Best regards
Stefan

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH 0/7] New eFuse subsystem
  2015-02-25 12:02   ` Maxime Ripard
@ 2015-02-25 12:30     ` Ezequiel Garcia
  -1 siblings, 0 replies; 25+ messages in thread
From: Ezequiel Garcia @ 2015-02-25 12:30 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Thierry Reding, Stephen Warren, Arnd Bergmann, Andrew Bresticker,
	James Hartley, linux-arm-kernel, linux-kernel



On 02/25/2015 09:02 AM, Maxime Ripard wrote:
> Hi Ezequiel,
> 
> On Wed, Feb 25, 2015 at 08:45:12AM -0300, Ezequiel Garcia wrote:
>> This patchset introduces a new driver subsystem, meant to support eFuse
>> (alias OTP, one-time-programmable) devices.
>>
>> The motivation behind this work is to have a common place for drivers
>> that are currently more or less scattered: the tegra efuses are in
>> drivers/soc/ and the sunxi efuses in drivers/misc/eeprom.
>>
>> For now, there's no proposal for a generic efuse API. Instead, we simply
>> group the drivers together.
>>
>> This patchset is the result of the initial submission for IMG Pistachio
>> eFuse support [1]. Our first proposal was to follow the Tegra efuse, and
>> put the Pistachio efuse in drivers/soc. After some discussion we finally
>> agreed [2] to first create an efuse directoy, and then put all efuse drivers
>> in it.
>>
>> As always, all comments are welcome!
>>
>> [1] http://www.spinics.net/lists/devicetree/msg59246.html
>> [2] http://www.spinics.net/lists/arm-kernel/msg389325.html
> 
> Have you looked at the EEPROM framework currently in discussions? The
> two seems to be covering pretty much the same use cases.
> 

Nope, I was obviously unaware of that. Guess we'll wait until the
discussion is settled and use that framework.

Thanks!
-- 
Ezequiel

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH 0/7] New eFuse subsystem
@ 2015-02-25 12:30     ` Ezequiel Garcia
  0 siblings, 0 replies; 25+ messages in thread
From: Ezequiel Garcia @ 2015-02-25 12:30 UTC (permalink / raw)
  To: linux-arm-kernel



On 02/25/2015 09:02 AM, Maxime Ripard wrote:
> Hi Ezequiel,
> 
> On Wed, Feb 25, 2015 at 08:45:12AM -0300, Ezequiel Garcia wrote:
>> This patchset introduces a new driver subsystem, meant to support eFuse
>> (alias OTP, one-time-programmable) devices.
>>
>> The motivation behind this work is to have a common place for drivers
>> that are currently more or less scattered: the tegra efuses are in
>> drivers/soc/ and the sunxi efuses in drivers/misc/eeprom.
>>
>> For now, there's no proposal for a generic efuse API. Instead, we simply
>> group the drivers together.
>>
>> This patchset is the result of the initial submission for IMG Pistachio
>> eFuse support [1]. Our first proposal was to follow the Tegra efuse, and
>> put the Pistachio efuse in drivers/soc. After some discussion we finally
>> agreed [2] to first create an efuse directoy, and then put all efuse drivers
>> in it.
>>
>> As always, all comments are welcome!
>>
>> [1] http://www.spinics.net/lists/devicetree/msg59246.html
>> [2] http://www.spinics.net/lists/arm-kernel/msg389325.html
> 
> Have you looked at the EEPROM framework currently in discussions? The
> two seems to be covering pretty much the same use cases.
> 

Nope, I was obviously unaware of that. Guess we'll wait until the
discussion is settled and use that framework.

Thanks!
-- 
Ezequiel

^ permalink raw reply	[flat|nested] 25+ messages in thread

* RE: [PATCH 0/7] New eFuse subsystem
  2015-02-25 12:30     ` Ezequiel Garcia
@ 2015-02-25 13:12       ` James Hartley
  -1 siblings, 0 replies; 25+ messages in thread
From: James Hartley @ 2015-02-25 13:12 UTC (permalink / raw)
  To: Ezequiel Garcia, Maxime Ripard
  Cc: Thierry Reding, Stephen Warren, Arnd Bergmann, Andrew Bresticker,
	linux-arm-kernel, linux-kernel

Hi Maxime, 

> -----Original Message-----
> From: Ezequiel Garcia
> Sent: 25 February 2015 12:30
> To: Maxime Ripard
> Cc: Thierry Reding; Stephen Warren; Arnd Bergmann; Andrew Bresticker;
> James Hartley; linux-arm-kernel@lists.infradead.org; linux-
> kernel@vger.kernel.org
> Subject: Re: [PATCH 0/7] New eFuse subsystem
> 
> 
> 
> On 02/25/2015 09:02 AM, Maxime Ripard wrote:
> > Hi Ezequiel,
> >
> > On Wed, Feb 25, 2015 at 08:45:12AM -0300, Ezequiel Garcia wrote:
> >> This patchset introduces a new driver subsystem, meant to support
> >> eFuse (alias OTP, one-time-programmable) devices.
> >>
> >> The motivation behind this work is to have a common place for drivers
> >> that are currently more or less scattered: the tegra efuses are in
> >> drivers/soc/ and the sunxi efuses in drivers/misc/eeprom.
> >>
> >> For now, there's no proposal for a generic efuse API. Instead, we
> >> simply group the drivers together.
> >>
> >> This patchset is the result of the initial submission for IMG
> >> Pistachio eFuse support [1]. Our first proposal was to follow the
> >> Tegra efuse, and put the Pistachio efuse in drivers/soc. After some
> >> discussion we finally agreed [2] to first create an efuse directoy,
> >> and then put all efuse drivers in it.
> >>
> >> As always, all comments are welcome!
> >>
> >> [1] http://www.spinics.net/lists/devicetree/msg59246.html
> >> [2] http://www.spinics.net/lists/arm-kernel/msg389325.html
> >
> > Have you looked at the EEPROM framework currently in discussions? The
> > two seems to be covering pretty much the same use cases.
> >

Shouldn't this be a PROM framework if it is going to support both EEPROM and EFUSE/QFPROM, or am I missing something here (since an eFuse is not eraseable)?  

> 
> Nope, I was obviously unaware of that. Guess we'll wait until the discussion is
> settled and use that framework.
> 
> Thanks!
> --
> Ezequiel

Thanks,
James.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH 0/7] New eFuse subsystem
@ 2015-02-25 13:12       ` James Hartley
  0 siblings, 0 replies; 25+ messages in thread
From: James Hartley @ 2015-02-25 13:12 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Maxime, 

> -----Original Message-----
> From: Ezequiel Garcia
> Sent: 25 February 2015 12:30
> To: Maxime Ripard
> Cc: Thierry Reding; Stephen Warren; Arnd Bergmann; Andrew Bresticker;
> James Hartley; linux-arm-kernel at lists.infradead.org; linux-
> kernel at vger.kernel.org
> Subject: Re: [PATCH 0/7] New eFuse subsystem
> 
> 
> 
> On 02/25/2015 09:02 AM, Maxime Ripard wrote:
> > Hi Ezequiel,
> >
> > On Wed, Feb 25, 2015 at 08:45:12AM -0300, Ezequiel Garcia wrote:
> >> This patchset introduces a new driver subsystem, meant to support
> >> eFuse (alias OTP, one-time-programmable) devices.
> >>
> >> The motivation behind this work is to have a common place for drivers
> >> that are currently more or less scattered: the tegra efuses are in
> >> drivers/soc/ and the sunxi efuses in drivers/misc/eeprom.
> >>
> >> For now, there's no proposal for a generic efuse API. Instead, we
> >> simply group the drivers together.
> >>
> >> This patchset is the result of the initial submission for IMG
> >> Pistachio eFuse support [1]. Our first proposal was to follow the
> >> Tegra efuse, and put the Pistachio efuse in drivers/soc. After some
> >> discussion we finally agreed [2] to first create an efuse directoy,
> >> and then put all efuse drivers in it.
> >>
> >> As always, all comments are welcome!
> >>
> >> [1] http://www.spinics.net/lists/devicetree/msg59246.html
> >> [2] http://www.spinics.net/lists/arm-kernel/msg389325.html
> >
> > Have you looked at the EEPROM framework currently in discussions? The
> > two seems to be covering pretty much the same use cases.
> >

Shouldn't this be a PROM framework if it is going to support both EEPROM and EFUSE/QFPROM, or am I missing something here (since an eFuse is not eraseable)?  

> 
> Nope, I was obviously unaware of that. Guess we'll wait until the discussion is
> settled and use that framework.
> 
> Thanks!
> --
> Ezequiel

Thanks,
James.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH 0/7] New eFuse subsystem
  2015-02-25 13:12       ` James Hartley
@ 2015-02-25 15:15         ` Maxime Ripard
  -1 siblings, 0 replies; 25+ messages in thread
From: Maxime Ripard @ 2015-02-25 15:15 UTC (permalink / raw)
  To: James Hartley
  Cc: Ezequiel Garcia, Thierry Reding, Stephen Warren, Arnd Bergmann,
	Andrew Bresticker, linux-arm-kernel, linux-kernel

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

Hi,

On Wed, Feb 25, 2015 at 01:12:01PM +0000, James Hartley wrote:
> Hi Maxime, 
> 
> > -----Original Message-----
> > From: Ezequiel Garcia
> > Sent: 25 February 2015 12:30
> > To: Maxime Ripard
> > Cc: Thierry Reding; Stephen Warren; Arnd Bergmann; Andrew Bresticker;
> > James Hartley; linux-arm-kernel@lists.infradead.org; linux-
> > kernel@vger.kernel.org
> > Subject: Re: [PATCH 0/7] New eFuse subsystem
> > 
> > 
> > 
> > On 02/25/2015 09:02 AM, Maxime Ripard wrote:
> > > Hi Ezequiel,
> > >
> > > On Wed, Feb 25, 2015 at 08:45:12AM -0300, Ezequiel Garcia wrote:
> > >> This patchset introduces a new driver subsystem, meant to support
> > >> eFuse (alias OTP, one-time-programmable) devices.
> > >>
> > >> The motivation behind this work is to have a common place for drivers
> > >> that are currently more or less scattered: the tegra efuses are in
> > >> drivers/soc/ and the sunxi efuses in drivers/misc/eeprom.
> > >>
> > >> For now, there's no proposal for a generic efuse API. Instead, we
> > >> simply group the drivers together.
> > >>
> > >> This patchset is the result of the initial submission for IMG
> > >> Pistachio eFuse support [1]. Our first proposal was to follow the
> > >> Tegra efuse, and put the Pistachio efuse in drivers/soc. After some
> > >> discussion we finally agreed [2] to first create an efuse directoy,
> > >> and then put all efuse drivers in it.
> > >>
> > >> As always, all comments are welcome!
> > >>
> > >> [1] http://www.spinics.net/lists/devicetree/msg59246.html
> > >> [2] http://www.spinics.net/lists/arm-kernel/msg389325.html
> > >
> > > Have you looked at the EEPROM framework currently in discussions? The
> > > two seems to be covering pretty much the same use cases.
> > >
> 
> Shouldn't this be a PROM framework if it is going to support both
> EEPROM and EFUSE/QFPROM, or am I missing something here (since an
> eFuse is not eraseable)?

Does it really matter? I mean, it's just a name after all.

But feel free to suggest alternatives on the main thread.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH 0/7] New eFuse subsystem
@ 2015-02-25 15:15         ` Maxime Ripard
  0 siblings, 0 replies; 25+ messages in thread
From: Maxime Ripard @ 2015-02-25 15:15 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

On Wed, Feb 25, 2015 at 01:12:01PM +0000, James Hartley wrote:
> Hi Maxime, 
> 
> > -----Original Message-----
> > From: Ezequiel Garcia
> > Sent: 25 February 2015 12:30
> > To: Maxime Ripard
> > Cc: Thierry Reding; Stephen Warren; Arnd Bergmann; Andrew Bresticker;
> > James Hartley; linux-arm-kernel at lists.infradead.org; linux-
> > kernel at vger.kernel.org
> > Subject: Re: [PATCH 0/7] New eFuse subsystem
> > 
> > 
> > 
> > On 02/25/2015 09:02 AM, Maxime Ripard wrote:
> > > Hi Ezequiel,
> > >
> > > On Wed, Feb 25, 2015 at 08:45:12AM -0300, Ezequiel Garcia wrote:
> > >> This patchset introduces a new driver subsystem, meant to support
> > >> eFuse (alias OTP, one-time-programmable) devices.
> > >>
> > >> The motivation behind this work is to have a common place for drivers
> > >> that are currently more or less scattered: the tegra efuses are in
> > >> drivers/soc/ and the sunxi efuses in drivers/misc/eeprom.
> > >>
> > >> For now, there's no proposal for a generic efuse API. Instead, we
> > >> simply group the drivers together.
> > >>
> > >> This patchset is the result of the initial submission for IMG
> > >> Pistachio eFuse support [1]. Our first proposal was to follow the
> > >> Tegra efuse, and put the Pistachio efuse in drivers/soc. After some
> > >> discussion we finally agreed [2] to first create an efuse directoy,
> > >> and then put all efuse drivers in it.
> > >>
> > >> As always, all comments are welcome!
> > >>
> > >> [1] http://www.spinics.net/lists/devicetree/msg59246.html
> > >> [2] http://www.spinics.net/lists/arm-kernel/msg389325.html
> > >
> > > Have you looked at the EEPROM framework currently in discussions? The
> > > two seems to be covering pretty much the same use cases.
> > >
> 
> Shouldn't this be a PROM framework if it is going to support both
> EEPROM and EFUSE/QFPROM, or am I missing something here (since an
> eFuse is not eraseable)?

Does it really matter? I mean, it's just a name after all.

But feel free to suggest alternatives on the main thread.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150225/f30afb44/attachment.sig>

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH 3/7] drivers: Introduce new eFuse subsystem stub
  2015-02-25 11:45   ` Ezequiel Garcia
@ 2015-02-28 15:45     ` Paul Bolle
  -1 siblings, 0 replies; 25+ messages in thread
From: Paul Bolle @ 2015-02-28 15:45 UTC (permalink / raw)
  To: Ezequiel Garcia
  Cc: Thierry Reding, Stephen Warren, Arnd Bergmann, Maxime Ripard,
	Andrew Bresticker, James Hartley, linux-arm-kernel, linux-kernel,
	Thierry Reding, Stefan Wahren

On Wed, 2015-02-25 at 08:45 -0300, Ezequiel Garcia wrote:
> This commit introduces a new eFuse subsystem stub to hold all the eFuse-like
> device drivers. This will be used to host the currently supported Tegra
> eFuse driver, and will allow to add support for other platforms as well.
> 
> Cc: Thierry Reding <treding@nvidia.com>
> Cc: Stephen Warren <swarren@wwwdotorg.org>
> Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Stefan Wahren <stefan.wahren@i2se.com>
> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
> ---
>  drivers/Kconfig        | 2 ++
>  drivers/Makefile       | 1 +
>  drivers/efuse/Kconfig  | 3 +++
>  drivers/efuse/Makefile | 0
>  4 files changed, 6 insertions(+)
>  create mode 100644 drivers/efuse/Kconfig
>  create mode 100644 drivers/efuse/Makefile
> 
> diff --git a/drivers/Kconfig b/drivers/Kconfig
> index c0cc96b..9c0d93d 100644
> --- a/drivers/Kconfig
> +++ b/drivers/Kconfig
> @@ -146,6 +146,8 @@ source "drivers/remoteproc/Kconfig"
>  
>  source "drivers/rpmsg/Kconfig"
>  
> +source "drivers/efuse/Kconfig"
> +
>  source "drivers/soc/Kconfig"
>  
>  source "drivers/devfreq/Kconfig"
> diff --git a/drivers/Makefile b/drivers/Makefile
> index 527a6da..5572728 100644
> --- a/drivers/Makefile
> +++ b/drivers/Makefile
> @@ -34,6 +34,7 @@ obj-y				+= amba/
>  obj-$(CONFIG_DMADEVICES)	+= dma/
>  
>  # SOC specific infrastructure drivers.
> +obj-y				+= efuse/
>  obj-y				+= soc/
>  
>  obj-$(CONFIG_VIRTIO)		+= virtio/
> diff --git a/drivers/efuse/Kconfig b/drivers/efuse/Kconfig
> new file mode 100644
> index 0000000..617476f
> --- /dev/null
> +++ b/drivers/efuse/Kconfig
> @@ -0,0 +1,3 @@
> +menu "eFuse drivers"
> +
> +endmenu

This adds an empty entry.

> diff --git a/drivers/efuse/Makefile b/drivers/efuse/Makefile
> new file mode 100644
> index 0000000..e69de29

And this adds an empty file. Odd.

Is there a reason why this can't be merged into 4/7?


Paul Bolle


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH 3/7] drivers: Introduce new eFuse subsystem stub
@ 2015-02-28 15:45     ` Paul Bolle
  0 siblings, 0 replies; 25+ messages in thread
From: Paul Bolle @ 2015-02-28 15:45 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, 2015-02-25 at 08:45 -0300, Ezequiel Garcia wrote:
> This commit introduces a new eFuse subsystem stub to hold all the eFuse-like
> device drivers. This will be used to host the currently supported Tegra
> eFuse driver, and will allow to add support for other platforms as well.
> 
> Cc: Thierry Reding <treding@nvidia.com>
> Cc: Stephen Warren <swarren@wwwdotorg.org>
> Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Stefan Wahren <stefan.wahren@i2se.com>
> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
> ---
>  drivers/Kconfig        | 2 ++
>  drivers/Makefile       | 1 +
>  drivers/efuse/Kconfig  | 3 +++
>  drivers/efuse/Makefile | 0
>  4 files changed, 6 insertions(+)
>  create mode 100644 drivers/efuse/Kconfig
>  create mode 100644 drivers/efuse/Makefile
> 
> diff --git a/drivers/Kconfig b/drivers/Kconfig
> index c0cc96b..9c0d93d 100644
> --- a/drivers/Kconfig
> +++ b/drivers/Kconfig
> @@ -146,6 +146,8 @@ source "drivers/remoteproc/Kconfig"
>  
>  source "drivers/rpmsg/Kconfig"
>  
> +source "drivers/efuse/Kconfig"
> +
>  source "drivers/soc/Kconfig"
>  
>  source "drivers/devfreq/Kconfig"
> diff --git a/drivers/Makefile b/drivers/Makefile
> index 527a6da..5572728 100644
> --- a/drivers/Makefile
> +++ b/drivers/Makefile
> @@ -34,6 +34,7 @@ obj-y				+= amba/
>  obj-$(CONFIG_DMADEVICES)	+= dma/
>  
>  # SOC specific infrastructure drivers.
> +obj-y				+= efuse/
>  obj-y				+= soc/
>  
>  obj-$(CONFIG_VIRTIO)		+= virtio/
> diff --git a/drivers/efuse/Kconfig b/drivers/efuse/Kconfig
> new file mode 100644
> index 0000000..617476f
> --- /dev/null
> +++ b/drivers/efuse/Kconfig
> @@ -0,0 +1,3 @@
> +menu "eFuse drivers"
> +
> +endmenu

This adds an empty entry.

> diff --git a/drivers/efuse/Makefile b/drivers/efuse/Makefile
> new file mode 100644
> index 0000000..e69de29

And this adds an empty file. Odd.

Is there a reason why this can't be merged into 4/7?


Paul Bolle

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [PATCH 4/7] efuse: Move Tegra efuse driver
  2015-02-25 11:45   ` Ezequiel Garcia
@ 2015-02-28 15:51     ` Paul Bolle
  -1 siblings, 0 replies; 25+ messages in thread
From: Paul Bolle @ 2015-02-28 15:51 UTC (permalink / raw)
  To: Ezequiel Garcia
  Cc: Thierry Reding, Stephen Warren, Arnd Bergmann, Maxime Ripard,
	Andrew Bresticker, James Hartley, linux-arm-kernel, linux-kernel,
	Alexandre Courbot

On Wed, 2015-02-25 at 08:45 -0300, Ezequiel Garcia wrote:
> Now that the efuse subsystem has been introduced, move the Tegra efuse driver
> from drivers/soc/tegra/fuse/ to drivers/efuse/tegra. For now, there's no
> generic efuse API. However, by having the drivers in a unified location it is
> expected that such API will arise easier once support for more devices is added.
> 
> Cc: Stephen Warren <swarren@wwwdotorg.org>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Cc: Alexandre Courbot <gnurou@gmail.com>
> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
> ---
>  drivers/efuse/Kconfig                                     | 7 +++++++
>  drivers/efuse/Makefile                                    | 1 +
>  drivers/{soc/tegra/fuse => efuse/tegra}/Makefile          | 0
>  drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra.c      | 0
>  drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra20.c    | 0
>  drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra30.c    | 0
>  drivers/{soc/tegra/fuse => efuse/tegra}/fuse.h            | 0
>  drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra114.c | 0
>  drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra124.c | 0
>  drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra20.c  | 0
>  drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra30.c  | 0
>  drivers/{soc/tegra/fuse => efuse/tegra}/tegra-apbmisc.c   | 0
>  drivers/soc/tegra/Makefile                                | 2 --
>  13 files changed, 8 insertions(+), 2 deletions(-)
>  rename drivers/{soc/tegra/fuse => efuse/tegra}/Makefile (100%)
>  rename drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra.c (100%)
>  rename drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra20.c (100%)
>  rename drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra30.c (100%)
>  rename drivers/{soc/tegra/fuse => efuse/tegra}/fuse.h (100%)
>  rename drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra114.c (100%)
>  rename drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra124.c (100%)
>  rename drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra20.c (100%)
>  rename drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra30.c (100%)
>  rename drivers/{soc/tegra/fuse => efuse/tegra}/tegra-apbmisc.c (100%)
> 
> diff --git a/drivers/efuse/Kconfig b/drivers/efuse/Kconfig
> index 617476f..b84e06b 100644
> --- a/drivers/efuse/Kconfig
> +++ b/drivers/efuse/Kconfig
> @@ -1,3 +1,10 @@
>  menu "eFuse drivers"
>  
> +config EFUSE_TEGRA
> +	bool
> +	depends on ARCH_TEGRA
> +	help
> +	  Support for the eFuses available on Tegra SoCs

This is a select only symbol. Patch 5/7 confirms this. So, as far as I
know, no one is ever going to see this help text when running make
*config. Is the help text needed?

> +
> +
>  endmenu


Paul Bolle


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH 4/7] efuse: Move Tegra efuse driver
@ 2015-02-28 15:51     ` Paul Bolle
  0 siblings, 0 replies; 25+ messages in thread
From: Paul Bolle @ 2015-02-28 15:51 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, 2015-02-25 at 08:45 -0300, Ezequiel Garcia wrote:
> Now that the efuse subsystem has been introduced, move the Tegra efuse driver
> from drivers/soc/tegra/fuse/ to drivers/efuse/tegra. For now, there's no
> generic efuse API. However, by having the drivers in a unified location it is
> expected that such API will arise easier once support for more devices is added.
> 
> Cc: Stephen Warren <swarren@wwwdotorg.org>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Cc: Alexandre Courbot <gnurou@gmail.com>
> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
> ---
>  drivers/efuse/Kconfig                                     | 7 +++++++
>  drivers/efuse/Makefile                                    | 1 +
>  drivers/{soc/tegra/fuse => efuse/tegra}/Makefile          | 0
>  drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra.c      | 0
>  drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra20.c    | 0
>  drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra30.c    | 0
>  drivers/{soc/tegra/fuse => efuse/tegra}/fuse.h            | 0
>  drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra114.c | 0
>  drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra124.c | 0
>  drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra20.c  | 0
>  drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra30.c  | 0
>  drivers/{soc/tegra/fuse => efuse/tegra}/tegra-apbmisc.c   | 0
>  drivers/soc/tegra/Makefile                                | 2 --
>  13 files changed, 8 insertions(+), 2 deletions(-)
>  rename drivers/{soc/tegra/fuse => efuse/tegra}/Makefile (100%)
>  rename drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra.c (100%)
>  rename drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra20.c (100%)
>  rename drivers/{soc/tegra/fuse => efuse/tegra}/fuse-tegra30.c (100%)
>  rename drivers/{soc/tegra/fuse => efuse/tegra}/fuse.h (100%)
>  rename drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra114.c (100%)
>  rename drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra124.c (100%)
>  rename drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra20.c (100%)
>  rename drivers/{soc/tegra/fuse => efuse/tegra}/speedo-tegra30.c (100%)
>  rename drivers/{soc/tegra/fuse => efuse/tegra}/tegra-apbmisc.c (100%)
> 
> diff --git a/drivers/efuse/Kconfig b/drivers/efuse/Kconfig
> index 617476f..b84e06b 100644
> --- a/drivers/efuse/Kconfig
> +++ b/drivers/efuse/Kconfig
> @@ -1,3 +1,10 @@
>  menu "eFuse drivers"
>  
> +config EFUSE_TEGRA
> +	bool
> +	depends on ARCH_TEGRA
> +	help
> +	  Support for the eFuses available on Tegra SoCs

This is a select only symbol. Patch 5/7 confirms this. So, as far as I
know, no one is ever going to see this help text when running make
*config. Is the help text needed?

> +
> +
>  endmenu


Paul Bolle

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2015-02-28 15:51 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-25 11:45 [PATCH 0/7] New eFuse subsystem Ezequiel Garcia
2015-02-25 11:45 ` Ezequiel Garcia
2015-02-25 11:45 ` [PATCH 1/7] soc: tegra: Add missing include linux/types.h Ezequiel Garcia
2015-02-25 11:45   ` Ezequiel Garcia
2015-02-25 11:45 ` [PATCH 2/7] soc: tegra: Move the fuse header to a separate directory Ezequiel Garcia
2015-02-25 11:45   ` Ezequiel Garcia
2015-02-25 11:45 ` [PATCH 3/7] drivers: Introduce new eFuse subsystem stub Ezequiel Garcia
2015-02-25 11:45   ` Ezequiel Garcia
2015-02-25 12:29   ` Stefan Wahren
2015-02-25 12:29     ` Stefan Wahren
2015-02-25 12:29     ` Stefan Wahren
2015-02-28 15:45   ` Paul Bolle
2015-02-28 15:45     ` Paul Bolle
2015-02-25 11:45 ` [PATCH 4/7] efuse: Move Tegra efuse driver Ezequiel Garcia
2015-02-25 11:45   ` Ezequiel Garcia
2015-02-28 15:51   ` Paul Bolle
2015-02-28 15:51     ` Paul Bolle
2015-02-25 12:02 ` [PATCH 0/7] New eFuse subsystem Maxime Ripard
2015-02-25 12:02   ` Maxime Ripard
2015-02-25 12:30   ` Ezequiel Garcia
2015-02-25 12:30     ` Ezequiel Garcia
2015-02-25 13:12     ` James Hartley
2015-02-25 13:12       ` James Hartley
2015-02-25 15:15       ` Maxime Ripard
2015-02-25 15:15         ` Maxime Ripard

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.