Pārlūkot izejas kodu

Merge tag 'pxa-for-3.20' of https://github.com/rjarzmik/linux into next/fixes-non-critical

Merge "pxa for v3.20" from Robert Jarzmik:

arm: pxa: pxa for v3.20

This update deals mostly with regulator updates for fixing all the
cases where a default regulator is needed, with non device-tree
platforms. There's also a kconfig fix for device-tree pxa.

It should be noticed that all interrupts numbers were shifted by
16 (number of legacy interrupts).

* tag 'pxa-for-3.20' of https://github.com/rjarzmik/linux:
  hx4700: regulator: declare full constraints
  ARM: pxa: add regulator_has_full_constraints to spitz board file
  ARM: pxa: add regulator_has_full_constraints to poodle board file
  ARM: pxa: add regulator_has_full_constraints to corgi board file
  ARM: pxa: arbitrarily set first interrupt number
  arm: pxa: fix pxa27x device-tree support kconfig

Signed-off-by: Olof Johansson <olof@lixom.net>
Olof Johansson 10 gadi atpakaļ
vecāks
revīzija
b2cb793c2c

+ 0 - 6
arch/arm/mach-pxa/Kconfig

@@ -6,7 +6,6 @@ comment "Intel/Marvell Dev Platforms (sorted by hardware release time)"
 
 
 config MACH_PXA27X_DT
 config MACH_PXA27X_DT
 	bool "Support PXA27x platforms from device tree"
 	bool "Support PXA27x platforms from device tree"
-	select CPU_PXA27x
 	select POWER_SUPPLY
 	select POWER_SUPPLY
 	select PXA27x
 	select PXA27x
 	select USE_OF
 	select USE_OF
@@ -84,14 +83,12 @@ config ARCH_VIPER
 	select I2C_GPIO if I2C=y
 	select I2C_GPIO if I2C=y
 	select ISA
 	select ISA
 	select PXA25x
 	select PXA25x
-	select PXA_HAVE_ISA_IRQS
 
 
 config MACH_ARCOM_ZEUS
 config MACH_ARCOM_ZEUS
 	bool "Arcom/Eurotech ZEUS SBC"
 	bool "Arcom/Eurotech ZEUS SBC"
 	select ARCOM_PCMCIA
 	select ARCOM_PCMCIA
 	select ISA
 	select ISA
 	select PXA27x
 	select PXA27x
-	select PXA_HAVE_ISA_IRQS
 
 
 config MACH_BALLOON3
 config MACH_BALLOON3
 	bool "Balloon 3 board"
 	bool "Balloon 3 board"
@@ -691,9 +688,6 @@ config SHARPSL_PM_MAX1111
 	select SPI
 	select SPI
 	select SPI_MASTER
 	select SPI_MASTER
 
 
-config PXA_HAVE_ISA_IRQS
-	bool
-
 config PXA310_ULPI
 config PXA310_ULPI
 	bool
 	bool
 
 

+ 3 - 0
arch/arm/mach-pxa/corgi.c

@@ -26,6 +26,7 @@
 #include <linux/i2c.h>
 #include <linux/i2c.h>
 #include <linux/i2c/pxa-i2c.h>
 #include <linux/i2c/pxa-i2c.h>
 #include <linux/io.h>
 #include <linux/io.h>
+#include <linux/regulator/machine.h>
 #include <linux/spi/spi.h>
 #include <linux/spi/spi.h>
 #include <linux/spi/ads7846.h>
 #include <linux/spi/ads7846.h>
 #include <linux/spi/corgi_lcd.h>
 #include <linux/spi/corgi_lcd.h>
@@ -752,6 +753,8 @@ static void __init corgi_init(void)
 		sharpsl_nand_partitions[1].size = 53 * 1024 * 1024;
 		sharpsl_nand_partitions[1].size = 53 * 1024 * 1024;
 
 
 	platform_add_devices(devices, ARRAY_SIZE(devices));
 	platform_add_devices(devices, ARRAY_SIZE(devices));
+
+	regulator_has_full_constraints();
 }
 }
 
 
 static void __init fixup_corgi(struct tag *tags, char **cmdline)
 static void __init fixup_corgi(struct tag *tags, char **cmdline)

+ 2 - 0
arch/arm/mach-pxa/hx4700.c

@@ -893,6 +893,8 @@ static void __init hx4700_init(void)
 	mdelay(10);
 	mdelay(10);
 	gpio_set_value(GPIO71_HX4700_ASIC3_nRESET, 1);
 	gpio_set_value(GPIO71_HX4700_ASIC3_nRESET, 1);
 	mdelay(10);
 	mdelay(10);
+
+	regulator_has_full_constraints();
 }
 }
 
 
 MACHINE_START(H4700, "HP iPAQ HX4700")
 MACHINE_START(H4700, "HP iPAQ HX4700")

+ 2 - 7
arch/arm/mach-pxa/include/mach/irqs.h

@@ -12,14 +12,9 @@
 #ifndef __ASM_MACH_IRQS_H
 #ifndef __ASM_MACH_IRQS_H
 #define __ASM_MACH_IRQS_H
 #define __ASM_MACH_IRQS_H
 
 
-#ifdef CONFIG_PXA_HAVE_ISA_IRQS
-#define PXA_ISA_IRQ(x)	(x)
-#define PXA_ISA_IRQ_NUM	(16)
-#else
-#define PXA_ISA_IRQ_NUM	(0)
-#endif
+#include <asm/irq.h>
 
 
-#define PXA_IRQ(x)	(PXA_ISA_IRQ_NUM + (x))
+#define PXA_IRQ(x)	(NR_IRQS_LEGACY + (x))
 
 
 #define IRQ_SSP3	PXA_IRQ(0)	/* SSP3 service request */
 #define IRQ_SSP3	PXA_IRQ(0)	/* SSP3 service request */
 #define IRQ_MSL		PXA_IRQ(1)	/* MSL Interface interrupt */
 #define IRQ_MSL		PXA_IRQ(1)	/* MSL Interface interrupt */

+ 2 - 0
arch/arm/mach-pxa/poodle.c

@@ -25,6 +25,7 @@
 #include <linux/gpio.h>
 #include <linux/gpio.h>
 #include <linux/i2c.h>
 #include <linux/i2c.h>
 #include <linux/i2c/pxa-i2c.h>
 #include <linux/i2c/pxa-i2c.h>
+#include <linux/regulator/machine.h>
 #include <linux/spi/spi.h>
 #include <linux/spi/spi.h>
 #include <linux/spi/ads7846.h>
 #include <linux/spi/ads7846.h>
 #include <linux/spi/pxa2xx_spi.h>
 #include <linux/spi/pxa2xx_spi.h>
@@ -455,6 +456,7 @@ static void __init poodle_init(void)
 	pxa_set_i2c_info(NULL);
 	pxa_set_i2c_info(NULL);
 	i2c_register_board_info(0, ARRAY_AND_SIZE(poodle_i2c_devices));
 	i2c_register_board_info(0, ARRAY_AND_SIZE(poodle_i2c_devices));
 	poodle_init_spi();
 	poodle_init_spi();
+	regulator_has_full_constraints();
 }
 }
 
 
 static void __init fixup_poodle(struct tag *tags, char **cmdline)
 static void __init fixup_poodle(struct tag *tags, char **cmdline)

+ 2 - 0
arch/arm/mach-pxa/spitz.c

@@ -979,6 +979,8 @@ static void __init spitz_init(void)
 	spitz_nand_init();
 	spitz_nand_init();
 	spitz_i2c_init();
 	spitz_i2c_init();
 	spitz_audio_init();
 	spitz_audio_init();
+
+	regulator_has_full_constraints();
 }
 }
 
 
 static void __init spitz_fixup(struct tag *tags, char **cmdline)
 static void __init spitz_fixup(struct tag *tags, char **cmdline)