Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
        bool (*writeable_reg)(struct device *dev, unsigned int reg);
        bool (*readable_reg)(struct device *dev, unsigned int reg);
        bool (*volatile_reg)(struct device *dev, unsigned int reg);
+       bool (*precious_reg)(struct device *dev, unsigned int reg);
 };
 
 #ifdef CONFIG_DEBUG_FS
 
                    !map->readable_reg(map->dev, i))
                        continue;
 
+               if (map->precious_reg &&
+                   map->precious_reg(map->dev, i))
+                       continue;
+
                /* If we're in the region the user is trying to read */
                if (p >= *ppos) {
                        /* ...but not beyond it */
 
        map->writeable_reg = config->writeable_reg;
        map->readable_reg = config->readable_reg;
        map->volatile_reg = config->volatile_reg;
+       map->precious_reg = config->precious_reg;
 
        switch (config->reg_bits) {
        case 4: