Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 65b65559 authored by Andrew F. Davis's avatar Andrew F. Davis Committed by Lee Jones
Browse files

mfd: tps65912: Remove old driver in preparation for new driver



The old tps65912 driver is being replaced, delete old driver.

Signed-off-by: default avatarAndrew F. Davis <afd@ti.com>
Acked-by: default avatarMark Brown <broonie@kernel.org>
Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
parent c5cdf1d2
Loading
Loading
Loading
Loading
+0 −6
Original line number Original line Diff line number Diff line
@@ -858,12 +858,6 @@ config GPIO_TPS65910
	  Select this option to enable GPIO driver for the TPS65910
	  Select this option to enable GPIO driver for the TPS65910
	  chip family.
	  chip family.


config GPIO_TPS65912
	tristate "TI TPS65912 GPIO"
	depends on (MFD_TPS65912_I2C || MFD_TPS65912_SPI)
	help
	  This driver supports TPS65912 gpio chip

config GPIO_TWL4030
config GPIO_TWL4030
	tristate "TWL4030, TWL5030, and TPS659x0 GPIOs"
	tristate "TWL4030, TWL5030, and TPS659x0 GPIOs"
	depends on TWL4030_CORE
	depends on TWL4030_CORE
+0 −1
Original line number Original line Diff line number Diff line
@@ -97,7 +97,6 @@ obj-$(CONFIG_GPIO_TIMBERDALE) += gpio-timberdale.o
obj-$(CONFIG_GPIO_PALMAS)	+= gpio-palmas.o
obj-$(CONFIG_GPIO_PALMAS)	+= gpio-palmas.o
obj-$(CONFIG_GPIO_TPS6586X)	+= gpio-tps6586x.o
obj-$(CONFIG_GPIO_TPS6586X)	+= gpio-tps6586x.o
obj-$(CONFIG_GPIO_TPS65910)	+= gpio-tps65910.o
obj-$(CONFIG_GPIO_TPS65910)	+= gpio-tps65910.o
obj-$(CONFIG_GPIO_TPS65912)	+= gpio-tps65912.o
obj-$(CONFIG_GPIO_TS5500)	+= gpio-ts5500.o
obj-$(CONFIG_GPIO_TS5500)	+= gpio-ts5500.o
obj-$(CONFIG_GPIO_TWL4030)	+= gpio-twl4030.o
obj-$(CONFIG_GPIO_TWL4030)	+= gpio-twl4030.o
obj-$(CONFIG_GPIO_TWL6040)	+= gpio-twl6040.o
obj-$(CONFIG_GPIO_TWL6040)	+= gpio-twl6040.o

drivers/gpio/gpio-tps65912.c

deleted100644 → 0
+0 −151
Original line number Original line Diff line number Diff line
/*
 * Copyright 2011 Texas Instruments Inc.
 *
 * Author: Margarita Olaya <magi@slimlogic.co.uk>
 *
 *  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 driver is based on wm8350 implementation.
 */

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/errno.h>
#include <linux/gpio.h>
#include <linux/mfd/core.h>
#include <linux/platform_device.h>
#include <linux/seq_file.h>
#include <linux/slab.h>
#include <linux/mfd/tps65912.h>

struct tps65912_gpio_data {
	struct tps65912 *tps65912;
	struct gpio_chip gpio_chip;
};

static int tps65912_gpio_get(struct gpio_chip *gc, unsigned offset)
{
	struct tps65912_gpio_data *tps65912_gpio = gpiochip_get_data(gc);
	struct tps65912 *tps65912 = tps65912_gpio->tps65912;
	int val;

	val = tps65912_reg_read(tps65912, TPS65912_GPIO1 + offset);

	if (val & GPIO_STS_MASK)
		return 1;

	return 0;
}

static void tps65912_gpio_set(struct gpio_chip *gc, unsigned offset,
			      int value)
{
	struct tps65912_gpio_data *tps65912_gpio = gpiochip_get_data(gc);
	struct tps65912 *tps65912 = tps65912_gpio->tps65912;

	if (value)
		tps65912_set_bits(tps65912, TPS65912_GPIO1 + offset,
							GPIO_SET_MASK);
	else
		tps65912_clear_bits(tps65912, TPS65912_GPIO1 + offset,
								GPIO_SET_MASK);
}

static int tps65912_gpio_output(struct gpio_chip *gc, unsigned offset,
				int value)
{
	struct tps65912_gpio_data *tps65912_gpio = gpiochip_get_data(gc);
	struct tps65912 *tps65912 = tps65912_gpio->tps65912;

	/* Set the initial value */
	tps65912_gpio_set(gc, offset, value);

	return tps65912_set_bits(tps65912, TPS65912_GPIO1 + offset,
								GPIO_CFG_MASK);
}

static int tps65912_gpio_input(struct gpio_chip *gc, unsigned offset)
{
	struct tps65912_gpio_data *tps65912_gpio = gpiochip_get_data(gc);
	struct tps65912 *tps65912 = tps65912_gpio->tps65912;

	return tps65912_clear_bits(tps65912, TPS65912_GPIO1 + offset,
								GPIO_CFG_MASK);
}

static struct gpio_chip template_chip = {
	.label			= "tps65912",
	.owner			= THIS_MODULE,
	.direction_input	= tps65912_gpio_input,
	.direction_output	= tps65912_gpio_output,
	.get			= tps65912_gpio_get,
	.set			= tps65912_gpio_set,
	.can_sleep		= true,
	.ngpio			= 5,
	.base			= -1,
};

static int tps65912_gpio_probe(struct platform_device *pdev)
{
	struct tps65912 *tps65912 = dev_get_drvdata(pdev->dev.parent);
	struct tps65912_board *pdata = dev_get_platdata(tps65912->dev);
	struct tps65912_gpio_data *tps65912_gpio;
	int ret;

	tps65912_gpio = devm_kzalloc(&pdev->dev, sizeof(*tps65912_gpio),
				     GFP_KERNEL);
	if (tps65912_gpio == NULL)
		return -ENOMEM;

	tps65912_gpio->tps65912 = tps65912;
	tps65912_gpio->gpio_chip = template_chip;
	tps65912_gpio->gpio_chip.parent = &pdev->dev;
	if (pdata && pdata->gpio_base)
		tps65912_gpio->gpio_chip.base = pdata->gpio_base;

	ret = gpiochip_add_data(&tps65912_gpio->gpio_chip, tps65912_gpio);
	if (ret < 0) {
		dev_err(&pdev->dev, "Failed to register gpiochip, %d\n", ret);
		return ret;
	}

	platform_set_drvdata(pdev, tps65912_gpio);

	return ret;
}

static int tps65912_gpio_remove(struct platform_device *pdev)
{
	struct tps65912_gpio_data  *tps65912_gpio = platform_get_drvdata(pdev);

	gpiochip_remove(&tps65912_gpio->gpio_chip);
	return 0;
}

static struct platform_driver tps65912_gpio_driver = {
	.driver = {
		.name = "tps65912-gpio",
	},
	.probe = tps65912_gpio_probe,
	.remove = tps65912_gpio_remove,
};

static int __init tps65912_gpio_init(void)
{
	return platform_driver_register(&tps65912_gpio_driver);
}
subsys_initcall(tps65912_gpio_init);

static void __exit tps65912_gpio_exit(void)
{
	platform_driver_unregister(&tps65912_gpio_driver);
}
module_exit(tps65912_gpio_exit);

MODULE_AUTHOR("Margarita Olaya Cabrera <magi@slimlogic.co.uk>");
MODULE_DESCRIPTION("GPIO interface for TPS65912 PMICs");
MODULE_LICENSE("GPL v2");
MODULE_ALIAS("platform:tps65912-gpio");
+0 −26
Original line number Original line Diff line number Diff line
@@ -1180,32 +1180,6 @@ config MFD_TPS65910
	  if you say yes here you get support for the TPS65910 series of
	  if you say yes here you get support for the TPS65910 series of
	  Power Management chips.
	  Power Management chips.


config MFD_TPS65912
	bool "TI TPS65912 Power Management chip"
	depends on GPIOLIB
	select MFD_CORE
	help
	  If you say yes here you get support for the TPS65912 series of
	  PM chips.

config MFD_TPS65912_I2C
	bool "TI TPS65912 Power Management chip with I2C"
	select MFD_CORE
	select MFD_TPS65912
	depends on I2C=y && GPIOLIB
	help
	  If you say yes here you get support for the TPS65912 series of
	  PM chips with I2C interface.

config MFD_TPS65912_SPI
	bool "TI TPS65912 Power Management chip with SPI"
	select MFD_CORE
	select MFD_TPS65912
	depends on SPI_MASTER && GPIOLIB
	help
	  If you say yes here you get support for the TPS65912 series of
	  PM chips with SPI interface.

config MFD_TPS80031
config MFD_TPS80031
	bool "TI TPS80031/TPS80032 Power Management chips"
	bool "TI TPS80031/TPS80032 Power Management chips"
	depends on I2C=y
	depends on I2C=y
+0 −4
Original line number Original line Diff line number Diff line
@@ -73,10 +73,6 @@ obj-$(CONFIG_TPS6507X) += tps6507x.o
obj-$(CONFIG_MFD_TPS65217)	+= tps65217.o
obj-$(CONFIG_MFD_TPS65217)	+= tps65217.o
obj-$(CONFIG_MFD_TPS65218)	+= tps65218.o
obj-$(CONFIG_MFD_TPS65218)	+= tps65218.o
obj-$(CONFIG_MFD_TPS65910)	+= tps65910.o
obj-$(CONFIG_MFD_TPS65910)	+= tps65910.o
tps65912-objs                   := tps65912-core.o tps65912-irq.o
obj-$(CONFIG_MFD_TPS65912)	+= tps65912.o
obj-$(CONFIG_MFD_TPS65912_I2C)	+= tps65912-i2c.o
obj-$(CONFIG_MFD_TPS65912_SPI)  += tps65912-spi.o
obj-$(CONFIG_MFD_TPS80031)	+= tps80031.o
obj-$(CONFIG_MFD_TPS80031)	+= tps80031.o
obj-$(CONFIG_MENELAUS)		+= menelaus.o
obj-$(CONFIG_MENELAUS)		+= menelaus.o


Loading