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

Commit feabb06b authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 4561/1: i.MX/MX1 GPIO parenthes omission and input setup fix
  [ARM] 4557/1: Fix PXA irq gpio initialization
  [ARM] 4551/1: s3c24xx: fix wrong virtual address offsets
  [ARM] 4552/1: i.MX/MX1 GPIO output setup fix
  [ARM] 4553/1: ARM at91: define FIQ_START
  [ARM] 4554/1: replace consistent_sync() with flush_ioremap_region()
  ARM: OMAP: Enable serial idling and wakeup features
  ARM: OMAP2: Force APLLs always active
  ARM: OMAP: H3 workqueue fixes
  ARM: OMAP: OSK led fixes
  ARM: OMAP: fix OMAP1 dmtimer build warning
  ARM: OMAP: Fix 32k timer unsupported one-shot mode
parents 62e6f1e8 a98b38b8
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -721,7 +721,8 @@ config LEDS

config LEDS_TIMER
	bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
			    MACH_OMAP_H2 || MACH_OMAP_PERSEUS2
			    OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
			    || MACH_OMAP_PERSEUS2
	depends on LEDS
	depends on !GENERIC_CLOCKEVENTS
	default y if ARCH_EBSA110
@@ -738,7 +739,9 @@ config LEDS_TIMER

config LEDS_CPU
	bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
			!ARCH_OMAP) || MACH_OMAP_H2 || MACH_OMAP_PERSEUS2
			!ARCH_OMAP) \
			|| OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
			|| MACH_OMAP_PERSEUS2
	depends on LEDS
	help
	  If you say Y here, the red LED will be used to give a good real
+4 −3
Original line number Diff line number Diff line
@@ -101,10 +101,11 @@ EXPORT_SYMBOL(imx_gpio_mode);

int imx_gpio_request(unsigned gpio, const char *label)
{
	if(gpio >= (GPIO_PORT_MAX + 1) * 32)
	if(gpio >= (GPIO_PORT_MAX + 1) * 32) {
		printk(KERN_ERR "imx_gpio: Attempt to request nonexistent GPIO %d for \"%s\"\n",
			gpio, label ? label : "?");
		return -EINVAL;
	}

	if(test_and_set_bit(gpio, imx_gpio_alloc_map)) {
		printk(KERN_ERR "imx_gpio: GPIO %d already used. Allocation for \"%s\" failed\n",
@@ -129,7 +130,7 @@ EXPORT_SYMBOL(imx_gpio_free);

int imx_gpio_direction_input(unsigned gpio)
{
	imx_gpio_mode(gpio| GPIO_IN);
	imx_gpio_mode(gpio | GPIO_IN | GPIO_GIUS | GPIO_DR);
	return 0;
}

@@ -138,7 +139,7 @@ EXPORT_SYMBOL(imx_gpio_direction_input);
int imx_gpio_direction_output(unsigned gpio, int value)
{
	imx_gpio_set_value(gpio, value);
	imx_gpio_mode(gpio| GPIO_OUT);
	imx_gpio_mode(gpio | GPIO_OUT | GPIO_GIUS | GPIO_DR);
	return 0;
}

+7 −5
Original line number Diff line number Diff line
@@ -294,9 +294,11 @@ static int h3_select_irda(struct device *dev, int state)
	return err;
}

static void set_trans_mode(void *data)
static void set_trans_mode(struct work_struct *work)
{
	int *mode = data;
	struct omap_irda_config *irda_config =
		container_of(work, struct omap_irda_config, gpio_expa.work);
	int mode = irda_config->mode;
	unsigned char expa;
	int err = 0;

@@ -306,7 +308,7 @@ static void set_trans_mode(void *data)

	expa &= ~0x03;

	if (*mode & IR_SIRMODE) {
	if (mode & IR_SIRMODE) {
		expa |= 0x01;
	} else { /* MIR/FIR */
		expa |= 0x03;
@@ -321,9 +323,9 @@ static int h3_transceiver_mode(struct device *dev, int mode)
{
	struct omap_irda_config *irda_config = dev->platform_data;

	irda_config->mode = mode;
	cancel_delayed_work(&irda_config->gpio_expa);
	PREPARE_WORK(&irda_config->gpio_expa, set_trans_mode, &mode);
#error this is not permitted - mode is an argument variable
	PREPARE_DELAYED_WORK(&irda_config->gpio_expa, set_trans_mode);
	schedule_delayed_work(&irda_config->gpio_expa, 0);

	return 0;
+3 −3
Original line number Diff line number Diff line
@@ -133,13 +133,13 @@ void osk_leds_event(led_event_t evt)
		mistral_setled();
		break;

	case led_idle_start:
		hw_led_state |= IDLE_LED;
	case led_idle_start:	/* idle == off */
		hw_led_state &= ~IDLE_LED;
		mistral_setled();
		break;

	case led_idle_end:
		hw_led_state &= ~IDLE_LED;
		hw_led_state |= IDLE_LED;
		mistral_setled();
		break;

+0 −11
Original line number Diff line number Diff line
@@ -57,7 +57,6 @@
#include <asm/arch/tc.h>
#include <asm/arch/pm.h>
#include <asm/arch/mux.h>
#include <asm/arch/tps65010.h>
#include <asm/arch/dma.h>
#include <asm/arch/dsp_common.h>
#include <asm/arch/dmtimer.h>
@@ -250,11 +249,6 @@ void omap_pm_suspend(void)

	omap_serial_wake_trigger(1);

	if (machine_is_omap_osk()) {
		/* Stop LED1 (D9) blink */
		tps65010_set_led(LED1, OFF);
	}

	if (!cpu_is_omap15xx())
		omap_writew(0xffff, ULPD_SOFT_DISABLE_REQ_REG);

@@ -447,11 +441,6 @@ void omap_pm_suspend(void)
	omap_serial_wake_trigger(0);

	printk("PM: OMAP%x is re-starting from deep sleep...\n", system_rev);

	if (machine_is_omap_osk()) {
		/* Let LED1 (D9) blink again */
		tps65010_set_led(LED1, BLINK);
	}
}

#if defined(DEBUG) && defined(CONFIG_PROC_FS)
Loading