Commit 2e99b1b0 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

mfd: remove ucb1400 support



The ucb1400 MFD driver and its gpio and touchscreen child
drivers were only used on a few PXA machines that were unused
for a while and are now removed.

Removing these leaves the AC97 support as ALSA specific,
no other drivers are now connected through this interface.

Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Bartosz Golaszewski <brgl@bgdev.pl>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Lee Jones <lee@kernel.org>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Marek Vasut <marex@denx.de>
Cc: linux-kernel@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-input@vger.kernel.org
Cc: alsa-devel@alsa-project.org
Acked-by: default avatarRobert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent 8971bb81
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -1428,13 +1428,6 @@ config GPIO_TWL6040
	  Say yes here to access the GPO signals of twl6040
	  audio chip from Texas Instruments.

config GPIO_UCB1400
	tristate "Philips UCB1400 GPIO"
	depends on UCB1400_CORE
	help
	  This enables support for the Philips UCB1400 GPIO pins.
	  The UCB1400 is an AC97 audio codec.

config GPIO_WHISKEY_COVE
	tristate "GPIO support for Whiskey Cove PMIC"
	depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC_BXTWC
+0 −1
Original line number Diff line number Diff line
@@ -165,7 +165,6 @@ obj-$(CONFIG_GPIO_TS4900) += gpio-ts4900.o
obj-$(CONFIG_GPIO_TS5500)		+= gpio-ts5500.o
obj-$(CONFIG_GPIO_TWL4030)		+= gpio-twl4030.o
obj-$(CONFIG_GPIO_TWL6040)		+= gpio-twl6040.o
obj-$(CONFIG_GPIO_UCB1400)		+= gpio-ucb1400.o
obj-$(CONFIG_GPIO_UNIPHIER)		+= gpio-uniphier.o
obj-$(CONFIG_GPIO_VF610)		+= gpio-vf610.o
obj-$(CONFIG_GPIO_VIPERBOARD)		+= gpio-viperboard.o

drivers/gpio/gpio-ucb1400.c

deleted100644 → 0
+0 −85
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
/*
 * Philips UCB1400 GPIO driver
 *
 * Author: Marek Vasut <marek.vasut@gmail.com>
 */

#include <linux/module.h>
#include <linux/ucb1400.h>
#include <linux/gpio/driver.h>

static int ucb1400_gpio_dir_in(struct gpio_chip *gc, unsigned off)
{
	struct ucb1400_gpio *gpio;
	gpio = gpiochip_get_data(gc);
	ucb1400_gpio_set_direction(gpio->ac97, off, 0);
	return 0;
}

static int ucb1400_gpio_dir_out(struct gpio_chip *gc, unsigned off, int val)
{
	struct ucb1400_gpio *gpio;
	gpio = gpiochip_get_data(gc);
	ucb1400_gpio_set_direction(gpio->ac97, off, 1);
	ucb1400_gpio_set_value(gpio->ac97, off, val);
	return 0;
}

static int ucb1400_gpio_get(struct gpio_chip *gc, unsigned off)
{
	struct ucb1400_gpio *gpio;

	gpio = gpiochip_get_data(gc);
	return !!ucb1400_gpio_get_value(gpio->ac97, off);
}

static void ucb1400_gpio_set(struct gpio_chip *gc, unsigned off, int val)
{
	struct ucb1400_gpio *gpio;
	gpio = gpiochip_get_data(gc);
	ucb1400_gpio_set_value(gpio->ac97, off, val);
}

static int ucb1400_gpio_probe(struct platform_device *dev)
{
	struct ucb1400_gpio *ucb = dev_get_platdata(&dev->dev);
	int err = 0;

	if (!(ucb && ucb->gpio_offset)) {
		err = -EINVAL;
		goto err;
	}

	platform_set_drvdata(dev, ucb);

	ucb->gc.label = "ucb1400_gpio";
	ucb->gc.base = ucb->gpio_offset;
	ucb->gc.ngpio = 10;
	ucb->gc.owner = THIS_MODULE;

	ucb->gc.direction_input = ucb1400_gpio_dir_in;
	ucb->gc.direction_output = ucb1400_gpio_dir_out;
	ucb->gc.get = ucb1400_gpio_get;
	ucb->gc.set = ucb1400_gpio_set;
	ucb->gc.can_sleep = true;

	err = devm_gpiochip_add_data(&dev->dev, &ucb->gc, ucb);

err:
	return err;

}

static struct platform_driver ucb1400_gpio_driver = {
	.probe	= ucb1400_gpio_probe,
	.driver	= {
		.name	= "ucb1400_gpio"
	},
};

module_platform_driver(ucb1400_gpio_driver);

MODULE_DESCRIPTION("Philips UCB1400 GPIO driver");
MODULE_LICENSE("GPL");
MODULE_ALIAS("platform:ucb1400_gpio");
+0 −16
Original line number Diff line number Diff line
@@ -827,22 +827,6 @@ config TOUCHSCREEN_TI_AM335X_TSC
	  To compile this driver as a module, choose M here: the
	  module will be called ti_am335x_tsc.

config TOUCHSCREEN_UCB1400
	tristate "Philips UCB1400 touchscreen"
	depends on AC97_BUS
	depends on UCB1400_CORE
	help
	  This enables support for the Philips UCB1400 touchscreen interface.
	  The UCB1400 is an AC97 audio codec.  The touchscreen interface
	  will be initialized only after the ALSA subsystem has been
	  brought up and the UCB1400 detected.  You therefore have to
	  configure ALSA support as well (either built-in or modular,
	  independently of whether this driver is itself built-in or
	  modular) for this driver to work.

	  To compile this driver as a module, choose M here: the
	  module will be called ucb1400_ts.

config TOUCHSCREEN_PIXCIR
	tristate "PIXCIR I2C touchscreens"
	depends on I2C
+0 −1
Original line number Diff line number Diff line
@@ -97,7 +97,6 @@ obj-$(CONFIG_TOUCHSCREEN_TSC2005) += tsc2005.o
tsc2007-y := tsc2007_core.o
tsc2007-$(CONFIG_TOUCHSCREEN_TSC2007_IIO)	+= tsc2007_iio.o
obj-$(CONFIG_TOUCHSCREEN_TSC2007)	+= tsc2007.o
obj-$(CONFIG_TOUCHSCREEN_UCB1400)	+= ucb1400_ts.o
obj-$(CONFIG_TOUCHSCREEN_WACOM_W8001)	+= wacom_w8001.o
obj-$(CONFIG_TOUCHSCREEN_WACOM_I2C)	+= wacom_i2c.o
obj-$(CONFIG_TOUCHSCREEN_WDT87XX_I2C)	+= wdt87xx_i2c.o
Loading