Commit 14107c75 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'for-linus/samsung' of git://git.fluff.org/bjdooks/linux

* 'for-linus/samsung' of git://git.fluff.org/bjdooks/linux:
  ARM: S3C: Fix NAND device registration by s3c_nand_set_platdata().
  ARM: S3C24XX: touchscreen device definition
  ARM: mach-bast: add NAND_SCAN_SILENT_NODEV to optional devices
  ARM: mach-osiris: add NAND_SCAN_SILENT_NODEV to optional devices
  ARM: S3C24XX: touchscreen device definition
parents 846f9974 70670e4b
/* linux/include/asm/arch-s3c2410/ts.h
*
* Copyright (c) 2005 Arnaud Patard <arnaud.patard@rtp-net.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef __ASM_ARM_TS_H
#define __ASM_ARM_TS_H
struct s3c2410_ts_mach_info {
int delay;
int presc;
int oversampling_shift;
};
extern void s3c24xx_ts_set_platdata(struct s3c2410_ts_mach_info *);
#endif /* __ASM_ARM_TS_H */
...@@ -279,6 +279,7 @@ static struct s3c2410_nand_set __initdata bast_nand_sets[] = { ...@@ -279,6 +279,7 @@ static struct s3c2410_nand_set __initdata bast_nand_sets[] = {
.name = "SmartMedia", .name = "SmartMedia",
.nr_chips = 1, .nr_chips = 1,
.nr_map = smartmedia_map, .nr_map = smartmedia_map,
.options = NAND_SCAN_SILENT_NODEV,
.nr_partitions = ARRAY_SIZE(bast_default_nand_part), .nr_partitions = ARRAY_SIZE(bast_default_nand_part),
.partitions = bast_default_nand_part, .partitions = bast_default_nand_part,
}, },
...@@ -293,6 +294,7 @@ static struct s3c2410_nand_set __initdata bast_nand_sets[] = { ...@@ -293,6 +294,7 @@ static struct s3c2410_nand_set __initdata bast_nand_sets[] = {
.name = "chip1", .name = "chip1",
.nr_chips = 1, .nr_chips = 1,
.nr_map = chip1_map, .nr_map = chip1_map,
.options = NAND_SCAN_SILENT_NODEV,
.nr_partitions = ARRAY_SIZE(bast_default_nand_part), .nr_partitions = ARRAY_SIZE(bast_default_nand_part),
.partitions = bast_default_nand_part, .partitions = bast_default_nand_part,
}, },
...@@ -300,6 +302,7 @@ static struct s3c2410_nand_set __initdata bast_nand_sets[] = { ...@@ -300,6 +302,7 @@ static struct s3c2410_nand_set __initdata bast_nand_sets[] = {
.name = "chip2", .name = "chip2",
.nr_chips = 1, .nr_chips = 1,
.nr_map = chip2_map, .nr_map = chip2_map,
.options = NAND_SCAN_SILENT_NODEV,
.nr_partitions = ARRAY_SIZE(bast_default_nand_part), .nr_partitions = ARRAY_SIZE(bast_default_nand_part),
.partitions = bast_default_nand_part, .partitions = bast_default_nand_part,
} }
......
...@@ -46,6 +46,7 @@ ...@@ -46,6 +46,7 @@
#include <mach/h1940.h> #include <mach/h1940.h>
#include <mach/h1940-latch.h> #include <mach/h1940-latch.h>
#include <mach/fb.h> #include <mach/fb.h>
#include <mach/ts.h>
#include <plat/udc.h> #include <plat/udc.h>
#include <plat/iic.h> #include <plat/iic.h>
...@@ -140,6 +141,11 @@ static struct s3c2410_udc_mach_info h1940_udc_cfg __initdata = { ...@@ -140,6 +141,11 @@ static struct s3c2410_udc_mach_info h1940_udc_cfg __initdata = {
.vbus_pin_inverted = 1, .vbus_pin_inverted = 1,
}; };
static struct s3c2410_ts_mach_info h1940_ts_cfg __initdata = {
.delay = 10000,
.presc = 49,
.oversampling_shift = 2,
};
/** /**
* Set lcd on or off * Set lcd on or off
...@@ -265,6 +271,7 @@ static struct platform_device h1940_lcd_powerdev = { ...@@ -265,6 +271,7 @@ static struct platform_device h1940_lcd_powerdev = {
}; };
static struct platform_device *h1940_devices[] __initdata = { static struct platform_device *h1940_devices[] __initdata = {
&s3c_device_ts,
&s3c_device_usb, &s3c_device_usb,
&s3c_device_lcd, &s3c_device_lcd,
&s3c_device_wdt, &s3c_device_wdt,
...@@ -305,6 +312,7 @@ static void __init h1940_init(void) ...@@ -305,6 +312,7 @@ static void __init h1940_init(void)
s3c24xx_fb_set_platdata(&h1940_fb_info); s3c24xx_fb_set_platdata(&h1940_fb_info);
s3c24xx_udc_set_platdata(&h1940_udc_cfg); s3c24xx_udc_set_platdata(&h1940_udc_cfg);
s3c24xx_ts_set_platdata(&h1940_ts_cfg);
s3c_i2c0_set_platdata(NULL); s3c_i2c0_set_platdata(NULL);
s3c_device_sdi.dev.platform_data = &h1940_mmc_cfg; s3c_device_sdi.dev.platform_data = &h1940_mmc_cfg;
......
...@@ -208,6 +208,7 @@ static struct s3c2410_nand_set __initdata osiris_nand_sets[] = { ...@@ -208,6 +208,7 @@ static struct s3c2410_nand_set __initdata osiris_nand_sets[] = {
.name = "External", .name = "External",
.nr_chips = 1, .nr_chips = 1,
.nr_map = external_map, .nr_map = external_map,
.options = NAND_SCAN_SILENT_NODEV,
.nr_partitions = ARRAY_SIZE(osiris_default_nand_part), .nr_partitions = ARRAY_SIZE(osiris_default_nand_part),
.partitions = osiris_default_nand_part, .partitions = osiris_default_nand_part,
}, },
...@@ -222,6 +223,7 @@ static struct s3c2410_nand_set __initdata osiris_nand_sets[] = { ...@@ -222,6 +223,7 @@ static struct s3c2410_nand_set __initdata osiris_nand_sets[] = {
.name = "chip1", .name = "chip1",
.nr_chips = 1, .nr_chips = 1,
.nr_map = chip1_map, .nr_map = chip1_map,
.options = NAND_SCAN_SILENT_NODEV,
.nr_partitions = ARRAY_SIZE(osiris_default_nand_part), .nr_partitions = ARRAY_SIZE(osiris_default_nand_part),
.partitions = osiris_default_nand_part, .partitions = osiris_default_nand_part,
}, },
......
...@@ -114,7 +114,7 @@ void __init s3c_nand_set_platdata(struct s3c2410_platform_nand *nand) ...@@ -114,7 +114,7 @@ void __init s3c_nand_set_platdata(struct s3c2410_platform_nand *nand)
for (i = 0; i < npd->nr_sets; i++) { for (i = 0; i < npd->nr_sets; i++) {
ret = s3c_nand_copy_set(to); ret = s3c_nand_copy_set(to);
if (!ret) { if (ret) {
printk(KERN_ERR "%s: failed to copy set %d\n", printk(KERN_ERR "%s: failed to copy set %d\n",
__func__, i); __func__, i);
return; return;
...@@ -122,6 +122,8 @@ void __init s3c_nand_set_platdata(struct s3c2410_platform_nand *nand) ...@@ -122,6 +122,8 @@ void __init s3c_nand_set_platdata(struct s3c2410_platform_nand *nand)
to++; to++;
} }
} }
s3c_device_nand.dev.platform_data = npd;
} }
EXPORT_SYMBOL_GPL(s3c_nand_set_platdata); EXPORT_SYMBOL_GPL(s3c_nand_set_platdata);
...@@ -31,6 +31,7 @@ extern struct platform_device s3c64xx_device_iisv4; ...@@ -31,6 +31,7 @@ extern struct platform_device s3c64xx_device_iisv4;
extern struct platform_device s3c64xx_device_pcm0; extern struct platform_device s3c64xx_device_pcm0;
extern struct platform_device s3c64xx_device_pcm1; extern struct platform_device s3c64xx_device_pcm1;
extern struct platform_device s3c_device_ts;
extern struct platform_device s3c_device_fb; extern struct platform_device s3c_device_fb;
extern struct platform_device s3c_device_usb; extern struct platform_device s3c_device_usb;
extern struct platform_device s3c_device_lcd; extern struct platform_device s3c_device_lcd;
......
...@@ -37,6 +37,8 @@ ...@@ -37,6 +37,8 @@
#include <plat/cpu.h> #include <plat/cpu.h>
#include <plat/regs-spi.h> #include <plat/regs-spi.h>
#include <mach/ts.h>
/* Serial port registrations */ /* Serial port registrations */
static struct resource s3c2410_uart0_resource[] = { static struct resource s3c2410_uart0_resource[] = {
...@@ -182,6 +184,22 @@ void __init s3c24xx_fb_set_platdata(struct s3c2410fb_mach_info *pd) ...@@ -182,6 +184,22 @@ void __init s3c24xx_fb_set_platdata(struct s3c2410fb_mach_info *pd)
} }
} }
/* Touchscreen */
struct platform_device s3c_device_ts = {
.name = "s3c2410-ts",
.id = -1,
};
EXPORT_SYMBOL(s3c_device_ts);
static struct s3c2410_ts_mach_info s3c2410ts_info;
void __init s3c24xx_ts_set_platdata(struct s3c2410_ts_mach_info *hard_s3c2410ts_info)
{
memcpy(&s3c2410ts_info, hard_s3c2410ts_info, sizeof(struct s3c2410_ts_mach_info));
s3c_device_ts.dev.platform_data = &s3c2410ts_info;
}
EXPORT_SYMBOL(s3c24xx_ts_set_platdata);
/* USB Device (Gadget)*/ /* USB Device (Gadget)*/
static struct resource s3c_usbgadget_resource[] = { static struct resource s3c_usbgadget_resource[] = {
......
...@@ -70,6 +70,7 @@ void __init s3c244x_map_io(void) ...@@ -70,6 +70,7 @@ void __init s3c244x_map_io(void)
s3c_device_sdi.name = "s3c2440-sdi"; s3c_device_sdi.name = "s3c2440-sdi";
s3c_device_i2c0.name = "s3c2440-i2c"; s3c_device_i2c0.name = "s3c2440-i2c";
s3c_device_nand.name = "s3c2440-nand"; s3c_device_nand.name = "s3c2440-nand";
s3c_device_ts.name = "s3c2440-ts";
s3c_device_usbgadget.name = "s3c2440-usbgadget"; s3c_device_usbgadget.name = "s3c2440-usbgadget";
} }
......
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