iomap: txl: add iomap support for txl
authorXingyu Chen <xingyu.chen@amlogic.com>
Tue, 26 Jun 2018 07:13:33 +0000 (15:13 +0800)
committerYixun Lan <yixun.lan@amlogic.com>
Wed, 18 Jul 2018 09:46:52 +0000 (02:46 -0700)
PD#168480: iomap: txl: add iomap support for txl

Change-Id: Icbd5a8811950cd806cf2b6a4b08dca37402e52e7
Signed-off-by: Xingyu Chen <xingyu.chen@amlogic.com>
Signed-off-by: Bo Yang <bo.yang@amlogic.com>
drivers/amlogic/iomap/iomap.c

index b49180338f4b5ba585d6c823c27e70c243abff5a..b5645c2f6df24e87e8b3c68605457f175c579222 100644 (file)
@@ -27,7 +27,6 @@
 #include <linux/of_platform.h>
 #include <linux/platform_device.h>
 #include <linux/amlogic/iomap.h>
-#include <linux/amlogic/cpu_version.h>
 #include <asm/compiler.h>
 #undef pr_fmt
 #define pr_fmt(fmt) "aml_iomap: " fmt
@@ -37,11 +36,12 @@ static const struct of_device_id iomap_dt_match[] = {
        { .compatible = "amlogic, iomap" },
        { /* sentinel */ },
 };
-void __iomem *meson_reg_map[IO_BUS_MAX];
+
+static void __iomem *meson_reg_map[IO_BUS_MAX] = { NULL };
 
 int aml_reg_read(u32 bus_type, unsigned int reg, unsigned int *val)
 {
-       if (bus_type < IO_BUS_MAX) {
+       if (bus_type < IO_BUS_MAX && (meson_reg_map[bus_type] != NULL)) {
                *val = readl((meson_reg_map[bus_type]+reg));
                return 0;
        } else
@@ -51,7 +51,7 @@ EXPORT_SYMBOL(aml_reg_read);
 
 int aml_reg_write(u32 bus_type, unsigned int reg, unsigned int val)
 {
-       if (bus_type < IO_BUS_MAX) {
+       if (bus_type < IO_BUS_MAX && (meson_reg_map[bus_type] != NULL)) {
                writel(val, (meson_reg_map[bus_type]+reg));
                return 0;
        } else
@@ -63,7 +63,7 @@ int aml_regmap_update_bits(u32 bus_type,
                                        unsigned int reg, unsigned int mask,
                                        unsigned int val)
 {
-       if (bus_type < IO_BUS_MAX) {
+       if (bus_type < IO_BUS_MAX && (meson_reg_map[bus_type] != NULL)) {
                unsigned int tmp, orig;
 
                aml_reg_read(bus_type, reg, &orig);