From 05514cf9fbd7cf75f9cdb058ca80d6dafa0b1abf Mon Sep 17 00:00:00 2001 From: Linus Walleij Date: Mon, 11 Oct 2010 11:23:32 +0200 Subject: [PATCH 04/33] Revert "regulator: Provide optional dummy regulator for consumers" This reverts commit 34abbd68efe09765465b81dfedeee9994f13302f. Conflicts: drivers/regulator/core.c --- drivers/regulator/Kconfig | 11 ------- drivers/regulator/core.c | 32 +--------------------- drivers/regulator/dummy.c | 66 --------------------------------------------- drivers/regulator/dummy.h | 31 --------------------- 4 files changed, 1 insertions(+), 139 deletions(-) delete mode 100644 drivers/regulator/dummy.c delete mode 100644 drivers/regulator/dummy.h diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig index dd30e88..d4f5e43 100644 --- a/drivers/regulator/Kconfig +++ b/drivers/regulator/Kconfig @@ -27,17 +27,6 @@ config REGULATOR_DEBUG help Say yes here to enable debugging support. -config REGULATOR_DUMMY - bool "Provide a dummy regulator if regulator lookups fail" - help - If this option is enabled then when a regulator lookup fails - and the board has not specified that it has provided full - constraints then the regulator core will provide an always - enabled dummy regulator will be provided, allowing consumer - drivers to continue. - - A warning will be generated when this substitution is done. - config REGULATOR_FIXED_VOLTAGE tristate "Fixed voltage regulator support" help diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index f1d10c9..a467ca5 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -25,8 +25,6 @@ #include #include -#include "dummy.h" - #define REGULATOR_VERSION "0.5" static DEFINE_MUTEX(regulator_list_mutex); @@ -1109,27 +1107,6 @@ static struct regulator *_regulator_get(struct device *dev, const char *id, goto found; } } - - if (board_wants_dummy_regulator) { - rdev = dummy_regulator_rdev; - goto found; - } - -#ifdef CONFIG_REGULATOR_DUMMY - if (!devname) - devname = "deviceless"; - - /* If the board didn't flag that it was fully constrained then - * substitute in a dummy regulator so consumers can continue. - */ - if (!has_full_constraints) { - pr_warning("%s supply %s not found, using dummy regulator\n", - devname, id); - rdev = dummy_regulator_rdev; - goto found; - } -#endif - mutex_unlock(®ulator_list_mutex); return regulator; @@ -2562,15 +2539,8 @@ EXPORT_SYMBOL_GPL(regulator_get_init_drvdata); static int __init regulator_init(void) { - int ret; - printk(KERN_INFO "regulator: core version %s\n", REGULATOR_VERSION); - - ret = class_register(®ulator_class); - - regulator_dummy_init(); - - return ret; + return class_register(®ulator_class); } /* init early to allow our consumers to complete system booting */ diff --git a/drivers/regulator/dummy.c b/drivers/regulator/dummy.c deleted file mode 100644 index c7410bd..0000000 --- a/drivers/regulator/dummy.c +++ /dev/null @@ -1,66 +0,0 @@ -/* - * dummy.c - * - * Copyright 2010 Wolfson Microelectronics PLC. - * - * Author: Mark Brown - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * This is useful for systems with mixed controllable and - * non-controllable regulators, as well as for allowing testing on - * systems with no controllable regulators. - */ - -#include -#include -#include -#include - -#include "dummy.h" - -struct regulator_dev *dummy_regulator_rdev; - -static struct regulator_init_data dummy_initdata; - -static struct regulator_ops dummy_ops; - -static struct regulator_desc dummy_desc = { - .name = "dummy", - .id = -1, - .type = REGULATOR_VOLTAGE, - .owner = THIS_MODULE, - .ops = &dummy_ops, -}; - -static struct platform_device *dummy_pdev; - -void __init regulator_dummy_init(void) -{ - int ret; - - dummy_pdev = platform_device_alloc("reg-dummy", -1); - if (!dummy_pdev) { - pr_err("Failed to allocate dummy regulator device\n"); - return; - } - - ret = platform_device_add(dummy_pdev); - if (ret != 0) { - pr_err("Failed to register dummy regulator device: %d\n", ret); - platform_device_put(dummy_pdev); - return; - } - - dummy_regulator_rdev = regulator_register(&dummy_desc, NULL, - &dummy_initdata, NULL); - if (IS_ERR(dummy_regulator_rdev)) { - ret = PTR_ERR(dummy_regulator_rdev); - pr_err("Failed to register regulator: %d\n", ret); - platform_device_unregister(dummy_pdev); - return; - } -} diff --git a/drivers/regulator/dummy.h b/drivers/regulator/dummy.h deleted file mode 100644 index 3921c0e..0000000 --- a/drivers/regulator/dummy.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * dummy.h - * - * Copyright 2010 Wolfson Microelectronics PLC. - * - * Author: Mark Brown - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * This is useful for systems with mixed controllable and - * non-controllable regulators, as well as for allowing testing on - * systems with no controllable regulators. - */ - -#ifndef _DUMMY_H -#define _DUMMY_H - -struct regulator_dev; - -extern struct regulator_dev *dummy_regulator_rdev; - -#ifdef CONFIG_REGULATOR_DUMMY -void __init regulator_dummy_init(void); -#else -static inline void regulator_dummy_init(void) { } -#endif - -#endif -- 1.6.3.3