Commit 41c3e45f authored by Linus Torvalds's avatar Linus Torvalds

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

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 5226/1: remove unmatched comment end.
  [ARM] Skip memory holes in FLATMEM when reading /proc/pagetypeinfo
  [ARM] use bcd2bin/bin2bcd
  [ARM] use the new byteorder headers
  [ARM] OMAP: Fix 2430 SMC91x ethernet IRQ
  [ARM] OMAP: Add and update OMAP default configuration files
  [ARM] OMAP: Change mailing list for OMAP in MAINTAINERS
  [ARM] S3C2443: Fix the S3C2443 clock register definitions
  [ARM] JIVE: Fix the spi bus numbering
  [ARM] S3C24XX: pwm.c: stop debugging output
  [ARM] S3C24XX: Fix sparse warnings in pwm.c
  [ARM] S3C24XX: Fix spare errors in pwm-clock driver
  [ARM] S3C24XX: Fix sparse warnings in arch/arm/plat-s3c24xx/gpiolib.c
  [ARM] S3C24XX: Fix nor-simtec driver sparse errors
  [ARM] 5225/1: zaurus: Register I2C controller for audio codecs
  [ARM] orion5x: update defconfig to v2.6.27-rc4
  [ARM] Orion: register UART1 on QNAP TS-209 and TS-409
  [ARM] Orion: activate lm75 driver on DNS-323
  [ARM] Orion: fix MAC detection on QNAP TS-209 and TS-409
  [ARM] Orion: Fix boot crash on Kurobox Pro
parents 604a2785 212496fd
...@@ -4005,7 +4005,7 @@ S: Maintained ...@@ -4005,7 +4005,7 @@ S: Maintained
TI OMAP MMC INTERFACE DRIVER TI OMAP MMC INTERFACE DRIVER
P: Carlos Aguiar, Anderson Briglia and Syed Khasim P: Carlos Aguiar, Anderson Briglia and Syed Khasim
M: linux-omap-open-source@linux.omap.com (subscribers only) M: linux-omap@vger.kernel.org
W: http://linux.omap.com W: http://linux.omap.com
W: http://www.muru.com/linux/omap/ W: http://www.muru.com/linux/omap/
S: Maintained S: Maintained
......
...@@ -810,6 +810,11 @@ config OABI_COMPAT ...@@ -810,6 +810,11 @@ config OABI_COMPAT
UNPREDICTABLE (in fact it can be predicted that it won't work UNPREDICTABLE (in fact it can be predicted that it won't work
at all). If in doubt say Y. at all). If in doubt say Y.
config ARCH_FLATMEM_HAS_HOLES
bool
default y
depends on FLATMEM
config ARCH_DISCONTIGMEM_ENABLE config ARCH_DISCONTIGMEM_ENABLE
bool bool
default (ARCH_LH7A40X && !LH7A40X_CONTIGMEM) default (ARCH_LH7A40X && !LH7A40X_CONTIGMEM)
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -18,7 +18,15 @@ ...@@ -18,7 +18,15 @@
#include <linux/compiler.h> #include <linux/compiler.h>
#include <asm/types.h> #include <asm/types.h>
static inline __attribute_const__ __u32 ___arch__swab32(__u32 x) #ifdef __ARMEB__
# define __BIG_ENDIAN
#else
# define __LITTLE_ENDIAN
#endif
#define __SWAB_64_THRU_32__
static inline __attribute_const__ __u32 __arch_swab32(__u32 x)
{ {
__u32 t; __u32 t;
...@@ -40,19 +48,8 @@ static inline __attribute_const__ __u32 ___arch__swab32(__u32 x) ...@@ -40,19 +48,8 @@ static inline __attribute_const__ __u32 ___arch__swab32(__u32 x)
return x; return x;
} }
#define __arch_swab32 __arch_swab32
#define __arch__swab32(x) ___arch__swab32(x) #include <linux/byteorder.h>
#if !defined(__STRICT_ANSI__) || defined(__KERNEL__)
# define __BYTEORDER_HAS_U64__
# define __SWAB_64_THRU_32__
#endif
#ifdef __ARMEB__
#include <linux/byteorder/big_endian.h>
#else
#include <linux/byteorder/little_endian.h>
#endif
#endif #endif
...@@ -29,7 +29,7 @@ ENTRY(sha_transform) ...@@ -29,7 +29,7 @@ ENTRY(sha_transform)
stmfd sp!, {r4 - r8, lr} stmfd sp!, {r4 - r8, lr}
@ for (i = 0; i < 16; i++) @ for (i = 0; i < 16; i++)
@ W[i] = be32_to_cpu(in[i]); */ @ W[i] = be32_to_cpu(in[i]);
#ifdef __ARMEB__ #ifdef __ARMEB__
mov r4, r0 mov r4, r0
......
...@@ -49,12 +49,12 @@ static unsigned long __init get_isa_cmos_time(void) ...@@ -49,12 +49,12 @@ static unsigned long __init get_isa_cmos_time(void)
} while (sec != CMOS_READ(RTC_SECONDS)); } while (sec != CMOS_READ(RTC_SECONDS));
if (!(CMOS_READ(RTC_CONTROL) & RTC_DM_BINARY) || RTC_ALWAYS_BCD) { if (!(CMOS_READ(RTC_CONTROL) & RTC_DM_BINARY) || RTC_ALWAYS_BCD) {
BCD_TO_BIN(sec); sec = bcd2bin(sec);
BCD_TO_BIN(min); min = bcd2bin(min);
BCD_TO_BIN(hour); hour = bcd2bin(hour);
BCD_TO_BIN(day); day = bcd2bin(day);
BCD_TO_BIN(mon); mon = bcd2bin(mon);
BCD_TO_BIN(year); year = bcd2bin(year);
} }
if ((year += 1900) < 1970) if ((year += 1900) < 1970)
year += 100; year += 100;
...@@ -76,7 +76,7 @@ static int set_isa_cmos_time(void) ...@@ -76,7 +76,7 @@ static int set_isa_cmos_time(void)
cmos_minutes = CMOS_READ(RTC_MINUTES); cmos_minutes = CMOS_READ(RTC_MINUTES);
if (!(save_control & RTC_DM_BINARY) || RTC_ALWAYS_BCD) if (!(save_control & RTC_DM_BINARY) || RTC_ALWAYS_BCD)
BCD_TO_BIN(cmos_minutes); cmos_minutes = bcd2bin(cmos_minutes);
/* /*
* since we're only adjusting minutes and seconds, * since we're only adjusting minutes and seconds,
...@@ -92,8 +92,8 @@ static int set_isa_cmos_time(void) ...@@ -92,8 +92,8 @@ static int set_isa_cmos_time(void)
if (abs(real_minutes - cmos_minutes) < 30) { if (abs(real_minutes - cmos_minutes) < 30) {
if (!(save_control & RTC_DM_BINARY) || RTC_ALWAYS_BCD) { if (!(save_control & RTC_DM_BINARY) || RTC_ALWAYS_BCD) {
BIN_TO_BCD(real_seconds); real_seconds = bin2bcd(real_seconds);
BIN_TO_BCD(real_minutes); real_minutes = bin2bcd(real_minutes);
} }
CMOS_WRITE(real_seconds,RTC_SECONDS); CMOS_WRITE(real_seconds,RTC_SECONDS);
CMOS_WRITE(real_minutes,RTC_MINUTES); CMOS_WRITE(real_minutes,RTC_MINUTES);
......
...@@ -103,7 +103,7 @@ static struct resource sdp2430_smc91x_resources[] = { ...@@ -103,7 +103,7 @@ static struct resource sdp2430_smc91x_resources[] = {
[1] = { [1] = {
.start = OMAP_GPIO_IRQ(OMAP24XX_ETHR_GPIO_IRQ), .start = OMAP_GPIO_IRQ(OMAP24XX_ETHR_GPIO_IRQ),
.end = OMAP_GPIO_IRQ(OMAP24XX_ETHR_GPIO_IRQ), .end = OMAP_GPIO_IRQ(OMAP24XX_ETHR_GPIO_IRQ),
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL,
}, },
}; };
......
...@@ -41,6 +41,7 @@ struct pci_bus; ...@@ -41,6 +41,7 @@ struct pci_bus;
struct pci_sys_data; struct pci_sys_data;
void orion5x_pcie_id(u32 *dev, u32 *rev); void orion5x_pcie_id(u32 *dev, u32 *rev);
void orion5x_pci_disable(void);
void orion5x_pci_set_cardbus_mode(void); void orion5x_pci_set_cardbus_mode(void);
int orion5x_pci_sys_setup(int nr, struct pci_sys_data *sys); int orion5x_pci_sys_setup(int nr, struct pci_sys_data *sys);
struct pci_bus *orion5x_pci_sys_scan_bus(int nr, struct pci_sys_data *sys); struct pci_bus *orion5x_pci_sys_scan_bus(int nr, struct pci_sys_data *sys);
......
...@@ -245,12 +245,8 @@ static struct orion5x_mpp_mode dns323_mpp_modes[] __initdata = { ...@@ -245,12 +245,8 @@ static struct orion5x_mpp_mode dns323_mpp_modes[] __initdata = {
static struct i2c_board_info __initdata dns323_i2c_devices[] = { static struct i2c_board_info __initdata dns323_i2c_devices[] = {
{ {
I2C_BOARD_INFO("g760a", 0x3e), I2C_BOARD_INFO("g760a", 0x3e),
#if 0
/* this entry requires the new-style driver model lm75 driver,
* for the meantime "insmod lm75.ko force_lm75=0,0x48" is needed */
}, { }, {
I2C_BOARD_INFO("g751", 0x48), I2C_BOARD_INFO("lm75", 0x48),
#endif
}, { }, {
I2C_BOARD_INFO("m41t80", 0x68), I2C_BOARD_INFO("m41t80", 0x68),
}, },
......
...@@ -146,8 +146,10 @@ static struct hw_pci kurobox_pro_pci __initdata = { ...@@ -146,8 +146,10 @@ static struct hw_pci kurobox_pro_pci __initdata = {
static int __init kurobox_pro_pci_init(void) static int __init kurobox_pro_pci_init(void)
{ {
if (machine_is_kurobox_pro()) if (machine_is_kurobox_pro()) {
orion5x_pci_disable();
pci_common_init(&kurobox_pro_pci); pci_common_init(&kurobox_pro_pci);
}
return 0; return 0;
} }
......
...@@ -541,6 +541,13 @@ static void __devinit rc_pci_fixup(struct pci_dev *dev) ...@@ -541,6 +541,13 @@ static void __devinit rc_pci_fixup(struct pci_dev *dev)
} }
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL, PCI_ANY_ID, rc_pci_fixup); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL, PCI_ANY_ID, rc_pci_fixup);
static int orion5x_pci_disabled __initdata;
void __init orion5x_pci_disable(void)
{
orion5x_pci_disabled = 1;
}
void __init orion5x_pci_set_cardbus_mode(void) void __init orion5x_pci_set_cardbus_mode(void)
{ {
orion5x_pci_cardbus_mode = 1; orion5x_pci_cardbus_mode = 1;
...@@ -553,7 +560,7 @@ int __init orion5x_pci_sys_setup(int nr, struct pci_sys_data *sys) ...@@ -553,7 +560,7 @@ int __init orion5x_pci_sys_setup(int nr, struct pci_sys_data *sys)
if (nr == 0) { if (nr == 0) {
orion_pcie_set_local_bus_nr(PCIE_BASE, sys->busnr); orion_pcie_set_local_bus_nr(PCIE_BASE, sys->busnr);
ret = pcie_setup(sys); ret = pcie_setup(sys);
} else if (nr == 1) { } else if (nr == 1 && !orion5x_pci_disabled) {
orion5x_pci_set_bus_nr(sys->busnr); orion5x_pci_set_bus_nr(sys->busnr);
ret = pci_setup(sys); ret = pci_setup(sys);
} }
...@@ -567,7 +574,7 @@ struct pci_bus __init *orion5x_pci_sys_scan_bus(int nr, struct pci_sys_data *sys ...@@ -567,7 +574,7 @@ struct pci_bus __init *orion5x_pci_sys_scan_bus(int nr, struct pci_sys_data *sys
if (nr == 0) { if (nr == 0) {
bus = pci_scan_bus(sys->busnr, &pcie_ops, sys); bus = pci_scan_bus(sys->busnr, &pcie_ops, sys);
} else if (nr == 1) { } else if (nr == 1 && !orion5x_pci_disabled) {
bus = pci_scan_bus(sys->busnr, &pci_ops, sys); bus = pci_scan_bus(sys->busnr, &pci_ops, sys);
} else { } else {
bus = NULL; bus = NULL;
...@@ -584,7 +591,7 @@ int __init orion5x_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) ...@@ -584,7 +591,7 @@ int __init orion5x_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
/* /*
* PCIe endpoint? * PCIe endpoint?
*/ */
if (bus < orion5x_pci_local_bus_nr()) if (orion5x_pci_disabled || bus < orion5x_pci_local_bus_nr())
return IRQ_ORION5X_PCIE0_INT; return IRQ_ORION5X_PCIE0_INT;
return -1; return -1;
......
...@@ -287,6 +287,10 @@ static void __init qnap_ts209_init(void) ...@@ -287,6 +287,10 @@ static void __init qnap_ts209_init(void)
/* /*
* Configure peripherals. * Configure peripherals.
*/ */
orion5x_setup_dev_boot_win(QNAP_TS209_NOR_BOOT_BASE,
QNAP_TS209_NOR_BOOT_SIZE);
platform_device_register(&qnap_ts209_nor_flash);
orion5x_ehci0_init(); orion5x_ehci0_init();
orion5x_ehci1_init(); orion5x_ehci1_init();
qnap_tsx09_find_mac_addr(QNAP_TS209_NOR_BOOT_BASE + qnap_tsx09_find_mac_addr(QNAP_TS209_NOR_BOOT_BASE +
...@@ -296,12 +300,9 @@ static void __init qnap_ts209_init(void) ...@@ -296,12 +300,9 @@ static void __init qnap_ts209_init(void)
orion5x_i2c_init(); orion5x_i2c_init();
orion5x_sata_init(&qnap_ts209_sata_data); orion5x_sata_init(&qnap_ts209_sata_data);
orion5x_uart0_init(); orion5x_uart0_init();
orion5x_uart1_init();
orion5x_xor_init(); orion5x_xor_init();
orion5x_setup_dev_boot_win(QNAP_TS209_NOR_BOOT_BASE,
QNAP_TS209_NOR_BOOT_SIZE);
platform_device_register(&qnap_ts209_nor_flash);
platform_device_register(&qnap_ts209_button_device); platform_device_register(&qnap_ts209_button_device);
/* Get RTC IRQ and register the chip */ /* Get RTC IRQ and register the chip */
......
...@@ -278,6 +278,10 @@ static void __init qnap_ts409_init(void) ...@@ -278,6 +278,10 @@ static void __init qnap_ts409_init(void)
/* /*
* Configure peripherals. * Configure peripherals.
*/ */
orion5x_setup_dev_boot_win(QNAP_TS409_NOR_BOOT_BASE,
QNAP_TS409_NOR_BOOT_SIZE);
platform_device_register(&qnap_ts409_nor_flash);
orion5x_ehci0_init(); orion5x_ehci0_init();
qnap_tsx09_find_mac_addr(QNAP_TS409_NOR_BOOT_BASE + qnap_tsx09_find_mac_addr(QNAP_TS409_NOR_BOOT_BASE +
qnap_ts409_partitions[5].offset, qnap_ts409_partitions[5].offset,
...@@ -285,10 +289,7 @@ static void __init qnap_ts409_init(void) ...@@ -285,10 +289,7 @@ static void __init qnap_ts409_init(void)
orion5x_eth_init(&qnap_tsx09_eth_data); orion5x_eth_init(&qnap_tsx09_eth_data);
orion5x_i2c_init(); orion5x_i2c_init();
orion5x_uart0_init(); orion5x_uart0_init();
orion5x_uart1_init();
orion5x_setup_dev_boot_win(QNAP_TS409_NOR_BOOT_BASE,
QNAP_TS409_NOR_BOOT_SIZE);
platform_device_register(&qnap_ts409_nor_flash);
platform_device_register(&qnap_ts409_button_device); platform_device_register(&qnap_ts409_button_device);
......
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
#include <mach/pxa-regs.h> #include <mach/pxa-regs.h>
#include <mach/pxa2xx-regs.h> #include <mach/pxa2xx-regs.h>
#include <mach/pxa2xx-gpio.h> #include <mach/pxa2xx-gpio.h>
#include <mach/i2c.h>
#include <mach/irda.h> #include <mach/irda.h>
#include <mach/mmc.h> #include <mach/mmc.h>
#include <mach/udc.h> #include <mach/udc.h>
...@@ -532,6 +533,7 @@ static void __init corgi_init(void) ...@@ -532,6 +533,7 @@ static void __init corgi_init(void)
pxa_set_udc_info(&udc_info); pxa_set_udc_info(&udc_info);
pxa_set_mci_info(&corgi_mci_platform_data); pxa_set_mci_info(&corgi_mci_platform_data);
pxa_set_ficp_info(&corgi_ficp_platform_data); pxa_set_ficp_info(&corgi_ficp_platform_data);
pxa_set_i2c_info(NULL);
platform_scoop_config = &corgi_pcmcia_config; platform_scoop_config = &corgi_pcmcia_config;
......
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
#include <mach/pxa2xx-gpio.h> #include <mach/pxa2xx-gpio.h>
#include <mach/mmc.h> #include <mach/mmc.h>
#include <mach/udc.h> #include <mach/udc.h>
#include <mach/i2c.h>
#include <mach/irda.h> #include <mach/irda.h>
#include <mach/poodle.h> #include <mach/poodle.h>
#include <mach/pxafb.h> #include <mach/pxafb.h>
...@@ -387,6 +388,7 @@ static void __init poodle_init(void) ...@@ -387,6 +388,7 @@ static void __init poodle_init(void)
pxa_set_udc_info(&udc_info); pxa_set_udc_info(&udc_info);
pxa_set_mci_info(&poodle_mci_platform_data); pxa_set_mci_info(&poodle_mci_platform_data);
pxa_set_ficp_info(&poodle_ficp_platform_data); pxa_set_ficp_info(&poodle_ficp_platform_data);
pxa_set_i2c_info(NULL);
platform_scoop_config = &poodle_pcmcia_config; platform_scoop_config = &poodle_pcmcia_config;
......
...@@ -40,6 +40,7 @@ ...@@ -40,6 +40,7 @@
#include <mach/pxa2xx-gpio.h> #include <mach/pxa2xx-gpio.h>
#include <mach/pxa27x-udc.h> #include <mach/pxa27x-udc.h>
#include <mach/reset.h> #include <mach/reset.h>
#include <mach/i2c.h>
#include <mach/irda.h> #include <mach/irda.h>
#include <mach/mmc.h> #include <mach/mmc.h>
#include <mach/ohci.h> #include <mach/ohci.h>
...@@ -574,6 +575,7 @@ static void __init common_init(void) ...@@ -574,6 +575,7 @@ static void __init common_init(void)
pxa_set_ficp_info(&spitz_ficp_platform_data); pxa_set_ficp_info(&spitz_ficp_platform_data);
set_pxa_fb_parent(&spitzssp_device.dev); set_pxa_fb_parent(&spitzssp_device.dev);
set_pxa_fb_info(&spitz_pxafb_info); set_pxa_fb_info(&spitz_pxafb_info);
pxa_set_i2c_info(NULL);
} }
#if defined(CONFIG_MACH_SPITZ) || defined(CONFIG_MACH_BORZOI) #if defined(CONFIG_MACH_SPITZ) || defined(CONFIG_MACH_BORZOI)
......
...@@ -48,11 +48,11 @@ ...@@ -48,11 +48,11 @@
#define S3C2443_CLKSRC_I2S_EPLLREF3 (3<<14) #define S3C2443_CLKSRC_I2S_EPLLREF3 (3<<14)
#define S3C2443_CLKSRC_I2S_MASK (3<<14) #define S3C2443_CLKSRC_I2S_MASK (3<<14)
#define S3C2443_CLKSRC_EPLLREF_XTAL (2<<8) #define S3C2443_CLKSRC_EPLLREF_XTAL (2<<7)
#define S3C2443_CLKSRC_EPLLREF_EXTCLK (3<<8) #define S3C2443_CLKSRC_EPLLREF_EXTCLK (3<<7)
#define S3C2443_CLKSRC_EPLLREF_MPLLREF (0<<8) #define S3C2443_CLKSRC_EPLLREF_MPLLREF (0<<7)
#define S3C2443_CLKSRC_EPLLREF_MPLLREF2 (1<<8) #define S3C2443_CLKSRC_EPLLREF_MPLLREF2 (1<<7)
#define S3C2443_CLKSRC_EPLLREF_MASK (3<<8) #define S3C2443_CLKSRC_EPLLREF_MASK (3<<7)
#define S3C2443_CLKSRC_ESYSCLK_EPLL (1<<6) #define S3C2443_CLKSRC_ESYSCLK_EPLL (1<<6)
#define S3C2443_CLKSRC_MSYSCLK_MPLL (1<<4) #define S3C2443_CLKSRC_MSYSCLK_MPLL (1<<4)
......
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
#include <mach/bast-map.h> #include <mach/bast-map.h>
#include <mach/bast-cpld.h> #include <mach/bast-cpld.h>
#include "nor-simtec.h"
static void simtec_nor_vpp(struct map_info *map, int vpp) static void simtec_nor_vpp(struct map_info *map, int vpp)
{ {
...@@ -50,7 +51,7 @@ static void simtec_nor_vpp(struct map_info *map, int vpp) ...@@ -50,7 +51,7 @@ static void simtec_nor_vpp(struct map_info *map, int vpp)
local_irq_restore(flags); local_irq_restore(flags);
} }
struct physmap_flash_data simtec_nor_pdata = { static struct physmap_flash_data simtec_nor_pdata = {
.width = 2, .width = 2,
.set_vpp = simtec_nor_vpp, .set_vpp = simtec_nor_vpp,
.nr_parts = 0, .nr_parts = 0,
......
...@@ -395,7 +395,7 @@ static void jive_lcd_spi_chipselect(struct s3c2410_spigpio_info *spi, int cs) ...@@ -395,7 +395,7 @@ static void jive_lcd_spi_chipselect(struct s3c2410_spigpio_info *spi, int cs)
} }
static struct s3c2410_spigpio_info jive_lcd_spi = { static struct s3c2410_spigpio_info jive_lcd_spi = {
.bus_num = 0, .bus_num = 1,
.pin_clk = S3C2410_GPG8, .pin_clk = S3C2410_GPG8,
.pin_mosi = S3C2410_GPB8, .pin_mosi = S3C2410_GPB8,
.chip_select = jive_lcd_spi_chipselect, .chip_select = jive_lcd_spi_chipselect,
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment