drm/etnaviv: Implement mmap as GEM object function
[linux-2.6-microblaze.git] / drivers / mfd / intel-m10-bmc.c
index cb53898..1a9bfb7 100644 (file)
@@ -28,10 +28,23 @@ static struct mfd_cell m10bmc_pacn3000_subdevs[] = {
        { .name = "n3000bmc-secure" },
 };
 
+static const struct regmap_range m10bmc_regmap_range[] = {
+       regmap_reg_range(M10BMC_LEGACY_BUILD_VER, M10BMC_LEGACY_BUILD_VER),
+       regmap_reg_range(M10BMC_SYS_BASE, M10BMC_SYS_END),
+       regmap_reg_range(M10BMC_FLASH_BASE, M10BMC_FLASH_END),
+};
+
+static const struct regmap_access_table m10bmc_access_table = {
+       .yes_ranges     = m10bmc_regmap_range,
+       .n_yes_ranges   = ARRAY_SIZE(m10bmc_regmap_range),
+};
+
 static struct regmap_config intel_m10bmc_regmap_config = {
        .reg_bits = 32,
        .val_bits = 32,
        .reg_stride = 4,
+       .wr_table = &m10bmc_access_table,
+       .rd_table = &m10bmc_access_table,
        .max_register = M10BMC_MEM_END,
 };
 
@@ -121,17 +134,14 @@ static int check_m10bmc_version(struct intel_m10bmc *ddata)
        int ret;
 
        /*
-        * This check is to filter out the very old legacy BMC versions,
-        * M10BMC_LEGACY_SYS_BASE is the offset to this old block of mmio
-        * registers. In the old BMC chips, the BMC version info is stored
-        * in this old version register (M10BMC_LEGACY_SYS_BASE +
-        * M10BMC_BUILD_VER), so its read out value would have not been
-        * LEGACY_INVALID (0xffffffff). But in new BMC chips that the
-        * driver supports, the value of this register should be
-        * LEGACY_INVALID.
+        * This check is to filter out the very old legacy BMC versions. In the
+        * old BMC chips, the BMC version info is stored in the old version
+        * register (M10BMC_LEGACY_BUILD_VER), so its read out value would have
+        * not been M10BMC_VER_LEGACY_INVALID (0xffffffff). But in new BMC
+        * chips that the driver supports, the value of this register should be
+        * M10BMC_VER_LEGACY_INVALID.
         */
-       ret = m10bmc_raw_read(ddata,
-                             M10BMC_LEGACY_SYS_BASE + M10BMC_BUILD_VER, &v);
+       ret = m10bmc_raw_read(ddata, M10BMC_LEGACY_BUILD_VER, &v);
        if (ret)
                return -ENODEV;