summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorSyed Rafiuddin <srafiuddin@nvidia.com>2013-04-03 14:09:40 +0530
committerRiham Haidar <rhaidar@nvidia.com>2013-04-16 14:55:49 -0700
commitf42984eb0c5340bad68200b87cbb1d58acd67d0a (patch)
treeb265528e5cba8103a6f830bfb28073bb306508d4 /drivers
parent4123637ea11cdd589c6c7b09746bf1aeba4da93f (diff)
mfd/regulator: remove bq2419x driver
The bq2419x driver functionality is merged into single file as power/bq2419x-charger, these files are not required hence deleting. Bug 1240114 Change-Id: Ibc09b12904558d6b0905f6bdf309e452f9c8be78 Signed-off-by: Syed Rafiuddin <srafiuddin@nvidia.com> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-on: http://git-master/r/205497 (cherry picked from commit df6821a3a1013d4775fe7ed0c52a56a8bef29a1f) Reviewed-on: http://git-master/r/216078 Reviewed-by: Hyong Bin Kim <hyongbink@nvidia.com> Tested-by: Hyong Bin Kim <hyongbink@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mfd/Kconfig8
-rw-r--r--drivers/mfd/Makefile1
-rw-r--r--drivers/mfd/bq2419x.c144
-rw-r--r--drivers/regulator/Kconfig6
-rw-r--r--drivers/regulator/Makefile1
-rw-r--r--drivers/regulator/bq2419x-regulator.c299
6 files changed, 0 insertions, 459 deletions
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index 96f2da0c16c7..e08d8a932826 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -46,14 +46,6 @@ config MFD_ASIC3
This driver supports the ASIC3 multifunction chip found on many
PDAs (mainly iPAQ and HTC based ones)
-config MFD_BQ2419X
- bool "Support for bq24190, bq24911, bq24192"
- depends on I2C=y
- select MFD_CORE
- select REGMAP_I2C
- help
- This supports the bq24190, bq24911, bq24192 drivers.
-
config MFD_DAVINCI_VOICECODEC
tristate
select MFD_CORE
diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
index 3a72df44cfba..00fc5cc70f63 100644
--- a/drivers/mfd/Makefile
+++ b/drivers/mfd/Makefile
@@ -11,7 +11,6 @@ obj-$(CONFIG_HTC_EGPIO) += htc-egpio.o
obj-$(CONFIG_HTC_PASIC3) += htc-pasic3.o
obj-$(CONFIG_HTC_I2CPLD) += htc-i2cpld.o
-obj-$(CONFIG_MFD_BQ2419X) += bq2419x.o
obj-$(CONFIG_MFD_DAVINCI_VOICECODEC) += davinci_voicecodec.o
obj-$(CONFIG_MFD_DM355EVM_MSP) += dm355evm_msp.o
obj-$(CONFIG_MFD_TI_SSP) += ti-ssp.o
diff --git a/drivers/mfd/bq2419x.c b/drivers/mfd/bq2419x.c
deleted file mode 100644
index 59b7a0c12d5f..000000000000
--- a/drivers/mfd/bq2419x.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * bq2419x.c -- bq2419x
- *
- * MFD driver for BQ2419X charger.
- *
- * Copyright (c) 2012-2013, NVIDIA Corporation.
- *
- * Author: Laxman Dewangan <ldewangan@nvidia.com>
- *
- * 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 version 2.
- *
- * This program is distributed "as is" WITHOUT ANY WARRANTY of any kind,
- * whether express or implied; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307, USA
- */
-
-#include <linux/err.h>
-#include <linux/gpio.h>
-#include <linux/i2c.h>
-#include <linux/init.h>
-#include <linux/kernel.h>
-#include <linux/module.h>
-#include <linux/platform_device.h>
-#include <linux/regmap.h>
-#include <linux/mfd/core.h>
-#include <linux/mfd/bq2419x.h>
-#include <linux/slab.h>
-
-static struct mfd_cell bq2419x_children[] = {
- {.name = "bq2419x-pmic",},
- {.name = "bq2419x-battery-charger",},
-};
-
-static const struct regmap_config bq2419x_regmap_config = {
- .reg_bits = 8,
- .val_bits = 8,
- .max_register = BQ2419X_MAX_REGS,
-};
-
-static int __devinit bq2419x_probe(struct i2c_client *client,
- const struct i2c_device_id *id)
-{
- struct bq2419x_platform_data *pdata;
- struct bq2419x_chip *bq;
- int ret;
-
- pdata = client->dev.platform_data;
- if (!pdata) {
- dev_err(&client->dev, "No Platform data");
- return -EIO;
- }
-
- bq = devm_kzalloc(&client->dev, sizeof(*bq), GFP_KERNEL);
- if (!bq) {
- dev_err(&client->dev, "Memory allocation failed\n");
- return -ENOMEM;
- }
-
- bq->dev = &client->dev;
- bq->regmap = devm_regmap_init_i2c(client, &bq2419x_regmap_config);
- if (IS_ERR(bq->regmap)) {
- ret = PTR_ERR(bq->regmap);
- dev_err(&client->dev, "regmap init failed with err %d\n", ret);
- return ret;
- }
- i2c_set_clientdata(client, bq);
-
- if (pdata->disable_watchdog) {
- ret = regmap_update_bits(bq->regmap, BQ2419X_WD,
- BQ2419X_WD_MASK, BQ2419X_WD_DISABLE);
- if (ret < 0) {
- dev_err(bq->dev, "register %d update failed with err %d",
- BQ2419X_WD, ret);
- return ret;
- }
- }
-
- /* Clear EN_HIZ */
- ret = regmap_update_bits(bq->regmap,
- BQ2419X_INPUT_SRC_REG, BQ2419X_EN_HIZ, 0);
- if (ret < 0) {
- dev_err(bq->dev, "error reading reg: 0x%x\n",
- BQ2419X_INPUT_SRC_REG);
- return ret;
- }
-
- ret = mfd_add_devices(bq->dev, -1, bq2419x_children,
- ARRAY_SIZE(bq2419x_children), NULL, 0);
- if (ret < 0) {
- dev_err(bq->dev,
- "registering mfd sub devices failed, err = %d\n", ret);
- return ret;
- }
- return 0;
-}
-
-static int __devexit bq2419x_remove(struct i2c_client *client)
-{
- struct bq2419x_chip *bq = i2c_get_clientdata(client);
-
- mfd_remove_devices(bq->dev);
- return 0;
-}
-
-static const struct i2c_device_id bq2419x_id[] = {
- {.name = "bq2419x",},
- {},
-};
-
-MODULE_DEVICE_TABLE(i2c, bq2419x_id);
-
-static struct i2c_driver bq2419x_i2c_driver = {
- .driver = {
- .name = "bq2419x",
- .owner = THIS_MODULE,
- },
- .probe = bq2419x_probe,
- .remove = __devexit_p(bq2419x_remove),
- .id_table = bq2419x_id,
-};
-
-static int __init bq2419x_init(void)
-{
- return i2c_add_driver(&bq2419x_i2c_driver);
-}
-subsys_initcall(bq2419x_init);
-
-static void __exit bq2419x_cleanup(void)
-{
- i2c_del_driver(&bq2419x_i2c_driver);
-}
-module_exit(bq2419x_cleanup);
-
-MODULE_AUTHOR("Laxman Dewangan <ldewangan@nvidia.com>");
-MODULE_DESCRIPTION("BQ2419X mfd core driver");
-MODULE_LICENSE("GPL v2");
diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig
index 84848300bf86..03aa8ab1a454 100644
--- a/drivers/regulator/Kconfig
+++ b/drivers/regulator/Kconfig
@@ -88,12 +88,6 @@ config REGULATOR_AAT2870
If you have a AnalogicTech AAT2870 say Y to enable the
regulator driver.
-config REGULATOR_BQ2419X
- tristate "BQ24190, BQ24191, BQ24192 Charger VBUS regualtor"
- depends on MFD_BQ2419X
- help
- Say y here to support the VBUS regulator support from BQ2419X.
-
config REGULATOR_DA903X
tristate "Dialog Semiconductor DA9030/DA9034 regulators"
depends on PMIC_DA903X
diff --git a/drivers/regulator/Makefile b/drivers/regulator/Makefile
index 2bfff3150596..79ac38c4c7b1 100644
--- a/drivers/regulator/Makefile
+++ b/drivers/regulator/Makefile
@@ -16,7 +16,6 @@ obj-$(CONFIG_REGULATOR_AB3100) += ab3100.o
obj-$(CONFIG_REGULATOR_AB8500) += ab8500.o
obj-$(CONFIG_REGULATOR_AD5398) += ad5398.o
obj-$(CONFIG_REGULATOR_ANATOP) += anatop-regulator.o
-obj-$(CONFIG_REGULATOR_BQ2419X) += bq2419x-regulator.o
obj-$(CONFIG_REGULATOR_DA903X) += da903x.o
obj-$(CONFIG_REGULATOR_DA9052) += da9052-regulator.o
obj-$(CONFIG_REGULATOR_DBX500_PRCMU) += dbx500-prcmu.o
diff --git a/drivers/regulator/bq2419x-regulator.c b/drivers/regulator/bq2419x-regulator.c
deleted file mode 100644
index e4f660212cc4..000000000000
--- a/drivers/regulator/bq2419x-regulator.c
+++ /dev/null
@@ -1,299 +0,0 @@
-/*
- * bq2419x-regulator.c -- bq2419x
- *
- * Regulator driver for BQ2419X charger.
- *
- * Copyright (c) 2012-2013, NVIDIA CORPORATION. All rights reserved.
- *
- * Author: Laxman Dewangan <ldewangan@nvidia.com>
- *
- * 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 version 2.
- *
- * This program is distributed "as is" WITHOUT ANY WARRANTY of any kind,
- * whether express or implied; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- * 02111-1307, USA
- */
-
-#include <linux/err.h>
-#include <linux/gpio.h>
-#include <linux/i2c.h>
-#include <linux/init.h>
-#include <linux/kernel.h>
-#include <linux/module.h>
-#include <linux/platform_device.h>
-#include <linux/regmap.h>
-#include <linux/regulator/driver.h>
-#include <linux/regulator/machine.h>
-#include <linux/mfd/bq2419x.h>
-#include <linux/slab.h>
-
-struct bq2419x_regulator_info {
- struct device *dev;
- struct regulator_desc desc;
- struct regulator_dev *rdev;
- struct bq2419x_chip *chip;
- int gpio_otg_iusb;
- bool power_off_on_suspend;
- struct mutex mutex;
- int shutdown_complete;
-};
-
-static int bq2419x_regulator_enable_time(struct regulator_dev *rdev)
-{
- return 500000;
-}
-
-static int bq2419x_dcdc_enable(struct regulator_dev *rdev)
-{
- struct bq2419x_regulator_info *bq = rdev_get_drvdata(rdev);
- int ret;
-
- dev_info(bq->dev, "%s called\n", __func__);
- if (gpio_is_valid(bq->gpio_otg_iusb))
- gpio_set_value(bq->gpio_otg_iusb, 1);
-
- mutex_lock(&bq->mutex);
- if (bq && bq->shutdown_complete) {
- mutex_unlock(&bq->mutex);
- return -ENODEV;
- }
-
- /* Clear EN_HIZ */
- ret = regmap_update_bits(bq->chip->regmap,
- BQ2419X_INPUT_SRC_REG, BQ2419X_EN_HIZ, 0);
- if (ret < 0) {
- dev_err(bq->dev, "error reading reg: 0x%x\n",
- BQ2419X_INPUT_SRC_REG);
- return ret;
- }
-
- ret = regmap_update_bits(bq->chip->regmap, BQ2419X_OTG,
- BQ2419X_OTG_ENABLE_MASK, BQ2419X_OTG_ENABLE);
- if (ret < 0) {
- dev_err(bq->dev, "register %d update failed with err %d",
- BQ2419X_OTG, ret);
- mutex_unlock(&bq->mutex);
- return ret;
- }
- mutex_unlock(&bq->mutex);
- return ret;
-}
-
-static int bq2419x_dcdc_disable(struct regulator_dev *rdev)
-{
- struct bq2419x_regulator_info *bq = rdev_get_drvdata(rdev);
- int ret = 0;
-
- dev_info(bq->dev, "%s called\n", __func__);
- mutex_lock(&bq->mutex);
- if (bq && bq->shutdown_complete) {
- mutex_unlock(&bq->mutex);
- return -ENODEV;
- }
-
- ret = regmap_update_bits(bq->chip->regmap, BQ2419X_OTG,
- BQ2419X_OTG_ENABLE_MASK, 0x10);
- if (ret < 0) {
- dev_err(bq->dev, "register %d update failed with err %d",
- BQ2419X_OTG, ret);
- mutex_unlock(&bq->mutex);
- return ret;
- }
-
- if (gpio_is_valid(bq->gpio_otg_iusb))
- gpio_set_value(bq->gpio_otg_iusb, 0);
-
- mutex_unlock(&bq->mutex);
- return ret;
-}
-
-static int bq2419x_dcdc_is_enabled(struct regulator_dev *rdev)
-{
- struct bq2419x_regulator_info *bq = rdev_get_drvdata(rdev);
- int ret;
- unsigned int data;
-
- mutex_lock(&bq->mutex);
- if (bq && bq->shutdown_complete) {
- mutex_unlock(&bq->mutex);
- return -ENODEV;
- }
- ret = regmap_read(bq->chip->regmap, BQ2419X_OTG, &data);
- if (ret < 0) {
- dev_err(bq->dev, "register %d read failed with err %d",
- BQ2419X_OTG, ret);
- mutex_unlock(&bq->mutex);
- return ret;
- }
- mutex_unlock(&bq->mutex);
- return (data & BQ2419X_OTG_ENABLE_MASK) == BQ2419X_OTG_ENABLE;
-}
-
-static struct regulator_ops bq2419x_dcdc_ops = {
- .enable = bq2419x_dcdc_enable,
- .disable = bq2419x_dcdc_disable,
- .is_enabled = bq2419x_dcdc_is_enabled,
- .enable_time = bq2419x_regulator_enable_time,
-};
-
-static void bq2419x_regulator_shutdown(struct platform_device *pdev)
-{
- struct bq2419x_regulator_info *bq = platform_get_drvdata(pdev);
-
- mutex_lock(&bq->mutex);
- bq->shutdown_complete = 1;
- mutex_unlock(&bq->mutex);
-}
-
-static int __devinit bq2419x_regulator_probe(struct platform_device *pdev)
-{
- struct bq2419x_regulator_platform_data *pdata = NULL;
- struct bq2419x_platform_data *chip_pdata;
- struct regulator_dev *rdev;
- struct bq2419x_regulator_info *bq;
- int ret;
-
- chip_pdata = dev_get_platdata(pdev->dev.parent);
- if (chip_pdata)
- pdata = chip_pdata->reg_pdata;
-
- if (!pdata) {
- dev_err(&pdev->dev, "No Platform data");
- return -EIO;
- }
-
- bq = devm_kzalloc(&pdev->dev, sizeof(*bq), GFP_KERNEL);
- if (!bq) {
- dev_err(&pdev->dev, "Memory allocation failed\n");
- return -ENOMEM;
- }
-
- bq->dev = &pdev->dev;
- bq->chip = dev_get_drvdata(pdev->dev.parent);
-
- bq->gpio_otg_iusb = pdata->gpio_otg_iusb;
- bq->power_off_on_suspend = pdata->power_off_on_suspend;
- bq->desc.name = "bq2419x-vbus";
- bq->desc.id = 0;
- bq->desc.ops = &bq2419x_dcdc_ops;
- bq->desc.type = REGULATOR_VOLTAGE;
- bq->desc.owner = THIS_MODULE;
- bq->shutdown_complete = 0;
- mutex_init(&bq->mutex);
-
- platform_set_drvdata(pdev, bq);
-
- if (gpio_is_valid(bq->gpio_otg_iusb)) {
- ret = gpio_request(bq->gpio_otg_iusb, dev_name(&pdev->dev));
- if (ret < 0) {
- dev_err(&pdev->dev,
- "gpio request failed, err = %d\n", ret);
- return ret;
- }
- gpio_direction_output(bq->gpio_otg_iusb, 0);
- }
-
- /* Register the regulators */
- rdev = regulator_register(&bq->desc, &pdev->dev,
- pdata->reg_init_data, bq, NULL);
- if (IS_ERR(rdev)) {
- ret = PTR_ERR(rdev);
- dev_err(bq->dev, "regulator register failed, err %d\n", ret);
- goto err_init;
- }
-
- bq->rdev = rdev;
-
- ret = regmap_update_bits(bq->chip->regmap, BQ2419X_OTG,
- BQ2419X_OTG_ENABLE_MASK, 0x10);
- if (ret < 0) {
- dev_err(bq->dev, "register %d update failed with err %d",
- BQ2419X_OTG, ret);
- goto err_reg_update;
- }
- return 0;
-
-err_reg_update:
- regulator_unregister(bq->rdev);
-err_init:
- if (gpio_is_valid(bq->gpio_otg_iusb))
- gpio_free(bq->gpio_otg_iusb);
- mutex_destroy(&bq->mutex);
- return ret;
-}
-
-static int __devexit bq2419x_regulator_remove(struct platform_device *pdev)
-{
- struct bq2419x_regulator_info *bq = platform_get_drvdata(pdev);
-
- mutex_destroy(&bq->mutex);
- regulator_unregister(bq->rdev);
- if (gpio_is_valid(bq->gpio_otg_iusb))
- gpio_free(bq->gpio_otg_iusb);
- return 0;
-}
-
-#ifdef CONFIG_PM_SLEEP
-static int bq2419x_reg_suspend(struct device *dev)
-{
- struct bq2419x_regulator_info *bq = dev_get_drvdata(dev);
-
- if (bq->power_off_on_suspend && bq2419x_dcdc_is_enabled(bq->rdev) > 0)
- bq2419x_dcdc_disable(bq->rdev);
- return 0;
-}
-
-static int bq2419x_reg_resume(struct device *dev)
-{
- struct bq2419x_regulator_info *bq = dev_get_drvdata(dev);
-
- /* Turn on regulator that might be turned off by bq2419x_reg_suspend()
- * and that should be turned on according to the regulators properties.
- */
- if (bq->power_off_on_suspend &&
- (bq->rdev->use_count > 0 || bq->rdev->constraints->always_on))
- bq2419x_dcdc_enable(bq->rdev);
- return 0;
-}
-
-static const struct dev_pm_ops bq2419x_reg_pm_ops = {
- SET_SYSTEM_SLEEP_PM_OPS(bq2419x_reg_suspend, bq2419x_reg_resume)
-};
-#endif
-
-static struct platform_driver bq2419x_regulator_driver = {
- .driver = {
- .name = "bq2419x-pmic",
- .owner = THIS_MODULE,
-#ifdef CONFIG_PM_SLEEP
- .pm = &bq2419x_reg_pm_ops,
-#endif
- },
- .probe = bq2419x_regulator_probe,
- .shutdown = bq2419x_regulator_shutdown,
- .remove = __devexit_p(bq2419x_regulator_remove),
-};
-
-static int __init bq2419x_init(void)
-{
- return platform_driver_register(&bq2419x_regulator_driver);
-}
-subsys_initcall(bq2419x_init);
-
-static void __exit bq2419x_cleanup(void)
-{
- platform_driver_unregister(&bq2419x_regulator_driver);
-}
-module_exit(bq2419x_cleanup);
-
-MODULE_AUTHOR("Laxman Dewangan <ldewangan@nvidia.com>");
-MODULE_DESCRIPTION("BQ2419X voltage regulator driver");
-MODULE_LICENSE("GPL v2");