LCOV - code coverage report
Current view: top level - drivers/regulator - internal.h (source / functions) Hit Total Coverage
Test: Real Lines: 1 1 100.0 %
Date: 2020-10-17 15:46:16 Functions: 0 0 -
Legend: Neither, QEMU, Real, Both Branches: 0 0 -

           Branch data     Line data    Source code
       1                 :            : /* SPDX-License-Identifier: GPL-2.0-or-later */
       2                 :            : /*
       3                 :            :  * internal.h  --  Voltage/Current Regulator framework internal code
       4                 :            :  *
       5                 :            :  * Copyright 2007, 2008 Wolfson Microelectronics PLC.
       6                 :            :  * Copyright 2008 SlimLogic Ltd.
       7                 :            :  *
       8                 :            :  * Author: Liam Girdwood <lrg@slimlogic.co.uk>
       9                 :            :  */
      10                 :            : 
      11                 :            : #ifndef __REGULATOR_INTERNAL_H
      12                 :            : #define __REGULATOR_INTERNAL_H
      13                 :            : 
      14                 :            : #include <linux/suspend.h>
      15                 :            : 
      16                 :            : #define REGULATOR_STATES_NUM    (PM_SUSPEND_MAX + 1)
      17                 :            : 
      18                 :            : struct regulator_voltage {
      19                 :            :         int min_uV;
      20                 :            :         int max_uV;
      21                 :            : };
      22                 :            : 
      23                 :            : /*
      24                 :            :  * struct regulator
      25                 :            :  *
      26                 :            :  * One for each consumer device.
      27                 :            :  * @voltage - a voltage array for each state of runtime, i.e.:
      28                 :            :  *            PM_SUSPEND_ON
      29                 :            :  *            PM_SUSPEND_TO_IDLE
      30                 :            :  *            PM_SUSPEND_STANDBY
      31                 :            :  *            PM_SUSPEND_MEM
      32                 :            :  *            PM_SUSPEND_MAX
      33                 :            :  */
      34                 :            : struct regulator {
      35                 :            :         struct device *dev;
      36                 :            :         struct list_head list;
      37                 :            :         unsigned int always_on:1;
      38                 :            :         unsigned int bypass:1;
      39                 :            :         int uA_load;
      40                 :            :         unsigned int enable_count;
      41                 :            :         unsigned int deferred_disables;
      42                 :            :         struct regulator_voltage voltage[REGULATOR_STATES_NUM];
      43                 :            :         const char *supply_name;
      44                 :            :         struct device_attribute dev_attr;
      45                 :            :         struct regulator_dev *rdev;
      46                 :            :         struct dentry *debugfs;
      47                 :            : };
      48                 :            : 
      49                 :            : extern struct class regulator_class;
      50                 :            : 
      51                 :            : static inline struct regulator_dev *dev_to_rdev(struct device *dev)
      52                 :            : {
      53                 :          3 :         return container_of(dev, struct regulator_dev, dev);
      54                 :            : }
      55                 :            : 
      56                 :            : #ifdef CONFIG_OF
      57                 :            : struct regulator_dev *of_find_regulator_by_node(struct device_node *np);
      58                 :            : struct regulator_init_data *regulator_of_get_init_data(struct device *dev,
      59                 :            :                                  const struct regulator_desc *desc,
      60                 :            :                                  struct regulator_config *config,
      61                 :            :                                  struct device_node **node);
      62                 :            : 
      63                 :            : struct regulator_dev *of_parse_coupled_regulator(struct regulator_dev *rdev,
      64                 :            :                                                  int index);
      65                 :            : 
      66                 :            : int of_get_n_coupled(struct regulator_dev *rdev);
      67                 :            : 
      68                 :            : bool of_check_coupling_data(struct regulator_dev *rdev);
      69                 :            : 
      70                 :            : #else
      71                 :            : static inline struct regulator_dev *
      72                 :            : of_find_regulator_by_node(struct device_node *np)
      73                 :            : {
      74                 :            :         return NULL;
      75                 :            : }
      76                 :            : 
      77                 :            : static inline struct regulator_init_data *
      78                 :            : regulator_of_get_init_data(struct device *dev,
      79                 :            :                            const struct regulator_desc *desc,
      80                 :            :                            struct regulator_config *config,
      81                 :            :                            struct device_node **node)
      82                 :            : {
      83                 :            :         return NULL;
      84                 :            : }
      85                 :            : 
      86                 :            : static inline struct regulator_dev *
      87                 :            : of_parse_coupled_regulator(struct regulator_dev *rdev,
      88                 :            :                            int index)
      89                 :            : {
      90                 :            :         return NULL;
      91                 :            : }
      92                 :            : 
      93                 :            : static inline int of_get_n_coupled(struct regulator_dev *rdev)
      94                 :            : {
      95                 :            :         return 0;
      96                 :            : }
      97                 :            : 
      98                 :            : static inline bool of_check_coupling_data(struct regulator_dev *rdev)
      99                 :            : {
     100                 :            :         return false;
     101                 :            : }
     102                 :            : 
     103                 :            : #endif
     104                 :            : enum regulator_get_type {
     105                 :            :         NORMAL_GET,
     106                 :            :         EXCLUSIVE_GET,
     107                 :            :         OPTIONAL_GET,
     108                 :            :         MAX_GET_TYPE
     109                 :            : };
     110                 :            : 
     111                 :            : struct regulator *_regulator_get(struct device *dev, const char *id,
     112                 :            :                                  enum regulator_get_type get_type);
     113                 :            : #endif
    

Generated by: LCOV version 1.14