LCOV - code coverage report
Current view: top level - include/linux - of_device.h (source / functions) Hit Total Coverage
Test: combined.info Lines: 8 11 72.7 %
Date: 2022-03-28 16:04:14 Functions: 0 0 -
Branches: 2 4 50.0 %

           Branch data     Line data    Source code
       1                 :            : /* SPDX-License-Identifier: GPL-2.0 */
       2                 :            : #ifndef _LINUX_OF_DEVICE_H
       3                 :            : #define _LINUX_OF_DEVICE_H
       4                 :            : 
       5                 :            : #include <linux/cpu.h>
       6                 :            : #include <linux/platform_device.h>
       7                 :            : #include <linux/of_platform.h> /* temporary until merge */
       8                 :            : 
       9                 :            : #include <linux/of.h>
      10                 :            : #include <linux/mod_devicetable.h>
      11                 :            : 
      12                 :            : struct device;
      13                 :            : 
      14                 :            : #ifdef CONFIG_OF
      15                 :            : extern const struct of_device_id *of_match_device(
      16                 :            :         const struct of_device_id *matches, const struct device *dev);
      17                 :            : 
      18                 :            : /**
      19                 :            :  * of_driver_match_device - Tell if a driver's of_match_table matches a device.
      20                 :            :  * @drv: the device_driver structure to test
      21                 :            :  * @dev: the device structure to match against
      22                 :            :  */
      23                 :            : static inline int of_driver_match_device(struct device *dev,
      24                 :            :                                          const struct device_driver *drv)
      25                 :            : {
      26                 :            :         return of_match_device(drv->of_match_table, dev) != NULL;
      27                 :            : }
      28                 :            : 
      29                 :            : extern struct platform_device *of_dev_get(struct platform_device *dev);
      30                 :            : extern void of_dev_put(struct platform_device *dev);
      31                 :            : 
      32                 :            : extern int of_device_add(struct platform_device *pdev);
      33                 :            : extern int of_device_register(struct platform_device *ofdev);
      34                 :            : extern void of_device_unregister(struct platform_device *ofdev);
      35                 :            : 
      36                 :            : extern const void *of_device_get_match_data(const struct device *dev);
      37                 :            : 
      38                 :            : extern ssize_t of_device_modalias(struct device *dev, char *str, ssize_t len);
      39                 :            : extern int of_device_request_module(struct device *dev);
      40                 :            : 
      41                 :            : extern void of_device_uevent(struct device *dev, struct kobj_uevent_env *env);
      42                 :            : extern int of_device_uevent_modalias(struct device *dev, struct kobj_uevent_env *env);
      43                 :            : 
      44                 :            : static inline void of_device_node_put(struct device *dev)
      45                 :            : {
      46                 :            :         of_node_put(dev->of_node);
      47                 :            : }
      48                 :            : 
      49                 :            : static inline struct device_node *of_cpu_device_node_get(int cpu)
      50                 :            : {
      51                 :            :         struct device *cpu_dev;
      52                 :            :         cpu_dev = get_cpu_device(cpu);
      53                 :            :         if (!cpu_dev)
      54                 :            :                 return of_get_cpu_node(cpu, NULL);
      55                 :            :         return of_node_get(cpu_dev->of_node);
      56                 :            : }
      57                 :            : 
      58                 :            : int of_dma_configure(struct device *dev,
      59                 :            :                      struct device_node *np,
      60                 :            :                      bool force_dma);
      61                 :            : #else /* CONFIG_OF */
      62                 :            : 
      63                 :       1040 : static inline int of_driver_match_device(struct device *dev,
      64                 :            :                                          const struct device_driver *drv)
      65                 :            : {
      66         [ #  # ]:       1040 :         return 0;
      67                 :            : }
      68                 :            : 
      69                 :      17791 : static inline void of_device_uevent(struct device *dev,
      70         [ +  + ]:      17791 :                         struct kobj_uevent_env *env) { }
      71                 :            : 
      72                 :            : static inline const void *of_device_get_match_data(const struct device *dev)
      73                 :            : {
      74                 :            :         return NULL;
      75                 :            : }
      76                 :            : 
      77                 :         13 : static inline int of_device_modalias(struct device *dev,
      78                 :            :                                      char *str, ssize_t len)
      79                 :            : {
      80                 :         13 :         return -ENODEV;
      81                 :            : }
      82                 :            : 
      83                 :            : static inline int of_device_request_module(struct device *dev)
      84                 :            : {
      85                 :            :         return -ENODEV;
      86                 :            : }
      87                 :            : 
      88                 :        585 : static inline int of_device_uevent_modalias(struct device *dev,
      89                 :            :                                    struct kobj_uevent_env *env)
      90                 :            : {
      91                 :        585 :         return -ENODEV;
      92                 :            : }
      93                 :            : 
      94                 :          0 : static inline void of_device_node_put(struct device *dev) { }
      95                 :            : 
      96                 :            : static inline const struct of_device_id *__of_match_device(
      97                 :            :                 const struct of_device_id *matches, const struct device *dev)
      98                 :            : {
      99                 :            :         return NULL;
     100                 :            : }
     101                 :            : #define of_match_device(matches, dev)   \
     102                 :            :         __of_match_device(of_match_ptr(matches), (dev))
     103                 :            : 
     104                 :            : static inline struct device_node *of_cpu_device_node_get(int cpu)
     105                 :            : {
     106                 :            :         return NULL;
     107                 :            : }
     108                 :            : 
     109                 :          0 : static inline int of_dma_configure(struct device *dev,
     110                 :            :                                    struct device_node *np,
     111                 :            :                                    bool force_dma)
     112                 :            : {
     113                 :          0 :         return 0;
     114                 :            : }
     115                 :            : #endif /* CONFIG_OF */
     116                 :            : 
     117                 :            : #endif /* _LINUX_OF_DEVICE_H */

Generated by: LCOV version 1.14