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

Commit fdc08678 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge branch 'imx/sparse-irq' of git://git.linaro.org/people/shawnguo/linux-2.6 into next/irq

From Shawn Guo <shawn.guo@linaro.org>, this makes it possible to use
sparse irqs with mach-imx.

* 'imx/sparse-irq' of git://git.linaro.org/people/shawnguo/linux-2.6

:
  ARM: imx: enable SPARSE_IRQ for imx platform
  ARM: fiq: change FIQ_START to a variable
  tty: serial: imx: remove the use of MXC_INTERNAL_IRQS
  ARM: imx: remove unneeded mach/irq.h inclusion
  i2c: imx: remove unneeded mach/irqs.h inclusion
  ARM: imx: add a legacy irqdomain for mx31ads
  ARM: imx: add a legacy irqdomain for 3ds_debugboard
  ARM: imx: pass gpio than irq number into mxc_expio_init
  ARM: imx: leave irq_base of wm8350_platform_data uninitialized
  dma: ipu: remove the use of ipu_platform_data
  ARM: imx: move irq_domain_add_legacy call into avic driver
  ARM: imx: move irq_domain_add_legacy call into tzic driver
  gpio/mxc: move irq_domain_add_legacy call into gpio driver
  ARM: imx: eliminate macro IRQ_GPIOx()
  ARM: imx: eliminate macro IOMUX_TO_IRQ()
  ARM: imx: eliminate macro IMX_GPIO_TO_IRQ()

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 6887a413 8842a9e2
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -447,6 +447,7 @@ config ARCH_MXC
	select CLKSRC_MMIO
	select GENERIC_IRQ_CHIP
	select MULTI_IRQ_HANDLER
	select SPARSE_IRQ
	help
	  Support for Freescale MXC/iMX-based family of processors

+1 −1
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@ struct seq_file;
/*
 * This is internal.  Do not use it.
 */
extern void init_FIQ(void);
extern void init_FIQ(int);
extern int show_fiq_list(struct seq_file *, int);

#ifdef CONFIG_MULTI_IRQ_HANDLER
+6 −3
Original line number Diff line number Diff line
@@ -122,14 +122,16 @@ void release_fiq(struct fiq_handler *f)
	while (current_fiq->fiq_op(current_fiq->dev_id, 0));
}

static int fiq_start;

void enable_fiq(int fiq)
{
	enable_irq(fiq + FIQ_START);
	enable_irq(fiq + fiq_start);
}

void disable_fiq(int fiq)
{
	disable_irq(fiq + FIQ_START);
	disable_irq(fiq + fiq_start);
}

EXPORT_SYMBOL(set_fiq_handler);
@@ -140,7 +142,8 @@ EXPORT_SYMBOL(release_fiq);
EXPORT_SYMBOL(enable_fiq);
EXPORT_SYMBOL(disable_fiq);

void __init init_FIQ(void)
void __init init_FIQ(int start)
{
	no_fiq_insn = *(unsigned long *)0xffff001c;
	fiq_start = start;
}
+2 −2
Original line number Diff line number Diff line
@@ -42,8 +42,8 @@ extern const struct imx_imx_uart_1irq_data imx31_imx_uart_data[];
#define imx31_add_imx_uart4(pdata)	imx31_add_imx_uart(4, pdata)

extern const struct imx_ipu_core_data imx31_ipu_core_data;
#define imx31_add_ipu_core(pdata)	\
	imx_add_ipu_core(&imx31_ipu_core_data, pdata)
#define imx31_add_ipu_core()		\
	imx_add_ipu_core(&imx31_ipu_core_data)
#define imx31_alloc_mx3_camera(pdata)	\
	imx_alloc_mx3_camera(&imx31_ipu_core_data, pdata)
#define imx31_add_mx3_sdc_fb(pdata)	\
+2 −2
Original line number Diff line number Diff line
@@ -50,8 +50,8 @@ extern const struct imx_imx_uart_1irq_data imx35_imx_uart_data[];
#define imx35_add_imx_uart2(pdata)	imx35_add_imx_uart(2, pdata)

extern const struct imx_ipu_core_data imx35_ipu_core_data;
#define imx35_add_ipu_core(pdata)	\
	imx_add_ipu_core(&imx35_ipu_core_data, pdata)
#define imx35_add_ipu_core()		\
	imx_add_ipu_core(&imx35_ipu_core_data)
#define imx35_alloc_mx3_camera(pdata)	\
	imx_alloc_mx3_camera(&imx35_ipu_core_data, pdata)
#define imx35_add_mx3_sdc_fb(pdata)	\
Loading