linux/include/linux/mfd/syscon.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-or-later */
   2/*
   3 * System Control Driver
   4 *
   5 * Copyright (C) 2012 Freescale Semiconductor, Inc.
   6 * Copyright (C) 2012 Linaro Ltd.
   7 *
   8 * Author: Dong Aisheng <dong.aisheng@linaro.org>
   9 */
  10
  11#ifndef __LINUX_MFD_SYSCON_H__
  12#define __LINUX_MFD_SYSCON_H__
  13
  14#include <linux/err.h>
  15#include <linux/errno.h>
  16
  17struct device_node;
  18
  19#ifdef CONFIG_MFD_SYSCON
  20extern struct regmap *device_node_to_regmap(struct device_node *np);
  21extern struct regmap *syscon_node_to_regmap(struct device_node *np);
  22extern struct regmap *syscon_regmap_lookup_by_compatible(const char *s);
  23extern struct regmap *syscon_regmap_lookup_by_phandle(
  24                                        struct device_node *np,
  25                                        const char *property);
  26extern struct regmap *syscon_regmap_lookup_by_phandle_args(
  27                                        struct device_node *np,
  28                                        const char *property,
  29                                        int arg_count,
  30                                        unsigned int *out_args);
  31extern struct regmap *syscon_regmap_lookup_by_phandle_optional(
  32                                        struct device_node *np,
  33                                        const char *property);
  34#else
  35static inline struct regmap *device_node_to_regmap(struct device_node *np)
  36{
  37        return ERR_PTR(-ENOTSUPP);
  38}
  39
  40static inline struct regmap *syscon_node_to_regmap(struct device_node *np)
  41{
  42        return ERR_PTR(-ENOTSUPP);
  43}
  44
  45static inline struct regmap *syscon_regmap_lookup_by_compatible(const char *s)
  46{
  47        return ERR_PTR(-ENOTSUPP);
  48}
  49
  50static inline struct regmap *syscon_regmap_lookup_by_phandle(
  51                                        struct device_node *np,
  52                                        const char *property)
  53{
  54        return ERR_PTR(-ENOTSUPP);
  55}
  56
  57static inline struct regmap *syscon_regmap_lookup_by_phandle_args(
  58                                        struct device_node *np,
  59                                        const char *property,
  60                                        int arg_count,
  61                                        unsigned int *out_args)
  62{
  63        return ERR_PTR(-ENOTSUPP);
  64}
  65
  66static inline struct regmap *syscon_regmap_lookup_by_phandle_optional(
  67                                        struct device_node *np,
  68                                        const char *property)
  69{
  70        return NULL;
  71}
  72
  73#endif
  74
  75#endif /* __LINUX_MFD_SYSCON_H__ */
  76