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

Commit aedb5986 authored by Kristoffer Ericson's avatar Kristoffer Ericson Committed by Paul Mundt
Browse files

sh: hp6xx: Enable touchscreen and powerbutton IRQs.



IRQ0->IRQ3 need to be an IRQ mode for these to work, fix them up.

Signed-off-by: default avatarKristoffer Ericson <Kristoffer.Ericson@gmail.com>
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 1db4e9bb
Loading
Loading
Loading
Loading
+24 −9
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@
 * May be copied or modified under the terms of the GNU General Public
 * License.  See linux/COPYING for more information.
 *
 * Setup code for an HP680  (internal peripherials only)
 * Setup code for HP620/HP660/HP680/HP690 (internal peripherials only)
 */
#include <linux/types.h>
#include <linux/init.h>
@@ -46,10 +46,22 @@ static struct platform_device cf_ide_device = {
	.resource	= cf_ide_resources,
};

static struct platform_device jornadakbd_device = {
	.name		= "jornada680_kbd",
	.id		= -1,
};

static struct platform_device *hp6xx_devices[] __initdata = {
	&cf_ide_device,
	&jornadakbd_device,
};

static void __init hp6xx_init_irq(void)
{
	/* Gets touchscreen and powerbutton IRQ working */
	plat_irq_setup(IRQ_MODE_IRQ);
}

static int __init hp6xx_devices_setup(void)
{
	return platform_add_devices(hp6xx_devices, ARRAY_SIZE(hp6xx_devices));
@@ -101,6 +113,9 @@ device_initcall(hp6xx_devices_setup);
static struct sh_machine_vector mv_hp6xx __initmv = {
	.mv_name = "hp6xx",
	.mv_setup = hp6xx_setup,
	.mv_nr_irqs = HD64461_IRQBASE + HD64461_IRQ_NUM,
	/* IRQ's : CPU(64) + CCHIP(16) + FREE_TO_USE(6) */
	.mv_nr_irqs = HD64461_IRQBASE + HD64461_IRQ_NUM + 6,
	.mv_irq_demux = hd64461_irq_demux,
	/* Enable IRQ0 -> IRQ3 in IRQ_MODE */
	.mv_init_irq = hp6xx_init_irq,
};