Commit 1e4ee879 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge branch 'lpc32xx/soc' of https://github.com/vzapolskiy/linux into next/cleanup

From Vladimir Zapolskiy:

"The main change is a switchover to a common clock framework driver for
LPC32xx, this also allows to reuse a shared LPC32xx clockevent driver, and
hence remove legacy clock and timer drivers from arch/arm/mach-lpc32xx.

I'm adding an official LPC32xx maintainer Roland to Cc, however he seems
to be unresponsive for a quite long time (since 2014)."

* 'lpc32xx/soc' of https://github.com/vzapolskiy/linux

:
  arm: lpc32xx: remove direct control of GPIOs from shared mach file
  arm: lpc32xx: remove selected HAVE_IDE
  arm: lpc32xx: switch to common clock framework

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 915c7ce8 0ac1a101
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -527,10 +527,10 @@ config ARCH_LPC32XX
	select ARCH_REQUIRE_GPIOLIB
	select ARM_AMBA
	select CLKDEV_LOOKUP
	select CLKSRC_MMIO
	select CLKSRC_LPC32XX
	select COMMON_CLK
	select CPU_ARM926T
	select GENERIC_CLOCKEVENTS
	select HAVE_IDE
	select USE_OF
	help
	  Support for the NXP LPC32XX family of processors
+1 −2
Original line number Diff line number Diff line
@@ -2,7 +2,6 @@
# Makefile for the linux kernel.
#

obj-y	:= timer.o irq.o common.o serial.o clock.o
obj-y	:= irq.o common.o serial.o
obj-y	+= pm.o suspend.o
obj-y	+= phy3250.o

arch/arm/mach-lpc32xx/clock.c

deleted100644 → 0
+0 −1284

File deleted.

Preview size limit exceeded, changes collapsed.

+0 −53
Original line number Diff line number Diff line
@@ -36,7 +36,6 @@
#include <linux/clk.h>
#include <linux/mtd/lpc32xx_slc.h>
#include <linux/mtd/lpc32xx_mlc.h>
#include <linux/platform_data/gpio-lpc32xx.h>

#include <asm/setup.h>
#include <asm/mach-types.h>
@@ -47,13 +46,6 @@
#include <mach/board.h>
#include "common.h"

/*
 * Mapped GPIOLIB GPIOs
 */
#define LCD_POWER_GPIO		LPC32XX_GPIO(LPC32XX_GPO_P3_GRP, 0)
#define BKL_POWER_GPIO		LPC32XX_GPIO(LPC32XX_GPO_P3_GRP, 4)
#define MMC_PWR_ENABLE_GPIO	LPC32XX_GPIO(LPC32XX_GPO_P3_GRP, 5)

/*
 * AMBA LCD controller
 */
@@ -97,20 +89,6 @@ static int lpc32xx_clcd_setup(struct clcd_fb *fb)
	fb->fb.fix.smem_len = PANEL_SIZE;
	fb->panel = &conn_lcd_panel;

	if (gpio_request(LCD_POWER_GPIO, "LCD power"))
		printk(KERN_ERR "Error requesting gpio %u",
			LCD_POWER_GPIO);
	else if (gpio_direction_output(LCD_POWER_GPIO, 1))
		printk(KERN_ERR "Error setting gpio %u to output",
			LCD_POWER_GPIO);

	if (gpio_request(BKL_POWER_GPIO, "LCD backlight power"))
		printk(KERN_ERR "Error requesting gpio %u",
			BKL_POWER_GPIO);
	else if (gpio_direction_output(BKL_POWER_GPIO, 1))
		printk(KERN_ERR "Error setting gpio %u to output",
			BKL_POWER_GPIO);

	return 0;
}

@@ -127,29 +105,10 @@ static void lpc32xx_clcd_remove(struct clcd_fb *fb)
		fb->fb.screen_base, fb->fb.fix.smem_start);
}

/*
 * On some early LCD modules (1307.0), the backlight logic is inverted.
 * For those board variants, swap the disable and enable states for
 * BKL_POWER_GPIO.
*/
static void clcd_disable(struct clcd_fb *fb)
{
	gpio_set_value(BKL_POWER_GPIO, 0);
	gpio_set_value(LCD_POWER_GPIO, 0);
}

static void clcd_enable(struct clcd_fb *fb)
{
	gpio_set_value(BKL_POWER_GPIO, 1);
	gpio_set_value(LCD_POWER_GPIO, 1);
}

static struct clcd_board lpc32xx_clcd_data = {
	.name		= "Phytec LCD",
	.check		= clcdfb_check,
	.decode		= clcdfb_decode,
	.disable	= clcd_disable,
	.enable		= clcd_enable,
	.setup		= lpc32xx_clcd_setup,
	.mmap		= lpc32xx_clcd_mmap,
	.remove		= lpc32xx_clcd_remove,
@@ -188,20 +147,9 @@ static struct pl08x_platform_data pl08x_pd = {
	.mem_buses = PL08X_AHB1,
};

static int mmc_handle_ios(struct device *dev, struct mmc_ios *ios)
{
	/* Only on and off are supported */
	if (ios->power_mode == MMC_POWER_OFF)
		gpio_set_value(MMC_PWR_ENABLE_GPIO, 0);
	else
		gpio_set_value(MMC_PWR_ENABLE_GPIO, 1);
	return 0;
}

static struct mmci_platform_data lpc32xx_mmci_data = {
	.ocr_mask	= MMC_VDD_30_31 | MMC_VDD_31_32 |
			  MMC_VDD_32_33 | MMC_VDD_33_34,
	.ios_handler	= mmc_handle_ios,
};

static struct lpc32xx_slc_platform_data lpc32xx_slc_data = {
@@ -260,7 +208,6 @@ DT_MACHINE_START(LPC32XX_DT, "LPC32XX SoC (Flattened Device Tree)")
	.atag_offset	= 0x100,
	.map_io		= lpc32xx_map_io,
	.init_irq	= lpc32xx_init_irq,
	.init_time	= lpc32xx_timer_init,
	.init_machine	= lpc3250_machine_init,
	.dt_compat	= lpc32xx_dt_compat,
	.restart	= lpc23xx_restart,
+0 −3
Original line number Diff line number Diff line
@@ -76,9 +76,6 @@ void __init lpc32xx_serial_init(void)
	unsigned int puart;
	int i, j;

	/* UART clocks are off, let clock driver manage them */
	__raw_writel(0, LPC32XX_CLKPWR_UART_CLK_CTRL);

	for (i = 0; i < ARRAY_SIZE(uartinit_data); i++) {
		clk = clk_get(NULL, uartinit_data[i].uart_ck_name);
		if (!IS_ERR(clk)) {
Loading