linux/include/linux/regulator/fixed.h
<<
>>
Prefs
   1/*
   2 * fixed.h
   3 *
   4 * Copyright 2008 Wolfson Microelectronics PLC.
   5 *
   6 * Author: Mark Brown <broonie@opensource.wolfsonmicro.com>
   7 *
   8 * Copyright (c) 2009 Nokia Corporation
   9 * Roger Quadros <ext-roger.quadros@nokia.com>
  10 *
  11 * This program is free software; you can redistribute it and/or
  12 * modify it under the terms of the GNU General Public License as
  13 * published by the Free Software Foundation; either version 2 of the
  14 * License, or (at your option) any later version.
  15 */
  16
  17#ifndef __REGULATOR_FIXED_H
  18#define __REGULATOR_FIXED_H
  19
  20struct regulator_init_data;
  21
  22/**
  23 * struct fixed_voltage_config - fixed_voltage_config structure
  24 * @supply_name:        Name of the regulator supply
  25 * @input_supply:       Name of the input regulator supply
  26 * @microvolts:         Output voltage of regulator
  27 * @startup_delay:      Start-up time in microseconds
  28 * @enabled_at_boot:    Whether regulator has been enabled at
  29 *                      boot or not. 1 = Yes, 0 = No
  30 *                      This is used to keep the regulator at
  31 *                      the default state
  32 * @init_data:          regulator_init_data
  33 *
  34 * This structure contains fixed voltage regulator configuration
  35 * information that must be passed by platform code to the fixed
  36 * voltage regulator driver.
  37 */
  38struct fixed_voltage_config {
  39        const char *supply_name;
  40        const char *input_supply;
  41        int microvolts;
  42        unsigned startup_delay;
  43        unsigned enabled_at_boot:1;
  44        struct regulator_init_data *init_data;
  45};
  46
  47struct regulator_consumer_supply;
  48
  49#if IS_ENABLED(CONFIG_REGULATOR)
  50struct platform_device *regulator_register_always_on(int id, const char *name,
  51                struct regulator_consumer_supply *supplies, int num_supplies, int uv);
  52#else
  53static inline struct platform_device *regulator_register_always_on(int id, const char *name,
  54                struct regulator_consumer_supply *supplies, int num_supplies, int uv)
  55{
  56        return NULL;
  57}
  58#endif
  59
  60#define regulator_register_fixed(id, s, ns) regulator_register_always_on(id, \
  61                                                "fixed-dummy", s, ns, 0)
  62
  63#endif
  64