Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

regulator: pcf50633-regulator: Remove

The pcf50633 was used as part of the OpenMoko devices but
the support for its main chip was recently removed in:
commit 61b7f8920b17 ("ARM: s3c: remove all s3c24xx support")

See https://lore.kernel.org/all/Z8z236h4B5A6Ki3D@gallifrey/

Remove it.

Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org>
Link: https://patch.msgid.link/20250311014959.743322-6-linux@treblig.org
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Dr. David Alan Gilbert and committed by
Mark Brown
248bc011 c8c1ab2c

-132
-7
drivers/regulator/Kconfig
··· 988 988 This driver provides support for the voltage regulators of the 989 989 PCAP2 PMIC. 990 990 991 - config REGULATOR_PCF50633 992 - tristate "NXP PCF50633 regulator driver" 993 - depends on MFD_PCF50633 994 - help 995 - Say Y here to support the voltage regulators and converters 996 - on PCF50633 997 - 998 991 config REGULATOR_PF8X00 999 992 tristate "NXP PF8100/PF8121A/PF8200 regulator driver" 1000 993 depends on I2C && OF
-1
drivers/regulator/Makefile
··· 132 132 obj-$(CONFIG_REGULATOR_TPS51632) += tps51632-regulator.o 133 133 obj-$(CONFIG_REGULATOR_PBIAS) += pbias-regulator.o 134 134 obj-$(CONFIG_REGULATOR_PCAP) += pcap-regulator.o 135 - obj-$(CONFIG_REGULATOR_PCF50633) += pcf50633-regulator.o 136 135 obj-$(CONFIG_REGULATOR_RAA215300) += raa215300.o 137 136 obj-$(CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY) += rpi-panel-attiny-regulator.o 138 137 obj-$(CONFIG_REGULATOR_RC5T583) += rc5t583-regulator.o
-124
drivers/regulator/pcf50633-regulator.c
··· 1 - // SPDX-License-Identifier: GPL-2.0-or-later 2 - /* NXP PCF50633 PMIC Driver 3 - * 4 - * (C) 2006-2008 by Openmoko, Inc. 5 - * Author: Balaji Rao <balajirrao@openmoko.org> 6 - * All rights reserved. 7 - * 8 - * Broken down from monstrous PCF50633 driver mainly by 9 - * Harald Welte and Andy Green and Werner Almesberger 10 - */ 11 - 12 - #include <linux/kernel.h> 13 - #include <linux/module.h> 14 - #include <linux/init.h> 15 - #include <linux/device.h> 16 - #include <linux/err.h> 17 - #include <linux/platform_device.h> 18 - 19 - #include <linux/mfd/pcf50633/core.h> 20 - #include <linux/mfd/pcf50633/pmic.h> 21 - 22 - #define PCF50633_REGULATOR(_name, _id, _min_uV, _uV_step, _min_sel, _n) \ 23 - { \ 24 - .name = _name, \ 25 - .id = PCF50633_REGULATOR_##_id, \ 26 - .ops = &pcf50633_regulator_ops, \ 27 - .n_voltages = _n, \ 28 - .min_uV = _min_uV, \ 29 - .uV_step = _uV_step, \ 30 - .linear_min_sel = _min_sel, \ 31 - .type = REGULATOR_VOLTAGE, \ 32 - .owner = THIS_MODULE, \ 33 - .vsel_reg = PCF50633_REG_##_id##OUT, \ 34 - .vsel_mask = 0xff, \ 35 - .enable_reg = PCF50633_REG_##_id##OUT + 1, \ 36 - .enable_mask = PCF50633_REGULATOR_ON, \ 37 - } 38 - 39 - static const struct regulator_ops pcf50633_regulator_ops = { 40 - .set_voltage_sel = regulator_set_voltage_sel_regmap, 41 - .get_voltage_sel = regulator_get_voltage_sel_regmap, 42 - .list_voltage = regulator_list_voltage_linear, 43 - .map_voltage = regulator_map_voltage_linear, 44 - .enable = regulator_enable_regmap, 45 - .disable = regulator_disable_regmap, 46 - .is_enabled = regulator_is_enabled_regmap, 47 - }; 48 - 49 - static const struct regulator_desc regulators[] = { 50 - [PCF50633_REGULATOR_AUTO] = 51 - PCF50633_REGULATOR("auto", AUTO, 1800000, 25000, 0x2f, 128), 52 - [PCF50633_REGULATOR_DOWN1] = 53 - PCF50633_REGULATOR("down1", DOWN1, 625000, 25000, 0, 96), 54 - [PCF50633_REGULATOR_DOWN2] = 55 - PCF50633_REGULATOR("down2", DOWN2, 625000, 25000, 0, 96), 56 - [PCF50633_REGULATOR_LDO1] = 57 - PCF50633_REGULATOR("ldo1", LDO1, 900000, 100000, 0, 28), 58 - [PCF50633_REGULATOR_LDO2] = 59 - PCF50633_REGULATOR("ldo2", LDO2, 900000, 100000, 0, 28), 60 - [PCF50633_REGULATOR_LDO3] = 61 - PCF50633_REGULATOR("ldo3", LDO3, 900000, 100000, 0, 28), 62 - [PCF50633_REGULATOR_LDO4] = 63 - PCF50633_REGULATOR("ldo4", LDO4, 900000, 100000, 0, 28), 64 - [PCF50633_REGULATOR_LDO5] = 65 - PCF50633_REGULATOR("ldo5", LDO5, 900000, 100000, 0, 28), 66 - [PCF50633_REGULATOR_LDO6] = 67 - PCF50633_REGULATOR("ldo6", LDO6, 900000, 100000, 0, 28), 68 - [PCF50633_REGULATOR_HCLDO] = 69 - PCF50633_REGULATOR("hcldo", HCLDO, 900000, 100000, 0, 28), 70 - [PCF50633_REGULATOR_MEMLDO] = 71 - PCF50633_REGULATOR("memldo", MEMLDO, 900000, 100000, 0, 28), 72 - }; 73 - 74 - static int pcf50633_regulator_probe(struct platform_device *pdev) 75 - { 76 - struct regulator_dev *rdev; 77 - struct pcf50633 *pcf; 78 - struct regulator_config config = { }; 79 - 80 - /* Already set by core driver */ 81 - pcf = dev_to_pcf50633(pdev->dev.parent); 82 - 83 - config.dev = &pdev->dev; 84 - config.init_data = dev_get_platdata(&pdev->dev); 85 - config.driver_data = pcf; 86 - config.regmap = pcf->regmap; 87 - 88 - rdev = devm_regulator_register(&pdev->dev, &regulators[pdev->id], 89 - &config); 90 - if (IS_ERR(rdev)) 91 - return PTR_ERR(rdev); 92 - 93 - platform_set_drvdata(pdev, rdev); 94 - 95 - if (pcf->pdata->regulator_registered) 96 - pcf->pdata->regulator_registered(pcf, pdev->id); 97 - 98 - return 0; 99 - } 100 - 101 - static struct platform_driver pcf50633_regulator_driver = { 102 - .driver = { 103 - .name = "pcf50633-regulator", 104 - .probe_type = PROBE_PREFER_ASYNCHRONOUS, 105 - }, 106 - .probe = pcf50633_regulator_probe, 107 - }; 108 - 109 - static int __init pcf50633_regulator_init(void) 110 - { 111 - return platform_driver_register(&pcf50633_regulator_driver); 112 - } 113 - subsys_initcall(pcf50633_regulator_init); 114 - 115 - static void __exit pcf50633_regulator_exit(void) 116 - { 117 - platform_driver_unregister(&pcf50633_regulator_driver); 118 - } 119 - module_exit(pcf50633_regulator_exit); 120 - 121 - MODULE_AUTHOR("Balaji Rao <balajirrao@openmoko.org>"); 122 - MODULE_DESCRIPTION("PCF50633 regulator driver"); 123 - MODULE_LICENSE("GPL"); 124 - MODULE_ALIAS("platform:pcf50633-regulator");