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

Commit 89acb56d authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'davinci-fixes-for-v4.20' of...

Merge tag 'davinci-fixes-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into fixes

DaVinci: fix GPIO breakage after v4.19

This set of changes is needed to fix the broken GPIO support
for DaVinci boards in legacy mode after certain changes made to the
GPIO driver in 4.19, namely: commits 587f7a69 ("gpio: davinci: Use
dev name for label and automatic base selection") and eb3744a2
("gpio: davinci: Do not assume continuous IRQ numbering").

* tag 'davinci-fixes-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci

:
  ARM: davinci: dm644x: set the GPIO base to 0
  ARM: davinci: da830: set the GPIO base to 0
  ARM: davinci: dm355: set the GPIO base to 0
  ARM: davinci: dm646x: set the GPIO base to 0
  ARM: davinci: dm365: set the GPIO base to 0
  ARM: davinci: da850: set the GPIO base to 0
  gpio: davinci: restore a way to manually specify the GPIO base
  ARM: davinci: dm644x: define gpio interrupts as separate resources
  ARM: davinci: dm355: define gpio interrupts as separate resources
  ARM: davinci: dm646x: define gpio interrupts as separate resources
  ARM: davinci: dm365: define gpio interrupts as separate resources
  ARM: davinci: da8xx: define gpio interrupts as separate resources

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents adb97bcd 27df7977
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -759,6 +759,8 @@ static struct davinci_id da830_ids[] = {
};

static struct davinci_gpio_platform_data da830_gpio_platform_data = {
	.no_auto_base	= true,
	.base		= 0,
	.ngpio		= 128,
};

+3 −1
Original line number Diff line number Diff line
@@ -719,6 +719,8 @@ int __init da850_register_vpif_capture(struct vpif_capture_config
}

static struct davinci_gpio_platform_data da850_gpio_platform_data = {
	.no_auto_base	= true,
	.base		= 0,
	.ngpio		= 144,
};

+40 −0
Original line number Diff line number Diff line
@@ -701,6 +701,46 @@ static struct resource da8xx_gpio_resources[] = {
	},
	{ /* interrupt */
		.start	= IRQ_DA8XX_GPIO0,
		.end	= IRQ_DA8XX_GPIO0,
		.flags	= IORESOURCE_IRQ,
	},
	{
		.start	= IRQ_DA8XX_GPIO1,
		.end	= IRQ_DA8XX_GPIO1,
		.flags	= IORESOURCE_IRQ,
	},
	{
		.start	= IRQ_DA8XX_GPIO2,
		.end	= IRQ_DA8XX_GPIO2,
		.flags	= IORESOURCE_IRQ,
	},
	{
		.start	= IRQ_DA8XX_GPIO3,
		.end	= IRQ_DA8XX_GPIO3,
		.flags	= IORESOURCE_IRQ,
	},
	{
		.start	= IRQ_DA8XX_GPIO4,
		.end	= IRQ_DA8XX_GPIO4,
		.flags	= IORESOURCE_IRQ,
	},
	{
		.start	= IRQ_DA8XX_GPIO5,
		.end	= IRQ_DA8XX_GPIO5,
		.flags	= IORESOURCE_IRQ,
	},
	{
		.start	= IRQ_DA8XX_GPIO6,
		.end	= IRQ_DA8XX_GPIO6,
		.flags	= IORESOURCE_IRQ,
	},
	{
		.start	= IRQ_DA8XX_GPIO7,
		.end	= IRQ_DA8XX_GPIO7,
		.flags	= IORESOURCE_IRQ,
	},
	{
		.start	= IRQ_DA8XX_GPIO8,
		.end	= IRQ_DA8XX_GPIO8,
		.flags	= IORESOURCE_IRQ,
	},
+32 −0
Original line number Diff line number Diff line
@@ -548,12 +548,44 @@ static struct resource dm355_gpio_resources[] = {
	},
	{	/* interrupt */
		.start	= IRQ_DM355_GPIOBNK0,
		.end	= IRQ_DM355_GPIOBNK0,
		.flags	= IORESOURCE_IRQ,
	},
	{
		.start	= IRQ_DM355_GPIOBNK1,
		.end	= IRQ_DM355_GPIOBNK1,
		.flags	= IORESOURCE_IRQ,
	},
	{
		.start	= IRQ_DM355_GPIOBNK2,
		.end	= IRQ_DM355_GPIOBNK2,
		.flags	= IORESOURCE_IRQ,
	},
	{
		.start	= IRQ_DM355_GPIOBNK3,
		.end	= IRQ_DM355_GPIOBNK3,
		.flags	= IORESOURCE_IRQ,
	},
	{
		.start	= IRQ_DM355_GPIOBNK4,
		.end	= IRQ_DM355_GPIOBNK4,
		.flags	= IORESOURCE_IRQ,
	},
	{
		.start	= IRQ_DM355_GPIOBNK5,
		.end	= IRQ_DM355_GPIOBNK5,
		.flags	= IORESOURCE_IRQ,
	},
	{
		.start	= IRQ_DM355_GPIOBNK6,
		.end	= IRQ_DM355_GPIOBNK6,
		.flags	= IORESOURCE_IRQ,
	},
};

static struct davinci_gpio_platform_data dm355_gpio_platform_data = {
	.no_auto_base	= true,
	.base		= 0,
	.ngpio		= 104,
};

+37 −0
Original line number Diff line number Diff line
@@ -267,12 +267,49 @@ static struct resource dm365_gpio_resources[] = {
	},
	{	/* interrupt */
		.start	= IRQ_DM365_GPIO0,
		.end	= IRQ_DM365_GPIO0,
		.flags	= IORESOURCE_IRQ,
	},
	{
		.start	= IRQ_DM365_GPIO1,
		.end	= IRQ_DM365_GPIO1,
		.flags	= IORESOURCE_IRQ,
	},
	{
		.start	= IRQ_DM365_GPIO2,
		.end	= IRQ_DM365_GPIO2,
		.flags	= IORESOURCE_IRQ,
	},
	{
		.start	= IRQ_DM365_GPIO3,
		.end	= IRQ_DM365_GPIO3,
		.flags	= IORESOURCE_IRQ,
	},
	{
		.start	= IRQ_DM365_GPIO4,
		.end	= IRQ_DM365_GPIO4,
		.flags	= IORESOURCE_IRQ,
	},
	{
		.start	= IRQ_DM365_GPIO5,
		.end	= IRQ_DM365_GPIO5,
		.flags	= IORESOURCE_IRQ,
	},
	{
		.start	= IRQ_DM365_GPIO6,
		.end	= IRQ_DM365_GPIO6,
		.flags	= IORESOURCE_IRQ,
	},
	{
		.start	= IRQ_DM365_GPIO7,
		.end	= IRQ_DM365_GPIO7,
		.flags	= IORESOURCE_IRQ,
	},
};

static struct davinci_gpio_platform_data dm365_gpio_platform_data = {
	.no_auto_base	= true,
	.base		= 0,
	.ngpio		= 104,
	.gpio_unbanked	= 8,
};
Loading