This source file includes following definitions.
- owl_reset_assert
- owl_reset_deassert
- owl_reset_reset
- owl_reset_status
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 #include <linux/delay.h>
   9 #include <linux/regmap.h>
  10 #include <linux/reset-controller.h>
  11 
  12 #include "owl-reset.h"
  13 
  14 static int owl_reset_assert(struct reset_controller_dev *rcdev,
  15                             unsigned long id)
  16 {
  17         struct owl_reset *reset = to_owl_reset(rcdev);
  18         const struct owl_reset_map *map = &reset->reset_map[id];
  19 
  20         return regmap_update_bits(reset->regmap, map->reg, map->bit, 0);
  21 }
  22 
  23 static int owl_reset_deassert(struct reset_controller_dev *rcdev,
  24                               unsigned long id)
  25 {
  26         struct owl_reset *reset = to_owl_reset(rcdev);
  27         const struct owl_reset_map *map = &reset->reset_map[id];
  28 
  29         return regmap_update_bits(reset->regmap, map->reg, map->bit, map->bit);
  30 }
  31 
  32 static int owl_reset_reset(struct reset_controller_dev *rcdev,
  33                            unsigned long id)
  34 {
  35         owl_reset_assert(rcdev, id);
  36         udelay(1);
  37         owl_reset_deassert(rcdev, id);
  38 
  39         return 0;
  40 }
  41 
  42 static int owl_reset_status(struct reset_controller_dev *rcdev,
  43                             unsigned long id)
  44 {
  45         struct owl_reset *reset = to_owl_reset(rcdev);
  46         const struct owl_reset_map *map = &reset->reset_map[id];
  47         u32 reg;
  48         int ret;
  49 
  50         ret = regmap_read(reset->regmap, map->reg, ®);
  51         if (ret)
  52                 return ret;
  53 
  54         
  55 
  56 
  57 
  58         return !(map->bit & reg);
  59 }
  60 
  61 const struct reset_control_ops owl_reset_ops = {
  62         .assert         = owl_reset_assert,
  63         .deassert       = owl_reset_deassert,
  64         .reset          = owl_reset_reset,
  65         .status         = owl_reset_status,
  66 };