summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/acpi/acdebug.h5
-rw-r--r--include/acpi/acdispat.h8
-rw-r--r--include/acpi/achware.h5
-rw-r--r--include/acpi/acinterp.h3
-rw-r--r--include/acpi/acmacros.h8
-rw-r--r--include/acpi/acnamesp.h10
-rw-r--r--include/acpi/acparser.h4
-rw-r--r--include/acpi/acpiosxf.h6
-rw-r--r--include/acpi/acpixf.h20
-rw-r--r--include/acpi/acresrc.h4
-rw-r--r--include/acpi/actables.h2
-rw-r--r--include/acpi/acutils.h6
-rw-r--r--include/acpi/platform/acenv.h8
-rw-r--r--include/asm-alpha/io.h10
-rw-r--r--include/asm-alpha/mmzone.h4
-rw-r--r--include/asm-arm/arch-iop3xx/serial.h76
-rw-r--r--include/asm-arm/arch-ixp2000/dma.h2
-rw-r--r--include/asm-arm/arch-ixp2000/io.h2
-rw-r--r--include/asm-arm/arch-ixp2000/irqs.h30
-rw-r--r--include/asm-arm/arch-ixp2000/ixdp2x00.h2
-rw-r--r--include/asm-arm/arch-ixp2000/ixdp2x01.h4
-rw-r--r--include/asm-arm/arch-ixp2000/ixp2000-regs.h10
-rw-r--r--include/asm-arm/arch-ixp2000/platform.h6
-rw-r--r--include/asm-arm/arch-ixp2000/system.h2
-rw-r--r--include/asm-arm/arch-ixp4xx/ixp4xx-regs.h2
-rw-r--r--include/asm-arm/arch-s3c2410/dma.h58
-rw-r--r--include/asm-arm/arch-s3c2410/regs-dsc.h32
-rw-r--r--include/asm-arm/arch-s3c2410/regs-gpio.h14
-rw-r--r--include/asm-arm/arch-s3c2410/regs-iic.h10
-rw-r--r--include/asm-arm/arch-s3c2410/regs-sdi.h20
-rw-r--r--include/asm-arm/arch-s3c2410/regs-serial.h90
-rw-r--r--include/asm-arm/arch-s3c2410/timex.h7
-rw-r--r--include/asm-arm/arch-s3c2410/uncompress.h9
-rw-r--r--include/asm-arm/arch-sa1100/adsbitsy.h14
-rw-r--r--include/asm-arm/arch-sa1100/flexanet.h100
-rw-r--r--include/asm-arm/arch-sa1100/freebird.h69
-rw-r--r--include/asm-arm/arch-sa1100/graphicsclient.h100
-rw-r--r--include/asm-arm/arch-sa1100/graphicsmaster.h64
-rw-r--r--include/asm-arm/arch-sa1100/huw_webpanel.h49
-rw-r--r--include/asm-arm/arch-sa1100/ide.h73
-rw-r--r--include/asm-arm/arch-sa1100/irqs.h9
-rw-r--r--include/asm-arm/arch-sa1100/itsy.h5
-rw-r--r--include/asm-arm/arch-sa1100/mftb2.h210
-rw-r--r--include/asm-arm/arch-sa1100/omnimeter.h84
-rw-r--r--include/asm-arm/arch-sa1100/pangolin.h62
-rw-r--r--include/asm-arm/arch-sa1100/pfs168.h75
-rw-r--r--include/asm-arm/arch-sa1100/pleb.h21
-rw-r--r--include/asm-arm/arch-sa1100/stork.h164
-rw-r--r--include/asm-arm/arch-sa1100/system.h9
-rw-r--r--include/asm-arm/arch-sa1100/system3.h113
-rw-r--r--include/asm-arm/arch-sa1100/trizeps.h22
-rw-r--r--include/asm-arm/arch-sa1100/yopy.h127
-rw-r--r--include/asm-arm/bitops.h2
-rw-r--r--include/asm-arm/ecard.h1
-rw-r--r--include/asm-arm/io.h21
-rw-r--r--include/asm-arm/mach/flash.h19
-rw-r--r--include/asm-arm/mach/irq.h17
-rw-r--r--include/asm-arm/mach/map.h1
-rw-r--r--include/asm-arm/mach/mmc.h1
-rw-r--r--include/asm-arm/page.h8
-rw-r--r--include/asm-arm/procinfo.h6
-rw-r--r--include/asm-generic/vmlinux.lds.h3
-rw-r--r--include/asm-h8300/io.h23
-rw-r--r--include/asm-h8300/sigcontext.h2
-rw-r--r--include/asm-h8300/signal.h2
-rw-r--r--include/asm-h8300/ucontext.h13
-rw-r--r--include/asm-h8300/unistd.h1
-rw-r--r--include/asm-i386/acpi.h6
-rw-r--r--include/asm-i386/apic.h3
-rw-r--r--include/asm-i386/io.h30
-rw-r--r--include/asm-i386/pci-direct.h1
-rw-r--r--include/asm-i386/thread_info.h8
-rw-r--r--include/asm-i386/timer.h20
-rw-r--r--include/asm-ia64/hardirq.h7
-rw-r--r--include/asm-ia64/pal.h2
-rw-r--r--include/asm-ia64/ptrace.h8
-rw-r--r--include/asm-ia64/sn/intr.h11
-rw-r--r--include/asm-ia64/unistd.h6
-rw-r--r--include/asm-m32r/ide.h2
-rw-r--r--include/asm-m32r/io.h8
-rw-r--r--include/asm-m68k/io.h35
-rw-r--r--include/asm-m68k/setup.h2
-rw-r--r--include/asm-m68k/unistd.h5
-rw-r--r--include/asm-m68knommu/mcfdma.h2
-rw-r--r--include/asm-m68knommu/mcfpit.h2
-rw-r--r--include/asm-m68knommu/mcfsim.h9
-rw-r--r--include/asm-m68knommu/mcfuart.h2
-rw-r--r--include/asm-m68knommu/system.h13
-rw-r--r--include/asm-m68knommu/thread_info.h12
-rw-r--r--include/asm-mips/io.h14
-rw-r--r--include/asm-ppc/cputable.h6
-rw-r--r--include/asm-ppc/io.h7
-rw-r--r--include/asm-ppc/mpc85xx.h3
-rw-r--r--include/asm-ppc/ocp_ids.h1
-rw-r--r--include/asm-ppc/open_pic.h1
-rw-r--r--include/asm-ppc/pci-bridge.h2
-rw-r--r--include/asm-ppc/pmac_feature.h4
-rw-r--r--include/asm-ppc64/iSeries/mf.h41
-rw-r--r--include/asm-ppc64/ide.h2
-rw-r--r--include/asm-ppc64/pci-bridge.h29
-rw-r--r--include/asm-ppc64/pgtable.h6
-rw-r--r--include/asm-ppc64/prom.h2
-rw-r--r--include/asm-ppc64/rtas.h2
-rw-r--r--include/asm-ppc64/smp.h1
-rw-r--r--include/asm-ppc64/sstep.h13
-rw-r--r--include/asm-ppc64/unistd.h18
-rw-r--r--include/asm-s390/elf.h11
-rw-r--r--include/asm-sparc/dma.h2
-rw-r--r--include/asm-sparc/fbio.h6
-rw-r--r--include/asm-sparc/io.h180
-rw-r--r--include/asm-sparc/mostek.h6
-rw-r--r--include/asm-sparc64/io.h51
-rw-r--r--include/asm-um/pgtable.h9
-rw-r--r--include/asm-um/unistd.h10
-rw-r--r--include/asm-x86_64/hpet.h2
-rw-r--r--include/asm-x86_64/hw_irq.h2
-rw-r--r--include/asm-x86_64/io.h32
-rw-r--r--include/asm-x86_64/io_apic.h2
-rw-r--r--include/asm-x86_64/vsyscall.h2
-rw-r--r--include/linux/bio.h7
-rw-r--r--include/linux/blkdev.h1
-rw-r--r--include/linux/cdev.h2
-rw-r--r--include/linux/compat_ioctl.h2
-rw-r--r--include/linux/cpufreq.h23
-rw-r--r--include/linux/device-mapper.h4
-rw-r--r--include/linux/device.h5
-rw-r--r--include/linux/dio.h2
-rw-r--r--include/linux/dm-ioctl.h21
-rw-r--r--include/linux/edd.h4
-rw-r--r--include/linux/efi.h2
-rw-r--r--include/linux/efs_fs.h1
-rw-r--r--include/linux/ext3_fs.h2
-rw-r--r--include/linux/ext3_fs_i.h8
-rw-r--r--include/linux/ext3_fs_sb.h2
-rw-r--r--include/linux/fb.h18
-rw-r--r--include/linux/i2c.h16
-rw-r--r--include/linux/i2o.h23
-rw-r--r--include/linux/ioport.h5
-rw-r--r--include/linux/jffs2_fs_i.h3
-rw-r--r--include/linux/kobject_uevent.h1
-rw-r--r--include/linux/libata.h44
-rw-r--r--include/linux/mc146818rtc.h4
-rw-r--r--include/linux/mm.h4
-rw-r--r--include/linux/module.h2
-rw-r--r--include/linux/mount.h2
-rw-r--r--include/linux/mtd/cfi.h20
-rw-r--r--include/linux/mtd/partitions.h3
-rw-r--r--include/linux/netdevice.h18
-rw-r--r--include/linux/netfilter.h2
-rw-r--r--include/linux/netfilter_ipv4/ip_nat_protocol.h2
-rw-r--r--include/linux/pci-acpi.h61
-rw-r--r--include/linux/pci.h43
-rw-r--r--include/linux/pci_ids.h18
-rw-r--r--include/linux/pkt_cls.h6
-rw-r--r--include/linux/profile.h18
-rw-r--r--include/linux/raid/linear.h4
-rw-r--r--include/linux/raid/md_k.h7
-rw-r--r--include/linux/rmap.h4
-rw-r--r--include/linux/serial.h2
-rw-r--r--include/linux/serial_core.h5
-rw-r--r--include/linux/slab.h3
-rw-r--r--include/linux/sonypi.h24
-rw-r--r--include/linux/sysrq.h1
-rw-r--r--include/linux/videodev2.h1
-rw-r--r--include/linux/writeback.h2
-rw-r--r--include/media/saa6752hs.h6
-rw-r--r--include/media/saa7146.h2
-rw-r--r--include/media/tuner.h1
-rw-r--r--include/media/video-buf-dvb.h34
-rw-r--r--include/media/video-buf.h53
-rw-r--r--include/net/bluetooth/hci.h21
-rw-r--r--include/net/bluetooth/hci_core.h1
-rw-r--r--include/net/bluetooth/l2cap.h2
-rw-r--r--include/net/ipv6.h9
-rw-r--r--include/net/sctp/sctp.h6
-rw-r--r--include/net/sock.h16
-rw-r--r--include/net/tcp.h16
-rw-r--r--include/scsi/scsi_device.h1
-rw-r--r--include/video/tgafb.h6
179 files changed, 1085 insertions, 2171 deletions
diff --git a/include/acpi/acdebug.h b/include/acpi/acdebug.h
index 658c5f505872..91f0632d5812 100644
--- a/include/acpi/acdebug.h
+++ b/include/acpi/acdebug.h
@@ -386,11 +386,6 @@ void ACPI_SYSTEM_XFACE
acpi_db_execute_thread (
void *context);
-acpi_status
-acpi_db_user_commands (
- char prompt,
- union acpi_parse_object *op);
-
void
acpi_db_display_help (
char *help_type);
diff --git a/include/acpi/acdispat.h b/include/acpi/acdispat.h
index e003a4f3ff4e..a47a162cc82d 100644
--- a/include/acpi/acdispat.h
+++ b/include/acpi/acdispat.h
@@ -62,10 +62,12 @@ acpi_ds_obj_stack_pop (
u32 pop_count,
struct acpi_walk_state *walk_state);
+#ifdef ACPI_FUTURE_USAGE
void *
acpi_ds_obj_stack_get_value (
u32 index,
struct acpi_walk_state *walk_state);
+#endif
acpi_status
acpi_ds_obj_stack_pop_object (
@@ -248,11 +250,13 @@ u8
acpi_ds_is_method_value (
union acpi_operand_object *obj_desc);
+#ifdef ACPI_FUTURE_USAGE
acpi_object_type
acpi_ds_method_data_get_type (
u16 opcode,
u32 index,
struct acpi_walk_state *walk_state);
+#endif
acpi_status
acpi_ds_method_data_get_value (
@@ -440,9 +444,11 @@ acpi_ds_init_aml_walk (
struct acpi_parameter_info *info,
u32 pass_number);
+#ifdef ACPI_FUTURE_USAGE
acpi_status
acpi_ds_obj_stack_delete_all (
struct acpi_walk_state *walk_state);
+#endif
acpi_status
acpi_ds_obj_stack_pop_and_delete (
@@ -482,6 +488,7 @@ void
acpi_ds_delete_walk_state_cache (
void);
+#ifdef ACPI_FUTURE_USAGE
acpi_status
acpi_ds_result_insert (
void *object,
@@ -493,6 +500,7 @@ acpi_ds_result_remove (
union acpi_operand_object **object,
u32 index,
struct acpi_walk_state *walk_state);
+#endif
acpi_status
acpi_ds_result_pop (
diff --git a/include/acpi/achware.h b/include/acpi/achware.h
index cf55493dc95e..819630d8bf78 100644
--- a/include/acpi/achware.h
+++ b/include/acpi/achware.h
@@ -131,10 +131,12 @@ acpi_hw_clear_gpe_block (
struct acpi_gpe_xrupt_info *gpe_xrupt_info,
struct acpi_gpe_block_info *gpe_block);
+#ifdef ACPI_FUTURE_USAGE
acpi_status
acpi_hw_get_gpe_status (
struct acpi_gpe_event_info *gpe_event_info,
acpi_event_status *event_status);
+#endif
acpi_status
acpi_hw_disable_all_gpes (
@@ -161,6 +163,7 @@ acpi_hw_enable_wakeup_gpe_block (
/* ACPI Timer prototypes */
+#ifdef ACPI_FUTURE_USAGE
acpi_status
acpi_get_timer_resolution (
u32 *resolution);
@@ -174,6 +177,6 @@ acpi_get_timer_duration (
u32 start_ticks,
u32 end_ticks,
u32 *time_elapsed);
-
+#endif /* ACPI_FUTURE_USAGE */
#endif /* __ACHWARE_H__ */
diff --git a/include/acpi/acinterp.h b/include/acpi/acinterp.h
index 7bb6dd85bd2e..73c239af0e1e 100644
--- a/include/acpi/acinterp.h
+++ b/include/acpi/acinterp.h
@@ -504,6 +504,7 @@ acpi_ex_dump_operands (
char *module_name,
u32 line_number);
+#ifdef ACPI_FUTURE_USAGE
void
acpi_ex_dump_object_descriptor (
union acpi_operand_object *object,
@@ -533,7 +534,7 @@ void
acpi_ex_out_address (
char *title,
acpi_physical_address value);
-
+#endif /* ACPI_FUTURE_USAGE */
/*
* exnames - interpreter/scanner name load/execute
diff --git a/include/acpi/acmacros.h b/include/acpi/acmacros.h
index c31118e63e61..25cd64574634 100644
--- a/include/acpi/acmacros.h
+++ b/include/acpi/acmacros.h
@@ -538,7 +538,11 @@
#define ACPI_DUMP_ENTRY(a,b) acpi_ns_dump_entry (a,b)
+
+#ifdef ACPI_FUTURE_USAGE
#define ACPI_DUMP_TABLES(a,b) acpi_ns_dump_tables(a,b)
+#endif
+
#define ACPI_DUMP_PATHNAME(a,b,c,d) acpi_ns_dump_pathname(a,b,c,d)
#define ACPI_DUMP_RESOURCE_LIST(a) acpi_rs_dump_resource_list(a)
#define ACPI_DUMP_BUFFER(a,b) acpi_ut_dump_buffer((u8 *)a,b,DB_BYTE_DISPLAY,_COMPONENT)
@@ -591,7 +595,11 @@
#define ACPI_DUMP_STACK_ENTRY(a)
#define ACPI_DUMP_OPERANDS(a,b,c,d,e)
#define ACPI_DUMP_ENTRY(a,b)
+
+#ifdef ACPI_FUTURE_USAGE
#define ACPI_DUMP_TABLES(a,b)
+#endif
+
#define ACPI_DUMP_PATHNAME(a,b,c,d)
#define ACPI_DUMP_RESOURCE_LIST(a)
#define ACPI_DUMP_BUFFER(a,b)
diff --git a/include/acpi/acnamesp.h b/include/acpi/acnamesp.h
index 8cfd1afbac28..f0a34ef3d865 100644
--- a/include/acpi/acnamesp.h
+++ b/include/acpi/acnamesp.h
@@ -210,6 +210,7 @@ acpi_ns_remove_reference (
* Namespace modification - nsmodify
*/
+#ifdef ACPI_FUTURE_USAGE
acpi_status
acpi_ns_unload_namespace (
acpi_handle handle);
@@ -217,16 +218,19 @@ acpi_ns_unload_namespace (
acpi_status
acpi_ns_delete_subtree (
acpi_handle start_handle);
+#endif
/*
* Namespace dump/print utilities - nsdump
*/
+#ifdef ACPI_FUTURE_USAGE
void
acpi_ns_dump_tables (
acpi_handle search_base,
u32 max_depth);
+#endif
void
acpi_ns_dump_entry (
@@ -245,6 +249,7 @@ acpi_ns_print_pathname (
u32 num_segments,
char *pathname);
+#ifdef ACPI_FUTURE_USAGE
acpi_status
acpi_ns_dump_one_device (
acpi_handle obj_handle,
@@ -255,6 +260,7 @@ acpi_ns_dump_one_device (
void
acpi_ns_dump_root_devices (
void);
+#endif /* ACPI_FUTURE_USAGE */
acpi_status
acpi_ns_dump_one_object (
@@ -263,6 +269,7 @@ acpi_ns_dump_one_object (
void *context,
void **return_value);
+#ifdef ACPI_FUTURE_USAGE
void
acpi_ns_dump_objects (
acpi_object_type type,
@@ -270,6 +277,7 @@ acpi_ns_dump_objects (
u32 max_depth,
u32 ownder_id,
acpi_handle start_handle);
+#endif
/*
@@ -303,9 +311,11 @@ acpi_ns_get_object_value (
* Parent/Child/Peer utility functions
*/
+#ifdef ACPI_FUTURE_USAGE
acpi_name
acpi_ns_find_parent_name (
struct acpi_namespace_node *node_to_search);
+#endif
/*
diff --git a/include/acpi/acparser.h b/include/acpi/acparser.h
index 42cc5b4d32a8..65d041ae49a0 100644
--- a/include/acpi/acparser.h
+++ b/include/acpi/acparser.h
@@ -247,6 +247,7 @@ acpi_ps_get_arg(
union acpi_parse_object *op,
u32 argn);
+#ifdef ACPI_FUTURE_USAGE
union acpi_parse_object *
acpi_ps_get_child (
union acpi_parse_object *op);
@@ -255,6 +256,7 @@ union acpi_parse_object *
acpi_ps_get_depth_next (
union acpi_parse_object *origin,
union acpi_parse_object *op);
+#endif /* ACPI_FUTURE_USAGE */
/* pswalk - parse tree walk routines */
@@ -313,9 +315,11 @@ u8
acpi_ps_is_prefix_char (
u32 c);
+#ifdef ACPI_FUTURE_USAGE
u32
acpi_ps_get_name(
union acpi_parse_object *op);
+#endif
void
acpi_ps_set_name(
diff --git a/include/acpi/acpiosxf.h b/include/acpi/acpiosxf.h
index 030d193f979d..8f20bc6b4704 100644
--- a/include/acpi/acpiosxf.h
+++ b/include/acpi/acpiosxf.h
@@ -176,10 +176,12 @@ acpi_os_unmap_memory (
void __iomem *logical_address,
acpi_size size);
+#ifdef ACPI_FUTURE_USAGE
acpi_status
acpi_os_get_physical_address (
void *logical_address,
acpi_physical_address *physical_address);
+#endif
/*
@@ -302,10 +304,12 @@ acpi_os_readable (
void *pointer,
acpi_size length);
+#ifdef ACPI_FUTURE_USAGE
u8
acpi_os_writable (
void *pointer,
acpi_size length);
+#endif
u64
acpi_os_get_timer (
@@ -339,9 +343,11 @@ acpi_os_redirect_output (
* Debug input
*/
+#ifdef ACPI_FUTURE_USAGE
u32
acpi_os_get_line (
char *buffer);
+#endif
/*
diff --git a/include/acpi/acpixf.h b/include/acpi/acpixf.h
index f4097100288e..1b6eff5c3113 100644
--- a/include/acpi/acpixf.h
+++ b/include/acpi/acpixf.h
@@ -70,9 +70,11 @@ acpi_status
acpi_terminate (
void);
+#ifdef ACPI_FUTURE_USAGE
acpi_status
acpi_subsystem_status (
void);
+#endif
acpi_status
acpi_enable (
@@ -82,9 +84,11 @@ acpi_status
acpi_disable (
void);
+#ifdef ACPI_FUTURE_USAGE
acpi_status
acpi_get_system_info (
struct acpi_buffer *ret_buffer);
+#endif
const char *
acpi_format_exception (
@@ -94,10 +98,12 @@ acpi_status
acpi_purge_cached_objects (
void);
+#ifdef ACPI_FUTURE_USAGE
acpi_status
acpi_install_initialization_handler (
acpi_init_handler handler,
u32 function);
+#endif
/*
* ACPI Memory manager
@@ -129,6 +135,7 @@ acpi_status
acpi_load_tables (
void);
+#ifdef ACPI_FUTURE_USAGE
acpi_status
acpi_load_table (
struct acpi_table_header *table_ptr);
@@ -142,6 +149,7 @@ acpi_get_table_header (
acpi_table_type table_type,
u32 instance,
struct acpi_table_header *out_table_header);
+#endif /* ACPI_FUTURE_USAGE */
acpi_status
acpi_get_table (
@@ -218,6 +226,7 @@ acpi_evaluate_object (
struct acpi_object_list *parameter_objects,
struct acpi_buffer *return_object_buffer);
+#ifdef ACPI_FUTURE_USAGE
acpi_status
acpi_evaluate_object_typed (
acpi_handle object,
@@ -225,6 +234,7 @@ acpi_evaluate_object_typed (
struct acpi_object_list *external_params,
struct acpi_buffer *return_buffer,
acpi_object_type return_type);
+#endif
acpi_status
acpi_get_object_info (
@@ -299,9 +309,11 @@ acpi_install_gpe_handler (
acpi_event_handler address,
void *context);
+#ifdef ACPI_FUTURE_USAGE
acpi_status
acpi_install_exception_handler (
acpi_exception_handler handler);
+#endif
/*
@@ -333,6 +345,7 @@ acpi_disable_event (
u32 event,
u32 flags);
+#ifdef ACPI_FUTURE_USAGE
acpi_status
acpi_clear_event (
u32 event);
@@ -341,6 +354,7 @@ acpi_status
acpi_get_event_status (
u32 event,
acpi_event_status *event_status);
+#endif /* ACPI_FUTURE_USAGE */
acpi_status
acpi_set_gpe_type (
@@ -366,12 +380,14 @@ acpi_clear_gpe (
u32 gpe_number,
u32 flags);
+#ifdef ACPI_FUTURE_USAGE
acpi_status
acpi_get_gpe_status (
acpi_handle gpe_device,
u32 gpe_number,
u32 flags,
acpi_event_status *event_status);
+#endif /* ACPI_FUTURE_USAGE */
acpi_status
acpi_install_gpe_block (
@@ -400,10 +416,12 @@ acpi_get_current_resources(
acpi_handle device_handle,
struct acpi_buffer *ret_buffer);
+#ifdef ACPI_FUTURE_USAGE
acpi_status
acpi_get_possible_resources(
acpi_handle device_handle,
struct acpi_buffer *ret_buffer);
+#endif
acpi_status
acpi_walk_resources (
@@ -447,9 +465,11 @@ acpi_status
acpi_set_firmware_waking_vector (
acpi_physical_address physical_address);
+#ifdef ACPI_FUTURE_USAGE
acpi_status
acpi_get_firmware_waking_vector (
acpi_physical_address *physical_address);
+#endif
acpi_status
acpi_get_sleep_type_data (
diff --git a/include/acpi/acresrc.h b/include/acpi/acresrc.h
index e1a91875055d..bcefb3b3c8c0 100644
--- a/include/acpi/acresrc.h
+++ b/include/acpi/acresrc.h
@@ -60,10 +60,12 @@ acpi_rs_get_crs_method_data (
acpi_handle handle,
struct acpi_buffer *ret_buffer);
+#ifdef ACPI_FUTURE_USAGE
acpi_status
acpi_rs_get_prs_method_data (
acpi_handle handle,
struct acpi_buffer *ret_buffer);
+#endif
acpi_status
acpi_rs_get_method_data (
@@ -95,6 +97,7 @@ acpi_rs_create_pci_routing_table (
/*
* Function prototypes called from acpi_rs_create*
*/
+#ifdef ACPI_FUTURE_USAGE
void
acpi_rs_dump_irq (
union acpi_resource_data *data);
@@ -154,6 +157,7 @@ acpi_rs_dump_resource_list (
void
acpi_rs_dump_irq_list (
u8 *route_table);
+#endif /* ACPI_FUTURE_USAGE */
acpi_status
acpi_rs_get_byte_stream_start (
diff --git a/include/acpi/actables.h b/include/acpi/actables.h
index 43112abd6a98..b95bd650c67e 100644
--- a/include/acpi/actables.h
+++ b/include/acpi/actables.h
@@ -50,10 +50,12 @@
#define SIZE_IN_HEADER 0
+#ifdef ACPI_FUTURE_USAGE
acpi_status
acpi_tb_handle_to_object (
u16 table_id,
struct acpi_table_desc **table_desc);
+#endif
/*
* tbconvrt - Table conversion routines
diff --git a/include/acpi/acutils.h b/include/acpi/acutils.h
index e3adfa35bb22..1786282c66d2 100644
--- a/include/acpi/acutils.h
+++ b/include/acpi/acutils.h
@@ -666,12 +666,14 @@ acpi_ut_create_update_state_and_push (
u16 action,
union acpi_generic_state **state_list);
+#ifdef ACPI_FUTURE_USAGE
acpi_status
acpi_ut_create_pkg_state_and_push (
void *internal_object,
void *external_object,
u16 index,
union acpi_generic_state **state_list);
+#endif
union acpi_generic_state *
acpi_ut_create_control_state (
@@ -730,9 +732,11 @@ acpi_ut_strtoul64 (
#define ACPI_ANY_BASE 0
+#ifdef ACPI_FUTURE_USAGE
char *
acpi_ut_strupr (
char *src_string);
+#endif
u8 *
acpi_ut_get_resource_end_tag (
@@ -851,9 +855,11 @@ acpi_ut_remove_allocation (
char *module,
u32 line);
+#ifdef ACPI_FUTURE_USAGE
void
acpi_ut_dump_allocation_info (
void);
+#endif
void
acpi_ut_dump_allocations (
diff --git a/include/acpi/platform/acenv.h b/include/acpi/platform/acenv.h
index fbf38768a838..42fb8043d0b3 100644
--- a/include/acpi/platform/acenv.h
+++ b/include/acpi/platform/acenv.h
@@ -223,7 +223,11 @@
*/
#define ACPI_STRSTR(s1,s2) strstr((s1), (s2))
+
+#ifdef ACPI_FUTURE_USAGE
#define ACPI_STRUPR(s) (void) acpi_ut_strupr ((s))
+#endif
+
#define ACPI_STRLEN(s) (acpi_size) strlen((s))
#define ACPI_STRCPY(d,s) (void) strcpy((d), (s))
#define ACPI_STRNCPY(d,s,n) (void) strncpy((d), (s), (acpi_size)(n))
@@ -287,7 +291,11 @@ typedef char *va_list;
#define ACPI_STRSTR(s1,s2) acpi_ut_strstr ((s1), (s2))
+
+#ifdef ACPI_FUTURE_USAGE
#define ACPI_STRUPR(s) (void) acpi_ut_strupr ((s))
+#endif
+
#define ACPI_STRLEN(s) (acpi_size) acpi_ut_strlen ((s))
#define ACPI_STRCPY(d,s) (void) acpi_ut_strcpy ((d), (s))
#define ACPI_STRNCPY(d,s,n) (void) acpi_ut_strncpy ((d), (s), (acpi_size)(n))
diff --git a/include/asm-alpha/io.h b/include/asm-alpha/io.h
index 0d76b44cd55b..68907d940af1 100644
--- a/include/asm-alpha/io.h
+++ b/include/asm-alpha/io.h
@@ -631,16 +631,6 @@ isa_memcpy_toio(unsigned long offset, const void *src, long n)
iounmap(addr);
}
-static inline int
-isa_check_signature(unsigned long offset, const unsigned char *sig, long len)
-{
- void __iomem *addr = ioremap(offset, len);
- int ret = check_signature(addr, sig, len);
- iounmap(addr);
- return ret;
-}
-
-
/*
* The Alpha Jensen hardware for some rather strange reason puts
* the RTC clock at 0x170 instead of 0x70. Probably due to some
diff --git a/include/asm-alpha/mmzone.h b/include/asm-alpha/mmzone.h
index ce75633b5052..726c150dcbe4 100644
--- a/include/asm-alpha/mmzone.h
+++ b/include/asm-alpha/mmzone.h
@@ -107,7 +107,7 @@ PLAT_NODE_DATA_LOCALNR(unsigned long p, int n)
#define pfn_to_page(pfn) \
({ \
- unsigned long kaddr = (unsigned long)__va(pfn << PAGE_SHIFT); \
+ unsigned long kaddr = (unsigned long)__va((pfn) << PAGE_SHIFT); \
(node_mem_map(kvaddr_to_nid(kaddr)) + local_mapnr(kaddr)); \
})
@@ -119,7 +119,7 @@ PLAT_NODE_DATA_LOCALNR(unsigned long p, int n)
((( (page) - page_zone(page)->zone_mem_map ) \
+ page_zone(page)->zone_start_pfn) << PAGE_SHIFT)
-#define pfn_to_nid(pfn) pa_to_nid(((u64)pfn << PAGE_SHIFT))
+#define pfn_to_nid(pfn) pa_to_nid(((u64)(pfn) << PAGE_SHIFT))
#define pfn_valid(pfn) \
(((pfn) - node_start_pfn(pfn_to_nid(pfn))) < \
node_spanned_pages(pfn_to_nid(pfn))) \
diff --git a/include/asm-arm/arch-iop3xx/serial.h b/include/asm-arm/arch-iop3xx/serial.h
deleted file mode 100644
index 61192f98c066..000000000000
--- a/include/asm-arm/arch-iop3xx/serial.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * include/asm-arm/arch-iop3xx/serial.h
- */
-#include <linux/config.h>
-
-/*
- * This assumes you have a 1.8432 MHz clock for your UART.
- *
- * It'd be nice if someone built a serial card with a 24.576 MHz
- * clock, since the 16550A is capable of handling a top speed of 1.5
- * megabits/second; but this requires the faster clock.
- */
-#define BASE_BAUD ( 1843200 / 16 )
-
-/* Standard COM flags */
-#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST)
-
-#ifdef CONFIG_ARCH_IQ80321
-
-#define IRQ_UART1 IRQ_IQ80321_UART
-
-#define RS_TABLE_SIZE 1
-
-#define STD_SERIAL_PORT_DEFNS \
- /* UART CLK PORT IRQ FLAGS */ \
- { 0, BASE_BAUD, 0xfe800000, IRQ_UART1, STD_COM_FLAGS }, /* ttyS0 */
-#endif // CONFIG_ARCH_IQ80321
-
-#ifdef CONFIG_ARCH_IQ31244
-
-#define IRQ_UART1 IRQ_IQ31244_UART
-
-#define RS_TABLE_SIZE 1
-
-#define STD_SERIAL_PORT_DEFNS \
- /* UART CLK PORT IRQ FLAGS */ \
- { 0, BASE_BAUD, 0xfe800000, IRQ_UART1, STD_COM_FLAGS }, /* ttyS0 */
-#endif // CONFIG_ARCH_IQ31244
-
-#ifdef CONFIG_ARCH_IQ80331
-
-#undef BASE_BAUD
-
-#define BASE_BAUD ( 33334000 / 16 )
-
-#define IRQ_UART0 IRQ_IQ80331_UART0
-#define IRQ_UART1 IRQ_IQ80331_UART1
-
-#define RS_TABLE_SIZE 2
-
-#define STD_SERIAL_PORT_DEFNS \
- { \
- /*type: PORT_XSCALE,*/ \
- /*xmit_fifo_size: 32,*/ \
- baud_base: BASE_BAUD, \
- irq: IRQ_UART0, \
- flags: STD_COM_FLAGS, \
- iomem_base: IQ80331_UART0_VIRT, \
- io_type: SERIAL_IO_MEM, \
- iomem_reg_shift: 2 \
- }, /* ttyS0 */ \
- { \
- /*type: PORT_XSCALE,*/ \
- /*xmit_fifo_size: 32,*/ \
- baud_base: BASE_BAUD, \
- irq: IRQ_UART1, \
- flags: STD_COM_FLAGS, \
- iomem_base: IQ80331_UART1_VIRT, \
- io_type: SERIAL_IO_MEM, \
- iomem_reg_shift: 2 \
- } /* ttyS1 */
-#endif // CONFIG_ARCH_IQ80331
-
-
-#define EXTRA_SERIAL_PORT_DEFNS
-
diff --git a/include/asm-arm/arch-ixp2000/dma.h b/include/asm-arm/arch-ixp2000/dma.h
index 71520c8282f0..0fb3568a98dd 100644
--- a/include/asm-arm/arch-ixp2000/dma.h
+++ b/include/asm-arm/arch-ixp2000/dma.h
@@ -1,5 +1,5 @@
/*
- * linux/include/asm-arm/arch-ixdp2400/dma.h
+ * linux/include/asm-arm/arch-ixp2000/dma.h
*
* Copyright (C) 2002 Intel Corp.
*
diff --git a/include/asm-arm/arch-ixp2000/io.h b/include/asm-arm/arch-ixp2000/io.h
index 0adf3cf96e24..8e58f375289f 100644
--- a/include/asm-arm/arch-ixp2000/io.h
+++ b/include/asm-arm/arch-ixp2000/io.h
@@ -24,7 +24,7 @@
#define ___io(p) ((unsigned long)((p)+IXP2000_PCI_IO_VIRT_BASE))
/*
- * IXP200 does not do proper byte-lane conversion for PCI addresses,
+ * IXP2000 does not do proper byte-lane conversion for PCI addresses,
* so we need to override standard functions.
*/
#define alignb(addr) ((addr & ~3) + (3 - (addr & 3)))
diff --git a/include/asm-arm/arch-ixp2000/irqs.h b/include/asm-arm/arch-ixp2000/irqs.h
index a6b104f63aa0..6ef085909c10 100644
--- a/include/asm-arm/arch-ixp2000/irqs.h
+++ b/include/asm-arm/arch-ixp2000/irqs.h
@@ -28,7 +28,7 @@
* shift operation instead of having to map the IRQ number to
* a HW IRQ number.
*/
-#define IRQ_IXP2000_SWI 0 /* soft interrupt */
+#define IRQ_IXP2000_SOFT_INT 0 /* soft interrupt */
#define IRQ_IXP2000_ERRSUM 1 /* OR of all bits in ErrorStatus reg*/
#define IRQ_IXP2000_UART 2
#define IRQ_IXP2000_GPIO 3
@@ -46,13 +46,12 @@
#define IRQ_IXP2000_PCI 15 /* PCI INTA or INTB */
#define IRQ_IXP2000_THDA0 16 /* thread 0-31A */
#define IRQ_IXP2000_THDA1 17 /* thread 32-63A */
-#define IRQ_IXP2000_THDA2 18 /* thread 64-95A */
-#define IRQ_IXP2000_THDA3 19 /* thread 96-127A */
-#define IRQ_IXP2000_THDB0 24 /* thread 0-31 B */
+#define IRQ_IXP2000_THDA2 18 /* thread 64-95A, IXP2800 only */
+#define IRQ_IXP2000_THDA3 19 /* thread 96-127A, IXP2800 only */
+#define IRQ_IXP2000_THDB0 24 /* thread 0-31B */
#define IRQ_IXP2000_THDB1 25 /* thread 32-63B */
-/* only 64 threads supported for IXP2400, rest or for IXP2800*/
-#define IRQ_IXP2000_THDB2 26 /* thread 64-95B */
-#define IRQ_IXP2000_THDB3 27 /* thread 96-127B */
+#define IRQ_IXP2000_THDB2 26 /* thread 64-95B, IXP2800 only */
+#define IRQ_IXP2000_THDB3 27 /* thread 96-127B, IXP2800 only */
/* define generic GPIOs */
#define IRQ_IXP2000_GPIO0 32
@@ -68,22 +67,7 @@
#define IRQ_IXP2000_PCIA 40
#define IRQ_IXP2000_PCIB 41
-/* Int sources from IRQ_ERROR_STATUS */
-#define IRQ_IXP2000_DRAM0_MIN_ERR 42
-#define IRQ_IXP2000_DRAM0_MAJ_ERR 43
-#define IRQ_IXP2000_DRAM1_MIN_ERR 44
-#define IRQ_IXP2000_DRAM1_MAJ_ERR 45
-#define IRQ_IXP2000_DRAM2_MIN_ERR 46
-#define IRQ_IXP2000_DRAM2_MAJ_ERR 47
-#define IRQ_IXP2000_SRAM0_ERR 48
-#define IRQ_IXP2000_SRAM1_ERR 49
-#define IRQ_IXP2000_SRAM2_ERR 50
-#define IRQ_IXP2000_SRAM3_ERR 51
-#define IRQ_IXP2000_MEDIA_ERR 52
-#define IRQ_IXP2000_PCI_ERR 53
-#define IRQ_IXP2000_SP_INT 54
-
-#define NR_IXP2000_IRQS 55
+#define NR_IXP2000_IRQS 42
#define IXP2000_BOARD_IRQ(x) (NR_IXP2000_IRQS + (x))
diff --git a/include/asm-arm/arch-ixp2000/ixdp2x00.h b/include/asm-arm/arch-ixp2000/ixdp2x00.h
index e01782660a1d..84ca02781c84 100644
--- a/include/asm-arm/arch-ixp2000/ixdp2x00.h
+++ b/include/asm-arm/arch-ixp2000/ixdp2x00.h
@@ -53,7 +53,7 @@
/*
* PCI devfns for on-board devices. We need these to be able to
- * properly translte IRQs and for device removal.
+ * properly translate IRQs and for device removal.
*/
#define IXDP2400_SLAVE_ENET_DEVFN 0x18 /* Bus 1 */
#define IXDP2400_MASTER_ENET_DEVFN 0x20 /* Bus 1 */
diff --git a/include/asm-arm/arch-ixp2000/ixdp2x01.h b/include/asm-arm/arch-ixp2000/ixdp2x01.h
index 626ed6b6e0c3..46469c4d5ddc 100644
--- a/include/asm-arm/arch-ixp2000/ixdp2x01.h
+++ b/include/asm-arm/arch-ixp2000/ixdp2x01.h
@@ -50,4 +50,8 @@
#define IXDP2X01_UART_CLK 1843200
+#define IXDP2X01_GPIO_I2C_ENABLE 0x02
+#define IXDP2X01_GPIO_SCL 0x07
+#define IXDP2X01_GPIO_SDA 0x06
+
#endif /* __IXDP2x01_H__ */
diff --git a/include/asm-arm/arch-ixp2000/ixp2000-regs.h b/include/asm-arm/arch-ixp2000/ixp2000-regs.h
index 9c8b21df64f9..5e047b38dd5d 100644
--- a/include/asm-arm/arch-ixp2000/ixp2000-regs.h
+++ b/include/asm-arm/arch-ixp2000/ixp2000-regs.h
@@ -115,7 +115,7 @@
/*
* Mask of valid IRQs in the 32-bit IRQ register. We use
- * this to mark certain IRQs as being in-valid.
+ * this to mark certain IRQs as being invalid.
*/
#define IXP2000_VALID_IRQ_MASK 0x0f0fffff
@@ -251,7 +251,7 @@
#define SLOWPORT_CCR_DIV_30 0x0f
/*
- * PCR values. PCR configure the mode of the interfac3
+ * PCR values. PCR configure the mode of the interface.
*/
#define SLOWPORT_MODE_FLASH 0x00
#define SLOWPORT_MODE_LUCENT 0x01
@@ -260,7 +260,7 @@
#define SLOWPORT_MODE_MOTOROLA_UP 0x04
/*
- * ADC values. Defines data and address bus widths
+ * ADC values. Defines data and address bus widths.
*/
#define SLOWPORT_ADDR_WIDTH_8 0x00
#define SLOWPORT_ADDR_WIDTH_16 0x01
@@ -272,7 +272,7 @@
#define SLOWPORT_DATA_WIDTH_32 0x30
/*
- * Masks and shifts for various fields in the WTC and RTC registers
+ * Masks and shifts for various fields in the WTC and RTC registers.
*/
#define SLOWPORT_WRTC_MASK_HD 0x0003
#define SLOWPORT_WRTC_MASK_SU 0x003c
@@ -284,7 +284,7 @@
/*
- * GPIO registers & GPIO interface
+ * GPIO registers & GPIO interface.
*/
#define IXP2000_GPIO_REG(x) ((volatile unsigned long*)(IXP2000_GPIO_VIRT_BASE+(x)))
#define IXP2000_GPIO_PLR IXP2000_GPIO_REG(0x00)
diff --git a/include/asm-arm/arch-ixp2000/platform.h b/include/asm-arm/arch-ixp2000/platform.h
index 7a24461841b7..16e4a240199d 100644
--- a/include/asm-arm/arch-ixp2000/platform.h
+++ b/include/asm-arm/arch-ixp2000/platform.h
@@ -16,10 +16,10 @@
#ifndef __ASSEMBLY__
/*
- * The IXP2400 B0 silicon contains an errata that causes writes to
- * on-chip I/O register to not complete fully. What this means is
+ * The IXP2400 B0 silicon contains an erratum (#66) that causes writes
+ * to on-chip I/O register to not complete fully. What this means is
* that if you have a write to on-chip I/O followed by a back-to-back
- * read or write, the first write will happend twice. OR...if it's
+ * read or write, the first write will happen twice. OR...if it's
* not a back-to-back trasaction, the read or write will generate
* incorrect data.
*
diff --git a/include/asm-arm/arch-ixp2000/system.h b/include/asm-arm/arch-ixp2000/system.h
index ec72ba4e643c..281907bf7afb 100644
--- a/include/asm-arm/arch-ixp2000/system.h
+++ b/include/asm-arm/arch-ixp2000/system.h
@@ -1,5 +1,5 @@
/*
- * linux/include/asm-arm/arch-ixp2400/system.h
+ * linux/include/asm-arm/arch-ixp2000/system.h
*
* Copyright (C) 2002 Intel Corp.
*
diff --git a/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h b/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h
index b5810b2549fa..0f352ac946d9 100644
--- a/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h
+++ b/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h
@@ -55,7 +55,7 @@
* PCI Config registers
*/
#define IXP4XX_PCI_CFG_BASE_PHYS (0xC0000000)
-#define IXP4XX_PCI_CFG_BASE_VIRT (0xFFBFD000)
+#define IXP4XX_PCI_CFG_BASE_VIRT (0xFFBFE000)
#define IXP4XX_PCI_CFG_REGION_SIZE (0x00001000)
/*
diff --git a/include/asm-arm/arch-s3c2410/dma.h b/include/asm-arm/arch-s3c2410/dma.h
index 8e5a9e1a7a70..c1019ef3d72b 100644
--- a/include/asm-arm/arch-s3c2410/dma.h
+++ b/include/asm-arm/arch-s3c2410/dma.h
@@ -1,7 +1,7 @@
/* linux/include/asm-arm/arch-bast/dma.h
*
- * Copyright (C) 2003 Simtec Electronics
- * Ben Dooks <ben@simtec.co.uk>
+ * Copyright (C) 2003,2004 Simtec Electronics
+ * Ben Dooks <ben@simtec.co.uk>
*
* Samsung S3C2410X DMA support
*
@@ -12,13 +12,14 @@
* Changelog:
* ??-May-2003 BJD Created file
* ??-Jun-2003 BJD Added more dma functionality to go with arch
+ * 10-Nov-2004 BJD Added sys_device support
*/
-
#ifndef __ASM_ARCH_DMA_H
-#define __ASM_ARCH_DMA_H
+#define __ASM_ARCH_DMA_H __FILE__
#include <linux/config.h>
+#include <linux/sysdev.h>
#include "hardware.h"
@@ -215,6 +216,9 @@ struct s3c2410_dma_chan_s {
s3c2410_dma_buf_t *curr; /* current dma buffer */
s3c2410_dma_buf_t *next; /* next buffer to load */
s3c2410_dma_buf_t *end; /* end of queue */
+
+ /* system device */
+ struct sys_device dev;
};
/* the currently allocated channel information */
@@ -296,18 +300,46 @@ extern int s3c2410_dma_set_buffdone_fn(dmach_t, s3c2410_dma_cbfn_t rtn);
#define S3C2410_DMA_DCDST (0x1C)
#define S3C2410_DMA_DMASKTRIG (0x20)
+#define S3C2410_DISRCC_INC (1<<0)
+#define S3C2410_DISRCC_APB (1<<1)
+
#define S3C2410_DMASKTRIG_STOP (1<<2)
#define S3C2410_DMASKTRIG_ON (1<<1)
#define S3C2410_DMASKTRIG_SWTRIG (1<<0)
-#define S3C2410_DCOM_DEMAND (0<<31)
+#define S3C2410_DCON_DEMAND (0<<31)
#define S3C2410_DCON_HANDSHAKE (1<<31)
#define S3C2410_DCON_SYNC_PCLK (0<<30)
#define S3C2410_DCON_SYNC_HCLK (1<<30)
#define S3C2410_DCON_INTREQ (1<<29)
+#define S3C2410_DCON_CH0_XDREQ0 (0<<24)
+#define S3C2410_DCON_CH0_UART0 (1<<24)
+#define S3C2410_DCON_CH0_SDI (2<<24)
+#define S3C2410_DCON_CH0_TIMER (3<<24)
+#define S3C2410_DCON_CH0_USBEP1 (4<<24)
+
+#define S3C2410_DCON_CH1_XDREQ1 (0<<24)
+#define S3C2410_DCON_CH1_UART1 (1<<24)
+#define S3C2410_DCON_CH1_I2SSDI (2<<24)
+#define S3C2410_DCON_CH1_SPI (3<<24)
+#define S3C2410_DCON_CH1_USBEP2 (4<<24)
+
+#define S3C2410_DCON_CH2_I2SSDO (0<<24)
+#define S3C2410_DCON_CH2_I2SSDI (1<<24)
+#define S3C2410_DCON_CH2_SDI (2<<24)
+#define S3C2410_DCON_CH2_TIMER (3<<24)
+#define S3C2410_DCON_CH2_USBEP3 (4<<24)
+
+#define S3C2410_DCON_CH3_UART2 (0<<24)
+#define S3C2410_DCON_CH3_SDI (1<<24)
+#define S3C2410_DCON_CH3_SPI (2<<24)
+#define S3C2410_DCON_CH3_TIMER (3<<24)
+#define S3C2410_DCON_CH3_USBEP4 (4<<24)
+
#define S3C2410_DCON_SRCSHIFT (24)
+#define S3C2410_DCON_SRCMASK (7<<24)
#define S3C2410_DCON_BYTE (0<<20)
#define S3C2410_DCON_HALFWORD (1<<20)
@@ -317,4 +349,20 @@ extern int s3c2410_dma_set_buffdone_fn(dmach_t, s3c2410_dma_cbfn_t rtn);
#define S3C2410_DCON_NORELOAD (1<<22)
#define S3C2410_DCON_HWTRIG (1<<23)
+#ifdef CONFIG_CPU_S3C2440
+#define S3C2440_DIDSTC_CHKINT (1<<2)
+
+#define S3C2440_DCON_CH0_I2SSDO (5<<24)
+#define S3C2440_DCON_CH0_PCMIN (6<<24)
+
+#define S3C2440_DCON_CH1_PCMOUT (5<<24)
+#define S3C2440_DCON_CH1_SDI (6<<24)
+
+#define S3C2440_DCON_CH2_PCMIN (5<<24)
+#define S3C2440_DCON_CH2_MICIN (6<<24)
+
+#define S3C2440_DCON_CH3_MICIN (5<<24)
+#define S3C2440_DCON_CH3_PCMOUT (6<<24)
+#endif
+
#endif /* __ASM_ARCH_DMA_H */
diff --git a/include/asm-arm/arch-s3c2410/regs-dsc.h b/include/asm-arm/arch-s3c2410/regs-dsc.h
index 0da1ec7b7675..a023b0434efe 100644
--- a/include/asm-arm/arch-s3c2410/regs-dsc.h
+++ b/include/asm-arm/arch-s3c2410/regs-dsc.h
@@ -20,15 +20,15 @@
#ifdef CONFIG_CPU_S3C2440
-#define S3C2440_DSC0 S3C2410_GPIOREG(0xc0)
-#define S3C2440_DSC1 S3C2410_GPIOREG(0xc4)
+#define S3C2440_DSC0 S3C2410_GPIOREG(0xc4)
+#define S3C2440_DSC1 S3C2410_GPIOREG(0xc8)
#define S3C2440_SELECT_DSC0 (0)
#define S3C2440_SELECT_DSC1 (1<<31)
#define S3C2440_DSC_GETSHIFT(x) ((x) & 31)
-#define S3C2440_DSC0_ENABLE (1<<31)
+#define S3C2440_DSC0_DISABLE (1<<31)
#define S3C2440_DSC0_ADDR (S3C2440_SELECT_DSC0 | 8)
#define S3C2440_DSC0_ADDR_12mA (0<<8)
@@ -69,19 +69,19 @@
#define S3C2440_DSC0_DATA0_6mA (3<<0)
#define S3C2440_DSC0_DATA0_MASK (3<<0)
-#define S3C2440_DSC1_SCK0 (S3C2440_SELECT_DSC1 | 28)
-#define S3C2440_DSC1_SCK0_12mA (0<<28)
-#define S3C2440_DSC1_SCK0_10mA (1<<28)
-#define S3C2440_DSC1_SCK0_8mA (2<<28)
-#define S3C2440_DSC1_SCK0_6mA (3<<28)
-#define S3C2440_DSC1_SCK0_MASK (3<<28)
-
-#define S3C2440_DSC1_SCK1 (S3C2440_SELECT_DSC1 | 26)
-#define S3C2440_DSC1_SCK1_12mA (0<<26)
-#define S3C2440_DSC1_SCK1_10mA (1<<26)
-#define S3C2440_DSC1_SCK1_8mA (2<<26)
-#define S3C2440_DSC1_SCK1_6mA (3<<26)
-#define S3C2440_DSC1_SCK1_MASK (3<<26)
+#define S3C2440_DSC1_SCK1 (S3C2440_SELECT_DSC1 | 28)
+#define S3C2440_DSC1_SCK1_12mA (0<<28)
+#define S3C2440_DSC1_SCK1_10mA (1<<28)
+#define S3C2440_DSC1_SCK1_8mA (2<<28)
+#define S3C2440_DSC1_SCK1_6mA (3<<28)
+#define S3C2440_DSC1_SCK1_MASK (3<<28)
+
+#define S3C2440_DSC1_SCK0 (S3C2440_SELECT_DSC1 | 26)
+#define S3C2440_DSC1_SCK0_12mA (0<<26)
+#define S3C2440_DSC1_SCK0_10mA (1<<26)
+#define S3C2440_DSC1_SCK0_8mA (2<<26)
+#define S3C2440_DSC1_SCK0_6mA (3<<26)
+#define S3C2440_DSC1_SCK0_MASK (3<<26)
#define S3C2440_DSC1_SCKE (S3C2440_SELECT_DSC1 | 24)
#define S3C2440_DSC1_SCKE_10mA (0<<24)
diff --git a/include/asm-arm/arch-s3c2410/regs-gpio.h b/include/asm-arm/arch-s3c2410/regs-gpio.h
index 20a0836672ff..07c17f95a92b 100644
--- a/include/asm-arm/arch-s3c2410/regs-gpio.h
+++ b/include/asm-arm/arch-s3c2410/regs-gpio.h
@@ -16,6 +16,8 @@
* 20-07-2004 BJD Added GPIO pin numbers, added Port A definitions
* 04-10-2004 BJD Fixed number of bugs, added EXT IRQ filter defs
* 17-10-2004 BJD Added GSTATUS1 register definitions
+ * 18-11-2004 BJD Fixed definitions of GPE3, GPE4, GPE5 and GPE6
+ * 18-11-2004 BJD Added S3C2440 AC97 controls
*/
@@ -424,12 +426,14 @@
#define S3C2410_GPE3_INP (0x00 << 6)
#define S3C2410_GPE3_OUTP (0x01 << 6)
#define S3C2410_GPE3_I2SSDI (0x02 << 6)
+#define S3C2410_GPE3_nSS0 (0x03 << 6)
#define S3C2410_GPE3_MASK (0x03 << 6)
#define S3C2410_GPE4 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 4)
#define S3C2410_GPE4_INP (0x00 << 8)
#define S3C2410_GPE4_OUTP (0x01 << 8)
#define S3C2410_GPE4_I2SSDO (0x02 << 8)
+#define S3C2410_GPE4_I2SSDI (0x03 << 8)
#define S3C2410_GPE4_MASK (0x03 << 8)
#define S3C2410_GPE5 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 5)
@@ -440,12 +444,12 @@
#define S3C2410_GPE6 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 6)
#define S3C2410_GPE6_INP (0x00 << 12)
#define S3C2410_GPE6_OUTP (0x01 << 12)
-#define S3C2410_GPE6_SDCLK (0x02 << 12)
+#define S3C2410_GPE6_SDCMD (0x02 << 12)
#define S3C2410_GPE7 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 7)
#define S3C2410_GPE7_INP (0x00 << 14)
#define S3C2410_GPE7_OUTP (0x01 << 14)
-#define S3C2410_GPE7_SDCMD (0x02 << 14)
+#define S3C2410_GPE7_SDDAT0 (0x02 << 14)
#define S3C2410_GPE8 S3C2410_GPIONO(S3C2410_GPIO_BANKE, 8)
#define S3C2410_GPE8_INP (0x00 << 16)
@@ -489,6 +493,12 @@
#define S3C2410_GPE15_IICSDA (0x02 << 30)
#define S3C2410_GPE15_MASK (0x03 << 30)
+#define S3C2440_GPE0_ACSYNC (0x03 << 0)
+#define S3C2440_GPE1_ACBITCLK (0x03 << 2)
+#define S3C2440_GPE2_ACRESET (0x03 << 4)
+#define S3C2440_GPE3_ACIN (0x03 << 6)
+#define S3C2440_GPE4_ACOUT (0x03 << 8)
+
#define S3C2410_GPE_PUPDIS(x) (1<<(x))
/* Port F consists of 8 GPIO/Special function
diff --git a/include/asm-arm/arch-s3c2410/regs-iic.h b/include/asm-arm/arch-s3c2410/regs-iic.h
index 381ab4baf208..fed3288e2046 100644
--- a/include/asm-arm/arch-s3c2410/regs-iic.h
+++ b/include/asm-arm/arch-s3c2410/regs-iic.h
@@ -11,6 +11,7 @@
*
* Changelog:
* 03-Oct-2004 BJD Initial include for Linux
+ * 08-Nov-2004 BJD Added S3C2440 filter register
*/
#ifndef __ASM_ARCH_REGS_IIC_H
@@ -24,6 +25,7 @@
#define S3C2410_IICSTAT S3C2410_IICREG(0x04)
#define S3C2410_IICADD S3C2410_IICREG(0x08)
#define S3C2410_IICDS S3C2410_IICREG(0x0C)
+#define S3C2440_IICLC S3C2410_IICREG(0x10)
#define S3C2410_IICCON_ACKEN (1<<7)
#define S3C2410_IICCON_TXDIV_16 (0<<6)
@@ -47,4 +49,12 @@
#define S3C2410_IICSTAT_ADDR0 (1<<1)
#define S3C2410_IICSTAT_LASTBIT (1<<0)
+#define S3C2410_IICLC_SDA_DELAY0 (0 << 0)
+#define S3C2410_IICLC_SDA_DELAY5 (1 << 0)
+#define S3C2410_IICLC_SDA_DELAY10 (2 << 0)
+#define S3C2410_IICLC_SDA_DELAY15 (3 << 0)
+#define S3C2410_IICLC_SDA_DELAY_MASK (3 << 0)
+
+#define S3C2410_IICLC_FILTER_ON (1<<2)
+
#endif /* __ASM_ARCH_REGS_IIC_H */
diff --git a/include/asm-arm/arch-s3c2410/regs-sdi.h b/include/asm-arm/arch-s3c2410/regs-sdi.h
index fd688ad3a11e..ca9a26fbecec 100644
--- a/include/asm-arm/arch-s3c2410/regs-sdi.h
+++ b/include/asm-arm/arch-s3c2410/regs-sdi.h
@@ -11,6 +11,8 @@
*
* Changelog:
* 18-Aug-2004 Ben Dooks Created initial file
+ * 29-Nov-2004 Koen Martens Added some missing defines, fixed duplicates
+ * 29-Nov-2004 Ben Dooks Updated Koen's patch
*/
#ifndef __ASM_ARM_REGS_SDI
@@ -62,8 +64,10 @@
#define S3C2410_SDIDCON_WIDEBUS (1<<16)
#define S3C2410_SDIDCON_DMAEN (1<<15)
#define S3C2410_SDIDCON_STOP (1<<14)
+#define S3C2410_SDIDCON_DATMODE (3<<12)
+#define S3C2410_SDIDCON_BLKNUM (0x7ff)
-#define S3C2410_SDIDCON_XFER_MASK (3<<12)
+/* constants for S3C2410_SDIDCON_DATMODE */
#define S3C2410_SDIDCON_XFER_READY (0<<12)
#define S3C2410_SDIDCON_XFER_CHKSTART (1<<12)
#define S3C2410_SDIDCON_XFER_RXSTART (2<<12)
@@ -73,22 +77,23 @@
#define S3C2410_SDIDSTA_RDYWAITREQ (1<<10)
#define S3C2410_SDIDSTA_SDIOIRQDETECT (1<<9)
-#define S3C2410_SDIDSTA_FIFOFAIL (1<<8)
+#define S3C2410_SDIDSTA_FIFOFAIL (1<<8) /* reserved on 2440 */
#define S3C2410_SDIDSTA_CRCFAIL (1<<7)
#define S3C2410_SDIDSTA_RXCRCFAIL (1<<6)
#define S3C2410_SDIDSTA_DATATIMEOUT (1<<5)
#define S3C2410_SDIDSTA_XFERFINISH (1<<4)
#define S3C2410_SDIDSTA_BUSYFINISH (1<<3)
+#define S3C2410_SDIDSTA_SBITERR (1<<2) /* reserved on 2410a/2440 */
#define S3C2410_SDIDSTA_TXDATAON (1<<1)
#define S3C2410_SDIDSTA_RXDATAON (1<<0)
-#define S3C2410_SDIFSTA_TXFULL (1<<13)
-#define S3C2410_SDIFSTA_RXFULL (1<<12)
+#define S3C2410_SDIFSTA_TFDET (1<<13)
+#define S3C2410_SDIFSTA_RFDET (1<<12)
#define S3C2410_SDIFSTA_TXHALF (1<<11)
#define S3C2410_SDIFSTA_TXEMPTY (1<<10)
-#define S3C2410_SDIFSTA_RXLAST (1<<9)
-#define S3C2410_SDIFSTA_RXFULL (1<<8)
-#define S3C2410_SDIFSTA_RXHALF (1<<7)
+#define S3C2410_SDIFSTA_RFLAST (1<<9)
+#define S3C2410_SDIFSTA_RFFULL (1<<8)
+#define S3C2410_SDIFSTA_RFHALF (1<<7)
#define S3C2410_SDIFSTA_COUNTMASK (0x7f)
#define S3C2410_SDIIMSK_RESPONSECRC (1<<17)
@@ -103,6 +108,7 @@
#define S3C2410_SDIIMSK_DATATIMEOUT (1<<8)
#define S3C2410_SDIIMSK_DATAFINISH (1<<7)
#define S3C2410_SDIIMSK_BUSYFINISH (1<<6)
+#define S3C2410_SDIIMSK_SBITERR (1<<5) /* reserved 2440/2410a */
#define S3C2410_SDIIMSK_TXFIFOHALF (1<<4)
#define S3C2410_SDIIMSK_TXFIFOEMPTY (1<<3)
#define S3C2410_SDIIMSK_RXFIFOLAST (1<<2)
diff --git a/include/asm-arm/arch-s3c2410/regs-serial.h b/include/asm-arm/arch-s3c2410/regs-serial.h
index 95d0fba9fded..965856ef22ed 100644
--- a/include/asm-arm/arch-s3c2410/regs-serial.h
+++ b/include/asm-arm/arch-s3c2410/regs-serial.h
@@ -68,6 +68,12 @@
#define S3C2410_LCON_STOPB (1<<2)
#define S3C2410_LCON_IRM (1<<6)
+#define S3C2440_UCON_CLKMASK (3<<10)
+#define S3C2440_UCON_PCLK (0<<10)
+#define S3C2440_UCON_UCLK (1<<10)
+#define S3C2440_UCON_PCLK2 (2<<10)
+#define S3C2440_UCON_FCLK (3<<10)
+
#define S3C2410_UCON_UCLK (1<<10)
#define S3C2410_UCON_SBREAK (1<<4)
@@ -77,19 +83,35 @@
#define S3C2410_UCON_RXIRQMODE (1<<0)
#define S3C2410_UCON_RXFIFO_TOI (1<<7)
-#define S3C2410_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | S3C2410_UCON_RXILEVEL \
- | S3C2410_UCON_TXIRQMODE | S3C2410_UCON_RXIRQMODE \
- | S3C2410_UCON_RXFIFO_TOI)
+#define S3C2410_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \
+ S3C2410_UCON_RXILEVEL | \
+ S3C2410_UCON_TXIRQMODE | \
+ S3C2410_UCON_RXIRQMODE | \
+ S3C2410_UCON_RXFIFO_TOI)
#define S3C2410_UFCON_FIFOMODE (1<<0)
#define S3C2410_UFCON_TXTRIG0 (0<<6)
#define S3C2410_UFCON_RXTRIG8 (1<<4)
#define S3C2410_UFCON_RXTRIG12 (2<<4)
+/* S3C2440 FIFO trigger levels */
+#define S3C2440_UFCON_RXTRIG1 (0<<4)
+#define S3C2440_UFCON_RXTRIG8 (1<<4)
+#define S3C2440_UFCON_RXTRIG16 (2<<4)
+#define S3C2440_UFCON_RXTRIG32 (3<<4)
+
+#define S3C2440_UFCON_TXTRIG0 (0<<6)
+#define S3C2440_UFCON_TXTRIG16 (1<<6)
+#define S3C2440_UFCON_TXTRIG32 (2<<6)
+#define S3C2440_UFCON_TXTRIG48 (3<<6)
+
#define S3C2410_UFCON_RESETBOTH (3<<1)
+#define S3C2410_UFCON_RESETTX (1<<2)
+#define S3C2410_UFCON_RESETRX (1<<1)
-#define S3C2410_UFCON_DEFAULT (S3C2410_UFCON_FIFOMODE | S3C2410_UFCON_TXTRIG0 \
- | S3C2410_UFCON_RXTRIG8 )
+#define S3C2410_UFCON_DEFAULT (S3C2410_UFCON_FIFOMODE | \
+ S3C2410_UFCON_TXTRIG0 | \
+ S3C2410_UFCON_RXTRIG8 )
#define S3C2410_UFSTAT_TXFULL (1<<9)
#define S3C2410_UFSTAT_RXFULL (1<<8)
@@ -111,32 +133,36 @@
#define S3C2410_UERSTAT_OVERRUN (1<<0)
#define S3C2410_UERSTAT_FRAME (1<<2)
-#define S3C2410_UERSTAT_ANY (S3C2410_UERSTAT_OVERRUN | S3C2410_UERSTAT_FRAME)
+#define S3C2410_UERSTAT_BREAK (1<<3)
+#define S3C2410_UERSTAT_ANY (S3C2410_UERSTAT_OVERRUN | \
+ S3C2410_UERSTAT_FRAME | \
+ S3C2410_UERSTAT_BREAK)
-/* fifo size information */
+#define S3C2410_UMSTAT_CTS (1<<0)
+#define S3C2410_UMSTAT_DeltaCTS (1<<2)
#ifndef __ASSEMBLY__
-static inline int S3C2410_UFCON_RXC(int fcon)
-{
- if (fcon & S3C2410_UFSTAT_RXFULL)
- return 16;
-
- return ((fcon) & S3C2410_UFSTAT_RXMASK) >> S3C2410_UFSTAT_RXSHIFT;
-}
-static inline int S3C2410_UFCON_TXC(int fcon)
-{
- if (fcon & S3C2410_UFSTAT_TXFULL)
- return 16;
-
- return ((fcon) & S3C2410_UFSTAT_TXMASK) >> S3C2410_UFSTAT_TXSHIFT;
-}
-#endif /* __ASSEMBLY__ */
+/* struct s3c24xx_uart_clksrc
+ *
+ * this structure defines a named clock source that can be used for the
+ * uart, so that the best clock can be selected for the requested baud
+ * rate.
+ *
+ * min_baud and max_baud define the range of baud-rates this clock is
+ * acceptable for, if they are both zero, it is assumed any baud rate that
+ * can be generated from this clock will be used.
+ *
+ * divisor gives the divisor from the clock to the one seen by the uart
+*/
-#define S3C2410_UMSTAT_CTS (1<<0)
-#define S3C2410_UMSTAT_DeltaCTS (1<<2)
+struct s3c24xx_uart_clksrc {
+ const char *name;
+ unsigned int divisor;
+ unsigned int min_baud;
+ unsigned int max_baud;
+};
-#ifndef __ASSEMBLY__
/* configuration structure for per-machine configurations for the
* serial port
*
@@ -148,15 +174,23 @@ struct s3c2410_uartcfg {
unsigned char hwport; /* hardware port number */
unsigned char unused;
unsigned short flags;
-
- unsigned long *clock; /* pointer to clock rate */
+ unsigned long uart_flags; /* default uart flags */
unsigned long ucon; /* value of ucon for port */
unsigned long ulcon; /* value of ulcon for port */
unsigned long ufcon; /* value of ufcon for port */
+
+ struct s3c24xx_uart_clksrc *clocks;
+ unsigned int clocks_size;
};
-extern struct s3c2410_uartcfg *s3c2410_uartcfgs;
+/* s3c24xx_uart_devs
+ *
+ * this is exported from the core as we cannot use driver_register(),
+ * or platform_add_device() before the console_initcall()
+*/
+
+extern struct platform_device *s3c24xx_uart_devs[3];
#endif /* __ASSEMBLY__ */
diff --git a/include/asm-arm/arch-s3c2410/timex.h b/include/asm-arm/arch-s3c2410/timex.h
index fffde7d2397c..44aa0dcf8fcc 100644
--- a/include/asm-arm/arch-s3c2410/timex.h
+++ b/include/asm-arm/arch-s3c2410/timex.h
@@ -1,6 +1,6 @@
/* linux/include/asm-arm/arch-s3c2410/timex.h
*
- * (c) 2003 Simtec Electronics
+ * (c) 2003,2004 Simtec Electronics
* Ben Dooks <ben@simtec.co.uk>
*
* S3C2410 - time parameters
@@ -12,6 +12,7 @@
* Changelog:
* 02-Sep-2003 BJD Created file
* 05-Jan-2004 BJD Updated for Linux 2.6.0
+ * 22-Nov-2004 BJD Fixed CLOCK_TICK_RATE
*/
#ifndef __ASM_ARCH_TIMEX_H
@@ -26,8 +27,8 @@ extern int s3c2410_clock_tick_rate;
#define CLOCK_TICK_RATE (s3c2410_clock_tick_rate)
#endif
-/* currently, the BAST uses 24MHz as a base clock rate */
-#define CLOCK_TICK_RATE 24000000
+/* currently, the BAST uses 12MHz as a base clock rate */
+#define CLOCK_TICK_RATE 12000000
#endif /* __ASM_ARCH_TIMEX_H */
diff --git a/include/asm-arm/arch-s3c2410/uncompress.h b/include/asm-arm/arch-s3c2410/uncompress.h
index a9c3d55ec9eb..fa240af7f591 100644
--- a/include/asm-arm/arch-s3c2410/uncompress.h
+++ b/include/asm-arm/arch-s3c2410/uncompress.h
@@ -14,12 +14,13 @@
* 08-Sep-2003 BJD Moved to linux v2.6
* 12-Mar-2004 BJD Updated header protection
* 12-Oct-2004 BJD Take account of debug uart configuration
+ * 15-Nov-2004 BJD Fixed uart configuration
*/
#ifndef __ASM_ARCH_UNCOMPRESS_H
#define __ASM_ARCH_UNCOMPRESS_H
-#include <config/debug/s3c2410/port.h>
+#include <linux/config.h>
/* defines for UART registers */
#include "asm/arch/regs-serial.h"
@@ -34,11 +35,7 @@
/* how many bytes we allow into the FIFO at a time in FIFO mode */
#define FIFO_MAX (14)
-#if 1
-#define uart_base S3C2410_PA_UART + (0x4000 * CONFIG_DEBUG_S3C2410_UART)
-#else
-static unsigned int uart_base = S3C2410_PA_UART;
-#endif
+#define uart_base S3C2410_PA_UART + (0x4000*CONFIG_S3C2410_LOWLEVEL_UART_PORT)
static __inline__ void
uart_wr(unsigned int reg, unsigned int val)
diff --git a/include/asm-arm/arch-sa1100/adsbitsy.h b/include/asm-arm/arch-sa1100/adsbitsy.h
deleted file mode 100644
index cb82224c2ebd..000000000000
--- a/include/asm-arm/arch-sa1100/adsbitsy.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * linux/include/asm-arm/arch-sa1100/adsbitsy.h
- *
- * Created 7/3/01 by Woojung <whuh@applieddata.net>
- *
- * This file contains the hardware specific definitions for the
- * ADS Bitsy Board
- */
-
-#ifndef __ASM_ARCH_HARDWARE_H
-#error "include <asm/hardware.h> instead"
-#endif
-
-#define SA1111_BASE (0x18000000)
diff --git a/include/asm-arm/arch-sa1100/flexanet.h b/include/asm-arm/arch-sa1100/flexanet.h
deleted file mode 100644
index 6dc79190ca8f..000000000000
--- a/include/asm-arm/arch-sa1100/flexanet.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * include/asm-arm/arch-sa1100/flexanet.h
- *
- * Created 2001/05/04 by Jordi Colomer <jco@ict.es>
- *
- * This file contains the hardware specific definitions for FlexaNet
- *
- */
-
-#ifndef __ASM_ARCH_HARDWARE_H
-#error "include <asm/hardware.h> instead"
-#endif
-
-/* Board Control Register (virtual address) */
-#define FHH_BCR_PHYS 0x10000000
-#define FHH_BCR_VIRT 0xf0000000
-#define FHH_BCR (*(volatile unsigned int *)(FHH_BCR_VIRT))
-
-/* Power-up value */
-#define FHH_BCR_POWERUP 0x00000000
-
-/* Mandatory bits */
-#define FHH_BCR_LED_GREEN (1<<0) /* General-purpose green LED (1 = on) */
-#define FHH_BCR_SPARE_1 (1<<1) /* Not defined */
-#define FHH_BCR_CF1_RST (1<<2) /* Compact Flash Slot #1 Reset (1 = reset) */
-#define FHH_BCR_CF2_RST (1<<3) /* Compact Flash Slot #2 Reset (1 = reset) */
-#define FHH_BCR_GUI_NRST (1<<4) /* GUI board reset (0 = reset) */
-#define FHH_BCR_RTS1 (1<<5) /* RS232 RTS for UART-1 */
-#define FHH_BCR_RTS3 (1<<6) /* RS232 RTS for UART-3 */
-#define FHH_BCR_XCDBG0 (1<<7) /* Not defined. Wired to XPLA3 for debug */
-
-/* BCR extension, only required by L3-bus in some audio codecs */
-#define FHH_BCR_L3MOD (1<<8) /* L3-bus MODE signal */
-#define FHH_BCR_L3DAT (1<<9) /* L3-bus DATA signal */
-#define FHH_BCR_L3CLK (1<<10) /* L3-bus CLK signal */
-#define FHH_BCR_SPARE_11 (1<<11) /* Not defined */
-#define FHH_BCR_SPARE_12 (1<<12) /* Not defined */
-#define FHH_BCR_SPARE_13 (1<<13) /* Not defined */
-#define FHH_BCR_SPARE_14 (1<<14) /* Not defined */
-#define FHH_BCR_SPARE_15 (1<<15) /* Not defined */
-
- /* Board Status Register (virtual address) */
-#define FHH_BSR_BASE FHH_BCR_VIRT
-#define FHH_BSR (*(volatile unsigned int *)(FHH_BSR_BASE))
-
-#define FHH_BSR_CTS1 (1<<0) /* RS232 CTS for UART-1 */
-#define FHH_BSR_CTS3 (1<<1) /* RS232 CTS for UART-3 */
-#define FHH_BSR_DSR1 (1<<2) /* RS232 DSR for UART-1 */
-#define FHH_BSR_DSR3 (1<<3) /* RS232 DSR for UART-3 */
-#define FHH_BSR_ID0 (1<<4) /* Board identification */
-#define FHH_BSR_ID1 (1<<5)
-#define FHH_BSR_CFG0 (1<<6) /* Board configuration options */
-#define FHH_BSR_CFG1 (1<<7)
-
-#ifndef __ASSEMBLY__
-extern unsigned long flexanet_BCR; /* Image of the BCR */
-#define FLEXANET_BCR_set( x ) FHH_BCR = (flexanet_BCR |= (x))
-#define FLEXANET_BCR_clear( x ) FHH_BCR = (flexanet_BCR &= ~(x))
-#endif
-
-/* GPIOs for which the generic definition doesn't say much */
-#define GPIO_CF1_NCD GPIO_GPIO (14) /* Card Detect from CF slot #1 */
-#define GPIO_CF2_NCD GPIO_GPIO (15) /* Card Detect from CF slot #2 */
-#define GPIO_CF1_IRQ GPIO_GPIO (16) /* IRQ from CF slot #1 */
-#define GPIO_CF2_IRQ GPIO_GPIO (17) /* IRQ from CF slot #2 */
-#define GPIO_APP_IRQ GPIO_GPIO (18) /* Extra IRQ from application bus */
-#define GPIO_RADIO_REF GPIO_GPIO (20) /* Ref. clock for UART3 (Radio) */
-#define GPIO_CF1_BVD1 GPIO_GPIO (21) /* BVD1 from CF slot #1 */
-#define GPIO_CF2_BVD1 GPIO_GPIO (22) /* BVD1 from CF slot #2 */
-#define GPIO_GUI_IRQ GPIO_GPIO (23) /* IRQ from GUI board (i.e., UCB1300) */
-#define GPIO_ETH_IRQ GPIO_GPIO (24) /* IRQ from Ethernet controller */
-#define GPIO_INTIP_IRQ GPIO_GPIO (25) /* Measurement IRQ (INTIP) */
-#define GPIO_LED_RED GPIO_GPIO (26) /* General-purpose red LED */
-
-/* IRQ sources from GPIOs */
-#define IRQ_GPIO_CF1_CD IRQ_GPIO14
-#define IRQ_GPIO_CF2_CD IRQ_GPIO15
-#define IRQ_GPIO_CF1_IRQ IRQ_GPIO16
-#define IRQ_GPIO_CF2_IRQ IRQ_GPIO17
-#define IRQ_GPIO_APP IRQ_GPIO18
-#define IRQ_GPIO_CF1_BVD1 IRQ_GPIO21
-#define IRQ_GPIO_CF2_BVD1 IRQ_GPIO22
-#define IRQ_GPIO_GUI IRQ_GPIO23
-#define IRQ_GPIO_ETH IRQ_GPIO24
-#define IRQ_GPIO_INTIP IRQ_GPIO25
-
-
-/* On-Board Ethernet */
-#define _FHH_ETH_IOBASE 0x18000000 /* I/O base (physical addr) */
-#define _FHH_ETH_MMBASE 0x18800000 /* Attribute-memory base */
-#define FHH_ETH_SIZE 0x01000000 /* total size */
-#define FHH_ETH_VIRT 0xF1000000 /* Ethernet virtual address */
-
-#define FHH_ETH_p2v( x ) ((x) - _FHH_ETH_IOBASE + FHH_ETH_VIRT)
-#define FHH_ETH_v2p( x ) ((x) - FHH_ETH_VIRT + _FHH_ETH_IOBASE)
-
-#define FHH_ETH_IOBASE FHH_ETH_p2v(_FHH_ETH_IOBASE) /* Virtual base addr */
-#define FHH_ETH_MMBASE FHH_ETH_p2v(_FHH_ETH_MMBASE)
-
-
diff --git a/include/asm-arm/arch-sa1100/freebird.h b/include/asm-arm/arch-sa1100/freebird.h
deleted file mode 100644
index 2b2d9050eb26..000000000000
--- a/include/asm-arm/arch-sa1100/freebird.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- *
- */
-
-#ifndef __ASM_ARCH_HARDWARE_H
-#error "include <asm/hardware.h> instead"
-#endif
-
-
-/* Board Control Register */
-
-#define BCR_BASE 0xf0000000
-#define BCR (*(volatile unsigned int *)(BCR_BASE))
-
-#define BCR_DB1110 (0x00A07410)
-
-
-#define BCR_FREEBIRD_AUDIO_PWR (1<<0) /* Audio Power (1 = on, 0 = off) */
-#define BCR_FREEBIRD_LCD_PWR (1<<1) /* LCD Power (1 = on) */
-#define BCR_FREEBIRD_CODEC_RST (1<<2) /* 0 = Holds UCB1300, ADI7171, and UDA1341 in reset */
-#define BCR_FREEBIRD_IRDA_FSEL (1<<3) /* IRDA Frequency select (0 = SIR, 1 = MIR/ FIR) */
-#define BCR_FREEBIRD_IRDA_MD0 (1<<4) /* Range/Power select */
-#define BCR_FREEBIRD_IRDA_MD1 (1<<5) /* Range/Power select */
-#define BCR_FREEBIRD_LCD_DISP (1<<7) /* LCD display (1 = on, 0 = off */
-#define BCR_FREEBIRD_LCD_BACKLIGHT (1<<16) /* LCD backlight ,1=on */
-#define BCR_FREEBIRD_LCD_LIGHT_INC (1<<17) /* LCD backlight brightness */
-#define BCR_FREEBIRD_LCD_LIGHT_DU (1<<18) /* LCD backlight brightness */
-#define BCR_FREEBIRD_LCD_INC (1<<19) /* LCD contrast */
-#define BCR_FREEBIRD_LCD_DU (1<<20) /* LCD contrast */
-#define BCR_FREEBIRD_QMUTE (1<<21) /* Quick Mute */
-#define BCR_FREEBIRD_ALARM_LED (1<<22) /* ALARM LED control */
-#define BCR_FREEBIRD_SPK_OFF (1<<23) /* 1 = Speaker amplifier power off */
-
-#ifndef __ASSEMBLY__
-extern unsigned long BCR_value;
-#define BCR_set( x ) BCR = (BCR_value |= (x))
-#define BCR_clear( x ) BCR = (BCR_value &= ~(x))
-#endif
-
-
-/* GPIOs for which the generic definition doesn't say much */
-#define GPIO_FREEBIRD_NPOWER_BUTTON GPIO_GPIO(0)
-#define GPIO_FREEBIRD_APP1_BUTTON GPIO_GPIO(1)
-#define GPIO_FREEBIRD_APP2_BUTTON GPIO_GPIO(2)
-#define GPIO_FREEBIRD_APP3_BUTTOM GPIO_GPIO(3)
-#define GPIO_FREEBIRD_UCB1300 GPIO_GPIO(4)
-
-#define GPIO_FREEBIRD_EXPWR GPIO_GPIO(8)
-#define GPIO_FREEBIRD_CHARGING GPIO_GPIO(9)
-#define GPIO_FREEBIRD_RAMD GPIO_GPIO(14)
-#define GPIO_FREEBIRD_L3_DATA GPIO_GPIO(15)
-#define GPIO_FREEBIRD_L3_MODE GPIO_GPIO(17)
-#define GPIO_FREEBIRD_L3_CLOCK GPIO_GPIO(18)
-#define GPIO_FREEBIRD_STEREO_64FS_CLK GPIO_GPIO(10)
-
-#define GPIO_FREEBIRD_CF_CD GPIO_GPIO(22)
-#define GPIO_FREEBIRD_CF_IRQ GPIO_GPIO(21)
-#define GPIO_FREEBIRD_CF_BVD GPIO_GPIO(25)
-
-#define IRQ_GPIO_FREEBIRD_NPOWER_BUTTON IRQ_GPIO0
-#define IRQ_GPIO_FREEBIRD_APP1_BUTTON IRQ_GPIO1
-#define IRQ_GPIO_FREEBIRD_APP2_BUTTON IRQ_GPIO2
-#define IRQ_GPIO_FREEBIRD_APP3_BUTTON IRQ_GPIO3
-#define IRQ_GPIO_FREEBIRD_UCB1300_IRQ IRQ_GPIO4
-
-#define IRQ_GPIO_FREEBIRD_CF_IRQ IRQ_GPIO21
-#define IRQ_GPIO_FREEBIRD_CF_CD IRQ_GPIO22
-#define IRQ_GPIO_FREEBIRD_CF_BVD IRQ_GPIO25
-
diff --git a/include/asm-arm/arch-sa1100/graphicsclient.h b/include/asm-arm/arch-sa1100/graphicsclient.h
deleted file mode 100644
index 99766c333c5a..000000000000
--- a/include/asm-arm/arch-sa1100/graphicsclient.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * linux/include/asm-arm/arch-sa1100/graphicsclient.h
- *
- * Created 2000/06/11 by Nicolas Pitre <nico@cam.org>
- * Modified 7/27/00 by Woojung <whuh@applieddata.net>
- *
- * This file contains the hardware specific definitions for the
- * ADS GraphicsClient/ThinClient boards.
- */
-
-#ifndef __ASM_ARCH_HARDWARE_H
-#error "include <asm/hardware.h> instead"
-#endif
-
-
-#define ADS_CPLD_BASE (0x10000000)
-#define ADS_p2v( x ) ((x) - ADS_CPLD_BASE + 0xf0000000)
-#define ADS_v2p( x ) ((x) - 0xf0000000 + ADS_CPLD_BASE)
-
-
-/* Parallel Port */
-
-#define _ADS_PPDR 0x10020000 /* parallel port data reg */
-#define _ADS_PPSR 0x10020004 /* parallel port status reg */
-
-
-/* PCMCIA */
-
-#define _ADS_CS_STATUS 0x10040000 /* PCMCIA status reg */
-#define ADS_CS_ST_A_READY (1 << 0) /* Socket A Card Ready */
-#define ADS_CS_ST_A_CD (1 << 2) /* Socket A Card Detect */
-#define ADS_CS_ST_A_BUSY (1 << 4) /* Socket A Card Busy */
-#define ADS_CS_ST_A_STS (1 << 6) /* Socket A Card STS */
-
-#define _ADS_CS_PR 0x10040004 /* PCMCIA Power/Reset */
-#define ADS_CS_PR_A_5V_POWER (1 << 0) /* Socket A Enable 5V Power */
-#define ADS_CS_PR_A_3V_POWER (1 << 0) /* Socket A Enable 3.3V Power */
-#define ADS_CS_PR_A_RESET (1 << 2) /* Socket A Reset */
-
-
-#define _ADS_SW_SWITCHES 0x10060000 /* Software Switches */
-
-
-/* Extra IRQ Controller */
-
-#define _ADS_INT_ST1 0x10080000 /* IRQ Status #1 */
-#define _ADS_INT_ST2 0x10080004 /* IRQ Status #2 */
-#define _ADS_INT_EN1 0x10080008 /* IRQ Enable #1 */
-#define _ADS_INT_EN2 0x1008000c /* IRQ Enable #2 */
-
-/* Discrete Controller (AVR:Atmel AT90LS8535) */
-#define _ADS_AVR_REG 0x10080018
-
-/* On-Board Ethernet */
-
-#define _ADS_ETHERNET 0x100e0000 /* Ethernet */
-
-
-/* Extra UARTs */
-
-#define _ADS_UARTA 0x10100000 /* UART A */
-#define _ADS_UARTB 0x10120000 /* UART B */
-#define _ADS_UARTC 0x10140000 /* UART C */
-#define _ADS_UARTD 0x10160000 /* UART D */
-
-/* UART control lines GPIOs */
-#define GPIO_GC_UART0_RTS GPIO_GPIO15
-#define GPIO_GC_UART1_RTS GPIO_GPIO17
-#define GPIO_GC_UART2_RTS GPIO_GPIO19
-#define GPIO_GC_UART0_CTS GPIO_GPIO14
-#define GPIO_GC_UART1_CTS GPIO_GPIO16
-#define GPIO_GC_UART2_CTS GPIO_GPIO17
-
-/* UART control lines IRQs */
-#define IRQ_GC_UART0_CTS IRQ_GPIO14
-#define IRQ_GC_UART1_CTS IRQ_GPIO16
-#define IRQ_GC_UART2_CTS IRQ_GPIO17
-
-/* LEDs */
-
-#define ADS_LED0 GPIO_GPIO20 /* on-board D22 */
-#define ADS_LED1 GPIO_GPIO21 /* on-board D21 */
-#define ADS_LED2 GPIO_GPIO22 /* on-board D20 */
-#define ADS_LED3 GPIO_GPIO23 /* external */
-#define ADS_LED4 GPIO_GPIO24 /* external */
-#define ADS_LED5 GPIO_GPIO25 /* external */
-#define ADS_LED6 GPIO_GPIO26 /* external */
-#define ADS_LED7 GPIO_GPIO27 /* external */
-
-
-/* Virtual register addresses */
-
-#ifndef __ASSEMBLY__
-#define ADS_INT_ST1 (*((volatile u_char *) ADS_p2v(_ADS_INT_ST1)))
-#define ADS_INT_ST2 (*((volatile u_char *) ADS_p2v(_ADS_INT_ST2)))
-#define ADS_INT_EN1 (*((volatile u_char *) ADS_p2v(_ADS_INT_EN1)))
-#define ADS_INT_EN2 (*((volatile u_char *) ADS_p2v(_ADS_INT_EN2)))
-#define ADS_ETHERNET ((int) ADS_p2v(_ADS_ETHERNET))
-#define ADS_AVR_REG (*((volatile u_char *) ADS_p2v(_ADS_AVR_REG)))
-#endif
diff --git a/include/asm-arm/arch-sa1100/graphicsmaster.h b/include/asm-arm/arch-sa1100/graphicsmaster.h
deleted file mode 100644
index ae45791739ce..000000000000
--- a/include/asm-arm/arch-sa1100/graphicsmaster.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * linux/include/asm-arm/arch-sa1100/graphicsmaster.h
- *
- * Created 2000/12/18 by Woojung Huh <whuh@applieddata.net>
- *
- * This file comes from graphicsclient.h of Nicolas Pitre <nico@cam.org>
- *
- * This file contains the hardware specific definitions for the
- * ADS GraphicsMaster
- */
-
-#ifndef __ASM_ARCH_HARDWARE_H
-#error "include <asm/hardware.h> instead"
-#endif
-
-#define ADS_CPLD_BASE (0x10000000)
-#define ADS_p2v( x ) ((x) - ADS_CPLD_BASE + 0xf0000000)
-#define ADS_v2p( x ) ((x) - 0xf0000000 + ADS_CPLD_BASE)
-
-
-#define _ADS_SW_SWITCHES 0x10060000 /* Software Switches */
-
-/* Extra IRQ Controller */
-#define _ADS_INT_ST1 0x10080000 /* IRQ Status #1 */
-#define _ADS_INT_ST2 0x10080004 /* IRQ Status #2 */
-#define _ADS_INT_EN1 0x10080008 /* IRQ Enable #1 */
-#define _ADS_INT_EN2 0x1008000c /* IRQ Enable #2 */
-#define _ADS_DCR 0x10080018 /* Discrete Control Reg */
-
-/* Discrete Controller (AVR:Atmel AT90LS8535) */
-#define _ADS_AVR_REG 0x10080018
-
-/* On-Board Ethernet */
-#define _ADS_ETHERNET 0x100e0000 /* Ethernet */
-
-/* On-Board Quad UART 16C554 */
-#define ADS_QUAD_UART1 0x10100000
-#define ADS_QUAD_UART2 0x10120000
-#define ADS_QUAD_UART3 0x10140000
-#define ADS_QUAD_UART4 0x10160000
-
-/* LEDs */
-#define ADS_LED0 GPIO_GPIO20 /* on-board Green */
-#define ADS_LED1 GPIO_GPIO25 /* on-board Yellow */
-#define ADS_LED2 GPIO_GPIO26 /* on-board Red */
-
-/* DCR */
-#define DCR_AVR_RESET 0x01
-#define DCR_SA1111_RESET 0x02
-#define DCR_BACKLITE_ON 0x04
-
-/* Virtual register addresses */
-
-#ifndef __ASSEMBLY__
-#define ADS_INT_ST1 (*((volatile u_char *) ADS_p2v(_ADS_INT_ST1)))
-#define ADS_INT_ST2 (*((volatile u_char *) ADS_p2v(_ADS_INT_ST2)))
-#define ADS_INT_EN1 (*((volatile u_char *) ADS_p2v(_ADS_INT_EN1)))
-#define ADS_INT_EN2 (*((volatile u_char *) ADS_p2v(_ADS_INT_EN2)))
-#define ADS_ETHERNET ((int) ADS_p2v(_ADS_ETHERNET))
-#define ADS_AVR_REG (*((volatile u_char *) ADS_p2v(_ADS_AVR_REG)))
-#define ADS_DCR (*((volatile u_char *) ADS_p2v(_ADS_DCR)))
-#endif
-
-#define SA1111_BASE (0x18000000)
diff --git a/include/asm-arm/arch-sa1100/huw_webpanel.h b/include/asm-arm/arch-sa1100/huw_webpanel.h
deleted file mode 100644
index 4f9100f7740d..000000000000
--- a/include/asm-arm/arch-sa1100/huw_webpanel.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * linux/include/asm-arm/arch-sa1100/huw_webpanel.h
- *
- * based of assabet.h
- *
- * This file contains the hardware specific definitions for HUW_Webpanel
- *
- * 2000/11/13 Roman Jordan <jor@hoeft-wessel.de>
- */
-
-#ifndef __ASM_ARCH_HARDWARE_H
-#error "include <asm/hardware.h> instead"
-#endif
-
-/* System Configuration Register flags */
-
-#define SCR_SDRAM_LOW (1<<2) /* SDRAM size (low bit) */
-#define SCR_SDRAM_HIGH (1<<3) /* SDRAM size (high bit) */
-#define SCR_FLASH_LOW (1<<4) /* Flash size (low bit) */
-#define SCR_FLASH_HIGH (1<<5) /* Flash size (high bit) */
-#define SCR_GFX (1<<8) /* Graphics Accelerator (0 = present) */
-#define SCR_SA1111 (1<<9) /* Neponset (0 = present) */
-
-#define SCR_INIT -1
-
-
-/* Board Control Register */
-
-#define BCR_BASE 0xf1000000
-#define BCR (*(volatile unsigned int *)(BCR_BASE))
-
-#define BCR_PSIO_DTR1 (1<<29)
-#define BCR_TFT_NPWR (1<<28)
-#define BCR_PSIO_DTR3 (1<<27)
-#define BCR_TFT_ENA (1<<26)
-#define BCR_CCFL_POW (1<<25)
-#define BCR_PSIO_RTS1 (1<<24)
-#define BCR_PWM_BACKLIGHT (1<<23)
-
-
-#ifndef __ASSEMBLY__
-extern unsigned long SCR_value;
-extern unsigned long BCR_value;
-#define BCR_set( x ) BCR = (BCR_value |= (x))
-#define BCR_clear( x ) BCR = (BCR_value &= ~(x))
-#endif
-
-
-
diff --git a/include/asm-arm/arch-sa1100/ide.h b/include/asm-arm/arch-sa1100/ide.h
index bc4429642bef..f63b96baa6b9 100644
--- a/include/asm-arm/arch-sa1100/ide.h
+++ b/include/asm-arm/arch-sa1100/ide.h
@@ -47,10 +47,6 @@ static inline void ide_init_hwif_ports(hw_regs_t *hw, unsigned long data_port,
*irq = 0;
}
-#ifdef CONFIG_SA1100_TRIZEPS
-#include <asm/arch/trizeps.h>
-#endif
-
/*
* This registers the standard ports for this architecture with the IDE
* driver.
@@ -58,55 +54,7 @@ static inline void ide_init_hwif_ports(hw_regs_t *hw, unsigned long data_port,
static __inline__ void
ide_init_default_hwifs(void)
{
- if( machine_is_empeg() ){
-#ifdef CONFIG_SA1100_EMPEG
- hw_regs_t hw;
-
- /* First, do the SA1100 setup */
-
- /* PCMCIA IO space */
- MECR=0x21062106;
-
- /* Issue 3 is much neater than issue 2 */
- GPDR&=~(EMPEG_IDE1IRQ|EMPEG_IDE2IRQ);
-
- /* Interrupts on rising edge: lines are inverted before they get to
- the SA */
- set_GPIO_IRQ_edge( (EMPEG_IDE1IRQ|EMPEG_IDE2IRQ), GPIO_FALLING_EDGE );
-
- /* Take hard drives out of reset */
- GPSR=(EMPEG_IDERESET);
-
- /* Sonja and her successors have two IDE ports. */
- /* MAC 23/4/1999, swap these round so that the left hand
- hard disk is hda when viewed from the front. This
- doesn't match the silkscreen however. */
- ide_init_hwif_ports(&hw, PCMCIA_IO_0_BASE + 0x40, PCMCIA_IO_0_BASE + 0x78, NULL);
- hw.irq = EMPEG_IRQ_IDE2;
- ide_register_hw(&hw);
- ide_init_hwif_ports(&hw, PCMCIA_IO_0_BASE + 0x00, PCMCIA_IO_0_BASE + 0x38, NULL);
- hw.irq = ,EMPEG_IRQ_IDE1;
- ide_register_hw(&hw);
-#endif
- }
-
- else if( machine_is_victor() ){
-#ifdef CONFIG_SA1100_VICTOR
- hw_regs_t hw;
-
- /* Enable appropriate GPIOs as interrupt lines */
- GPDR &= ~GPIO_GPIO7;
- set_GPIO_IRQ_edge( GPIO_GPIO7, GPIO_RISING_EDGE );
-
- /* set the pcmcia interface timing */
- MECR = 0x00060006;
-
- ide_init_hwif_ports(&hw, PCMCIA_IO_0_BASE + 0x1f0, PCMCIA_IO_0_BASE + 0x3f6, NULL);
- hw.irq = IRQ_GPIO7;
- ide_register_hw(&hw);
-#endif
- }
- else if (machine_is_lart()) {
+ if (machine_is_lart()) {
#ifdef CONFIG_SA1100_LART
hw_regs_t hw;
@@ -123,23 +71,4 @@ ide_init_default_hwifs(void)
ide_register_hw(&hw);
#endif
}
- else if( machine_is_trizeps() ){
-#ifdef CONFIG_SA1100_TRIZEPS
- hw_regs_t hw;
-
- /* Enable appropriate GPIOs as interrupt lines */
- GPDR &= ~GPIO_GPIO(TRIZEPS_IRQ_IDE);
- set_irq_type( TRIZEPS_IRQ_IDE, IRQT_RISING );
-
- /* set the pcmcia interface timing */
- //MECR = 0x00060006; // Done on trizeps init
-
- /* Take hard drives out of reset */
- GPSR = GPIO_GPIO(TRIZEPS_IRQ_IDE);
-
- ide_init_hwif_ports(&hw, TRIZEPS_IDE_CS0 + 0, TRIZEPS_IDE_CS1 + 6, NULL);
- hw.irq = TRIZEPS_IRQ_IDE;
- ide_register_hw(&hw, NULL);
-#endif
- }
}
diff --git a/include/asm-arm/arch-sa1100/irqs.h b/include/asm-arm/arch-sa1100/irqs.h
index 7c6ac3e5fbed..eabd3be3d705 100644
--- a/include/asm-arm/arch-sa1100/irqs.h
+++ b/include/asm-arm/arch-sa1100/irqs.h
@@ -150,14 +150,11 @@
*
* If we have an SA1111, the max IRQ is S1_BVD1_STSCHG+1.
* If we have an LoCoMo, the max IRQ is IRQ_LOCOMO_SPI_TEND+1
- * If graphicsclient or graphicsmaster, we don't have a SA1111.
* Otherwise, we have the standard IRQs only.
*/
#ifdef CONFIG_SA1111
#define NR_IRQS (IRQ_S1_BVD1_STSCHG + 1)
-#elif defined(CONFIG_SA1100_GRAPHICSCLIENT) || \
- defined(CONFIG_SA1100_GRAPHICSMASTER) || \
- defined(CONFIG_SA1100_H3800)
+#elif defined(CONFIG_SA1100_H3800)
#define NR_IRQS (IRQ_BOARD_END)
#elif defined(CONFIG_SHARP_LOCOMO)
#define NR_IRQS (IRQ_LOCOMO_SPI_TEND + 1)
@@ -173,10 +170,6 @@
#define IRQ_NEPONSET_USAR (IRQ_BOARD_START + 1)
#define IRQ_NEPONSET_SA1111 (IRQ_BOARD_START + 2)
-/* PT Digital Board Interrupts (CONFIG_SA1100_PT_SYSTEM3) */
-#define IRQ_SYSTEM3_SA1111 (IRQ_BOARD_START + 0)
-#define IRQ_SYSTEM3_SMC9196 (IRQ_BOARD_START + 1)
-
/* LoCoMo Interrupts (CONFIG_SHARP_LOCOMO) */
#define IRQ_LOCOMO_KEY_BASE (IRQ_BOARD_START + 0)
#define IRQ_LOCOMO_GPIO_BASE (IRQ_BOARD_START + 1)
diff --git a/include/asm-arm/arch-sa1100/itsy.h b/include/asm-arm/arch-sa1100/itsy.h
deleted file mode 100644
index 3950cf748433..000000000000
--- a/include/asm-arm/arch-sa1100/itsy.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#ifndef _INCLUDE_ITSY_H_
-#define _INCLUDE_ITSY_H_
-
-
-#endif
diff --git a/include/asm-arm/arch-sa1100/mftb2.h b/include/asm-arm/arch-sa1100/mftb2.h
deleted file mode 100644
index 1d4c9f7dcdf0..000000000000
--- a/include/asm-arm/arch-sa1100/mftb2.h
+++ /dev/null
@@ -1,210 +0,0 @@
-#ifndef _ARCH_ARM_MFTB2_h_
-#define _ARCH_ARM_MFTB2_h_
-
-// Defines for arch/arm/mm/mm-sa1100.h
-#define TRIZEPS_PHYS_VIRT_MAP_SIZE 0x00800000l
-
-// physical address (only for mm-sa1100.h)
-#define TRIZEPS_PHYS_IO_BASE 0x30000000l
-#define TRIZEPS_PHYS_MEM_BASE 0x38000000l
-
-// virtual
-#define TRIZEPS_IO_BASE 0xF0000000l
-#define TRIZEPS_MEM_BASE 0xF2000000l
-
-// Offsets for phys and virtual
-#define TRIZEPS_OFFSET_REG0 0x00300000l
-#define TRIZEPS_OFFSET_REG1 0x00380000l
-#define TRIZEPS_OFFSET_IDE_CS0 0x00000000l
-#define TRIZEPS_OFFSET_IDE_CS1 0x00080000l
-#define TRIZEPS_OFFSET_UART5 0x00100000l
-#define TRIZEPS_OFFSET_UART6 0x00180000l
-#define TRIZEPS_PHYS_REG0 (TRIZEPS_PHYS_IO_BASE + TRIZEPS_OFFSET_REG0)
-#define TRIZEPS_PHYS_REG1 (TRIZEPS_PHYS_IO_BASE + TRIZEPS_OFFSET_REG1)
-#define TRIZEPS_PHYS_IDE_CS0 (TRIZEPS_PHYS_IO_BASE + TRIZEPS_OFFSET_IDE_CS0)
-#define TRIZEPS_PHYS_IDE_CS1 (TRIZEPS_PHYS_IO_BASE + TRIZEPS_OFFSET_IDE_CS1)
-#define TRIZEPS_PHYS_UART5 (TRIZEPS_PHYS_IO_BASE + TRIZEPS_OFFSET_UART5)
-#define TRIZEPS_PHYS_UART6 (TRIZEPS_PHYS_IO_BASE + TRIZEPS_OFFSET_UART6)
-
-// Use follow defines in devices
-// virtual address
-#define TRIZEPS_REG0 (TRIZEPS_IO_BASE + TRIZEPS_OFFSET_REG0)
-#define TRIZEPS_REG1 (TRIZEPS_IO_BASE + TRIZEPS_OFFSET_REG1)
-#define TRIZEPS_IDE_CS0 (TRIZEPS_IO_BASE + TRIZEPS_OFFSET_IDE_CS0)
-#define TRIZEPS_IDE_CS1 (TRIZEPS_IO_BASE + TRIZEPS_OFFSET_IDE_CS1)
-#define TRIZEPS_UART5 (TRIZEPS_IO_BASE + TRIZEPS_OFFSET_UART5)
-#define TRIZEPS_UART6 (TRIZEPS_IO_BASE + TRIZEPS_OFFSET_UART6)
-
-#define TRIZEPS_BAUD_BASE 1500000
-
-//#if 0 //temporarily disabled
-#ifndef __ASSEMBLY__
-struct tri_uart_cts_data_t {
- int cts_gpio;
- int cts_prev_state;
- struct uart_info *info;
- struct uart_port *port;
- const char *name;
-};
-#endif /* __ASSEMBLY__ */
-
-/* Defines for MFTB2 serial_sa1100.c hardware handshaking lines */
-#define SERIAL_FULL
-#define NOT_CONNECTED 0
-#ifdef SERIAL_FULL
-#define TRIZEPS_GPIO_UART1_RTS GPIO_GPIO14
-#define TRIZEPS_GPIO_UART1_DTR NOT_CONNECTED //GPIO_GPIO9
-#define TRIZEPS_GPIO_UART1_CTS GPIO_GPIO15
-#define TRIZEPS_GPIO_UART1_DCD NOT_CONNECTED //GPIO_GPIO2
-#define TRIZEPS_GPIO_UART1_DSR NOT_CONNECTED //GPIO_GPIO3
-#define TRIZEPS_GPIO_UART3_RTS NOT_CONNECTED //GPIO_GPIO7
-#define TRIZEPS_GPIO_UART3_DTR NOT_CONNECTED //GPIO_GPIO8
-#define TRIZEPS_GPIO_UART3_CTS NOT_CONNECTED //GPIO_GPIO4
-#define TRIZEPS_GPIO_UART3_DCD NOT_CONNECTED //GPIO_GPIO5
-#define TRIZEPS_GPIO_UART3_DSR NOT_CONNECTED //GPIO_GPIO6
-
-#define TRIZEPS_GPIO_UART2_RTS NOT_CONNECTED //GPIO_GPIO7
-#define TRIZEPS_GPIO_UART2_DTR NOT_CONNECTED //GPIO_GPIO8
-#define TRIZEPS_GPIO_UART2_CTS NOT_CONNECTED //GPIO_GPIO4
-#define TRIZEPS_GPIO_UART2_DCD NOT_CONNECTED //GPIO_GPIO5
-#define TRIZEPS_GPIO_UART2_DSR NOT_CONNECTED //GPIO_GPIO6
-
-#define TRIZEPS_IRQ_UART1_CTS IRQ_GPIO15
-#define TRIZEPS_IRQ_UART1_DCD NO_IRQ //IRQ_GPIO2
-#define TRIZEPS_IRQ_UART1_DSR NO_IRQ //IRQ_GPIO3
-#define TRIZEPS_IRQ_UART3_CTS NO_IRQ //IRQ_GPIO4
-#define TRIZEPS_IRQ_UART3_DCD NO_IRQ //IRQ_GPIO5
-#define TRIZEPS_IRQ_UART3_DSR NO_IRQ //IRQ_GPIO6
-
-#define TRIZEPS_IRQ_UART2_CTS NO_IRQ //IRQ_GPIO4
-#define TRIZEPS_IRQ_UART2_DCD NO_IRQ //IRQ_GPIO5
-#define TRIZEPS_IRQ_UART2_DSR NO_IRQ //IRQ_GPIO6
-
-#endif /* SERIAL_FULL */
-//#endif //0
-
-/*
- * This section contains the defines for the MFTB2 implementation
- * of drivers/ide/hd.c. HD_IOBASE_0 and HD_IOBASE_1 have to be
- * adjusted if hardware changes.
- */
-#define TRIZEPS_IRQ_IDE 10 /* MFTB2 specific */
-
-/*--- ROOT ---*/
-#define TRIZEPS_GPIO_ROOT_NFS 0
-#define TRIZEPS_GPIO_ROOT_HD 21
-/*--- PCMCIA ---*/
-#define TRIZEPS_GPIO_PCMCIA_IRQ0 1
-#define TRIZEPS_GPIO_PCMCIA_CD0 24
-#define TRIZEPS_IRQ_PCMCIA_IRQ0 TRIZEPS_GPIO_PCMCIA_IRQ0
-#define TRIZEPS_IRQ_PCMCIA_CD0 TRIZEPS_GPIO_PCMCIA_CD0 + 32 - 11
-
-// REGISTER 0 -> 0x0XXXX (16bit access)
-// read only
-#define TRIZEPS_A_STAT 0x8000l
-#define TRIZEPS_F_STAT 0x4000l
-#define TRIZEPS_BATT_FAULT_EN 0x2000l
-#define TRIZEPS_nDQ 0x1000l
-#define TRIZEPS_MFT_OFF 0x0800l
-#define TRIZEPS_D_APWOFF 0x0400l
-#define TRIZEPS_F_CTRL 0x0200l
-#define TRIZEPS_F_STOP 0x0100l
-
-// read / write
-#define TRIZEPS_KP_IR_EN 0x0080l
-#define TRIZEPS_FIR 0x0040l
-#define TRIZEPS_BAR_ON 0x0020l
-#define TRIZEPS_VCI_ON 0x0010l
-#define TRIZEPS_LED4 0x0008l
-#define TRIZEPS_LED3 0x0004l
-#define TRIZEPS_LED2 0x0002l
-#define TRIZEPS_LED1 0x0001l
-
-// REGISTER 1 -> 0x1XXXX (16bit access)
-// read only
-#define TRIZEPS_nVCI2 0x8000l
-#define TRIZEPS_nAB_LOW 0x4000l
-#define TRIZEPS_nMB_DEAD 0x2000l
-#define TRIZEPS_nMB_LOW 0x1000l
-#define TRIZEPS_nPCM_VS2 0x0800l
-#define TRIZEPS_nPCM_VS1 0x0400l
-#define TRIZEPS_PCM_BVD2 0x0200l
-#define TRIZEPS_PCM_BVD1 0x0100l
-
-// read / write
-#define TRIZEPS_nROOT_NFS 0x0080l
-#define TRIZEPS_nROOT_HD 0x0040l
-#define TRIZEPS_nPCM_ENA_REG 0x0020l
-#define TRIZEPS_nPCM_RESET_DISABLE 0x0010l
-#define TRIZEPS_PCM_EN0_REG 0x0008l
-#define TRIZEPS_PCM_EN1_REG 0x0004l
-#define TRIZEPS_PCM_V3_EN_REG 0x0002l
-#define TRIZEPS_PCM_V5_EN_REG 0x0001l
-
-/* Access to Board Control Register */
-#define TRIZEPS_BCR0 (*(volatile unsigned short *)(TRIZEPS_REG0))
-#define TRIZEPS_BCR1 (*(volatile unsigned short *)(TRIZEPS_REG1))
-
-#define TRIZEPS_BCR_set( reg, x ) do { \
- unsigned long flags; \
- local_irq_save(flags); \
- (reg) |= (x); \
- local_irq_restore(flags); \
-} while (0)
-
-#define TRIZEPS_BCR_clear( reg, x ) do { \
- unsigned long flags; \
- local_irq_save(flags); \
- (reg) &= ~(x); \
- local_irq_restore(flags); \
-} while (0)
-
-#define TRIZEPS_OFFSET_KP_REG 0x00200000l
-#define TRIZEPS_OFFSET_VCI2 0x00280000l
-#define TRIZEPS_OFFSET_VCI4 0x00400000l
-
-#define TRIZEPS_OFFSET_VCI2_1_DPR (TRIZEPS_OFFSET_VCI2 + 0x00010000l)
-#define TRIZEPS_OFFSET_VCI2_2_DPR (TRIZEPS_OFFSET_VCI2 + 0x00018000l)
-#define TRIZEPS_OFFSET_VCI2_1_SEMA (TRIZEPS_OFFSET_VCI2 + 0x00020000l)
-#define TRIZEPS_OFFSET_VCI2_2_SEMA (TRIZEPS_OFFSET_VCI2 + 0x00028000l)
-
-#define TRIZEPS_OFFSET_VCI4_1_DPR (TRIZEPS_OFFSET_VCI4 + 0x00000000l)
-#define TRIZEPS_OFFSET_VCI4_2_DPR (TRIZEPS_OFFSET_VCI4 + 0x00008000l)
-#define TRIZEPS_OFFSET_VCI4_1_SEMA (TRIZEPS_OFFSET_VCI4 + 0x00000380l)
-#define TRIZEPS_OFFSET_VCI4_2_SEMA (TRIZEPS_OFFSET_VCI4 + 0x00000388l)
-#define TRIZEPS_OFFSET_VCI4_1_CNTR (TRIZEPS_OFFSET_VCI4 + 0x00000390l)
-#define TRIZEPS_OFFSET_VCI4_2_CNTR (TRIZEPS_OFFSET_VCI4 + 0x00000392l)
-
-#define TRIZEPS_PHYS_KP_REG (PHYS_TRIZEPS_IO_BASE + TRIZEPS_OFFSET_KP_REG)
-
-// VCI address
-#define TRIZEPS_PHYS_VCI2_1_DPR (TRIZEPS_PHYS_MEM_BASE + TRIZEPS_OFFSET_VCI2_1_DPR)
-#define TRIZEPS_PHYS_VCI2_2_DPR (TRIZEPS_PHYS_MEM_BASE + TRIZEPS_OFFSET_VCI2_2_DPR)
-#define TRIZEPS_PHYS_VCI2_1_SEMA (TRIZEPS_PHYS_MEM_BASE + TRIZEPS_OFFSET_VCI2_1_SEMA)
-#define TRIZEPS_PHYS_VCI2_2_SEMA (TRIZEPS_PHYS_MEM_BASE + TRIZEPS_OFFSET_VCI2_2_SEMA)
-
-// VCI4 address
-#define TRIZEPS_PHYS_VCI4_1_DPR (TRIZEPS_PHYS_MEM_BASE + TRIZEPS_OFFSET_VCI4_1_DPR)
-#define TRIZEPS_PHYS_VCI4_2_DPR (TRIZEPS_PHYS_MEM_BASE + TRIZEPS_OFFSET_VCI4_2_DPR)
-#define TRIZEPS_PHYS_VCI4_1_SEMA (TRIZEPS_PHYS_IO_BASE + TRIZEPS_OFFSET_VCI4_1_SEMA)
-#define TRIZEPS_PHYS_VCI4_2_SEMA (TRIZEPS_PHYS_IO_BASE + TRIZEPS_OFFSET_VCI4_2_SEMA)
-#define TRIZEPS_PHYS_VCI4_1_CNTR (TRIZEPS_PHYS_IO_BASE + TRIZEPS_OFFSET_VCI4_1_CNTR)
-#define TRIZEPS_PHYS_VCI4_2_CNTR (TRIZEPS_PHYS_IO_BASE + TRIZEPS_OFFSET_VCI4_2_CNTR)
-
-#define TRIZEPS_KP_REG (TRIZEPS_IO_BASE + TRIZEPS_OFFSET_KP_REG)
-
-// VCI address
-#define TRIZEPS_VCI2_1_DPR (TRIZEPS_MEM_BASE + TRIZEPS_OFFSET_VCI2_1_DPR)
-#define TRIZEPS_VCI2_2_DPR (TRIZEPS_MEM_BASE + TRIZEPS_OFFSET_VCI2_2_DPR)
-#define TRIZEPS_VCI2_1_SEMA (TRIZEPS_MEM_BASE + TRIZEPS_OFFSET_VCI2_1_SEMA)
-#define TRIZEPS_VCI2_2_SEMA (TRIZEPS_MEM_BASE + TRIZEPS_OFFSET_VCI2_2_SEMA)
-
-// VCI4 address
-#define TRIZEPS_VCI4_1_DPR (TRIZEPS_MEM_BASE + TRIZEPS_OFFSET_VCI4_1_DPR)
-#define TRIZEPS_VCI4_2_DPR (TRIZEPS_MEM_BASE + TRIZEPS_OFFSET_VCI4_2_DPR)
-#define TRIZEPS_VCI4_1_SEMA (TRIZEPS_IO_BASE + TRIZEPS_OFFSET_VCI4_1_SEMA)
-#define TRIZEPS_VCI4_2_SEMA (TRIZEPS_IO_BASE + TRIZEPS_OFFSET_VCI4_2_SEMA)
-#define TRIZEPS_VCI4_1_CNTR (TRIZEPS_IO_BASE + TRIZEPS_OFFSET_VCI4_1_CNTR)
-#define TRIZEPS_VCI4_2_CNTR (TRIZEPS_IO_BASE + TRIZEPS_OFFSET_VCI4_2_CNTR)
-
-#endif
diff --git a/include/asm-arm/arch-sa1100/omnimeter.h b/include/asm-arm/arch-sa1100/omnimeter.h
deleted file mode 100644
index 6c7a7b237506..000000000000
--- a/include/asm-arm/arch-sa1100/omnimeter.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/* -*- Mode: c++ -*-
- *
- * Copyright 2000 Massachusetts Institute of Technology
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of M.I.T. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission. M.I.T. makes no representations about the
- * suitability of this software for any purpose. It is provided "as is"
- * without express or implied warranty.
- *
- */
-
-#ifndef OMNIMETER_H
-#define OMNIMETER_H
-// use the address of the second socket for both sockets
-// (divide address space in half and use offsets to wrap second card accesses back to start of address space)
-// Following values for programming Cirrus Logic chip
-#define Socket1Base 0x40
-
-#define SocketMemoryWindowLen (0x00400000)
-#define Socket0MemoryWindowStart (0x00800000)
-#define Socket1MemoryWindowStart (Socket0MemoryWindowStart + SocketMemoryWindowLen)
-
-#define SocketIOWindowLen (0x00008000)
-#define Socket1IOWindowStart (SocketIOWindowLen)
-#define Socket1IOWindowOffset (0x00010000 - Socket1IOWindowStart)
-
-// Following values for run-time access
-
-//#define PCCardBase (0xe4000000) //jca (0x30000000)
-//#define PCCardBase (0x30000000)
-#define PCCardBase (0xe0000000) //jag
-
-#define PCCard0IOBase (PCCardBase)
-//#define PCCard0AttrBase (0xec000000) //jca (PCCardBase + 0x08000000)
-#define PCCard0AttrBase (0xe8000000)
-//#define PCCard0AttrBase (PCCardBase + 0x08000000)
-//#define PCCard0MemBase (0xf4000000) //jca (PCCardBase + 0x0C000000)
-//#define PCCard0MemBase (PCCardBase + 0x0C000000)
-#define PCCard0MemBase (0xf0000000)
-
-//#define PCCard1IOBase (PCCardBase + SocketIOWindowLen) //jag
-#define PCCard1IOBase (0xe4000000)
-//#define PCCard1AttrBase (0xec000000 + SocketMemoryWindowLen) //jag
-#define PCCard1AttrBase (0xec000000)
-//#define PCCard1MemBase (0xf4000000 + SocketMemoryWindowLen) //jag
-#define PCCard1MemBase (0xf4000000)
-
-#define PCCardIndexRegister (PCCard0IOBase + 0x000003E0) //altered
-#define PCCardDataRegister (PCCardIndexRegister + 1)
-
-/* interrupts */
-#define PIN_cardInt2 13
-#define PIN_cardInt1 5
-
-void SMBOn(unsigned char SMBaddress);
-void SetSMB(unsigned char SMBaddress, unsigned int dacValue);
-
-#define GPIO_key6 0x00040000
-#define GPIO_scl 0x01000000 // output, SMB clock
-#define GPIO_sda 0x02000000 // bidirect, SMB data
-#define SMB_LCDVEE 0x2C
-#define DefaultLCDContrast 16
-
-#define LEDBacklightOn() ClearGPIOpin(GPIO_key6)
-#define LEDBacklightOff() SetGPIOpin(GPIO_key6)
-#define LCDPowerOn() SMBOn(SMB_LCDVEE)
-#define LCDPowerOff() SMBOff(SMB_LCDVEE)
-#define SetLCDContrast(d) SetSMB(SMB_LCDVEE, d)
-#define WritePort32(port,value) (port = (value))
-#define ReadPort32(port) (port)
-#define SetGPIOpin(pin) WritePort32(GPSR,pin)
-#define ClearGPIOpin(pin) WritePort32(GPCR,pin)
-
-void jcaoutb(long p, unsigned char data);
-unsigned char jcainb(long p);
-void jcaoutw(long p, unsigned short data);
-unsigned short jcainw_p(long p);
-
-#endif
diff --git a/include/asm-arm/arch-sa1100/pangolin.h b/include/asm-arm/arch-sa1100/pangolin.h
deleted file mode 100644
index 889585365762..000000000000
--- a/include/asm-arm/arch-sa1100/pangolin.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * linux/include/asm-arm/arch-sa1100/pangolin.h
- *
- * Created 2000/08/25 by Murphy Chen <murphy@mail.dialogue.com.tw>
- *
- * This file contains the hardware specific definitions for Pangolin
- *
- */
-#ifndef __ASM_ARCH_HARDWARE_H
-#error "include <asm/hardware.h> instead"
-#endif
-
-#include <linux/config.h>
-
-#ifndef CONFIG_SA1100_PANGOLIN_PCMCIA_IDE
-
-/* GPIOs for which the generic definition doesn't say much */
-#define GPIO_CF_BUS_ON GPIO_GPIO (3)
-#define GPIO_CF_RESET GPIO_GPIO (2)
-#define GPIO_CF_CD GPIO_GPIO (22)
-#define GPIO_CF_IRQ GPIO_GPIO (21)
-
-#define IRQ_GPIO_CF_IRQ IRQ_GPIO21
-#define IRQ_GPIO_CF_CD IRQ_GPIO22
-
-#else
-/*
- * These definitions are for PCMCIA/IDE card
- *
- * PSKTSEL = 0 ---> PCMCIA
- * PCMCIA_RESET = GPIO_7 ( output )( 0: normal 1: reset )
- * PCMCIA_IRQ = GPIO_24 ( input )
- * PCMCIA_CD = GPIO_25 ( input )
- *
- * PSKTSEL = 1 ---> IDE port
- * IDE_IRQ = GPIO_23 ( input )
- *
- * !!WARNING!!
- * When the PCMCIA/IDE card is inserted, the CF slot
- * should not have any card inserted!!
- *
- */
-
-#define GPIO_PCMCIA_RESET GPIO_GPIO (7)
-#define GPIO_PCMCIA_IRQ GPIO_GPIO (24)
-#define GPIO_PCMCIA_CD GPIO_GPIO (25)
-#define GPIO_IDE_IRQ GPIO_GPIO (8)
-
-#define IRQ_PCMCIA_IRQ IRQ_GPIO24
-#define IRQ_PCMCIA_CD IRQ_GPIO25
-#define IRQ_IDE_IRQ IRQ_GPIO8
-
-#endif
-
-/*
- * On board LAN chip
- */
-#define PANGOLIN_LAN_ADDR 0x32000000
-#define PANGOLIN_LAN_RESET GPIO_GPIO (8)
-#define PANGOLIN_LAN_IRQ GPIO_GPIO (26)
-#define PANGOLIN_IRQ_LAN_IRQ IRQ_GPIO26
-
diff --git a/include/asm-arm/arch-sa1100/pfs168.h b/include/asm-arm/arch-sa1100/pfs168.h
deleted file mode 100644
index 9e635f3540b3..000000000000
--- a/include/asm-arm/arch-sa1100/pfs168.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * linux/include/asm-arm/arch-sa1100/pfs168.h
- *
- * Created 2000/06/05 by Nicolas Pitre <nico@cam.org>
- *
- * This file contains the hardware specific definitions for PFS-168
- *
- */
-
-#ifndef __ASM_ARCH_HARDWARE_H
-#error "include <asm/hardware.h> instead"
-#endif
-
-
-/* GPIOs for which the generic definition doesn't say much */
-#define GPIO_RADIO_IRQ GPIO_GPIO (14) /* Radio interrupt request */
-#define GPIO_L3_I2C_SDA GPIO_GPIO (15) /* L3 and SMB control ports */
-#define GPIO_PS_MODE_SYNC GPIO_GPIO (16) /* Power supply mode/sync */
-#define GPIO_L3_MODE GPIO_GPIO (17) /* L3 mode signal with LED */
-#define GPIO_L3_I2C_SCL GPIO_GPIO (18) /* L3 and I2C control ports */
-#define GPIO_STEREO_64FS_CLK GPIO_GPIO (19) /* SSP UDA1341 clock input */
-#define GPIO_CF_IRQ GPIO_GPIO (21) /* CF IRQ */
-#define GPIO_MBGNT GPIO_GPIO (21) /* 1111 MBGNT */
-#define GPIO_CF_CD GPIO_GPIO (22) /* CF CD */
-#define GPIO_MBREQ GPIO_GPIO (22) /* 1111 MBREQ */
-#define GPIO_UCB1300_IRQ GPIO_GPIO (23) /* UCB GPIO and touchscreen */
-#define GPIO_CF_BVD2 GPIO_GPIO (24) /* CF BVD */
-#define GPIO_GFX_IRQ GPIO_GPIO (24) /* Graphics IRQ */
-#define GPIO_CF_BVD1 GPIO_GPIO (25) /* CF BVD */
-#define GPIO_NEP_IRQ GPIO_GPIO (25) /* Neponset IRQ */
-#define GPIO_BATT_LOW GPIO_GPIO (26) /* Low battery */
-#define GPIO_RCLK GPIO_GPIO (26) /* CCLK/2 */
-
-#define IRQ_GPIO_CF_IRQ IRQ_GPIO21
-#define IRQ_GPIO_CF_CD IRQ_GPIO22
-#define IRQ_GPIO_MBREQ IRQ_GPIO22
-#define IRQ_GPIO_UCB1300_IRQ IRQ_GPIO23
-#define IRQ_GPIO_CF_BVD2 IRQ_GPIO24
-#define IRQ_GPIO_CF_BVD1 IRQ_GPIO25
-#define IRQ_GPIO_NEP_IRQ IRQ_GPIO25
-
-
-/*
- * PFS-168 definitions:
- */
-
-#define SA1111_BASE (0x40000000)
-
-#ifndef __ASSEMBLY__
-#define PFS168_COM5_VBASE (*((volatile unsigned char *)(0xf0000000UL)))
-#define PFS168_COM6_VBASE (*((volatile unsigned char *)(0xf0001000UL)))
-#define PFS168_SYSC1RTS (*((volatile unsigned char *)(0xf0002000UL)))
-#define PFS168_SYSLED (*((volatile unsigned char *)(0xf0003000UL)))
-#define PFS168_SYSDTMF (*((volatile unsigned char *)(0xf0004000UL)))
-#define PFS168_SYSLCDDE (*((volatile unsigned char *)(0xf0005000UL)))
-#define PFS168_SYSC1DSR (*((volatile unsigned char *)(0xf0006000UL)))
-#define PFS168_SYSC3TEN (*((volatile unsigned char *)(0xf0007000UL)))
-#define PFS168_SYSCTLA (*((volatile unsigned char *)(0xf0008000UL)))
-#define PFS168_SYSCTLB (*((volatile unsigned char *)(0xf0009000UL)))
-#define PFS168_ETH_VBASE (*((volatile unsigned char *)(0xf000a000UL)))
-#endif
-
-#define PFS168_SYSLCDDE_STNDE (1<<0) /* CSTN display enable/disable (1/0) */
-#define PFS168_SYSLCDDE_DESEL (1<<0) /* Active/Passive (1/0) display enable mode */
-
-#define PFS168_SYSCTLA_BKLT (1<<0) /* LCD backlight invert on/off (1/0) */
-#define PFS168_SYSCTLA_RLY (1<<1) /* Relay on/off (1/0) */
-#define PFS168_SYSCTLA_PXON (1<<2) /* Opto relay connect/disconnect 1/0) */
-#define PFS168_SYSCTLA_IRDA_FSEL (1<<3) /* IRDA Frequency select (0 = SIR, 1 = MIR/ FIR) */
-
-#define PFS168_SYSCTLB_MG1 (1<<0) /* Motion detector gain select */
-#define PFS168_SYSCTLB_MG0 (1<<1) /* Motion detector gain select */
-#define PFS168_SYSCTLB_IRDA_MD1 (1<<2) /* Range/Power select */
-#define PFS168_SYSCTLB_IRDA_MD0 (1<<3) /* Range/Power select */
-#define PFS168_SYSCTLB_IRDA_MD_MASK (PFS168_SYSCTLB_IRDA_MD1|PFS168_SYSCTLB_IRDA_MD0)
diff --git a/include/asm-arm/arch-sa1100/pleb.h b/include/asm-arm/arch-sa1100/pleb.h
deleted file mode 100644
index 8c1fc10595ca..000000000000
--- a/include/asm-arm/arch-sa1100/pleb.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * linux/include/asm-arm/arch-sa1100/pleb.h
- *
- * Created 2000/12/08 by Daniel Potts <danielp@cse.unsw.edu.au>
- *
- * This file contains the hardware specific definitions for the
- * PLEB board. http://www.cse.unsw.edu.au/~pleb
- */
-
-#ifndef _INCLUDE_PLEB_H_
-#define _INCLUDE_PLEB_H_
-
-#define PLEB_ETH0_P (0x20000300) /* Ethernet 0 in PCMCIA0 IO */
-#define PLEB_ETH0_V (0xf6000300)
-
-#define GPIO_ETH0_IRQ GPIO_GPIO (21)
-#define GPIO_ETH0_EN GPIO_GPIO (26)
-
-#define IRQ_GPIO_ETH0_IRQ IRQ_GPIO21
-
-#endif
diff --git a/include/asm-arm/arch-sa1100/stork.h b/include/asm-arm/arch-sa1100/stork.h
deleted file mode 100644
index 91b3dbc5a30e..000000000000
--- a/include/asm-arm/arch-sa1100/stork.h
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- stork.h
-
-*/
-
-#ifndef STORK_SA1100_H
-#define STORK_SA1100_H
-
-/* ugly - this will make sure we build sa1100fb for the Nec display not the Kyocera */
-#define STORK_TFT 1
-
-
-#define GPIO_STORK_SWITCH_1 (1 << 0) /* Switch 1 - input */
-#define GPIO_STORK_SWITCH_2 (1 << 1) /* Switch 2 - input */
-#define GPIO_STORK_TOUCH_SCREEN_BUSY (1 << 10) /* TOUCH_SCREEN_BUSY - input */
-#define GPIO_STORK_TOUCH_SCREEN_DATA (1 << 11) /* TOUCH_SCREEN_DATA - input */
-#define GPIO_STORK_CODEC_AGCSTAT (1 << 12) /* CODEC_AGCSTAT -input */
-#define GPIO_STORK_RS232_ON (1 << 13) /* enable RS232 (UART1) */
-#define GPIO_STORK_TEST_POINT (1 << 14) /* to test point */
-#define GPIO_STORK_L3_I2C_SDA (1 << 15) /* L3_I2C_SDA - bidirectional */
-#define GPIO_STORK_PSU_SYNC_MODE (1 << 16) /* PSU_SYNC_MODE - output */
-#define GPIO_STORK_L3_MODE (1 << 17) /* L3 mode - output (??) */
-#define GPIO_STORK_L3_I2C_SCL (1 << 18) /* L3_I2C_SCL - bidirectional */
-#define GPIO_STORK_AUDIO_CLK (1 << 19) /* SSP external clock (Audio clock) - input */
-#define GPIO_STORK_PCMCIA_A_CARD_DETECT (1 << 20) /* PCMCIA_A_CARD_DETECT - input */
-#define GPIO_STORK_PCMCIA_B_CARD_DETECT (1 << 21) /* PCMCIA_B_CARD_DETECT - input */
-#define GPIO_STORK_PCMCIA_A_RDY (1 << 22) /* PCMCIA_A_RDY - input */
-#define GPIO_STORK_PCMCIA_B_RDY (1 << 23) /* PCMCIA_B_RDY - input */
-#define GPIO_STORK_SWITCH_EXTRA_IRQ (1 << 24) /* Extra IRQ from switch detect logic - input */
-#define GPIO_STORK_SWITCH_IRQ (1 << 25) /* Sitch irq - input */
-#define GPIO_STORK_BATTERY_LOW_IRQ (1 << 26) /* BATTERY_LOW_IRQ - input */
-#define GPIO_STORK_TOUCH_SCREEN_PEN_IRQ (1 << 27) /* TOUCH_SCREEN_PEN_IRQ -input */
-
-#define IRQ_GPIO_STORK_PCMCIA_A_CARD_DETECT IRQ_GPIO20 /* PCMCIA_A_CARD_DETECT - input */
-#define IRQ_GPIO_STORK_PCMCIA_B_CARD_DETECT IRQ_GPIO21 /* PCMCIA_B_CARD_DETECT - input */
-
-#define IRQ_GPIO_STORK_SWITCH_1 IRQ_GPIO0 /* Switch 1 - input - active low */
-#define IRQ_GPIO_STORK_SWITCH_2 IRQ_GPIO1 /* Switch 2 - input - active low */
-#define IRQ_GPIO_STORK_SWITCH_EXTRA_IRQ IRQ_GPIO24 /* Extra IRQ from switch detect logic - input - active low */
-#define IRQ_GPIO_STORK_SWITCH_IRQ IRQ_GPIO25 /* Switch irq - input- active low */
-#define IRQ_GPIO_STORK_BATTERY_LOW_IRQ IRQ_GPIO26 /* BATTERY_LOW_IRQ - input - active low */
-#define IRQ_GPIO_STORK_TOUCH_SCREEN_PEN_IRQ IRQ_GPIO27 /* TOUCH_SCREEN_PEN_IRQ -input - goes low when it happens */
-
-/* this may be bogus - no it's not the RDY line becomes the IRQ line when we're up as an IO device */
-#define IRQ_GPIO_STORK_PCMCIA_A_RDY IRQ_GPIO22 /* PCMCIA_A_RDY - input */
-#define IRQ_GPIO_STORK_PCMCIA_B_RDY IRQ_GPIO23 /* PCMCIA_B_RDY - input */
-
-/* the default outputs, others are optional - I'll set these in the bootldr for now */
-#define GPIO_STORK_OUTPUT_BITS (GPIO_STORK_RS232_ON | GPIO_STORK_PSU_SYNC_MODE | GPIO_STORK_L3_MODE)
-
-#define STORK_LATCH_A_ADDR 0x08000000 /* cs1 A5 = 0 */
-#define STORK_LATCH_B_ADDR 0x08000020 /* cs1 A5 = 1 */
-
-#define STORK_LCDCPLD_BASE_ADDR 0x10000000 /* cs2 A5 = 0 */
-
-/* bit defs for latch A - these are write only and will need to be mirrored! */
-
-#define STORK_TEMP_IC_POWER_ON (1 << 0)
-#define STORK_SED1386_POWER_ON (1 << 1)
-#define STORK_LCD_3V3_POWER_ON (1 << 2)
-#define STORK_LCD_5V_POWER_ON (1 << 3)
-#define STORK_LCD_BACKLIGHT_INVERTER_ON (1 << 4)
-#define STORK_PCMCIA_PULL_UPS_POWER_ON (1 << 5)
-#define STORK_PCMCIA_A_POWER_ON (1 << 6)
-#define STORK_PCMCIA_B_POWER_ON (1 << 7)
-#define STORK_AUDIO_POWER_ON (1 << 8)
-#define STORK_AUDIO_AMP_ON (1 << 9)
-#define STORK_BAR_CODE_POWER_ON (1 << 10)
-#define STORK_BATTERY_CHARGER_ON (1 << 11)
-#define STORK_SED1386_RESET (1 << 12)
-#define STORK_IRDA_FREQUENCY_SELECT (1 << 13)
-#define STORK_IRDA_MODE_0 (1 << 14)
-#define STORK_IRDA_MODE_1 (1 << 15)
-
-/* and for B */
-
-#define STORK_AUX_AD_SEL_0 (1 << 0)
-#define STORK_AUX_AD_SEL_1 (1 << 1)
-#define STORK_TOUCH_SCREEN_DCLK (1 << 2)
-#define STORK_TOUCH_SCREEN_DIN (1 << 3)
-#define STORK_TOUCH_SCREEN_CS (1 << 4)
-#define STORK_DA_CS (1 << 5)
-#define STORK_DA_LD (1 << 6)
-#define STORK_RED_LED (1 << 7) /* active LOW */
-#define STORK_GREEN_LED (1 << 8) /* active LOW */
-#define STORK_YELLOW_LED (1 << 9) /* active LOW */
-#define STORK_PCMCIA_B_RESET (1 << 10)
-#define STORK_PCMCIA_A_RESET (1 << 11)
-#define STORK_AUDIO_CODEC_RESET (1 << 12)
-#define STORK_CODEC_QMUTE (1 << 13)
-#define STORK_AUDIO_CLOCK_SEL0 (1 << 14)
-#define STORK_AUDIO_CLOCK_SEL1 (1 << 15)
-
-
-/*
-
- There are 8 control bits in the touch screen controller (AD7873)
-
- S A2 A1 A0 MODE SER/DFR# PD1 PD0
-
- S Start bit, always one.
- A2 - A0 Channel select bits
- MODE 0 => 12 bit resolution, 1 => 8 bit
- SER/DFR# Single ender/Differential Reference Select bit
- PD1, PD0 Power management bits (usually 10)
-
-
-From Table 1.
-
- A2-A0
-
- 0 Temp0 (SER must be 1)
- 1 X+ (is this a typo? - is this X- really?)
- 2 VBAT,
- 3 read X+ (Z1),
- 4 read Y- (Z2), 5 => read Y+,
-
-*/
-
-#define AD7873_START 0x80 /* all commands need this to be set */
-#define AD7873_ADDR_BITS 4 /* ie shift by this */
-#define AD7873_8BITMODE 0x08 /* 0 => 12 bit convertions */
-#define AD7873_SER_DFR 0x04
-#define AD7873_PD1 0x02
-#define AD7873_PD0 0x01
-
-#define AD7873_TEMP0 AD7873_SER_DFR
-#define AD7873_X (1 << AD7873_ADDR_BITS)
-#define AD7873_VBAT ((2 << AD7873_ADDR_BITS) | AD7873_SER_DFR)
-#define AD7873_X_Z1 (3 << AD7873_ADDR_BITS)
-#define AD7873_Y_Z2 (4 << AD7873_ADDR_BITS)
-#define AD7873_Y (5 << AD7873_ADDR_BITS)
-#define AD7873_AUX ((6 << AD7873_ADDR_BITS) | AD7873_SER_DFR)
-#define AD7873_TEMP1 ((7 << AD7873_ADDR_BITS) | AD7873_SER_DFR)
-
-#ifndef __ASSEMBLY__
-
-extern int storkSetLatchA(int bits);
-extern int storkClearLatchA(int bits);
-
-extern int storkSetLatchB(int bits);
-extern int storkClearLatchB(int bits);
-
-extern int storkSetLCDCPLD(int which, int bits);
-extern int storkClearLCDCPLD(int which, int bits);
-
-extern void storkSetGPIO(int bits);
-extern void storkClearGPIO(int bits);
-
-extern int storkGetGPIO(void);
-
-extern void storkClockShortToDtoA(int word);
-extern int storkClockByteToTS(int byte);
-
-
-/* this will return the current state of the hardware ANDED with the given bits
- so NE => at least one bit was set, but maybe not all of them! */
-
-extern int storkTestGPIO(int bits);
-
-
-#endif
-
-#endif
diff --git a/include/asm-arm/arch-sa1100/system.h b/include/asm-arm/arch-sa1100/system.h
index c0bbe24bf014..6f52118ba1a4 100644
--- a/include/asm-arm/arch-sa1100/system.h
+++ b/include/asm-arm/arch-sa1100/system.h
@@ -10,13 +10,6 @@ static inline void arch_idle(void)
cpu_do_idle();
}
-#ifdef CONFIG_SA1100_VICTOR
-
-/* power off unconditionally */
-#define arch_reset(x) machine_power_off()
-
-#else
-
static inline void arch_reset(char mode)
{
if (mode == 's') {
@@ -27,5 +20,3 @@ static inline void arch_reset(char mode)
RSRR = RSRR_SWR;
}
}
-
-#endif
diff --git a/include/asm-arm/arch-sa1100/system3.h b/include/asm-arm/arch-sa1100/system3.h
deleted file mode 100644
index b83a41e0c88f..000000000000
--- a/include/asm-arm/arch-sa1100/system3.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * linux/include/asm-arm/arch-sa1100/system3.h
- *
- * Copyright (C) 2001 Stefan Eletzhofer <stefan.eletzhofer@eletztrick.de>
- *
- * $Id: system3.h,v 1.2.4.2 2001/12/04 14:58:50 seletz Exp $
- *
- * 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.
- *
- * $Log: system3.h,v $
- * Revision 1.2.4.2 2001/12/04 14:58:50 seletz
- * - removed neponset hack
- * - removed irq definitions (now in irqs.h)
- *
- * Revision 1.2.4.1 2001/12/04 12:51:18 seletz
- * - re-added from linux_2_4_8_ac12_rmk1_np1_pt1
- *
- * Revision 1.2.2.2 2001/11/16 13:58:43 seletz
- * - simplified cpld register access
- *
- * Revision 1.2.2.1 2001/10/15 16:17:20 seletz
- * - first revision
- *
- *
- */
-
-#ifndef __ASM_ARCH_HARDWARE_H
-#error "include <asm/hardware.h> instead"
-#endif
-
-/* System 3 LCD */
-#define SYS3LCD SKPEN0
-#define SYS3LCDBACKL SKPEN1
-#define SYS3LCDBRIGHT SKPWM0
-#define SYS3LCDCONTR SKPWM1
-
-#define PT_CPLD_BASE (0x10000000)
-#define PT_SMC_BASE (0x18000000)
-#define PT_SA1111_BASE (0x40000000)
-
-#define SA1111_BASE PT_SA1111_BASE
-
-#define Ptcpld_p2v( x ) ((x) - PT_CPLD_BASE + 0xf3000000)
-#define Ptcpld_v2p( x ) ((x) - 0xf3000000 + PT_CPLD_BASE)
-
-#define _PT_SYSID ( PT_CPLD_BASE + 0x00 )
-#define _PT_IRQSR ( PT_CPLD_BASE + 0x24 )
-#define _PT_CTRL0 ( PT_CPLD_BASE + 0x90 )
-#define _PT_CTRL1 ( PT_CPLD_BASE + 0xA0 )
-#define _PT_CTRL2 ( PT_CPLD_BASE + 0xB0 )
-
-#define PT_SYSID (*((volatile u_char *)Ptcpld_p2v( _PT_SYSID )))
-#define PT_IRQSR (*((volatile u_char *)Ptcpld_p2v( _PT_IRQSR )))
-#define PT_CTRL0 (*((volatile u_char *)Ptcpld_p2v( _PT_CTRL0 )))
-#define PT_CTRL1 (*((volatile u_char *)Ptcpld_p2v( _PT_CTRL1 )))
-#define PT_CTRL2 (*((volatile u_char *)Ptcpld_p2v( _PT_CTRL2 )))
-
-#define PTCTRL0_set( x ) PT_CTRL0 |= (x)
-#define PTCTRL1_set( x ) PT_CTRL1 |= (x)
-#define PTCTRL2_set( x ) PT_CTRL2 |= (x)
-#define PTCTRL0_clear( x ) PT_CTRL0 &= ~(x)
-#define PTCTRL1_clear( x ) PT_CTRL1 &= ~(x)
-#define PTCTRL2_clear( x ) PT_CTRL2 &= ~(x)
-
-/* System ID register */
-
-/* IRQ Source Register */
-#define PT_IRR_LAN ( 1<<0 )
-#define PT_IRR_X ( 1<<1 )
-#define PT_IRR_SA1111 ( 1<<2 )
-#define PT_IRR_RS1 ( 1<<3 )
-#define PT_IRR_RS1_RING ( 1<<4 )
-#define PT_IRR_RS1_DCD ( 1<<5 )
-#define PT_IRR_RS1_DSR ( 1<<6 )
-#define PT_IRR_RS2 ( 1<<7 )
-
-/* FIXME */
-#define PT_IRR_USAR ( 1<<1 )
-
-/* CTRL 0 */
-#define PT_CTRL0_USBSLAVE ( 1<<0 )
-#define PT_CTRL0_USBHOST ( 1<<1 )
-#define PT_CTRL0_LCD_BL ( 1<<2 )
-#define PT_CTRL0_LAN_EN ( 1<<3 ) /* active low */
-#define PT_CTRL0_IRDA_M(x) ( (((u_char)x)&0x03)<<4 )
-#define PT_CTRL0_IRDA_M0 ( 1<<4 )
-#define PT_CTRL0_IRDA_M1 ( 1<<5 )
-#define PT_CTRL0_IRDA_FSEL ( 1<<6 )
-#define PT_CTRL0_LCD_EN ( 1<<7 )
-
-#define PT_CTRL0_INIT ( PT_CTRL0_USBSLAVE | PT_CTRL0_USBHOST | \
- PT_CTRL0_LCD_BL | PT_CTRL0_LAN_EN | PT_CTRL0_LCD_EN )
-
-/* CTRL 1 */
-#define PT_CTRL1_RS3_MUX(x) ( (((u_char)x)&0x03)<<0 )
-#define PT_CTRL1_RS3_MUX0 ( 1<<0 )
-#define PT_CTRL1_RS3_MUX1 ( 1<<1 )
-#define PT_CTRL1_RS3_RST ( 1<<2 )
-#define PT_CTRL1_RS3_RS485_TERM ( 1<<4 )
-#define PT_CTRL1_X ( 1<<4 )
-#define PT_CTRL1_PCMCIA_A0VPP ( 1<<6 )
-#define PT_CTRL1_PCMCIA_A1VPP ( 1<<7 )
-
-#define PT_RS3_MUX_ALIRS ( 0 )
-#define PT_RS3_MUX_IDATA ( 1 )
-#define PT_RS3_MUX_RADIO ( 2 )
-#define PT_RS3_MUX_RS485 ( 3 )
-
-/* CTRL 2 */
-#define PT_CTRL2_RS1_RTS ( 1<<0 )
-#define PT_CTRL2_RS1_DTR ( 1<<1 )
diff --git a/include/asm-arm/arch-sa1100/trizeps.h b/include/asm-arm/arch-sa1100/trizeps.h
deleted file mode 100644
index 1802947011be..000000000000
--- a/include/asm-arm/arch-sa1100/trizeps.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * linux/include/asm-arm/arch-sa1100/trizeps.h
- *
- * This file contains the hardware specific definitions for Trizeps
- *
- * Authors:
- * Andreas Hofer <ho@dsa-ac.de>,
- * Peter Lueg <pl@dsa-ac.de>,
- * Guennadi Liakhovetski <gl@dsa-ac.de>
- *
- */
-
-#ifndef _ASM_ARCH_TRIZEPS_H_
-#define _ASM_ARCH_TRIZEPS_H_
-
-#include <linux/config.h>
-
-#ifdef CONFIG_TRIZEPS_MFTB2
-#include "mftb2.h"
-#endif
-
-#endif // _INCLUDE_TRIZEPS_
diff --git a/include/asm-arm/arch-sa1100/yopy.h b/include/asm-arm/arch-sa1100/yopy.h
deleted file mode 100644
index 7b4e0148d831..000000000000
--- a/include/asm-arm/arch-sa1100/yopy.h
+++ /dev/null
@@ -1,127 +0,0 @@
-#ifndef __ASM_ARCH_YOPY_H__
-#define __ASM_ARCH_YOPY_H__
-
-/******************************************************************************
- * Memory mappings
- ******************************************************************************/
-
-/* Flash memories */
-#define YOPY_FLASH0_BASE_P (0x00000000) /* CS0 */
-#define YOPY_FLASH0_BASE_V (0xe8000000)
-#define YOPY_FLASH0_BASE YOPY_FLASH0_BASE_V
-#define YOPY_FLASH0_SIZE (0x04000000) /* map 64MB */
-
-#define YOPY_FLASH1_BASE_P (0x08000000) /* CS1 */
-#define YOPY_FLASH1_BASE_V (YOPY_FLASH0_BASE_V + YOPY_FLASH0_SIZE)
-#define YOPY_FLASH1_BASE YOPY_FLASH1_BASE_V
-#define YOPY_FLASH1_SIZE (0x04000000) /* map 64MB */
-
-/* LCD Controller */
-#define YOPY_LCD_IO_BASE_P (0x48000000) /* CS5 */
-#define YOPY_LCD_IO_BASE_V (0xf0000000)
-
-#define YOPY_LCD_IO_BASE YOPY_LCD_IO_BASE_V
-#define YOPY_LCD_IO_RANGE (0x00208000)
-
-/* Extended GPIO */
-#define YOPY_EGPIO_BASE_P (0x10000000) /* CS2 */
-#define YOPY_EGPIO_BASE_V (0xf1000000)
-
-#define YOPY_EGPIO_BASE YOPY_EGPIO_BASE_V
-#define YOPY_EGPIO_RANGE 4
-
-#define YOPY_EGPIO (*((volatile Word *)YOPY_EGPIO_BASE))
-
-
-/******************************************************************************
- * GPIO assignements
- ******************************************************************************/
-
-#define GPIO_UCB1200_IRQ GPIO_GPIO0
-#define GPIO_UCB1200_RESET GPIO_GPIO22
-
-#define GPIO_CF_IREQ GPIO_GPIO2
-#define GPIO_CF_CD GPIO_GPIO3
-#define GPIO_CF_BVD1 GPIO_GPIO4
-#define GPIO_CF_BVD2 GPIO_GPIO5
-#define GPIO_CF_CSEL GPIO_GPIO6
-#define GPIO_CF_READY GPIO_CF_IREQ
-#define GPIO_CF_STSCHG GPIO_CF_BVD1
-#define GPIO_CF_SPKR GPIO_CF_BVD2
-
-#define GPIO_MASK(io) (1 << (io))
-
-#define GPIO_YOPY_PLL_ML PPC_LDD7
-#define GPIO_YOPY_PLL_MC PPC_L_LCLK
-#define GPIO_YOPY_PLL_MD PPC_L_FCLK
-
-#define GPIO_YOPY_L3_MODE PPC_LDD4
-#define GPIO_YOPY_L3_CLOCK PPC_LDD5
-#define GPIO_YOPY_L3_DATA PPC_LDD6
-
-#define GPIO_CF_RESET 0
-#define GPIO_CLKDIV_CLR1 1
-#define GPIO_CLKDIV_CLR2 2
-#define GPIO_SPEAKER_MUTE 5
-#define GPIO_CF_POWER 8
-#define GPIO_AUDIO_OPAMP_POWER 11
-#define GPIO_AUDIO_CODEC_POWER 12
-#define GPIO_AUDIO_POWER 13
-
-#define GPIO_IRDA_POWER PPC_L_PCLK
-#define GPIO_IRDA_FIR PPC_LDD0
-
-#ifndef __ASSEMBLY__
-extern int yopy_gpio_test(unsigned int gpio);
-extern void yopy_gpio_set(unsigned int gpio, int level);
-#endif
-
-
-/******************************************************************************
- * IRQ assignements
- ******************************************************************************/
-
-/* for our old drivers */
-#define IRQ_SP0_UDC 13
-#define IRQ_SP1_SDLC 14
-#define IRQ_SP1_UART 15
-#define IRQ_SP2_ICP 16
-#define IRQ_SP2_UART 16
-#define IRQ_SP3_UART 17
-#define IRQ_SP4_MCP 18
-#define IRQ_SP4_SSP 19
-#define IRQ_RTC_HZ 30
-#define IRQ_RTC_ALARM 31
-
-/* GPIO interrupts */
-#define IRQ_GPIO_UCB1200_IRQ IRQ_GPIO0
-
-#define IRQ_CF_IREQ IRQ_GPIO2
-#define IRQ_CF_CD IRQ_GPIO3
-#define IRQ_CF_BVD1 IRQ_GPIO4
-#define IRQ_CF_BVD2 IRQ_GPIO5
-
-#define IRQ_UART_CTS IRQ_GPIO7
-#define IRQ_UART_DCD IRQ_GPIO8
-#define IRQ_UART_DSR IRQ_GPIO9
-
-#define IRQ_FLASH_STATUS IRQ_GPIO23
-
-#define IRQ_BUTTON_POWER IRQ_GPIO1
-#define IRQ_BUTTON_UP IRQ_GPIO14
-#define IRQ_BUTTON_DOWN IRQ_GPIO15
-#define IRQ_BUTTON_LEFT IRQ_GPIO16
-#define IRQ_BUTTON_RIGHT IRQ_GPIO17
-#define IRQ_BUTTON_SHOT0 IRQ_GPIO18
-#define IRQ_BUTTON_SHOT1 IRQ_GPIO20
-#define IRQ_BUTTON_PIMS IRQ_UCB1200_IO1
-#define IRQ_BUTTON_MP3 IRQ_UCB1200_IO2
-#define IRQ_BUTTON_RECORD IRQ_UCB1200_IO3
-#define IRQ_BUTTON_PREV IRQ_UCB1200_IO4
-#define IRQ_BUTTON_SELECT IRQ_UCB1200_IO5
-#define IRQ_BUTTON_NEXT IRQ_UCB1200_IO6
-#define IRQ_BUTTON_CANCEL IRQ_UCB1200_IO7
-#define IRQ_BUTTON_REMOTE IRQ_UCB1200_IO8
-
-
-#endif
diff --git a/include/asm-arm/bitops.h b/include/asm-arm/bitops.h
index 994e0aeffd5b..ce923ee18276 100644
--- a/include/asm-arm/bitops.h
+++ b/include/asm-arm/bitops.h
@@ -342,7 +342,7 @@ static inline unsigned long __ffs(unsigned long word)
* the clz instruction for much better code efficiency.
*/
-extern __inline__ int generic_fls(int x);
+static __inline__ int generic_fls(int x);
#define fls(x) \
( __builtin_constant_p(x) ? generic_fls(x) : \
({ int __r; asm("clz\t%0, %1" : "=r"(__r) : "r"(x) : "cc"); 32-__r; }) )
diff --git a/include/asm-arm/ecard.h b/include/asm-arm/ecard.h
index 0aa513f2ccae..358799f28df0 100644
--- a/include/asm-arm/ecard.h
+++ b/include/asm-arm/ecard.h
@@ -143,6 +143,7 @@ typedef struct { /* Card handler routines */
#define ecard_resource_end(ec,nr) ((ec)->resource[nr].end)
#define ecard_resource_len(ec,nr) ((ec)->resource[nr].end - \
(ec)->resource[nr].start + 1)
+#define ecard_resource_flags(ec,nr) ((ec)->resource[nr].flags)
/*
* This contains all the info needed on an expansion card
diff --git a/include/asm-arm/io.h b/include/asm-arm/io.h
index 114a6d6d0587..60513375e728 100644
--- a/include/asm-arm/io.h
+++ b/include/asm-arm/io.h
@@ -176,7 +176,7 @@ extern void _memset_io(void __iomem *, int, size_t);
eth_copy_and_sum((s),__mem_pci(c),(l),(b))
static inline int
-check_signature(unsigned long io_addr, const unsigned char *signature,
+check_signature(void __iomem *io_addr, const unsigned char *signature,
int length)
{
int retval = 0;
@@ -226,23 +226,6 @@ out:
#define isa_eth_io_copy_and_sum(a,b,c,d) \
eth_copy_and_sum((a),__mem_isa(b),(c),(d))
-static inline int
-isa_check_signature(unsigned long io_addr, const unsigned char *signature,
- int length)
-{
- int retval = 0;
- do {
- if (isa_readb(io_addr) != *signature)
- goto out;
- io_addr++;
- signature++;
- length--;
- } while (length);
- retval = 1;
-out:
- return retval;
-}
-
#else /* __mem_isa */
#define isa_readb(addr) (__readwrite_bug("isa_readb"),0)
@@ -258,8 +241,6 @@ out:
#define isa_eth_io_copy_and_sum(a,b,c,d) \
__readwrite_bug("isa_eth_io_copy_and_sum")
-#define isa_check_signature(io,sig,len) (0)
-
#endif /* __mem_isa */
/*
diff --git a/include/asm-arm/mach/flash.h b/include/asm-arm/mach/flash.h
index f7b86a1be96d..a92887d4b2cb 100644
--- a/include/asm-arm/mach/flash.h
+++ b/include/asm-arm/mach/flash.h
@@ -2,18 +2,33 @@
* linux/include/asm-arm/mach/flash.h
*
* Copyright (C) 2003 Russell King, All Rights Reserved.
+ *
+ * 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 ASMARM_MACH_FLASH_H
-#define ASMAMR_MACH_FLASH_H
+#define ASMARM_MACH_FLASH_H
struct mtd_partition;
+/*
+ * map_name: the map probe function name
+ * width: width of mapped device
+ * init: method called at driver/device initialisation
+ * exit: method called at driver/device removal
+ * set_vpp: method called to enable or disable VPP
+ * parts: optional array of mtd_partitions for static partitioning
+ * nr_parts: number of mtd_partitions for static partitoning
+ */
struct flash_platform_data {
const char *map_name;
- int width;
+ unsigned int width;
int (*init)(void);
void (*exit)(void);
void (*set_vpp)(int on);
+ struct mtd_partition *parts;
+ unsigned int nr_parts;
};
#endif
diff --git a/include/asm-arm/mach/irq.h b/include/asm-arm/mach/irq.h
index bea9af3922cb..c6ae545e4237 100644
--- a/include/asm-arm/mach/irq.h
+++ b/include/asm-arm/mach/irq.h
@@ -97,23 +97,6 @@ void __set_irq_handler(unsigned int irq, irq_handler_t, int);
void set_irq_chip(unsigned int irq, struct irqchip *);
void set_irq_flags(unsigned int irq, unsigned int flags);
-#ifdef not_yet
-/*
- * This is to be used by the top-level machine IRQ decoder only.
- */
-static inline void call_irq(struct pt_regs *regs, unsigned int irq)
-{
- struct irqdesc *desc = irq_desc + irq;
-
- spin_lock(&irq_controller_lock);
- desc->handle(irq, desc, regs);
- spin_unlock(&irq_controller_lock);
-
- if (softirq_pending(smp_processor_id()))
- do_softirq();
-}
-#endif
-
#define IRQF_VALID (1 << 0)
#define IRQF_PROBE (1 << 1)
#define IRQF_NOAUTOEN (1 << 2)
diff --git a/include/asm-arm/mach/map.h b/include/asm-arm/mach/map.h
index 284df8bb76d1..2a75545a2d04 100644
--- a/include/asm-arm/mach/map.h
+++ b/include/asm-arm/mach/map.h
@@ -23,6 +23,7 @@ struct meminfo;
#define MT_MINICLEAN 2
#define MT_VECTORS 3
#define MT_MEMORY 4
+#define MT_ROM 5
extern void create_memmap_holes(struct meminfo *);
extern void memtable_init(struct meminfo *);
diff --git a/include/asm-arm/mach/mmc.h b/include/asm-arm/mach/mmc.h
index 41a946e42db0..1b3555d4b41e 100644
--- a/include/asm-arm/mach/mmc.h
+++ b/include/asm-arm/mach/mmc.h
@@ -7,7 +7,6 @@
#include <linux/mmc/protocol.h>
struct mmc_platform_data {
- unsigned int mclk; /* mmc base clock rate */
unsigned int ocr_mask; /* available voltages */
u32 (*translate_vdd)(struct device *, unsigned int);
unsigned int (*status)(struct device *);
diff --git a/include/asm-arm/page.h b/include/asm-arm/page.h
index a270052fe67a..4ca3a8e9348f 100644
--- a/include/asm-arm/page.h
+++ b/include/asm-arm/page.h
@@ -85,14 +85,10 @@
#endif
#ifdef CONFIG_CPU_COPY_V6
-# ifdef _USER
-# define MULTI_USER 1
-# else
-# define _USER v6
-# endif
+# define MULTI_USER 1
#endif
-#ifndef _USER
+#if !defined(_USER) && !defined(MULTI_USER)
#error Unknown user operations model
#endif
diff --git a/include/asm-arm/procinfo.h b/include/asm-arm/procinfo.h
index a3116e9f3758..a9c75b2c314f 100644
--- a/include/asm-arm/procinfo.h
+++ b/include/asm-arm/procinfo.h
@@ -24,13 +24,13 @@ struct processor;
*
* NOTE! The following structure is defined by assembly
* language, NOT C code. For more information, check:
- * arch/arm/mm/proc-*.S and arch/arm/kernel/head-armv.S
+ * arch/arm/mm/proc-*.S and arch/arm/kernel/head.S
*/
struct proc_info_list {
unsigned int cpu_val;
unsigned int cpu_mask;
- unsigned long __cpu_mmu_flags; /* used by head-armv.S */
- unsigned long __cpu_flush; /* used by head-armv.S */
+ unsigned long __cpu_mmu_flags; /* used by head.S */
+ unsigned long __cpu_flush; /* used by head.S */
const char *arch_name;
const char *elf_name;
unsigned int elf_hwcap;
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index da1b3ba89b3e..99cef06a364a 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -18,6 +18,9 @@
\
/* PCI quirks */ \
.pci_fixup : AT(ADDR(.pci_fixup) - LOAD_OFFSET) { \
+ VMLINUX_SYMBOL(__start_pci_fixups_early) = .; \
+ *(.pci_fixup_early) \
+ VMLINUX_SYMBOL(__end_pci_fixups_early) = .; \
VMLINUX_SYMBOL(__start_pci_fixups_header) = .; \
*(.pci_fixup_header) \
VMLINUX_SYMBOL(__end_pci_fixups_header) = .; \
diff --git a/include/asm-h8300/io.h b/include/asm-h8300/io.h
index 7047ee209f50..57574c8aefa4 100644
--- a/include/asm-h8300/io.h
+++ b/include/asm-h8300/io.h
@@ -70,15 +70,24 @@ static inline unsigned long _swapl(volatile unsigned long v)
}
#define readb(addr) \
- ({ unsigned char __v = (*(volatile unsigned char *) ((addr) & 0x00ffffff)); __v; })
+ ({ unsigned char __v = \
+ *(volatile unsigned char *)((unsigned long)(addr) & 0x00ffffff); \
+ __v; })
#define readw(addr) \
- ({ unsigned short __v = (*(volatile unsigned short *) ((addr) & 0x00ffffff)); __v; })
+ ({ unsigned short __v = \
+ *(volatile unsigned short *)((unsigned long)(addr) & 0x00ffffff); \
+ __v; })
#define readl(addr) \
- ({ unsigned int __v = (*(volatile unsigned int *) ((addr) & 0x00ffffff)); __v; })
-
-#define writeb(b,addr) (void)((*(volatile unsigned char *) ((addr) & 0x00ffffff)) = (b))
-#define writew(b,addr) (void)((*(volatile unsigned short *) ((addr) & 0x00ffffff)) = (b))
-#define writel(b,addr) (void)((*(volatile unsigned int *) ((addr) & 0x00ffffff)) = (b))
+ ({ unsigned long __v = \
+ *(volatile unsigned long *)((unsigned long)(addr) & 0x00ffffff); \
+ __v; })
+
+#define writeb(b,addr) (void)((*(volatile unsigned char *) \
+ ((unsigned long)(addr) & 0x00ffffff)) = (b))
+#define writew(b,addr) (void)((*(volatile unsigned short *) \
+ ((unsigned long)(addr) & 0x00ffffff)) = (b))
+#define writel(b,addr) (void)((*(volatile unsigned long *) \
+ ((unsigned long)(addr) & 0x00ffffff)) = (b))
#define readb_relaxed(addr) readb(addr)
#define readw_relaxed(addr) readw(addr)
#define readl_relaxed(addr) readl(addr)
diff --git a/include/asm-h8300/sigcontext.h b/include/asm-h8300/sigcontext.h
index c2a8df4f557f..e4b81505f8f8 100644
--- a/include/asm-h8300/sigcontext.h
+++ b/include/asm-h8300/sigcontext.h
@@ -8,7 +8,9 @@ struct sigcontext {
unsigned long sc_er1;
unsigned long sc_er2;
unsigned long sc_er3;
+ unsigned long sc_er4;
unsigned long sc_er5;
+ unsigned long sc_er6;
unsigned short sc_ccr;
unsigned long sc_pc;
};
diff --git a/include/asm-h8300/signal.h b/include/asm-h8300/signal.h
index 6612725c2297..3a08544a473e 100644
--- a/include/asm-h8300/signal.h
+++ b/include/asm-h8300/signal.h
@@ -96,6 +96,8 @@ typedef unsigned long sigset_t;
#define SA_ONESHOT SA_RESETHAND
#define SA_INTERRUPT 0x20000000 /* dummy -- ignored */
+#define SA_RESTORER 0x04000000
+
/*
* sigaltstack controls
*/
diff --git a/include/asm-h8300/ucontext.h b/include/asm-h8300/ucontext.h
index 7987d6c06245..0bcf8f85fab9 100644
--- a/include/asm-h8300/ucontext.h
+++ b/include/asm-h8300/ucontext.h
@@ -1,22 +1,11 @@
#ifndef _H8300_UCONTEXT_H
#define _H8300_UCONTEXT_H
-typedef int greg_t;
-#define NGREG 10
-typedef greg_t gregset_t[NGREG];
-
-struct mcontext {
- int version;
- gregset_t gregs;
-};
-
-#define MCONTEXT_VERSION 1
-
struct ucontext {
unsigned long uc_flags;
struct ucontext *uc_link;
stack_t uc_stack;
- struct mcontext uc_mcontext;
+ struct sigcontext uc_mcontext;
sigset_t uc_sigmask; /* mask last for extensibility */
};
diff --git a/include/asm-h8300/unistd.h b/include/asm-h8300/unistd.h
index a6d15d494e76..239f351d7c96 100644
--- a/include/asm-h8300/unistd.h
+++ b/include/asm-h8300/unistd.h
@@ -5,6 +5,7 @@
* This file contains the system call numbers.
*/
+#define __NR_restart_syscall 0
#define __NR_exit 1
#define __NR_fork 2
#define __NR_read 3
diff --git a/include/asm-i386/acpi.h b/include/asm-i386/acpi.h
index ee3667db2862..60f2942f4588 100644
--- a/include/asm-i386/acpi.h
+++ b/include/asm-i386/acpi.h
@@ -138,6 +138,8 @@ extern int acpi_gsi_to_irq(u32 gsi, unsigned int *irq);
extern int skip_ioapic_setup;
extern int acpi_skip_timer_override;
+extern void check_acpi_pci(void);
+
static inline void disable_ioapic_setup(void)
{
skip_ioapic_setup = 1;
@@ -149,8 +151,8 @@ static inline int ioapic_setup_disabled(void)
}
#else
-static inline void disable_ioapic_setup(void)
-{ }
+static inline void disable_ioapic_setup(void) { }
+static inline void check_acpi_pci(void) { }
#endif
diff --git a/include/asm-i386/apic.h b/include/asm-i386/apic.h
index 8135c7c290f2..ed794d04c118 100644
--- a/include/asm-i386/apic.h
+++ b/include/asm-i386/apic.h
@@ -53,7 +53,8 @@ static __inline unsigned long apic_read(unsigned long reg)
static __inline__ void apic_wait_icr_idle(void)
{
- do { } while ( apic_read( APIC_ICR ) & APIC_ICR_BUSY );
+ while ( apic_read( APIC_ICR ) & APIC_ICR_BUSY )
+ cpu_relax();
}
int get_physical_broadcast(void);
diff --git a/include/asm-i386/io.h b/include/asm-i386/io.h
index f3ee4f411f6f..7b27cf130b1a 100644
--- a/include/asm-i386/io.h
+++ b/include/asm-i386/io.h
@@ -248,36 +248,6 @@ out:
return retval;
}
-/**
- * isa_check_signature - find BIOS signatures
- * @io_addr: mmio address to check
- * @signature: signature block
- * @length: length of signature
- *
- * Perform a signature comparison with the ISA mmio address io_addr.
- * Returns 1 on a match.
- *
- * This function is deprecated. New drivers should use ioremap and
- * check_signature.
- */
-
-
-static inline int isa_check_signature(unsigned long io_addr,
- const unsigned char *signature, int length)
-{
- int retval = 0;
- do {
- if (isa_readb(io_addr) != *signature)
- goto out;
- io_addr++;
- signature++;
- length--;
- } while (length);
- retval = 1;
-out:
- return retval;
-}
-
/*
* Cache management
*
diff --git a/include/asm-i386/pci-direct.h b/include/asm-i386/pci-direct.h
new file mode 100644
index 000000000000..4f6738b08206
--- /dev/null
+++ b/include/asm-i386/pci-direct.h
@@ -0,0 +1 @@
+#include "asm-x86_64/pci-direct.h"
diff --git a/include/asm-i386/thread_info.h b/include/asm-i386/thread_info.h
index 9eba8cbd0d4a..819e84b5707a 100644
--- a/include/asm-i386/thread_info.h
+++ b/include/asm-i386/thread_info.h
@@ -10,6 +10,7 @@
#ifdef __KERNEL__
#include <linux/config.h>
+#include <linux/compiler.h>
#include <asm/page.h>
#ifndef __ASSEMBLY__
@@ -92,12 +93,7 @@ static inline struct thread_info *current_thread_info(void)
}
/* how to get the current stack pointer from C */
-static inline unsigned long current_stack_pointer(void)
-{
- unsigned long ti;
- __asm__("movl %%esp,%0; ":"=r" (ti) : );
- return ti;
-}
+register unsigned long current_stack_pointer asm("esp") __attribute_used__;
/* thread information allocation */
#ifdef CONFIG_DEBUG_STACK_USAGE
diff --git a/include/asm-i386/timer.h b/include/asm-i386/timer.h
index 24381b8b5376..40c54f69780e 100644
--- a/include/asm-i386/timer.h
+++ b/include/asm-i386/timer.h
@@ -1,5 +1,6 @@
#ifndef _ASMi386_TIMER_H
#define _ASMi386_TIMER_H
+#include <linux/init.h>
/**
* struct timer_ops - used to define a timer source
@@ -15,18 +16,22 @@
* timer.
* @delay: delays this many clock cycles.
*/
-struct timer_opts{
+struct timer_opts {
char* name;
- int (*init)(char *override);
void (*mark_offset)(void);
unsigned long (*get_offset)(void);
unsigned long long (*monotonic_clock)(void);
void (*delay)(unsigned long);
};
+struct init_timer_opts {
+ int (*init)(char *override);
+ struct timer_opts *opts;
+};
+
#define TICK_SIZE (tick_nsec / 1000)
-extern struct timer_opts* select_timer(void);
+extern struct timer_opts* __init select_timer(void);
extern void clock_fallback(void);
void setup_pit_timer(void);
@@ -40,19 +45,20 @@ extern int timer_ack;
/* list of externed timers */
extern struct timer_opts timer_none;
extern struct timer_opts timer_pit;
-extern struct timer_opts timer_tsc;
+extern struct init_timer_opts timer_pit_init;
+extern struct init_timer_opts timer_tsc_init;
#ifdef CONFIG_X86_CYCLONE_TIMER
-extern struct timer_opts timer_cyclone;
+extern struct init_timer_opts timer_cyclone_init;
#endif
extern unsigned long calibrate_tsc(void);
extern void init_cpu_khz(void);
#ifdef CONFIG_HPET_TIMER
-extern struct timer_opts timer_hpet;
+extern struct init_timer_opts timer_hpet_init;
extern unsigned long calibrate_tsc_hpet(unsigned long *tsc_hpet_quotient_ptr);
#endif
#ifdef CONFIG_X86_PM_TIMER
-extern struct timer_opts timer_pmtmr;
+extern struct init_timer_opts timer_pmtmr_init;
#endif
#endif
diff --git a/include/asm-ia64/hardirq.h b/include/asm-ia64/hardirq.h
index 602471e51aab..b097596f6c61 100644
--- a/include/asm-ia64/hardirq.h
+++ b/include/asm-ia64/hardirq.h
@@ -20,14 +20,7 @@
#define __ARCH_IRQ_STAT 1
#define softirq_pending(cpu) (cpu_data(cpu)->softirq_pending)
-#define syscall_count(cpu) /* unused on IA-64 */
-#define ksoftirqd_task(cpu) (cpu_data(cpu)->ksoftirqd)
-#define nmi_count(cpu) 0
-
#define local_softirq_pending() (local_cpu_data->softirq_pending)
-#define local_syscall_count() /* unused on IA-64 */
-#define local_ksoftirqd_task() (local_cpu_data->ksoftirqd)
-#define local_nmi_count() 0
#define HARDIRQ_BITS 14
diff --git a/include/asm-ia64/pal.h b/include/asm-ia64/pal.h
index 7d47da05b823..01a39527aaf8 100644
--- a/include/asm-ia64/pal.h
+++ b/include/asm-ia64/pal.h
@@ -1531,7 +1531,7 @@ static inline s64
ia64_pal_tr_read (u64 reg_num, u64 tr_type, u64 *tr_buffer, pal_tr_valid_u_t *tr_valid)
{
struct ia64_pal_retval iprv;
- PAL_CALL_PHYS_STK(iprv, PAL_VM_TR_READ, reg_num, tr_type,(u64)__pa(tr_buffer));
+ PAL_CALL_PHYS_STK(iprv, PAL_VM_TR_READ, reg_num, tr_type,(u64)ia64_tpa(tr_buffer));
if (tr_valid)
tr_valid->piv_val = iprv.v0;
return iprv.status;
diff --git a/include/asm-ia64/ptrace.h b/include/asm-ia64/ptrace.h
index 2af819be15ea..0bef19538406 100644
--- a/include/asm-ia64/ptrace.h
+++ b/include/asm-ia64/ptrace.h
@@ -2,7 +2,7 @@
#define _ASM_IA64_PTRACE_H
/*
- * Copyright (C) 1998-2003 Hewlett-Packard Co
+ * Copyright (C) 1998-2004 Hewlett-Packard Co
* David Mosberger-Tang <davidm@hpl.hp.com>
* Stephane Eranian <eranian@hpl.hp.com>
* Copyright (C) 2003 Intel Co
@@ -110,7 +110,11 @@ struct pt_regs {
unsigned long cr_ipsr; /* interrupted task's psr */
unsigned long cr_iip; /* interrupted task's instruction pointer */
- unsigned long cr_ifs; /* interrupted task's function state */
+ /*
+ * interrupted task's function state; if bit 63 is cleared, it
+ * contains syscall's ar.pfs.pfm:
+ */
+ unsigned long cr_ifs;
unsigned long ar_unat; /* interrupted task's NaT register (preserved) */
unsigned long ar_pfs; /* prev function state */
diff --git a/include/asm-ia64/sn/intr.h b/include/asm-ia64/sn/intr.h
index 3e23a7457ef5..e51471fb0867 100644
--- a/include/asm-ia64/sn/intr.h
+++ b/include/asm-ia64/sn/intr.h
@@ -12,16 +12,21 @@
#define SGI_UART_VECTOR (0xe9)
#define SGI_PCIBR_ERROR (0x33)
-// These two IRQ's are used by partitioning.
+/* Reserved IRQs : Note, not to exceed IA64_SN2_FIRST_DEVICE_VECTOR */
#define SGI_XPC_ACTIVATE (0x30)
#define SGI_II_ERROR (0x31)
#define SGI_XBOW_ERROR (0x32)
#define SGI_PCIBR_ERROR (0x33)
#define SGI_ACPI_SCI_INT (0x34)
-#define SGI_MMTIMER_VECTOR (0x35)
-#define SGI_TIO_ERROR (0x36)
+#define SGI_TIOCA_ERROR (0x35)
+#define SGI_TIO_ERROR (0x36)
+#define SGI_TIOCX_ERROR (0x37)
+#define SGI_MMTIMER_VECTOR (0x38)
#define SGI_XPC_NOTIFY (0xe7)
+#define IA64_SN2_FIRST_DEVICE_VECTOR (0x3c)
+#define IA64_SN2_LAST_DEVICE_VECTOR (0xe6)
+
#define SN2_IRQ_RESERVED (0x1)
#define SN2_IRQ_CONNECTED (0x2)
#define SN2_IRQ_SHARED (0x4)
diff --git a/include/asm-ia64/unistd.h b/include/asm-ia64/unistd.h
index 84e6989d6ea0..99cc90c11850 100644
--- a/include/asm-ia64/unistd.h
+++ b/include/asm-ia64/unistd.h
@@ -259,6 +259,10 @@
#define __NR_mq_getsetattr 1267
#define __NR_kexec_load 1268
#define __NR_vserver 1269
+#define __NR_waitid 1270
+#define __NR_add_key 1271
+#define __NR_request_key 1272
+#define __NR_keyctl 1273
#ifdef __KERNEL__
@@ -385,7 +389,7 @@ asmlinkage long sys_rt_sigaction(int sig,
* "Conditional" syscalls
*
* Note, this macro can only be used in the file which defines sys_ni_syscall, i.e., in
- * kernel/sys.c. This version causes warnings because the declaration isn't a
+ * kernel/sys_ni.c. This version causes warnings because the declaration isn't a
* proper prototype, but we can't use __typeof__ either, because not all cond_syscall()
* declarations have prototypes at the moment.
*/
diff --git a/include/asm-m32r/ide.h b/include/asm-m32r/ide.h
index 8389f249db9a..be64f24e37ee 100644
--- a/include/asm-m32r/ide.h
+++ b/include/asm-m32r/ide.h
@@ -35,7 +35,7 @@
static __inline__ int ide_default_irq(unsigned long base)
{
switch (base) {
-#if defined(CONFIG_PLAT_M32700UT)
+#if defined(CONFIG_PLAT_M32700UT) || defined(CONFIG_PLAT_MAPPI2)
case 0x1f0: return PLD_IRQ_CFIREQ;
default:
return 0;
diff --git a/include/asm-m32r/io.h b/include/asm-m32r/io.h
index cab43ebac8fc..a5d3abee0ef4 100644
--- a/include/asm-m32r/io.h
+++ b/include/asm-m32r/io.h
@@ -167,7 +167,7 @@ static inline void _writel(unsigned long l, unsigned long addr)
#define flush_write_buffers() do { } while (0) /* M32R_FIXME */
/**
- * isa_check_signature - find BIOS signatures
+ * check_signature - find BIOS signatures
* @io_addr: mmio address to check
* @signature: signature block
* @length: length of signature
@@ -179,14 +179,14 @@ static inline void _writel(unsigned long l, unsigned long addr)
* check_signature.
*/
-static inline int isa_check_signature(unsigned long io_addr,
+static inline int check_signature(void __iomem *io_addr,
const unsigned char *signature, int length)
{
int retval = 0;
#if 0
-printk("isa_check_signature\n");
+printk("check_signature\n");
do {
- if (isa_readb(io_addr) != *signature)
+ if (readb(io_addr) != *signature)
goto out;
io_addr++;
signature++;
diff --git a/include/asm-m68k/io.h b/include/asm-m68k/io.h
index 0f23907fa291..c963b138a142 100644
--- a/include/asm-m68k/io.h
+++ b/include/asm-m68k/io.h
@@ -306,6 +306,24 @@ static inline void isa_delay(void)
#endif
#endif /* CONFIG_PCI */
+#if !defined(CONFIG_ISA) && !defined(CONFIG_PCI) && defined(CONFIG_HP300)
+/*
+ * We need to define dummy functions otherwise drivers/serial/8250.c doesn't link
+ */
+#define inb(port) 0xff
+#define inb_p(port) 0xff
+#define outb(val,port) do { } while (0)
+#define outb_p(val,port) do { } while (0)
+
+/*
+ * These should be valid on any ioremap()ed region
+ */
+#define readb(addr) in_8(addr)
+#define writeb(val,addr) out_8((addr),(val))
+#define readl(addr) in_le32(addr)
+#define writel(val,addr) out_le32((addr),(val))
+#endif
+
#define mmiowb()
static inline void *ioremap(unsigned long physaddr, unsigned long size)
@@ -327,23 +345,6 @@ static inline void *ioremap_fullcache(unsigned long physaddr,
return __ioremap(physaddr, size, IOMAP_FULL_CACHING);
}
-#if !defined(CONFIG_ISA) && !defined(CONFIG_PCI) && defined(CONFIG_HP300)
-/*
- * We need to define dummy functions otherwise drivers/serial/8250.c doesn't link
- */
-#define inb(port) 0xff
-#define inb_p(port) 0xff
-#define outb(val,port) do { } while (0)
-#define outb_p(val,port) do { } while (0)
-
-/*
- * These should be valid on any ioremap()ed region
- */
-#define readb(addr) in_8(addr)
-#define writeb(val,addr) out_8((addr),(val))
-#define readl(addr) in_le32(addr)
-#define writel(val,addr) out_le32((addr),(val))
-#endif
/* m68k caches aren't DMA coherent */
extern void dma_cache_wback_inv(unsigned long start, unsigned long size);
diff --git a/include/asm-m68k/setup.h b/include/asm-m68k/setup.h
index ce2762822a2b..9e23492685eb 100644
--- a/include/asm-m68k/setup.h
+++ b/include/asm-m68k/setup.h
@@ -264,7 +264,7 @@ extern int m68k_is040or060;
# define MMU_IS_SUN3 (0)
#elif defined(CONFIG_M68030) || defined(CONFIG_M68040) || defined(CONFIG_M68060)
# define CPU_IS_020 (m68k_cputype & CPU_68020)
-# define MMU_IS_851 (m68k_cputype & MMU_68851)
+# define MMU_IS_851 (m68k_mmutype & MMU_68851)
# define MMU_IS_SUN3 (0) /* Sun3 not supported with other CPU enabled */
#else
# define CPU_M68020_ONLY
diff --git a/include/asm-m68k/unistd.h b/include/asm-m68k/unistd.h
index 28fe5964b7cf..4795f611f03b 100644
--- a/include/asm-m68k/unistd.h
+++ b/include/asm-m68k/unistd.h
@@ -281,8 +281,11 @@
#define __NR_mq_getsetattr 276
#define __NR_waitid 277
#define __NR_vserver 278
+#define __NR_add_key 279
+#define __NR_request_key 280
+#define __NR_keyctl 281
-#define NR_syscalls 279
+#define NR_syscalls 282
/* user-visible error numbers are in the range -1 - -124: see
<asm-m68k/errno.h> */
diff --git a/include/asm-m68knommu/mcfdma.h b/include/asm-m68knommu/mcfdma.h
index 98fadce0a6e9..350c6090b5c1 100644
--- a/include/asm-m68knommu/mcfdma.h
+++ b/include/asm-m68knommu/mcfdma.h
@@ -21,7 +21,7 @@
#define MCFDMA_BASE1 0x240 /* Base address of DMA 1 */
#elif defined(CONFIG_M5272)
#define MCFDMA_BASE0 0x0e0 /* Base address of DMA 0 */
-#elif defined(CONFIG_M5282)
+#elif defined(CONFIG_M527x) || defined(CONFIG_M528x)
/* These are relative to the IPSBAR, not MBAR */
#define MCFDMA_BASE0 0x100 /* Base address of DMA 0 */
#define MCFDMA_BASE1 0x140 /* Base address of DMA 1 */
diff --git a/include/asm-m68knommu/mcfpit.h b/include/asm-m68knommu/mcfpit.h
index 76ccfc2f0fa1..4cc2e9fd6ad0 100644
--- a/include/asm-m68knommu/mcfpit.h
+++ b/include/asm-m68knommu/mcfpit.h
@@ -14,7 +14,7 @@
#include <linux/config.h>
/*
- * Get address specific defines for the 5282.
+ * Get address specific defines for the 5270/5271 and 5280/5282.
*/
#define MCFPIT_BASE1 0x00150000 /* Base address of TIMER1 */
#define MCFPIT_BASE2 0x00160000 /* Base address of TIMER2 */
diff --git a/include/asm-m68knommu/mcfsim.h b/include/asm-m68knommu/mcfsim.h
index 27d6cb696815..522e513c2bc6 100644
--- a/include/asm-m68knommu/mcfsim.h
+++ b/include/asm-m68knommu/mcfsim.h
@@ -15,7 +15,8 @@
#include <linux/config.h>
/*
- * Include 5204, 5206, 5249, 5272, 5282, 5307 or 5407 specific addresses.
+ * Include 5204, 5206/e, 5249, 5270/5271, 5272, 5280/5282, 5307 or
+ * 5407 specific addresses.
*/
#if defined(CONFIG_M5204)
#include <asm/m5204sim.h>
@@ -23,10 +24,12 @@
#include <asm/m5206sim.h>
#elif defined(CONFIG_M5249)
#include <asm/m5249sim.h>
+#elif defined(CONFIG_M527x)
+#include <asm/m527xsim.h>
#elif defined(CONFIG_M5272)
#include <asm/m5272sim.h>
-#elif defined(CONFIG_M5282)
-#include <asm/m5282sim.h>
+#elif defined(CONFIG_M528x)
+#include <asm/m528xsim.h>
#elif defined(CONFIG_M5307)
#include <asm/m5307sim.h>
#elif defined(CONFIG_M5407)
diff --git a/include/asm-m68knommu/mcfuart.h b/include/asm-m68knommu/mcfuart.h
index 91073227553d..54d4a85f4fdf 100644
--- a/include/asm-m68knommu/mcfuart.h
+++ b/include/asm-m68knommu/mcfuart.h
@@ -29,7 +29,7 @@
#define MCFUART_BASE1 0x140 /* Base address of UART1 */
#define MCFUART_BASE2 0x180 /* Base address of UART2 */
#endif
-#elif defined(CONFIG_M5282)
+#elif defined(CONFIG_M527x) || defined(CONFIG_M528x)
#define MCFUART_BASE1 0x200 /* Base address of UART1 */
#define MCFUART_BASE2 0x240 /* Base address of UART2 */
#define MCFUART_BASE3 0x280 /* Base address of UART3 */
diff --git a/include/asm-m68knommu/system.h b/include/asm-m68knommu/system.h
index e12f9eb46e84..ce3f0b0226df 100644
--- a/include/asm-m68knommu/system.h
+++ b/include/asm-m68knommu/system.h
@@ -257,6 +257,19 @@ cmpxchg(volatile int *p, int old, int new)
jmp (%a0); \
"); \
})
+#elif defined(CONFIG_M528x)
+/*
+ * The MCF528x has a bit (SOFTRST) in memory (Reset Control Register RCR),
+ * that when set, resets the MCF528x.
+ */
+#define HARD_RESET_NOW() \
+({ \
+ unsigned char volatile *reset; \
+ asm("move.w #0x2700, %sr"); \
+ reset = ((volatile unsigned short *)(MCF_IPSBAR + 0x110000)); \
+ while(1) \
+ *reset |= (0x01 << 7);\
+})
#else
#define HARD_RESET_NOW() ({ \
asm(" \
diff --git a/include/asm-m68knommu/thread_info.h b/include/asm-m68knommu/thread_info.h
index f45b12a2cd17..dcdc2b33dcf7 100644
--- a/include/asm-m68knommu/thread_info.h
+++ b/include/asm-m68knommu/thread_info.h
@@ -12,6 +12,12 @@
#ifdef __KERNEL__
+/*
+ * Size of kernel stack for each process. This must be a power of 2...
+ */
+#define THREAD_SIZE 8192 /* 2 pages */
+
+
#ifndef __ASSEMBLY__
/*
@@ -45,12 +51,6 @@ struct thread_info {
#define init_stack (init_thread_union.stack)
-/*
- * Size of kernel stack for each process. This must be a power of 2...
- */
-#define THREAD_SIZE 8192 /* 2 pages */
-
-
/* how to get the thread information struct from C */
static inline struct thread_info *current_thread_info(void)
{
diff --git a/include/asm-mips/io.h b/include/asm-mips/io.h
index 7575bf5d98e8..c6bd278c5ea0 100644
--- a/include/asm-mips/io.h
+++ b/include/asm-mips/io.h
@@ -388,20 +388,6 @@ out:
return retval;
}
-/*
- * isa_check_signature - find BIOS signatures
- * @io_addr: mmio address to check
- * @signature: signature block
- * @length: length of signature
- *
- * Perform a signature comparison with the ISA mmio address io_addr.
- * Returns 1 on a match.
- *
- * This function is deprecated. New drivers should use ioremap and
- * check_signature.
- */
-#define isa_check_signature(io, s, l) check_signature(i,s,l)
-
static inline void __outb(unsigned char val, unsigned long port)
{
port = __swizzle_addr_b(port);
diff --git a/include/asm-ppc/cputable.h b/include/asm-ppc/cputable.h
index fcdb87db389b..34f37ab61324 100644
--- a/include/asm-ppc/cputable.h
+++ b/include/asm-ppc/cputable.h
@@ -21,6 +21,9 @@
#define PPC_FEATURE_HAS_MMU 0x04000000
#define PPC_FEATURE_HAS_4xxMAC 0x02000000
#define PPC_FEATURE_UNIFIED_CACHE 0x01000000
+#define PPC_FEATURE_HAS_SPE 0x00800000
+#define PPC_FEATURE_HAS_EFP_SINGLE 0x00400000
+#define PPC_FEATURE_HAS_EFP_DOUBLE 0x00200000
#ifdef __KERNEL__
@@ -46,6 +49,9 @@ struct cpu_spec {
unsigned int icache_bsize;
unsigned int dcache_bsize;
+ /* number of performance monitor counters */
+ unsigned int num_pmcs;
+
/* this is called to initialize various CPU bits like L1 cache,
* BHT, SPD, etc... from head.S before branching to identify_machine
*/
diff --git a/include/asm-ppc/io.h b/include/asm-ppc/io.h
index f8b1cbd05595..5946df50a8c7 100644
--- a/include/asm-ppc/io.h
+++ b/include/asm-ppc/io.h
@@ -452,13 +452,6 @@ out:
return retval;
}
-/* Make some pcmcia drivers happy */
-static inline int isa_check_signature(unsigned long io_addr,
- const unsigned char *signature, int length)
-{
- return 0;
-}
-
/*
* Here comes the ppc implementation of the IOMAP
* interfaces.
diff --git a/include/asm-ppc/mpc85xx.h b/include/asm-ppc/mpc85xx.h
index d3be2353890e..a046ce298fdf 100644
--- a/include/asm-ppc/mpc85xx.h
+++ b/include/asm-ppc/mpc85xx.h
@@ -81,6 +81,7 @@ extern unsigned char __res[];
#define MPC85xx_IRQ_DUART (26 + MPC85xx_OPENPIC_IRQ_OFFSET)
#define MPC85xx_IRQ_IIC1 (27 + MPC85xx_OPENPIC_IRQ_OFFSET)
#define MPC85xx_IRQ_PERFMON (28 + MPC85xx_OPENPIC_IRQ_OFFSET)
+#define MPC85xx_IRQ_SEC2 (29 + MPC85xx_OPENPIC_IRQ_OFFSET)
#define MPC85xx_IRQ_CPM (30 + MPC85xx_OPENPIC_IRQ_OFFSET)
/* The 12 external interrupt lines */
@@ -120,6 +121,8 @@ extern unsigned char __res[];
#define MPC85xx_PCI2_SIZE (0x01000)
#define MPC85xx_PERFMON_OFFSET (0xe1000)
#define MPC85xx_PERFMON_SIZE (0x01000)
+#define MPC85xx_SEC2_OFFSET (0x30000)
+#define MPC85xx_SEC2_SIZE (0x10000)
#define MPC85xx_UART0_OFFSET (0x04500)
#define MPC85xx_UART0_SIZE (0x00100)
#define MPC85xx_UART1_OFFSET (0x04600)
diff --git a/include/asm-ppc/ocp_ids.h b/include/asm-ppc/ocp_ids.h
index 91be19d2df7e..8ae4b311a37c 100644
--- a/include/asm-ppc/ocp_ids.h
+++ b/include/asm-ppc/ocp_ids.h
@@ -61,6 +61,7 @@
#define OCP_FUNC_PERFMON 0x00D2 /* Performance Monitor */
#define OCP_FUNC_RGMII 0x00D3
#define OCP_FUNC_TAH 0x00D4
+#define OCP_FUNC_SEC2 0x00D5 /* Crypto/Security 2.0 */
/* Network 0x0200 - 0x02FF */
#define OCP_FUNC_EMAC 0x0200
diff --git a/include/asm-ppc/open_pic.h b/include/asm-ppc/open_pic.h
index 6d5130bbdbd5..cc238f5b9e1e 100644
--- a/include/asm-ppc/open_pic.h
+++ b/include/asm-ppc/open_pic.h
@@ -55,6 +55,7 @@ extern void openpic_cause_IPI(u_int ipi, cpumask_t cpumask);
extern void smp_openpic_message_pass(int target, int msg, unsigned long data,
int wait);
extern void openpic_set_k2_cascade(int irq);
+extern void openpic_set_priority(u_int pri);
extern inline int openpic_to_irq(int irq)
{
diff --git a/include/asm-ppc/pci-bridge.h b/include/asm-ppc/pci-bridge.h
index acd9cb4d0aa0..dc61c91cb134 100644
--- a/include/asm-ppc/pci-bridge.h
+++ b/include/asm-ppc/pci-bridge.h
@@ -94,6 +94,8 @@ int early_write_config_word(struct pci_controller *hose, int bus, int dev_fn,
int early_write_config_dword(struct pci_controller *hose, int bus, int dev_fn,
int where, u32 val);
+extern void setup_indirect_pci_nomap(struct pci_controller* hose,
+ u32 cfg_addr, u32 cfg_data);
extern void setup_indirect_pci(struct pci_controller* hose,
u32 cfg_addr, u32 cfg_data);
extern void setup_grackle(struct pci_controller *hose);
diff --git a/include/asm-ppc/pmac_feature.h b/include/asm-ppc/pmac_feature.h
index 33b852186d90..6540eb82c339 100644
--- a/include/asm-ppc/pmac_feature.h
+++ b/include/asm-ppc/pmac_feature.h
@@ -315,7 +315,7 @@ struct macio_chip
int type;
const char *name;
int rev;
- volatile u32 *base;
+ volatile u32 __iomem *base;
unsigned long flags;
/* For use by macio_asic PCI driver */
@@ -333,7 +333,7 @@ extern struct macio_chip macio_chips[MAX_MACIO_CHIPS];
extern struct macio_chip* macio_find(struct device_node* child, int type);
#define MACIO_FCR32(macio, r) ((macio)->base + ((r) >> 2))
-#define MACIO_FCR8(macio, r) (((volatile u8*)((macio)->base)) + (r))
+#define MACIO_FCR8(macio, r) (((volatile u8 __iomem *)((macio)->base)) + (r))
#define MACIO_IN32(r) (in_le32(MACIO_FCR32(macio,r)))
#define MACIO_OUT32(r,v) (out_le32(MACIO_FCR32(macio,r), (v)))
diff --git a/include/asm-ppc64/iSeries/mf.h b/include/asm-ppc64/iSeries/mf.h
index ef497025dc02..2e59a8e15a0b 100644
--- a/include/asm-ppc64/iSeries/mf.h
+++ b/include/asm-ppc64/iSeries/mf.h
@@ -1,6 +1,7 @@
/*
* mf.h
* Copyright (C) 2001 Troy D. Armstrong IBM Corporation
+ * Copyright (C) 2004 Stephen Rothwell IBM Corporation
*
* This modules exists as an interface between a Linux secondary partition
* running on an iSeries and the primary partition's Virtual Service
@@ -23,48 +24,34 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#ifndef MF_H_INCLUDED
-#define MF_H_INCLUDED
+#ifndef _ASM_PPC64_ISERIES_MF_H
+#define _ASM_PPC64_ISERIES_MF_H
-#include <linux/proc_fs.h>
+#include <linux/types.h>
#include <asm/iSeries/HvTypes.h>
-#include <asm/iSeries/HvLpEvent.h>
+#include <asm/iSeries/HvCallEvent.h>
struct rtc_time;
typedef void (*MFCompleteHandler)(void *clientToken, int returnCode);
-extern void mf_allocateLpEvents(HvLpIndex targetLp, HvLpEvent_Type type,
+extern void mf_allocate_lp_events(HvLpIndex targetLp, HvLpEvent_Type type,
unsigned size, unsigned amount, MFCompleteHandler hdlr,
void *userToken);
-extern void mf_deallocateLpEvents(HvLpIndex targetLp, HvLpEvent_Type type,
+extern void mf_deallocate_lp_events(HvLpIndex targetLp, HvLpEvent_Type type,
unsigned count, MFCompleteHandler hdlr, void *userToken);
-extern void mf_powerOff(void);
+extern void mf_power_off(void);
extern void mf_reboot(void);
-extern void mf_displaySrc(u32 word);
-extern void mf_displayProgress(u16 value);
-extern void mf_clearSrc(void);
+extern void mf_display_src(u32 word);
+extern void mf_display_progress(u16 value);
+extern void mf_clear_src(void);
extern void mf_init(void);
-extern void mf_setSide(char side);
-extern char mf_getSide(void);
+extern int mf_get_rtc(struct rtc_time *tm);
+extern int mf_set_rtc(struct rtc_time *tm);
-extern void mf_setCmdLine(const char *cmdline, int size, u64 side);
-extern int mf_getCmdLine(char *cmdline, int *size, u64 side);
-
-extern void mf_getSrcHistory(char *buffer, int size);
-
-extern int mf_setVmlinuxChunk(const char *buffer, int size, int offset,
- u64 side);
-extern int mf_getVmlinuxChunk(char *buffer, int *size, int offset, u64 side);
-
-extern int mf_setRtcTime(unsigned long time);
-extern int mf_getRtcTime(unsigned long *time);
-extern int mf_getRtc( struct rtc_time * tm );
-extern int mf_setRtc( struct rtc_time * tm );
-
-#endif /* MF_H_INCLUDED */
+#endif /* _ASM_PPC64_ISERIES_MF_H */
diff --git a/include/asm-ppc64/ide.h b/include/asm-ppc64/ide.h
index 00df66e0e5fc..0aae1c590c0e 100644
--- a/include/asm-ppc64/ide.h
+++ b/include/asm-ppc64/ide.h
@@ -19,7 +19,7 @@
#ifdef __KERNEL__
#ifndef MAX_HWIFS
-# define MAX_HWIFS 4
+# define MAX_HWIFS 10
#endif
#define IDE_ARCH_OBSOLETE_INIT
diff --git a/include/asm-ppc64/pci-bridge.h b/include/asm-ppc64/pci-bridge.h
index 8d4ed18fdc11..428cc1947d95 100644
--- a/include/asm-ppc64/pci-bridge.h
+++ b/include/asm-ppc64/pci-bridge.h
@@ -18,21 +18,11 @@ struct pci_controller;
extern struct pci_controller*
pci_find_hose_for_OF_device(struct device_node* node);
-enum phb_types {
- phb_type_unknown = 0x0,
- phb_type_hypervisor = 0x1,
- phb_type_python = 0x10,
- phb_type_speedwagon = 0x11,
- phb_type_winnipeg = 0x12,
- phb_type_apple = 0xff
-};
-
/*
* Structure of a PCI controller (host bridge)
*/
struct pci_controller {
char what[8]; /* Eye catcher */
- enum phb_types type; /* Type of hardware */
struct pci_bus *bus;
char is_dynamic;
void *arch_data;
@@ -94,26 +84,13 @@ extern void pci_process_bridge_OF_ranges(struct pci_controller *hose,
extern int pcibios_remove_root_bus(struct pci_controller *phb);
-/* Use this macro after the PCI bus walk for max performance when it
- * is known that sysdata is correct.
- */
-#define PCI_GET_DN(dev) ((struct device_node *)((dev)->sysdata))
-
extern void phbs_remap_io(void);
static inline struct pci_controller *pci_bus_to_host(struct pci_bus *bus)
{
- struct device_node *busdn;
-
- busdn = bus->sysdata;
- if (busdn == 0) {
- struct pci_bus *b;
- for (b = bus->parent; b && bus->sysdata == 0; b = b->parent)
- ;
- busdn = b->sysdata;
- }
- if (busdn == NULL)
- return NULL;
+ struct device_node *busdn = bus->sysdata;
+
+ BUG_ON(busdn == NULL);
return busdn->phb;
}
diff --git a/include/asm-ppc64/pgtable.h b/include/asm-ppc64/pgtable.h
index 7ef18db10570..42a71cfae1ab 100644
--- a/include/asm-ppc64/pgtable.h
+++ b/include/asm-ppc64/pgtable.h
@@ -67,12 +67,6 @@
#define IMALLOC_END (IMALLOC_BASE + PGTABLE_EA_MASK)
/*
- * Define the address range mapped virt <-> physical
- */
-#define KRANGE_START KERNELBASE
-#define KRANGE_END (KRANGE_START + PGTABLE_EA_MASK)
-
-/*
* Define the user address range
*/
#define USER_START (0UL)
diff --git a/include/asm-ppc64/prom.h b/include/asm-ppc64/prom.h
index 0c03b06b95e4..be5f67d071d1 100644
--- a/include/asm-ppc64/prom.h
+++ b/include/asm-ppc64/prom.h
@@ -56,6 +56,8 @@ struct boot_param_header
u32 off_mem_rsvmap; /* offset to memory reserve map */
u32 version; /* format version */
u32 last_comp_version; /* last compatible version */
+ /* version 2 fields below */
+ u32 boot_cpuid_phys; /* Which physical CPU id we're booting on */
};
diff --git a/include/asm-ppc64/rtas.h b/include/asm-ppc64/rtas.h
index 414b7552514f..a405a871919e 100644
--- a/include/asm-ppc64/rtas.h
+++ b/include/asm-ppc64/rtas.h
@@ -149,7 +149,7 @@ struct rtas_error_log {
unsigned long target:4; /* Target of failed operation */
unsigned long type:8; /* General event or error*/
unsigned long extended_log_length:32; /* length in bytes */
- unsigned char buffer[1]; /* allocated by klimit bump */
+ unsigned char buffer[1];
};
struct flash_block {
diff --git a/include/asm-ppc64/smp.h b/include/asm-ppc64/smp.h
index 11f5dd9f4d40..6121d21355bc 100644
--- a/include/asm-ppc64/smp.h
+++ b/include/asm-ppc64/smp.h
@@ -27,6 +27,7 @@
#include <asm/paca.h>
extern int boot_cpuid;
+extern int boot_cpuid_phys;
extern void cpu_die(void) __attribute__((noreturn));
diff --git a/include/asm-ppc64/sstep.h b/include/asm-ppc64/sstep.h
new file mode 100644
index 000000000000..448190d09e6d
--- /dev/null
+++ b/include/asm-ppc64/sstep.h
@@ -0,0 +1,13 @@
+/*
+ * Copyright (C) 2004 Paul Mackerras <paulus@au.ibm.com>, IBM
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version
+ * 2 of the License, or (at your option) any later version.
+ */
+
+struct pt_regs;
+
+/* Emulate instructions that cause a transfer of control. */
+extern int emulate_step(struct pt_regs *regs, unsigned int instr);
diff --git a/include/asm-ppc64/unistd.h b/include/asm-ppc64/unistd.h
index 7851d0c5868c..1882dfee1d59 100644
--- a/include/asm-ppc64/unistd.h
+++ b/include/asm-ppc64/unistd.h
@@ -202,19 +202,19 @@
#define __NR_vfork 189
#define __NR_ugetrlimit 190 /* SuS compliant getrlimit */
#define __NR_readahead 191
-#define __NR_mmap2 192
-#define __NR_truncate64 193
-#define __NR_ftruncate64 194
-#define __NR_stat64 195
-#define __NR_lstat64 196
-#define __NR_fstat64 197
+/* #define __NR_mmap2 192 32bit only */
+/* #define __NR_truncate64 193 32bit only */
+/* #define __NR_ftruncate64 194 32bit only */
+/* #define __NR_stat64 195 32bit only */
+/* #define __NR_lstat64 196 32bit only */
+/* #define __NR_fstat64 197 32bit only */
#define __NR_pciconfig_read 198
#define __NR_pciconfig_write 199
#define __NR_pciconfig_iobase 200
#define __NR_multiplexer 201
#define __NR_getdents64 202
#define __NR_pivot_root 203
-#define __NR_fcntl64 204
+/* #define __NR_fcntl64 204 32bit only */
#define __NR_madvise 205
#define __NR_mincore 206
#define __NR_gettid 207
@@ -236,7 +236,7 @@
#define __NR_sched_getaffinity 223
/* 224 currently unused */
#define __NR_tuxcall 225
-#define __NR_sendfile64 226
+/* #define __NR_sendfile64 226 32bit only */
#define __NR_io_setup 227
#define __NR_io_destroy 228
#define __NR_io_getevents 229
@@ -264,7 +264,7 @@
#define __NR_utimes 251
#define __NR_statfs64 252
#define __NR_fstatfs64 253
-#define __NR_fadvise64_64 254
+/* #define __NR_fadvise64_64 254 32bit only */
#define __NR_rtas 255
/* Number 256 is reserved for sys_debug_setcontext */
/* Number 257 is reserved for vserver */
diff --git a/include/asm-s390/elf.h b/include/asm-s390/elf.h
index 4368a55e9b50..3b8bd46832a1 100644
--- a/include/asm-s390/elf.h
+++ b/include/asm-s390/elf.h
@@ -98,6 +98,7 @@
#include <asm/ptrace.h>
#include <asm/user.h>
+#include <asm/system.h> /* for save_access_regs */
typedef s390_fp_regs elf_fpregset_t;
@@ -152,6 +153,7 @@ typedef s390_regs elf_gregset_t;
static inline int dump_regs(struct pt_regs *ptregs, elf_gregset_t *regs)
{
memcpy(&regs->psw, &ptregs->psw, sizeof(regs->psw)+sizeof(regs->gprs));
+ save_access_regs(regs->acrs);
regs->orig_gpr2 = ptregs->orig_gpr2;
return 1;
}
@@ -160,8 +162,10 @@ static inline int dump_regs(struct pt_regs *ptregs, elf_gregset_t *regs)
static inline int dump_task_regs(struct task_struct *tsk, elf_gregset_t *regs)
{
- dump_regs(__KSTK_PTREGS(tsk), regs);
+ struct pt_regs *ptregs = __KSTK_PTREGS(tsk);
+ memcpy(&regs->psw, &ptregs->psw, sizeof(regs->psw)+sizeof(regs->gprs));
memcpy(regs->acrs, tsk->thread.acrs, sizeof(regs->acrs));
+ regs->orig_gpr2 = ptregs->orig_gpr2;
return 1;
}
@@ -169,7 +173,10 @@ static inline int dump_task_regs(struct task_struct *tsk, elf_gregset_t *regs)
static inline int dump_task_fpu(struct task_struct *tsk, elf_fpregset_t *fpregs)
{
- memcpy(fpregs, &tsk->thread.fp_regs, sizeof(elf_fpregset_t));
+ if (tsk == current)
+ save_fp_regs(fpregs);
+ else
+ memcpy(fpregs, &tsk->thread.fp_regs, sizeof(elf_fpregset_t));
return 1;
}
diff --git a/include/asm-sparc/dma.h b/include/asm-sparc/dma.h
index 59a07c7920ea..07e6368a2521 100644
--- a/include/asm-sparc/dma.h
+++ b/include/asm-sparc/dma.h
@@ -69,7 +69,7 @@ enum dvma_rev {
struct sbus_dma {
struct sbus_dma *next;
struct sbus_dev *sdev;
- unsigned long regs;
+ void __iomem *regs;
/* Status, misc info */
int node; /* Prom node for this DMA device */
diff --git a/include/asm-sparc/fbio.h b/include/asm-sparc/fbio.h
index 68834d38c444..c2b27e7a7cad 100644
--- a/include/asm-sparc/fbio.h
+++ b/include/asm-sparc/fbio.h
@@ -53,9 +53,9 @@ struct fbtype {
struct fbcmap {
int index; /* first element (0 origin) */
int count;
- unsigned char *red;
- unsigned char *green;
- unsigned char *blue;
+ unsigned char __user *red;
+ unsigned char __user *green;
+ unsigned char __user *blue;
};
#ifdef __KERNEL__
diff --git a/include/asm-sparc/io.h b/include/asm-sparc/io.h
index 61fbdf45c023..529dc9373631 100644
--- a/include/asm-sparc/io.h
+++ b/include/asm-sparc/io.h
@@ -27,87 +27,78 @@ static inline u16 flip_word (u16 w)
/*
* Memory mapped I/O to PCI
- *
- * Observe that ioremap returns void* cookie, but accessors, such
- * as readb, take unsigned long as address, by API. This mismatch
- * happened historically. The ioremap is much older than accessors,
- * so at one time ioremap's cookie was used as address (*a = val).
- * When accessors came about, they were designed to be compatible across
- * buses, so that drivers can select proper ones like sunhme.c did.
- * To make that easier, they use same aruments (ulong) for sbus, pci, isa.
- * The offshot is, we must cast readb et. al. arguments with a #define.
*/
-static inline u8 __raw_readb(unsigned long addr)
+static inline u8 __raw_readb(const volatile void __iomem *addr)
{
- return *(volatile u8 *)addr;
+ return *(__force volatile u8 *)addr;
}
-static inline u16 __raw_readw(unsigned long addr)
+static inline u16 __raw_readw(const volatile void __iomem *addr)
{
- return *(volatile u16 *)addr;
+ return *(__force volatile u16 *)addr;
}
-static inline u32 __raw_readl(unsigned long addr)
+static inline u32 __raw_readl(const volatile void __iomem *addr)
{
- return *(volatile u32 *)addr;
+ return *(__force volatile u32 *)addr;
}
-static inline void __raw_writeb(u8 b, unsigned long addr)
+static inline void __raw_writeb(u8 b, volatile void __iomem *addr)
{
- *(volatile u8 *)addr = b;
+ *(__force volatile u8 *)addr = b;
}
-static inline void __raw_writew(u16 w, unsigned long addr)
+static inline void __raw_writew(u16 w, volatile void __iomem *addr)
{
- *(volatile u16 *)addr = w;
+ *(__force volatile u16 *)addr = w;
}
-static inline void __raw_writel(u32 l, unsigned long addr)
+static inline void __raw_writel(u32 l, volatile void __iomem *addr)
{
- *(volatile u32 *)addr = l;
+ *(__force volatile u32 *)addr = l;
}
-static inline u8 __readb(unsigned long addr)
+static inline u8 __readb(const volatile void __iomem *addr)
{
- return *(volatile u8 *)addr;
+ return *(__force volatile u8 *)addr;
}
-static inline u16 __readw(unsigned long addr)
+static inline u16 __readw(const volatile void __iomem *addr)
{
- return flip_word(*(volatile u16 *)addr);
+ return flip_word(*(__force volatile u16 *)addr);
}
-static inline u32 __readl(unsigned long addr)
+static inline u32 __readl(const volatile void __iomem *addr)
{
- return flip_dword(*(volatile u32 *)addr);
+ return flip_dword(*(__force volatile u32 *)addr);
}
-static inline void __writeb(u8 b, unsigned long addr)
+static inline void __writeb(u8 b, volatile void __iomem *addr)
{
- *(volatile u8 *)addr = b;
+ *(__force volatile u8 *)addr = b;
}
-static inline void __writew(u16 w, unsigned long addr)
+static inline void __writew(u16 w, volatile void __iomem *addr)
{
- *(volatile u16 *)addr = flip_word(w);
+ *(__force volatile u16 *)addr = flip_word(w);
}
-static inline void __writel(u32 l, unsigned long addr)
+static inline void __writel(u32 l, volatile void __iomem *addr)
{
- *(volatile u32 *)addr = flip_dword(l);
+ *(__force volatile u32 *)addr = flip_dword(l);
}
-#define readb(__addr) __readb((unsigned long)(__addr))
-#define readw(__addr) __readw((unsigned long)(__addr))
-#define readl(__addr) __readl((unsigned long)(__addr))
+#define readb(__addr) __readb(__addr)
+#define readw(__addr) __readw(__addr)
+#define readl(__addr) __readl(__addr)
#define readb_relaxed(__addr) readb(__addr)
#define readw_relaxed(__addr) readw(__addr)
#define readl_relaxed(__addr) readl(__addr)
-#define writeb(__b, __addr) __writeb((__b),(unsigned long)(__addr))
-#define writew(__w, __addr) __writew((__w),(unsigned long)(__addr))
-#define writel(__l, __addr) __writel((__l),(unsigned long)(__addr))
+#define writeb(__b, __addr) __writeb((__b),(__addr))
+#define writew(__w, __addr) __writew((__w),(__addr))
+#define writel(__l, __addr) __writel((__l),(__addr))
/*
* I/O space operations
@@ -126,15 +117,15 @@ static inline void __writel(u32 l, unsigned long addr)
* mapped somewhere into virtual kernel space and we
* can use inb/outb again.
*/
-#define inb_local(__addr) __readb((unsigned long)(__addr))
-#define inb(__addr) __readb((unsigned long)(__addr))
-#define inw(__addr) __readw((unsigned long)(__addr))
-#define inl(__addr) __readl((unsigned long)(__addr))
+#define inb_local(__addr) __readb((void __iomem *)(unsigned long)(__addr))
+#define inb(__addr) __readb((void __iomem *)(unsigned long)(__addr))
+#define inw(__addr) __readw((void __iomem *)(unsigned long)(__addr))
+#define inl(__addr) __readl((void __iomem *)(unsigned long)(__addr))
-#define outb_local(__b, __addr) __writeb(__b, (unsigned long)(__addr))
-#define outb(__b, __addr) __writeb(__b, (unsigned long)(__addr))
-#define outw(__w, __addr) __writew(__w, (unsigned long)(__addr))
-#define outl(__l, __addr) __writel(__l, (unsigned long)(__addr))
+#define outb_local(__b, __addr) __writeb(__b, (void __iomem *)(unsigned long)(__addr))
+#define outb(__b, __addr) __writeb(__b, (void __iomem *)(unsigned long)(__addr))
+#define outw(__w, __addr) __writew(__w, (void __iomem *)(unsigned long)(__addr))
+#define outl(__l, __addr) __writel(__l, (void __iomem *)(unsigned long)(__addr))
#define inb_p(__addr) inb(__addr)
#define outb_p(__b, __addr) outb(__b, __addr)
@@ -158,73 +149,112 @@ extern void insl(unsigned long addr, void *dst, unsigned long count);
* SBus has only one, memory mapped, I/O space.
* We do not need to flip bytes for SBus of course.
*/
-static inline u8 _sbus_readb(unsigned long addr)
+static inline u8 _sbus_readb(const volatile void __iomem *addr)
{
- return *(volatile u8 *)addr;
+ return *(__force volatile u8 *)addr;
}
-static inline u16 _sbus_readw(unsigned long addr)
+static inline u16 _sbus_readw(const volatile void __iomem *addr)
{
- return *(volatile u16 *)addr;
+ return *(__force volatile u16 *)addr;
}
-static inline u32 _sbus_readl(unsigned long addr)
+static inline u32 _sbus_readl(const volatile void __iomem *addr)
{
- return *(volatile u32 *)addr;
+ return *(__force volatile u32 *)addr;
}
-static inline void _sbus_writeb(u8 b, unsigned long addr)
+static inline void _sbus_writeb(u8 b, volatile void __iomem *addr)
{
- *(volatile u8 *)addr = b;
+ *(__force volatile u8 *)addr = b;
}
-static inline void _sbus_writew(u16 w, unsigned long addr)
+static inline void _sbus_writew(u16 w, volatile void __iomem *addr)
{
- *(volatile u16 *)addr = w;
+ *(__force volatile u16 *)addr = w;
}
-static inline void _sbus_writel(u32 l, unsigned long addr)
+static inline void _sbus_writel(u32 l, volatile void __iomem *addr)
{
- *(volatile u32 *)addr = l;
+ *(__force volatile u32 *)addr = l;
}
/*
* The only reason for #define's is to hide casts to unsigned long.
*/
-#define sbus_readb(__addr) _sbus_readb((unsigned long)(__addr))
-#define sbus_readw(__addr) _sbus_readw((unsigned long)(__addr))
-#define sbus_readl(__addr) _sbus_readl((unsigned long)(__addr))
-#define sbus_writeb(__b, __addr) _sbus_writeb(__b, (unsigned long)(__addr))
-#define sbus_writew(__w, __addr) _sbus_writew(__w, (unsigned long)(__addr))
-#define sbus_writel(__l, __addr) _sbus_writel(__l, (unsigned long)(__addr))
+#define sbus_readb(__addr) _sbus_readb(__addr)
+#define sbus_readw(__addr) _sbus_readw(__addr)
+#define sbus_readl(__addr) _sbus_readl(__addr)
+#define sbus_writeb(__b, __addr) _sbus_writeb(__b, __addr)
+#define sbus_writew(__w, __addr) _sbus_writew(__w, __addr)
+#define sbus_writel(__l, __addr) _sbus_writel(__l, __addr)
+
+static inline void sbus_memset_io(volatile void __iomem *__dst, int c, __kernel_size_t n)
+{
+ while(n--) {
+ sbus_writeb(c, __dst);
+ __dst++;
+ }
+}
-static inline void *sbus_memset_io(void *__dst, int c, __kernel_size_t n)
+static inline void
+_memset_io(volatile void __iomem *dst, int c, __kernel_size_t n)
{
- unsigned long dst = (unsigned long)__dst;
+ volatile void __iomem *d = dst;
- while(n--) {
- sbus_writeb(c, dst);
- dst++;
+ while (n--) {
+ writeb(c, d);
+ d++;
}
- return (void *) dst;
}
+#define memset_io(d,c,sz) _memset_io(d,c,sz)
+
+static inline void
+_memcpy_fromio(void *dst, const volatile void __iomem *src, __kernel_size_t n)
+{
+ char *d = dst;
+
+ while (n--) {
+ char tmp = readb(src);
+ *d++ = tmp;
+ src++;
+ }
+}
+
+#define memcpy_fromio(d,s,sz) _memcpy_fromio(d,s,sz)
+
+static inline void
+_memcpy_toio(volatile void __iomem *dst, const void *src, __kernel_size_t n)
+{
+ const char *s = src;
+ volatile void __iomem *d = dst;
+
+ while (n--) {
+ char tmp = *s++;
+ writeb(tmp, d);
+ d++;
+ }
+}
+
+#define memcpy_toio(d,s,sz) _memcpy_toio(d,s,sz)
+
#ifdef __KERNEL__
/*
* Bus number may be embedded in the higher bits of the physical address.
* This is why we have no bus number argument to ioremap().
*/
-extern void *ioremap(unsigned long offset, unsigned long size);
+extern void __iomem *ioremap(unsigned long offset, unsigned long size);
#define ioremap_nocache(X,Y) ioremap((X),(Y))
-extern void iounmap(void *addr);
+extern void iounmap(volatile void __iomem *addr);
/*
* Bus number may be in res->flags... somewhere.
*/
-extern unsigned long sbus_ioremap(struct resource *res, unsigned long offset,
+extern void __iomem *sbus_ioremap(struct resource *res, unsigned long offset,
unsigned long size, char *name);
-extern void sbus_iounmap(unsigned long vaddr, unsigned long size);
+extern void sbus_iounmap(volatile void __iomem *vaddr, unsigned long size);
/*
diff --git a/include/asm-sparc/mostek.h b/include/asm-sparc/mostek.h
index be60a9afa41f..f88760d9e1df 100644
--- a/include/asm-sparc/mostek.h
+++ b/include/asm-sparc/mostek.h
@@ -38,8 +38,8 @@
* other than the control register are in binary coded decimal. Some
* control bits also live outside the control register.
*/
-#define mostek_read(_addr) (*((volatile u8 *)(_addr)))
-#define mostek_write(_addr,_val) ((*((volatile u8 *)(_addr))) = (_val))
+#define mostek_read(_addr) readb(_addr)
+#define mostek_write(_addr,_val) writeb(_val, _addr)
#define MOSTEK_EEPROM 0x0000UL
#define MOSTEK_IDPROM 0x07d8UL
#define MOSTEK_CREG 0x07f8UL
@@ -65,7 +65,7 @@ struct mostek48t02 {
};
extern spinlock_t mostek_lock;
-extern unsigned long mstk48t02_regs;
+extern void __iomem *mstk48t02_regs;
/* Control register values. */
#define MSTK_CREG_WRITE 0x80 /* Must set this before placing values. */
diff --git a/include/asm-sparc64/io.h b/include/asm-sparc64/io.h
index 43d00406bf54..30276548912f 100644
--- a/include/asm-sparc64/io.h
+++ b/include/asm-sparc64/io.h
@@ -114,7 +114,7 @@ extern void insl(void __iomem *addr, void *dst, unsigned long count);
#define iowrite32_rep(a,s,c) outsl(a,s,c)
/* Memory functions, same as I/O accesses on Ultra. */
-static inline u8 _readb(volatile void __iomem *addr)
+static inline u8 _readb(const volatile void __iomem *addr)
{ u8 ret;
__asm__ __volatile__("lduba\t[%1] %2, %0\t/* pci_readb */"
@@ -123,7 +123,7 @@ static inline u8 _readb(volatile void __iomem *addr)
return ret;
}
-static inline u16 _readw(volatile void __iomem *addr)
+static inline u16 _readw(const volatile void __iomem *addr)
{ u16 ret;
__asm__ __volatile__("lduha\t[%1] %2, %0\t/* pci_readw */"
@@ -133,7 +133,7 @@ static inline u16 _readw(volatile void __iomem *addr)
return ret;
}
-static inline u32 _readl(volatile void __iomem *addr)
+static inline u32 _readl(const volatile void __iomem *addr)
{ u32 ret;
__asm__ __volatile__("lduwa\t[%1] %2, %0\t/* pci_readl */"
@@ -143,7 +143,7 @@ static inline u32 _readl(volatile void __iomem *addr)
return ret;
}
-static inline u64 _readq(volatile void __iomem *addr)
+static inline u64 _readq(const volatile void __iomem *addr)
{ u64 ret;
__asm__ __volatile__("ldxa\t[%1] %2, %0\t/* pci_readq */"
@@ -284,7 +284,7 @@ static __inline__ void _raw_writeq(u64 q, unsigned long addr)
/* Now, SBUS variants, only difference from PCI is that we do
* not use little-endian ASIs.
*/
-static inline u8 _sbus_readb(void __iomem *addr)
+static inline u8 _sbus_readb(const volatile void __iomem *addr)
{
u8 ret;
@@ -295,7 +295,7 @@ static inline u8 _sbus_readb(void __iomem *addr)
return ret;
}
-static inline u16 _sbus_readw(void __iomem *addr)
+static inline u16 _sbus_readw(const volatile void __iomem *addr)
{
u16 ret;
@@ -306,7 +306,7 @@ static inline u16 _sbus_readw(void __iomem *addr)
return ret;
}
-static inline u32 _sbus_readl(void __iomem *addr)
+static inline u32 _sbus_readl(const volatile void __iomem *addr)
{
u32 ret;
@@ -317,7 +317,7 @@ static inline u32 _sbus_readl(void __iomem *addr)
return ret;
}
-static inline u64 _sbus_readq(void __iomem *addr)
+static inline u64 _sbus_readq(const volatile void __iomem *addr)
{
u64 ret;
@@ -328,28 +328,28 @@ static inline u64 _sbus_readq(void __iomem *addr)
return ret;
}
-static inline void _sbus_writeb(u8 b, void __iomem *addr)
+static inline void _sbus_writeb(u8 b, volatile void __iomem *addr)
{
__asm__ __volatile__("stba\t%r0, [%1] %2\t/* sbus_writeb */"
: /* no outputs */
: "Jr" (b), "r" (addr), "i" (ASI_PHYS_BYPASS_EC_E));
}
-static inline void _sbus_writew(u16 w, void __iomem *addr)
+static inline void _sbus_writew(u16 w, volatile void __iomem *addr)
{
__asm__ __volatile__("stha\t%r0, [%1] %2\t/* sbus_writew */"
: /* no outputs */
: "Jr" (w), "r" (addr), "i" (ASI_PHYS_BYPASS_EC_E));
}
-static inline void _sbus_writel(u32 l, void __iomem *addr)
+static inline void _sbus_writel(u32 l, volatile void __iomem *addr)
{
__asm__ __volatile__("stwa\t%r0, [%1] %2\t/* sbus_writel */"
: /* no outputs */
: "Jr" (l), "r" (addr), "i" (ASI_PHYS_BYPASS_EC_E));
}
-static inline void _sbus_writeq(u64 l, void __iomem *addr)
+static inline void _sbus_writeq(u64 l, volatile void __iomem *addr)
{
__asm__ __volatile__("stxa\t%r0, [%1] %2\t/* sbus_writeq */"
: /* no outputs */
@@ -365,35 +365,31 @@ static inline void _sbus_writeq(u64 l, void __iomem *addr)
#define sbus_writel(__l, __addr) _sbus_writel(__l, __addr)
#define sbus_writeq(__l, __addr) _sbus_writeq(__l, __addr)
-static inline void __iomem*_sbus_memset_io(void __iomem *dst, int c,
- __kernel_size_t n)
+static inline void _sbus_memset_io(volatile void __iomem *dst, int c, __kernel_size_t n)
{
while(n--) {
sbus_writeb(c, dst);
dst++;
}
- return (void *) dst;
}
#define sbus_memset_io(d,c,sz) _sbus_memset_io(d,c,sz)
-static inline void __iomem *
-_memset_io(void __iomem *dst, int c, __kernel_size_t n)
+static inline void
+_memset_io(volatile void __iomem *dst, int c, __kernel_size_t n)
{
- void __iomem *d = dst;
+ volatile void __iomem *d = dst;
while (n--) {
writeb(c, d);
d++;
}
-
- return dst;
}
#define memset_io(d,c,sz) _memset_io(d,c,sz)
-static inline void __iomem *
-_memcpy_fromio(void *dst, void __iomem *src, __kernel_size_t n)
+static inline void
+_memcpy_fromio(void *dst, const volatile void __iomem *src, __kernel_size_t n)
{
char *d = dst;
@@ -402,24 +398,21 @@ _memcpy_fromio(void *dst, void __iomem *src, __kernel_size_t n)
*d++ = tmp;
src++;
}
-
- return dst;
}
#define memcpy_fromio(d,s,sz) _memcpy_fromio(d,s,sz)
-static inline void __iomem *
-_memcpy_toio(void __iomem *dst, const void *src, __kernel_size_t n)
+static inline void
+_memcpy_toio(volatile void __iomem *dst, const void *src, __kernel_size_t n)
{
const char *s = src;
- void __iomem *d = dst;
+ volatile void __iomem *d = dst;
while (n--) {
char tmp = *s++;
writeb(tmp, d);
d++;
}
- return dst;
}
#define memcpy_toio(d,s,sz) _memcpy_toio(d,s,sz)
@@ -453,7 +446,7 @@ static inline void __iomem *ioremap(unsigned long offset, unsigned long size)
#define ioremap_nocache(X,Y) ioremap((X),(Y))
-static inline void iounmap(void __iomem *addr)
+static inline void iounmap(volatile void __iomem *addr)
{
}
diff --git a/include/asm-um/pgtable.h b/include/asm-um/pgtable.h
index d013cc3763cb..0078dcb3e227 100644
--- a/include/asm-um/pgtable.h
+++ b/include/asm-um/pgtable.h
@@ -405,11 +405,10 @@ static inline pmd_t * pmd_offset(pgd_t * dir, unsigned long address)
#define pte_offset_kernel(dir, address) \
((pte_t *) pmd_page_kernel(*(dir)) + pte_index(address))
#define pte_offset_map(dir, address) \
- ((pte_t *)kmap_atomic(pmd_page(*(dir)),KM_PTE0) + pte_index(address))
-#define pte_offset_map_nested(dir, address) \
- ((pte_t *)kmap_atomic(pmd_page(*(dir)),KM_PTE1) + pte_index(address))
-#define pte_unmap(pte) kunmap_atomic((pte), KM_PTE0)
-#define pte_unmap_nested(pte) kunmap_atomic((pte), KM_PTE1)
+ ((pte_t *)page_address(pmd_page(*(dir))) + pte_index(address))
+#define pte_offset_map_nested(dir, address) pte_offset_map(dir, address)
+#define pte_unmap(pte) do { } while (0)
+#define pte_unmap_nested(pte) do { } while (0)
#define update_mmu_cache(vma,address,pte) do ; while (0)
diff --git a/include/asm-um/unistd.h b/include/asm-um/unistd.h
index 512f2257cff5..fe6020e9a9d4 100644
--- a/include/asm-um/unistd.h
+++ b/include/asm-um/unistd.h
@@ -13,10 +13,9 @@
extern int um_execve(const char *file, char *const argv[], char *const env[]);
#ifdef __KERNEL__
+/* We get __ARCH_WANT_OLD_STAT and __ARCH_WANT_STAT64 from the base arch */
#define __ARCH_WANT_IPC_PARSE_VERSION
#define __ARCH_WANT_OLD_READDIR
-#define __ARCH_WANT_OLD_STAT
-#define __ARCH_WANT_STAT64
#define __ARCH_WANT_SYS_ALARM
#define __ARCH_WANT_SYS_GETHOSTNAME
#define __ARCH_WANT_SYS_PAUSE
@@ -84,7 +83,7 @@ static inline pid_t setsid(void)
KERNEL_CALL(pid_t, sys_setsid)
}
-static inline long lseek(unsigned int fd, off_t offset, unsigned int whence)
+static inline off_t lseek(unsigned int fd, off_t offset, unsigned int whence)
{
KERNEL_CALL(long, sys_lseek, fd, offset, whence)
}
@@ -102,13 +101,12 @@ static inline int write(unsigned int fd, char * buf, int len)
long sys_mmap2(unsigned long addr, unsigned long len,
unsigned long prot, unsigned long flags,
unsigned long fd, unsigned long pgoff);
-int sys_execve(char *file, char **argv, char **env);
+long sys_execve(char *file, char **argv, char **env);
long sys_clone(unsigned long clone_flags, unsigned long newsp,
int *parent_tid, int *child_tid);
long sys_fork(void);
long sys_vfork(void);
-int sys_pipe(unsigned long *fildes);
-int sys_ptrace(long request, long pid, long addr, long data);
+long sys_pipe(unsigned long *fildes);
struct sigaction;
asmlinkage long sys_rt_sigaction(int sig,
const struct sigaction __user *act,
diff --git a/include/asm-x86_64/hpet.h b/include/asm-x86_64/hpet.h
index 4a6a605abba5..a3877f570998 100644
--- a/include/asm-x86_64/hpet.h
+++ b/include/asm-x86_64/hpet.h
@@ -46,6 +46,7 @@
extern int is_hpet_enabled(void);
extern int hpet_rtc_timer_init(void);
+extern int oem_force_hpet_timer(void);
#ifdef CONFIG_HPET_EMULATE_RTC
extern int hpet_mask_rtc_irq_bit(unsigned long bit_mask);
@@ -54,7 +55,6 @@ extern int hpet_set_alarm_time(unsigned char hrs, unsigned char min, unsigned ch
extern int hpet_set_periodic_freq(unsigned long freq);
extern int hpet_rtc_dropped_irq(void);
extern int hpet_rtc_timer_init(void);
-extern int oem_force_hpet_timer(void);
#endif /* CONFIG_HPET_EMULATE_RTC */
#endif
diff --git a/include/asm-x86_64/hw_irq.h b/include/asm-x86_64/hw_irq.h
index 4a42816524a8..767e11abd5c5 100644
--- a/include/asm-x86_64/hw_irq.h
+++ b/include/asm-x86_64/hw_irq.h
@@ -130,7 +130,7 @@ __asm__( \
"push $" #nr "-256 ; " \
"jmp common_interrupt");
-#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_SMP)
+#if defined(CONFIG_X86_IO_APIC)
static inline void hw_resend_irq(struct hw_interrupt_type *h, unsigned int i) {
if (IO_APIC_IRQ(i))
send_IPI_self(IO_APIC_VECTOR(i));
diff --git a/include/asm-x86_64/io.h b/include/asm-x86_64/io.h
index 8965a34174bb..c4734243f814 100644
--- a/include/asm-x86_64/io.h
+++ b/include/asm-x86_64/io.h
@@ -320,38 +320,6 @@ out:
return retval;
}
-#ifndef __i386__
-/**
- * isa_check_signature - find BIOS signatures
- * @io_addr: mmio address to check
- * @signature: signature block
- * @length: length of signature
- *
- * Perform a signature comparison with the ISA mmio address io_addr.
- * Returns 1 on a match.
- *
- * This function is deprecated. New drivers should use ioremap and
- * check_signature.
- */
-
-
-static inline int isa_check_signature(unsigned long io_addr,
- const unsigned char *signature, int length)
-{
- int retval = 0;
- do {
- if (isa_readb(io_addr) != *signature)
- goto out;
- io_addr++;
- signature++;
- length--;
- } while (length);
- retval = 1;
-out:
- return retval;
-}
-#endif
-
/* Nothing to do */
#define dma_cache_inv(_start,_size) do { } while (0)
diff --git a/include/asm-x86_64/io_apic.h b/include/asm-x86_64/io_apic.h
index 288296121af1..7efc932e8f0b 100644
--- a/include/asm-x86_64/io_apic.h
+++ b/include/asm-x86_64/io_apic.h
@@ -199,7 +199,7 @@ extern int skip_ioapic_setup;
* If we use the IO-APIC for IRQ routing, disable automatic
* assignment of PCI IRQ's.
*/
-#define io_apic_assign_pci_irqs (mp_irq_entries && !skip_ioapic_setup)
+#define io_apic_assign_pci_irqs (mp_irq_entries && !skip_ioapic_setup && io_apic_irqs)
#ifdef CONFIG_ACPI_BOOT
extern int io_apic_get_unique_id (int ioapic, int apic_id);
diff --git a/include/asm-x86_64/vsyscall.h b/include/asm-x86_64/vsyscall.h
index a8461434454c..b0c8d4339906 100644
--- a/include/asm-x86_64/vsyscall.h
+++ b/include/asm-x86_64/vsyscall.h
@@ -21,7 +21,7 @@ enum vsyscall_num {
#define __section_sys_tz __attribute__ ((unused, __section__ (".sys_tz"), aligned(16)))
#define __section_sysctl_vsyscall __attribute__ ((unused, __section__ (".sysctl_vsyscall"), aligned(16)))
#define __section_xtime __attribute__ ((unused, __section__ (".xtime"), aligned(16)))
-#define __section_xtime_lock __attribute__ ((unused, __section__ (".xtime_lock"), aligned(L1_CACHE_BYTES)))
+#define __section_xtime_lock __attribute__ ((unused, __section__ (".xtime_lock"), aligned(16)))
#define VXTIME_TSC 1
#define VXTIME_HPET 2
diff --git a/include/linux/bio.h b/include/linux/bio.h
index 2585402c2b8b..cd8d47bf34b4 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -188,8 +188,15 @@ struct bio {
#define __BVEC_END(bio) bio_iovec_idx((bio), (bio)->bi_vcnt - 1)
#define __BVEC_START(bio) bio_iovec_idx((bio), (bio)->bi_idx)
+
+/*
+ * allow arch override, for eg virtualized architectures (put in asm/io.h)
+ */
+#ifndef BIOVEC_PHYS_MERGEABLE
#define BIOVEC_PHYS_MERGEABLE(vec1, vec2) \
((bvec_to_phys((vec1)) + (vec1)->bv_len) == bvec_to_phys((vec2)))
+#endif
+
#define BIOVEC_VIRT_MERGEABLE(vec1, vec2) \
((((bvec_to_phys((vec1)) + (vec1)->bv_len) | bvec_to_phys((vec2))) & (BIO_VMERGE_BOUNDARY - 1)) == 0)
#define __BIO_SEG_BOUNDARY(addr1, addr2, mask) \
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index f04b0e223d82..1b7dc44bf3c1 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -522,6 +522,7 @@ extern int blk_hw_contig_segment(request_queue_t *q, struct bio *, struct bio *)
extern int scsi_cmd_ioctl(struct file *, struct gendisk *, unsigned int, void __user *);
extern void blk_start_queue(request_queue_t *q);
extern void blk_stop_queue(request_queue_t *q);
+extern void blk_sync_queue(struct request_queue *q);
extern void __blk_stop_queue(request_queue_t *q);
extern void blk_run_queue(request_queue_t *);
extern void blk_queue_activity_fn(request_queue_t *, activity_fn *, void *);
diff --git a/include/linux/cdev.h b/include/linux/cdev.h
index f1996ec09e96..8da37e29cb87 100644
--- a/include/linux/cdev.h
+++ b/include/linux/cdev.h
@@ -17,8 +17,6 @@ struct cdev *cdev_alloc(void);
void cdev_put(struct cdev *p);
-struct kobject *cdev_get(struct cdev *);
-
int cdev_add(struct cdev *, dev_t, unsigned);
void cdev_del(struct cdev *);
diff --git a/include/linux/compat_ioctl.h b/include/linux/compat_ioctl.h
index c8c2cea10623..ab091956f248 100644
--- a/include/linux/compat_ioctl.h
+++ b/include/linux/compat_ioctl.h
@@ -140,6 +140,7 @@ COMPATIBLE_IOCTL(DM_TABLE_CLEAR_32)
COMPATIBLE_IOCTL(DM_TABLE_DEPS_32)
COMPATIBLE_IOCTL(DM_TABLE_STATUS_32)
COMPATIBLE_IOCTL(DM_LIST_VERSIONS_32)
+COMPATIBLE_IOCTL(DM_TARGET_MSG_32)
COMPATIBLE_IOCTL(DM_VERSION)
COMPATIBLE_IOCTL(DM_REMOVE_ALL)
COMPATIBLE_IOCTL(DM_LIST_DEVICES)
@@ -154,6 +155,7 @@ COMPATIBLE_IOCTL(DM_TABLE_CLEAR)
COMPATIBLE_IOCTL(DM_TABLE_DEPS)
COMPATIBLE_IOCTL(DM_TABLE_STATUS)
COMPATIBLE_IOCTL(DM_LIST_VERSIONS)
+COMPATIBLE_IOCTL(DM_TARGET_MSG)
/* Big K */
COMPATIBLE_IOCTL(PIO_FONT)
COMPATIBLE_IOCTL(GIO_FONT)
diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h
index f8543228663f..060cf3bba586 100644
--- a/include/linux/cpufreq.h
+++ b/include/linux/cpufreq.h
@@ -261,8 +261,8 @@ int cpufreq_parse_governor (char *str_governor, unsigned int *policy, struct cpu
*********************************************************************/
#ifdef CONFIG_CPU_FREQ_24_API
-int cpufreq_setmax(unsigned int cpu);
-int cpufreq_set(unsigned int kHz, unsigned int cpu);
+int __deprecated cpufreq_setmax(unsigned int cpu);
+int __deprecated cpufreq_set(unsigned int kHz, unsigned int cpu);
/* /proc/sys/cpu */
@@ -360,4 +360,23 @@ void cpufreq_frequency_table_get_attr(struct cpufreq_frequency_table *table,
void cpufreq_frequency_table_put_attr(unsigned int cpu);
+/*********************************************************************
+ * UNIFIED DEBUG HELPERS *
+ *********************************************************************/
+
+#define CPUFREQ_DEBUG_CORE 1
+#define CPUFREQ_DEBUG_DRIVER 2
+#define CPUFREQ_DEBUG_GOVERNOR 4
+
+#ifdef CONFIG_CPU_FREQ_DEBUG
+
+extern void cpufreq_debug_printk(unsigned int type, const char *prefix,
+ const char *fmt, ...);
+
+#else
+
+#define cpufreq_debug_printk(msg...) do { } while(0)
+
+#endif /* CONFIG_CPU_FREQ_DEBUG */
+
#endif /* _LINUX_CPUFREQ_H */
diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h
index 7abe54e3ee70..a6282ab22b8c 100644
--- a/include/linux/device-mapper.h
+++ b/include/linux/device-mapper.h
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2001 Sistina Software (UK) Limited.
+ * Copyright (C) 2004 Red Hat, Inc. All rights reserved.
*
* This file is released under the LGPL.
*/
@@ -57,6 +58,8 @@ typedef void (*dm_resume_fn) (struct dm_target *ti);
typedef int (*dm_status_fn) (struct dm_target *ti, status_type_t status_type,
char *result, unsigned int maxlen);
+typedef int (*dm_message_fn) (struct dm_target *ti, unsigned argc, char **argv);
+
void dm_error(const char *message);
/*
@@ -82,6 +85,7 @@ struct target_type {
dm_suspend_fn suspend;
dm_resume_fn resume;
dm_status_fn status;
+ dm_message_fn message;
};
struct io_restrictions {
diff --git a/include/linux/device.h b/include/linux/device.h
index 49a01033a304..c64cec37dd69 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -268,12 +268,7 @@ struct device {
void *platform_data; /* Platform specific data (e.g. ACPI,
BIOS data relevant to device) */
struct dev_pm_info power;
- u32 power_state; /* Current operating state. In
- ACPI-speak, this is D0-D3, D0
- being fully functional, and D3
- being off. */
- unsigned char *saved_state; /* saved device state */
u32 detach_state; /* State to enter when device is
detached from its driver. */
diff --git a/include/linux/dio.h b/include/linux/dio.h
index d42c86b9608d..fae9395fcf4f 100644
--- a/include/linux/dio.h
+++ b/include/linux/dio.h
@@ -254,7 +254,7 @@ static inline struct dio_driver *dio_dev_driver(const struct dio_dev *d)
#define dio_resource_start(d) ((d)->resource.start)
#define dio_resource_end(d) ((d)->resource.end)
-#define dio_resource_len(d) ((d)->resource.end-(z)->resource.start+1)
+#define dio_resource_len(d) ((d)->resource.end-(d)->resource.start+1)
#define dio_resource_flags(d) ((d)->resource.flags)
#define dio_request_device(d, name) \
diff --git a/include/linux/dm-ioctl.h b/include/linux/dm-ioctl.h
index 03f99db7ad7b..183e777d7786 100644
--- a/include/linux/dm-ioctl.h
+++ b/include/linux/dm-ioctl.h
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2001 - 2003 Sistina Software (UK) Limited.
+ * Copyright (C) 2004 Red Hat, Inc. All rights reserved.
*
* This file is released under the LGPL.
*/
@@ -76,6 +77,9 @@
*
* DM_TABLE_STATUS:
* Return the targets status for the 'active' table.
+ *
+ * DM_TARGET_MSG:
+ * Pass a message string to the target at a specific offset of a device.
*/
/*
@@ -179,6 +183,15 @@ struct dm_target_versions {
};
/*
+ * Used to pass message to a target
+ */
+struct dm_target_msg {
+ uint64_t sector; /* Device sector */
+
+ char message[0];
+};
+
+/*
* If you change this make sure you make the corresponding change
* to dm-ioctl.c:lookup_ioctl()
*/
@@ -204,6 +217,7 @@ enum {
/* Added later */
DM_LIST_VERSIONS_CMD,
+ DM_TARGET_MSG_CMD,
};
/*
@@ -232,6 +246,7 @@ typedef char ioctl_struct[308];
#define DM_TABLE_DEPS_32 _IOWR(DM_IOCTL, DM_TABLE_DEPS_CMD, ioctl_struct)
#define DM_TABLE_STATUS_32 _IOWR(DM_IOCTL, DM_TABLE_STATUS_CMD, ioctl_struct)
#define DM_LIST_VERSIONS_32 _IOWR(DM_IOCTL, DM_LIST_VERSIONS_CMD, ioctl_struct)
+#define DM_TARGET_MSG_32 _IOWR(DM_IOCTL, DM_TARGET_MSG_CMD, ioctl_struct)
#endif
#define DM_IOCTL 0xfd
@@ -254,10 +269,12 @@ typedef char ioctl_struct[308];
#define DM_LIST_VERSIONS _IOWR(DM_IOCTL, DM_LIST_VERSIONS_CMD, struct dm_ioctl)
+#define DM_TARGET_MSG _IOWR(DM_IOCTL, DM_TARGET_MSG_CMD, struct dm_ioctl)
+
#define DM_VERSION_MAJOR 4
-#define DM_VERSION_MINOR 1
+#define DM_VERSION_MINOR 3
#define DM_VERSION_PATCHLEVEL 0
-#define DM_VERSION_EXTRA "-ioctl (2003-12-10)"
+#define DM_VERSION_EXTRA "-ioctl (2004-09-30)"
/* Status bits */
#define DM_READONLY_FLAG (1 << 0) /* In/Out */
diff --git a/include/linux/edd.h b/include/linux/edd.h
index 242600817a8d..5f93881106fa 100644
--- a/include/linux/edd.h
+++ b/include/linux/edd.h
@@ -37,18 +37,14 @@
#define EDDEXTSIZE 8 /* change these if you muck with the structures */
#define EDDPARMSIZE 74
#define CHECKEXTENSIONSPRESENT 0x41
-#define EXTENDEDREAD 0x42
#define GETDEVICEPARAMETERS 0x48
#define LEGACYGETDEVICEPARAMETERS 0x08
#define EDDMAGIC1 0x55AA
#define EDDMAGIC2 0xAA55
-#define FIXEDDISKSUBSET 0x0001
-#define GET_DEVICE_PARAMETERS_SUPPORTED 0x0007
#define READ_SECTORS 0x02 /* int13 AH=0x02 is READ_SECTORS command */
#define EDD_MBR_SIG_OFFSET 0x1B8 /* offset of signature in the MBR */
-#define EDD_DEV_ADDR_PACKET_LEN 0x10 /* for int13 fn42 */
#define EDD_MBR_SIG_BUF 0x290 /* addr in boot params */
#define EDD_MBR_SIG_MAX 16 /* max number of signatures to store */
#define EDD_MBR_SIG_NR_BUF 0x1ea /* addr of number of MBR signtaures at EDD_MBR_SIG_BUF
diff --git a/include/linux/efi.h b/include/linux/efi.h
index 0c5c94ab1112..40c0cd72e925 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
@@ -306,7 +306,7 @@ extern int __init efi_set_rtc_mmss(unsigned long nowtime);
extern struct efi_memory_map memmap;
#ifdef CONFIG_EFI_PCDP
-extern void __init efi_setup_pcdp_console(char *);
+extern int __init efi_setup_pcdp_console(char *);
#endif
/*
diff --git a/include/linux/efs_fs.h b/include/linux/efs_fs.h
index f7c8446239ac..28f368c526fb 100644
--- a/include/linux/efs_fs.h
+++ b/include/linux/efs_fs.h
@@ -45,6 +45,7 @@ extern efs_block_t efs_map_block(struct inode *, efs_block_t);
extern int efs_get_block(struct inode *, sector_t, struct buffer_head *, int);
extern struct dentry *efs_lookup(struct inode *, struct dentry *, struct nameidata *);
+extern struct dentry *efs_get_parent(struct dentry *);
extern int efs_bmap(struct inode *, int);
#endif /* __EFS_FS_H__ */
diff --git a/include/linux/ext3_fs.h b/include/linux/ext3_fs.h
index d44abc7bd33a..5e0e52b0fc7e 100644
--- a/include/linux/ext3_fs.h
+++ b/include/linux/ext3_fs.h
@@ -722,7 +722,7 @@ extern struct ext3_group_desc * ext3_get_group_desc(struct super_block * sb,
unsigned int block_group,
struct buffer_head ** bh);
extern int ext3_should_retry_alloc(struct super_block *sb, int *retries);
-extern void rsv_window_add(struct super_block *sb, struct reserve_window_node *rsv);
+extern void ext3_rsv_window_add(struct super_block *sb, struct ext3_reserve_window_node *rsv);
/* dir.c */
extern int ext3_check_dir_entry(const char *, struct inode *,
diff --git a/include/linux/ext3_fs_i.h b/include/linux/ext3_fs_i.h
index c549633532de..328cd40c5ea4 100644
--- a/include/linux/ext3_fs_i.h
+++ b/include/linux/ext3_fs_i.h
@@ -20,17 +20,17 @@
#include <linux/rbtree.h>
#include <linux/seqlock.h>
-struct reserve_window {
+struct ext3_reserve_window {
__u32 _rsv_start; /* First byte reserved */
__u32 _rsv_end; /* Last byte reserved or 0 */
};
-struct reserve_window_node {
+struct ext3_reserve_window_node {
struct rb_node rsv_node;
atomic_t rsv_goal_size;
atomic_t rsv_alloc_hit;
seqlock_t rsv_seqlock;
- struct reserve_window rsv_window;
+ struct ext3_reserve_window rsv_window;
};
#define rsv_start rsv_window._rsv_start
@@ -76,7 +76,7 @@ struct ext3_inode_info {
*/
__u32 i_next_alloc_goal;
/* block reservation window */
- struct reserve_window_node i_rsv_window;
+ struct ext3_reserve_window_node i_rsv_window;
__u32 i_dir_start_lookup;
#ifdef CONFIG_EXT3_FS_XATTR
diff --git a/include/linux/ext3_fs_sb.h b/include/linux/ext3_fs_sb.h
index ac5fb22c5b7c..f61309c81cc4 100644
--- a/include/linux/ext3_fs_sb.h
+++ b/include/linux/ext3_fs_sb.h
@@ -62,7 +62,7 @@ struct ext3_sb_info {
/* root of the per fs reservation window tree */
spinlock_t s_rsv_window_lock;
struct rb_root s_rsv_window_root;
- struct reserve_window_node s_rsv_window_head;
+ struct ext3_reserve_window_node s_rsv_window_head;
/* Journaling */
struct inode * s_journal_inode;
diff --git a/include/linux/fb.h b/include/linux/fb.h
index d8f4789dce45..c1bb3123bab3 100644
--- a/include/linux/fb.h
+++ b/include/linux/fb.h
@@ -258,6 +258,24 @@ struct fb_con2fbmap {
#define VESA_HSYNC_SUSPEND 2
#define VESA_POWERDOWN 3
+
+enum {
+ /* screen: unblanked, hsync: on, vsync: on */
+ FB_BLANK_UNBLANK = VESA_NO_BLANKING,
+
+ /* screen: blanked, hsync: on, vsync: on */
+ FB_BLANK_NORMAL = VESA_NO_BLANKING + 1,
+
+ /* screen: blanked, hsync: on, vsync: off */
+ FB_BLANK_VSYNC_SUSPEND = VESA_VSYNC_SUSPEND + 1,
+
+ /* screen: blanked, hsync: off, vsync: on */
+ FB_BLANK_HSYNC_SUSPEND = VESA_HSYNC_SUSPEND + 1,
+
+ /* screen: blanked, hsync: off, vsync: off */
+ FB_BLANK_POWERDOWN = VESA_POWERDOWN + 1
+};
+
#define FB_VBLANK_VBLANKING 0x001 /* currently in a vertical blank */
#define FB_VBLANK_HBLANKING 0x002 /* currently in a horizontal blank */
#define FB_VBLANK_HAVE_VBLANK 0x004 /* vertical blanks can be detected */
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index bd2735bdca6b..3000c102171e 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -88,20 +88,12 @@ extern s32 i2c_smbus_write_byte_data(struct i2c_client * client,
extern s32 i2c_smbus_read_word_data(struct i2c_client * client, u8 command);
extern s32 i2c_smbus_write_word_data(struct i2c_client * client,
u8 command, u16 value);
-extern s32 i2c_smbus_process_call(struct i2c_client * client,
- u8 command, u16 value);
-/* Returns the number of read bytes */
-extern s32 i2c_smbus_read_block_data(struct i2c_client * client,
- u8 command, u8 *values);
+/* Returns the number of bytes transferred */
extern s32 i2c_smbus_write_block_data(struct i2c_client * client,
- u8 command, u8 length,
- u8 *values);
+ u8 command, u8 length,
+ u8 *values);
extern s32 i2c_smbus_read_i2c_block_data(struct i2c_client * client,
- u8 command, u8 *values);
-extern s32 i2c_smbus_write_i2c_block_data(struct i2c_client * client,
- u8 command, u8 length,
- u8 *values);
-
+ u8 command, u8 *values);
/*
* A driver is capable of handling one or more physical devices present on
diff --git a/include/linux/i2o.h b/include/linux/i2o.h
index f571709b0443..777a80f9f4a3 100644
--- a/include/linux/i2o.h
+++ b/include/linux/i2o.h
@@ -162,9 +162,9 @@ struct i2o_controller {
struct notifier_block *event_notifer; /* Events */
atomic_t users;
struct list_head list; /* Controller list */
- void *post_port; /* Inbout port address */
- void *reply_port; /* Outbound port address */
- void *irq_mask; /* Interrupt register address */
+ void __iomem *post_port; /* Inbout port address */
+ void __iomem *reply_port; /* Outbound port address */
+ void __iomem *irq_mask; /* Interrupt register address */
/* Dynamic LCT related data */
@@ -241,8 +241,8 @@ struct i2o_sys_tbl {
extern struct list_head i2o_controllers;
/* Message functions */
-static inline u32 i2o_msg_get(struct i2o_controller *, struct i2o_message **);
-extern u32 i2o_msg_get_wait(struct i2o_controller *, struct i2o_message **,
+static inline u32 i2o_msg_get(struct i2o_controller *, struct i2o_message __iomem **);
+extern u32 i2o_msg_get_wait(struct i2o_controller *, struct i2o_message __iomem **,
int);
static inline void i2o_msg_post(struct i2o_controller *, u32);
static inline int i2o_msg_post_wait(struct i2o_controller *, u32,
@@ -263,7 +263,6 @@ static inline void i2o_dma_unmap(struct device *, struct i2o_dma *);
/* IOP functions */
extern int i2o_status_get(struct i2o_controller *);
-extern int i2o_hrt_get(struct i2o_controller *);
extern int i2o_event_register(struct i2o_device *, struct i2o_driver *, int,
u32);
@@ -385,7 +384,6 @@ extern int i2o_device_claim_release(struct i2o_device *);
/* Exec OSM functions */
extern int i2o_exec_lct_get(struct i2o_controller *);
-extern int i2o_exec_lct_notify(struct i2o_controller *, u32);
/* device to i2o_device and driver to i2o_driver convertion functions */
#define to_i2o_driver(drv) container_of(drv,struct i2o_driver, driver)
@@ -445,7 +443,7 @@ static inline void I2O_IRQ_WRITE32(struct i2o_controller *c, u32 val)
* available returns I2O_QUEUE_EMPTY and msg is leaved untouched.
*/
static inline u32 i2o_msg_get(struct i2o_controller *c,
- struct i2o_message **msg)
+ struct i2o_message __iomem **msg)
{
u32 m;
@@ -515,10 +513,8 @@ static inline void i2o_flush_reply(struct i2o_controller *c, u32 m)
static inline struct i2o_message *i2o_msg_out_to_virt(struct i2o_controller *c,
u32 m)
{
- if (unlikely
- (m < c->out_queue.phys
- || m >= c->out_queue.phys + c->out_queue.len))
- BUG();
+ BUG_ON(m < c->out_queue.phys
+ || m >= c->out_queue.phys + c->out_queue.len);
return c->out_queue.virt + (m - c->out_queue.phys);
};
@@ -534,7 +530,7 @@ static inline struct i2o_message *i2o_msg_out_to_virt(struct i2o_controller *c,
* work for receive side messages as they are kmalloc objects
* in a different pool.
*/
-static inline struct i2o_message *i2o_msg_in_to_virt(struct i2o_controller *c,
+static inline struct i2o_message __iomem *i2o_msg_in_to_virt(struct i2o_controller *c,
u32 m)
{
return c->in_queue.virt + m;
@@ -633,7 +629,6 @@ static inline void i2o_dma_unmap(struct device *dev, struct i2o_dma *addr)
#define i2o_raw_writel(val, mem) __raw_writel(cpu_to_le32(val), mem)
extern int i2o_parm_field_get(struct i2o_device *, int, int, void *, int);
-extern int i2o_parm_field_set(struct i2o_device *, int, int, void *, int);
extern int i2o_parm_table_get(struct i2o_device *, int, int, int, void *, int,
void *, int);
/* FIXME: remove
diff --git a/include/linux/ioport.h b/include/linux/ioport.h
index 363aef7268c6..62d042099e89 100644
--- a/include/linux/ioport.h
+++ b/include/linux/ioport.h
@@ -82,6 +82,11 @@ struct resource_list {
#define IORESOURCE_MEM_SHADOWABLE (1<<5) /* dup: IORESOURCE_SHADOWABLE */
#define IORESOURCE_MEM_EXPANSIONROM (1<<6)
+/* PCI ROM control bits (IORESOURCE_BITS) */
+#define IORESOURCE_ROM_ENABLE (1<<0) /* ROM is enabled, same as PCI_ROM_ADDRESS_ENABLE */
+#define IORESOURCE_ROM_SHADOW (1<<1) /* ROM is copy at C000:0 */
+#define IORESOURCE_ROM_COPY (1<<2) /* ROM is alloc'd copy, resource field overlaid */
+
/* PC/ISA/whatever - the normal PC address spaces: IO and memory */
extern struct resource ioport_resource;
extern struct resource iomem_resource;
diff --git a/include/linux/jffs2_fs_i.h b/include/linux/jffs2_fs_i.h
index 14743de6cf59..6dbb1cce6646 100644
--- a/include/linux/jffs2_fs_i.h
+++ b/include/linux/jffs2_fs_i.h
@@ -1,10 +1,11 @@
-/* $Id: jffs2_fs_i.h,v 1.16 2003/01/09 14:03:21 dwmw2 Exp $ */
+/* $Id: jffs2_fs_i.h,v 1.17 2004/11/11 23:51:27 dwmw2 Exp $ */
#ifndef _JFFS2_FS_I
#define _JFFS2_FS_I
#include <linux/version.h>
#include <linux/rbtree.h>
+#include <asm/semaphore.h>
struct jffs2_inode_info {
/* We need an internal semaphore similar to inode->i_sem.
diff --git a/include/linux/kobject_uevent.h b/include/linux/kobject_uevent.h
index 91405f7300a1..aa664fe7e561 100644
--- a/include/linux/kobject_uevent.h
+++ b/include/linux/kobject_uevent.h
@@ -28,6 +28,7 @@ enum kobject_action {
KOBJ_MOUNT = (__force kobject_action_t) 0x04, /* mount event for block devices */
KOBJ_UMOUNT = (__force kobject_action_t) 0x05, /* umount event for block devices */
KOBJ_OFFLINE = (__force kobject_action_t) 0x06, /* offline event for hotplug devices */
+ KOBJ_ONLINE = (__force kobject_action_t) 0x07, /* online event for hotplug devices */
};
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 79145d1a807a..605e0a728c0e 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -25,6 +25,7 @@
#include <linux/delay.h>
#include <linux/interrupt.h>
+#include <linux/pci.h>
#include <asm/io.h>
#include <linux/ata.h>
#include <linux/workqueue.h>
@@ -68,6 +69,12 @@
/* defines only for the constants which don't work well as enums */
#define ATA_TAG_POISON 0xfafbfcfdU
+/* move to PCI layer? */
+static inline struct device *pci_dev_to_dev(struct pci_dev *pdev)
+{
+ return &pdev->dev;
+}
+
enum {
/* various global constants */
LIBATA_MAX_PRD = ATA_MAX_PRD / 2,
@@ -184,7 +191,7 @@ struct ata_ioports {
struct ata_probe_ent {
struct list_head node;
- struct pci_dev *pdev;
+ struct device *dev;
struct ata_port_operations *port_ops;
Scsi_Host_Template *sht;
struct ata_ioports port[ATA_MAX_PORTS];
@@ -203,7 +210,7 @@ struct ata_probe_ent {
struct ata_host_set {
spinlock_t lock;
- struct pci_dev *pdev;
+ struct device *dev;
unsigned long irq;
void __iomem *mmio_base;
unsigned int n_ports;
@@ -226,7 +233,7 @@ struct ata_queued_cmd {
unsigned int tag;
unsigned int n_elem;
- int pci_dma_dir;
+ int dma_dir;
unsigned int nsect;
unsigned int cursect;
@@ -361,12 +368,6 @@ struct ata_port_info {
struct ata_port_operations *port_ops;
};
-struct pci_bits {
- unsigned int reg; /* PCI config register to read */
- unsigned int width; /* 1 (8 bit), 2 (16 bit), 4 (32 bit) */
- unsigned long mask;
- unsigned long val;
-};
extern void ata_port_probe(struct ata_port *);
extern void __sata_phy_reset(struct ata_port *ap);
@@ -374,9 +375,11 @@ extern void sata_phy_reset(struct ata_port *ap);
extern void ata_bus_reset(struct ata_port *ap);
extern void ata_port_disable(struct ata_port *);
extern void ata_std_ports(struct ata_ioports *ioaddr);
+#ifdef CONFIG_PCI
extern int ata_pci_init_one (struct pci_dev *pdev, struct ata_port_info **port_info,
unsigned int n_ports);
extern void ata_pci_remove_one (struct pci_dev *pdev);
+#endif /* CONFIG_PCI */
extern int ata_device_add(struct ata_probe_ent *ent);
extern int ata_scsi_detect(Scsi_Host_Template *sht);
extern int ata_scsi_ioctl(struct scsi_device *dev, int cmd, void __user *arg);
@@ -398,10 +401,6 @@ extern void ata_exec_command(struct ata_port *ap, struct ata_taskfile *tf);
extern int ata_port_start (struct ata_port *ap);
extern void ata_port_stop (struct ata_port *ap);
extern irqreturn_t ata_interrupt (int irq, void *dev_instance, struct pt_regs *regs);
-extern struct ata_probe_ent *
-ata_pci_init_native_mode(struct pci_dev *pdev, struct ata_port_info **port);
-extern struct ata_probe_ent *
-ata_pci_init_legacy_mode(struct pci_dev *pdev, struct ata_port_info **port);
extern void ata_qc_prep(struct ata_queued_cmd *qc);
extern int ata_qc_issue_prot(struct ata_queued_cmd *qc);
extern void ata_sg_init_one(struct ata_queued_cmd *qc, void *buf,
@@ -414,7 +413,6 @@ extern void ata_dev_id_string(u16 *id, unsigned char *s,
extern void ata_bmdma_setup (struct ata_queued_cmd *qc);
extern void ata_bmdma_start (struct ata_queued_cmd *qc);
extern void ata_bmdma_irq_clear(struct ata_port *ap);
-extern int pci_test_config_bits(struct pci_dev *pdev, struct pci_bits *bits);
extern void ata_qc_complete(struct ata_queued_cmd *qc, u8 drv_stat);
extern void ata_eng_timeout(struct ata_port *ap);
extern void ata_scsi_simulate(u16 *id, struct scsi_cmnd *cmd,
@@ -424,6 +422,24 @@ extern int ata_std_bios_param(struct scsi_device *sdev,
sector_t capacity, int geom[]);
extern int ata_scsi_slave_config(struct scsi_device *sdev);
+
+#ifdef CONFIG_PCI
+struct pci_bits {
+ unsigned int reg; /* PCI config register to read */
+ unsigned int width; /* 1 (8 bit), 2 (16 bit), 4 (32 bit) */
+ unsigned long mask;
+ unsigned long val;
+};
+
+extern struct ata_probe_ent *
+ata_pci_init_native_mode(struct pci_dev *pdev, struct ata_port_info **port);
+extern struct ata_probe_ent *
+ata_pci_init_legacy_mode(struct pci_dev *pdev, struct ata_port_info **port);
+extern int pci_test_config_bits(struct pci_dev *pdev, struct pci_bits *bits);
+
+#endif /* CONFIG_PCI */
+
+
static inline unsigned int ata_tag_valid(unsigned int tag)
{
return (tag < ATA_MAX_QUEUE) ? 1 : 0;
diff --git a/include/linux/mc146818rtc.h b/include/linux/mc146818rtc.h
index cde7dbae375e..bbc93ae217e1 100644
--- a/include/linux/mc146818rtc.h
+++ b/include/linux/mc146818rtc.h
@@ -13,10 +13,12 @@
#include <asm/io.h>
#include <linux/rtc.h> /* get the user-level API */
-#include <linux/spinlock.h> /* spinlock_t */
#include <asm/mc146818rtc.h> /* register access macros */
+#ifdef __KERNEL__
+#include <linux/spinlock.h> /* spinlock_t */
extern spinlock_t rtc_lock; /* serialize CMOS RAM access */
+#endif
/**********************************************************************
* register summary
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 49a1aee2119e..ad76b8d51800 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -41,7 +41,7 @@ extern int sysctl_legacy_va_layout;
#define MM_VM_SIZE(mm) TASK_SIZE
#endif
-#define nth_page(page,n) pfn_to_page(page_to_pfn((page)) + n)
+#define nth_page(page,n) pfn_to_page(page_to_pfn((page)) + (n))
/*
* Linux kernel virtual memory manager primitives.
@@ -675,7 +675,7 @@ extern struct vm_area_struct *vma_merge(struct mm_struct *,
extern struct anon_vma *find_mergeable_anon_vma(struct vm_area_struct *);
extern int split_vma(struct mm_struct *,
struct vm_area_struct *, unsigned long addr, int new_below);
-extern void insert_vm_struct(struct mm_struct *, struct vm_area_struct *);
+extern int insert_vm_struct(struct mm_struct *, struct vm_area_struct *);
extern void __vma_link_rb(struct mm_struct *, struct vm_area_struct *,
struct rb_node **, struct rb_node *);
extern struct vm_area_struct *copy_vma(struct vm_area_struct **,
diff --git a/include/linux/module.h b/include/linux/module.h
index 59aebb15be2a..c8dd7b8495c6 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -559,7 +559,7 @@ struct obsolete_modparm {
void *addr;
};
-static inline void __deprecated MODULE_PARM_(void) { }
+static inline void MODULE_PARM_(void) { }
#ifdef MODULE
/* DEPRECATED: Do not use. */
#define MODULE_PARM(var,type) \
diff --git a/include/linux/mount.h b/include/linux/mount.h
index 42e2c9460088..8b8d3b9beefd 100644
--- a/include/linux/mount.h
+++ b/include/linux/mount.h
@@ -13,6 +13,8 @@
#ifdef __KERNEL__
#include <linux/list.h>
+#include <linux/spinlock.h>
+#include <asm/atomic.h>
#define MNT_NOSUID 1
#define MNT_NODEV 2
diff --git a/include/linux/mtd/cfi.h b/include/linux/mtd/cfi.h
index 284f24851f1d..ba4b0d649661 100644
--- a/include/linux/mtd/cfi.h
+++ b/include/linux/mtd/cfi.h
@@ -1,7 +1,7 @@
/* Common Flash Interface structures
* See http://support.intel.com/design/flash/technote/index.htm
- * $Id: cfi.h,v 1.48 2004/10/20 23:08:05 dwmw2 Exp $
+ * $Id: cfi.h,v 1.49 2004/11/15 20:56:32 nico Exp $
*/
#ifndef __MTD_CFI_H__
@@ -145,6 +145,24 @@ struct cfi_pri_intelext {
uint16_t ProtRegAddr;
uint8_t FactProtRegSize;
uint8_t UserProtRegSize;
+ uint8_t extra[0];
+} __attribute__((packed));
+
+struct cfi_intelext_blockinfo {
+ uint16_t NumIdentBlocks;
+ uint16_t BlockSize;
+ uint16_t MinBlockEraseCycles;
+ uint8_t BitsPerCell;
+ uint8_t BlockCap;
+} __attribute__((packed));
+
+struct cfi_intelext_regioninfo {
+ uint16_t NumIdentPartitions;
+ uint8_t NumOpAllowed;
+ uint8_t NumOpAllowedSimProgMode;
+ uint8_t NumOpAllowedSimEraMode;
+ uint8_t NumBlockTypes;
+ struct cfi_intelext_blockinfo BlockTypes[1];
} __attribute__((packed));
/* Vendor-Specific PRI for AMD/Fujitsu Extended Command Set (0x0002) */
diff --git a/include/linux/mtd/partitions.h b/include/linux/mtd/partitions.h
index 100ea79de16d..50b2edfc8f11 100644
--- a/include/linux/mtd/partitions.h
+++ b/include/linux/mtd/partitions.h
@@ -5,7 +5,7 @@
*
* This code is GPL
*
- * $Id: partitions.h,v 1.15 2003/07/09 11:15:43 dwmw2 Exp $
+ * $Id: partitions.h,v 1.16 2004/11/16 18:34:40 dwmw2 Exp $
*/
#ifndef MTD_PARTITIONS_H
@@ -64,7 +64,6 @@ struct mtd_part_parser {
int (*parse_fn)(struct mtd_info *, struct mtd_partition **, unsigned long);
};
-extern struct mtd_part_parser *get_partition_parser(const char *name);
extern int register_mtd_parser(struct mtd_part_parser *parser);
extern int deregister_mtd_parser(struct mtd_part_parser *parser);
extern int parse_mtd_partitions(struct mtd_info *master, const char **types,
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index d2b2c8025dcd..871bcbdf2abd 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -526,20 +526,13 @@ extern int netdev_boot_setup_add(char *name, struct ifmap *map);
extern int netdev_boot_setup_check(struct net_device *dev);
extern unsigned long netdev_boot_base(const char *prefix, int unit);
extern struct net_device *dev_getbyhwaddr(unsigned short type, char *hwaddr);
-extern struct net_device *__dev_getfirstbyhwtype(unsigned short type);
extern struct net_device *dev_getfirstbyhwtype(unsigned short type);
extern void dev_add_pack(struct packet_type *pt);
extern void dev_remove_pack(struct packet_type *pt);
extern void __dev_remove_pack(struct packet_type *pt);
-extern int __dev_get(const char *name);
-static inline int __deprecated dev_get(const char *name)
-{
- return __dev_get(name);
-}
+
extern struct net_device *dev_get_by_flags(unsigned short flags,
unsigned short mask);
-extern struct net_device *__dev_get_by_flags(unsigned short flags,
- unsigned short mask);
extern struct net_device *dev_get_by_name(const char *name);
extern struct net_device *__dev_get_by_name(const char *name);
extern int dev_alloc_name(struct net_device *dev, const char *name);
@@ -553,7 +546,6 @@ extern void synchronize_net(void);
extern int register_netdevice_notifier(struct notifier_block *nb);
extern int unregister_netdevice_notifier(struct notifier_block *nb);
extern int call_netdevice_notifiers(unsigned long val, void *v);
-extern int dev_new_index(void);
extern struct net_device *dev_get_by_index(int ifindex);
extern struct net_device *__dev_get_by_index(int ifindex);
extern int dev_restart(struct net_device *dev);
@@ -910,10 +902,7 @@ static inline void netif_tx_disable(struct net_device *dev)
/* These functions live elsewhere (drivers/net/net_init.c, but related) */
extern void ether_setup(struct net_device *dev);
-extern void fddi_setup(struct net_device *dev);
-extern void tr_setup(struct net_device *dev);
-extern void fc_setup(struct net_device *dev);
-extern void fc_freedev(struct net_device *dev);
+
/* Support for loadable net-drivers */
extern struct net_device *alloc_netdev(int sizeof_priv, const char *name,
void (*setup)(struct net_device *));
@@ -936,6 +925,9 @@ extern unsigned long netdev_fc_xoff;
extern atomic_t netdev_dropping;
extern int netdev_set_master(struct net_device *dev, struct net_device *master);
extern int skb_checksum_help(struct sk_buff *skb, int inward);
+/* rx skb timestamps */
+extern void net_enable_timestamp(void);
+extern void net_disable_timestamp(void);
#ifdef CONFIG_SYSCTL
extern char *net_sysctl_strdup(const char *s);
diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h
index ced66929126c..b0ee19e302de 100644
--- a/include/linux/netfilter.h
+++ b/include/linux/netfilter.h
@@ -173,6 +173,7 @@ extern void nf_reinject(struct sk_buff *skb,
unsigned int verdict);
extern void (*ip_ct_attach)(struct sk_buff *, struct sk_buff *);
+extern void nf_ct_attach(struct sk_buff *, struct sk_buff *);
#ifdef CONFIG_NETFILTER_DEBUG
extern void nf_dump_skb(int pf, struct sk_buff *skb);
@@ -183,6 +184,7 @@ extern void nf_invalidate_cache(int pf);
#else /* !CONFIG_NETFILTER */
#define NF_HOOK(pf, hook, skb, indev, outdev, okfn) (okfn)(skb)
+static inline void nf_ct_attach(struct sk_buff *new, struct sk_buff *skb) {}
#endif /*CONFIG_NETFILTER*/
#endif /*__KERNEL__*/
diff --git a/include/linux/netfilter_ipv4/ip_nat_protocol.h b/include/linux/netfilter_ipv4/ip_nat_protocol.h
index e81795806ee3..f343239cd4ea 100644
--- a/include/linux/netfilter_ipv4/ip_nat_protocol.h
+++ b/include/linux/netfilter_ipv4/ip_nat_protocol.h
@@ -18,7 +18,7 @@ struct ip_nat_protocol
/* Do a packet translation according to the ip_nat_proto_manip
* and manip type. Return true if succeeded. */
int (*manip_pkt)(struct sk_buff **pskb,
- unsigned int hdroff,
+ unsigned int iphdroff,
const struct ip_conntrack_manip *manip,
enum ip_nat_manip_type maniptype);
diff --git a/include/linux/pci-acpi.h b/include/linux/pci-acpi.h
new file mode 100644
index 000000000000..857126a36ecc
--- /dev/null
+++ b/include/linux/pci-acpi.h
@@ -0,0 +1,61 @@
+/*
+ * File pci-acpi.h
+ *
+ * Copyright (C) 2004 Intel
+ * Copyright (C) Tom Long Nguyen (tom.l.nguyen@intel.com)
+ */
+
+#ifndef _PCI_ACPI_H_
+#define _PCI_ACPI_H_
+
+#define OSC_QUERY_TYPE 0
+#define OSC_SUPPORT_TYPE 1
+#define OSC_CONTROL_TYPE 2
+#define OSC_SUPPORT_MASKS 0x1f
+
+/*
+ * _OSC DW0 Definition
+ */
+#define OSC_QUERY_ENABLE 1
+#define OSC_REQUEST_ERROR 2
+#define OSC_INVALID_UUID_ERROR 4
+#define OSC_INVALID_REVISION_ERROR 8
+#define OSC_CAPABILITIES_MASK_ERROR 16
+
+/*
+ * _OSC DW1 Definition (OS Support Fields)
+ */
+#define OSC_EXT_PCI_CONFIG_SUPPORT 1
+#define OSC_ACTIVE_STATE_PWR_SUPPORT 2
+#define OSC_CLOCK_PWR_CAPABILITY_SUPPORT 4
+#define OSC_PCI_SEGMENT_GROUPS_SUPPORT 8
+#define OSC_MSI_SUPPORT 16
+
+/*
+ * _OSC DW1 Definition (OS Control Fields)
+ */
+#define OSC_PCI_EXPRESS_NATIVE_HP_CONTROL 1
+#define OSC_SHPC_NATIVE_HP_CONTROL 2
+#define OSC_PCI_EXPRESS_PME_CONTROL 4
+#define OSC_PCI_EXPRESS_AER_CONTROL 8
+#define OSC_PCI_EXPRESS_CAP_STRUCTURE_CONTROL 16
+
+#define OSC_CONTROL_MASKS (OSC_PCI_EXPRESS_NATIVE_HP_CONTROL | \
+ OSC_SHPC_NATIVE_HP_CONTROL | \
+ OSC_PCI_EXPRESS_PME_CONTROL | \
+ OSC_PCI_EXPRESS_AER_CONTROL | \
+ OSC_PCI_EXPRESS_CAP_STRUCTURE_CONTROL)
+
+#ifdef CONFIG_ACPI
+extern acpi_status pci_osc_control_set(u32 flags);
+extern acpi_status pci_osc_support_set(u32 flags);
+#else
+#if !defined(acpi_status)
+typedef u32 acpi_status;
+#define AE_ERROR (acpi_status) (0x0001)
+#endif
+static inline acpi_status pci_osc_control_set(u32 flags) {return AE_ERROR;}
+static inline acpi_status pci_osc_support_set(u32 flags) {return AE_ERROR;}
+#endif
+
+#endif /* _PCI_ACPI_H_ */
diff --git a/include/linux/pci.h b/include/linux/pci.h
index e7fa282ddede..6e0973f334b1 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -537,6 +537,8 @@ struct pci_dev {
unsigned int is_busmaster:1; /* device is busmaster */
u32 saved_config_space[16]; /* config space saved at suspend time */
+ struct bin_attribute *rom_attr; /* attribute descriptor for sysfs ROM entry */
+ int rom_attr_enabled; /* has display of the rom attribute been enabled? */
#ifdef CONFIG_PCI_NAMES
#define PCI_NAME_SIZE 96
#define PCI_NAME_HALF __stringify(43) /* less than half to handle slop */
@@ -713,6 +715,7 @@ static inline struct pci_bus *pci_scan_bus(int bus, struct pci_ops *ops, void *s
int pci_scan_slot(struct pci_bus *bus, int devfn);
struct pci_dev * pci_scan_single_device(struct pci_bus *bus, int devfn);
unsigned int pci_scan_child_bus(struct pci_bus *bus);
+void pci_bus_add_device(struct pci_dev *dev);
void pci_bus_add_devices(struct pci_bus *bus);
void pci_name_device(struct pci_dev *dev);
char *pci_class_name(u32 class);
@@ -785,6 +788,12 @@ int pci_dac_set_dma_mask(struct pci_dev *dev, u64 mask);
int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask);
int pci_assign_resource(struct pci_dev *dev, int i);
+/* ROM control related routines */
+void __iomem *pci_map_rom(struct pci_dev *pdev, size_t *size);
+void __iomem *pci_map_rom_copy(struct pci_dev *pdev, size_t *size);
+void pci_unmap_rom(struct pci_dev *pdev, void __iomem *rom);
+void pci_remove_rom(struct pci_dev *pdev);
+
/* Power management related routines */
int pci_save_state(struct pci_dev *dev);
int pci_restore_state(struct pci_dev *dev);
@@ -989,31 +998,33 @@ static inline char *pci_name(struct pci_dev *pdev)
*/
struct pci_fixup {
- u16 vendor, device; /* You can use PCI_ANY_ID here of course */
+ u16 vendor, device; /* You can use PCI_ANY_ID here of course */
void (*hook)(struct pci_dev *dev);
};
enum pci_fixup_pass {
- pci_fixup_header, /* Called immediately after reading configuration header */
+ pci_fixup_early, /* Before probing BARs */
+ pci_fixup_header, /* After reading configuration header */
pci_fixup_final, /* Final phase of device fixups */
pci_fixup_enable, /* pci_enable_device() time */
};
/* Anonymous variables would be nice... */
-#define DECLARE_PCI_FIXUP_HEADER(vendor, device, hook) \
- static struct pci_fixup __pci_fixup_##vendor##device##hook __attribute_used__ \
- __attribute__((__section__(".pci_fixup_header"))) = { \
- vendor, device, hook };
-
-#define DECLARE_PCI_FIXUP_FINAL(vendor, device, hook) \
- static struct pci_fixup __pci_fixup_##vendor##device##hook __attribute_used__ \
- __attribute__((__section__(".pci_fixup_final"))) = { \
- vendor, device, hook };
-
-#define DECLARE_PCI_FIXUP_ENABLE(vendor, device, hook) \
- static struct pci_fixup __pci_fixup_##vendor##device##hook __attribute_used__ \
- __attribute__((__section__(".pci_fixup_enable"))) = { \
- vendor, device, hook };
+#define DECLARE_PCI_FIXUP_SECTION(section, name, vendor, device, hook) \
+ static struct pci_fixup __pci_fixup_##name __attribute_used__ \
+ __attribute__((__section__(#section))) = { vendor, device, hook };
+#define DECLARE_PCI_FIXUP_EARLY(vendor, device, hook) \
+ DECLARE_PCI_FIXUP_SECTION(.pci_fixup_early, \
+ vendor##device##hook, vendor, device, hook)
+#define DECLARE_PCI_FIXUP_HEADER(vendor, device, hook) \
+ DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \
+ vendor##device##hook, vendor, device, hook)
+#define DECLARE_PCI_FIXUP_FINAL(vendor, device, hook) \
+ DECLARE_PCI_FIXUP_SECTION(.pci_fixup_final, \
+ vendor##device##hook, vendor, device, hook)
+#define DECLARE_PCI_FIXUP_ENABLE(vendor, device, hook) \
+ DECLARE_PCI_FIXUP_SECTION(.pci_fixup_enable, \
+ vendor##device##hook, vendor, device, hook)
void pci_fixup_device(enum pci_fixup_pass pass, struct pci_dev *dev);
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index 35bb32b752bb..5cfcf8941445 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -523,6 +523,7 @@
#define PCI_VENDOR_ID_DELL 0x1028
#define PCI_DEVICE_ID_DELL_RACIII 0x0008
+#define PCI_DEVICE_ID_DELL_RAC4 0x0012
#define PCI_VENDOR_ID_MATROX 0x102B
#define PCI_DEVICE_ID_MATROX_MGA_2 0x0518
@@ -1082,6 +1083,7 @@
#define PCI_DEVICE_ID_NVIDIA_NVENET_8 0x0056
#define PCI_DEVICE_ID_NVIDIA_NVENET_9 0x0057
#define PCI_DEVICE_ID_NVIDIA_CK804_AUDIO 0x0059
+#define PCI_DEVICE_ID_NVIDIA_NFORCE2_SMBUS 0x0064
#define PCI_DEVICE_ID_NVIDIA_NFORCE2_IDE 0x0065
#define PCI_DEVICE_ID_NVIDIA_NVENET_2 0x0066
#define PCI_DEVICE_ID_NVIDIA_MCP2_AUDIO 0x006a
@@ -1093,6 +1095,7 @@
#define PCI_DEVICE_ID_NVIDIA_NFORCE3 0x00d1
#define PCI_DEVICE_ID_NVIDIA_MCP3_AUDIO 0x00da
#define PCI_DEVICE_ID_NVIDIA_NFORCE3S 0x00e1
+#define PCI_DEVICE_ID_NVIDIA_NFORCE3_SMBUS 0x00d4
#define PCI_DEVICE_ID_NVIDIA_NFORCE3_IDE 0x00d5
#define PCI_DEVICE_ID_NVIDIA_NVENET_3 0x00d6
#define PCI_DEVICE_ID_NVIDIA_MCP3_AUDIO 0x00da
@@ -1140,6 +1143,7 @@
#define PCI_DEVICE_ID_NVIDIA_QUADRO4_900XGL 0x0258
#define PCI_DEVICE_ID_NVIDIA_QUADRO4_750XGL 0x0259
#define PCI_DEVICE_ID_NVIDIA_QUADRO4_700XGL 0x025B
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5200 0x0329
#define PCI_VENDOR_ID_IMS 0x10e0
#define PCI_DEVICE_ID_IMS_8849 0x8849
@@ -1918,11 +1922,15 @@
#define PCI_DEVICE_ID_TIGON3_5704S 0x16a8
#define PCI_DEVICE_ID_TIGON3_5702A3 0x16c6
#define PCI_DEVICE_ID_TIGON3_5703A3 0x16c7
+#define PCI_DEVICE_ID_TIGON3_5781 0x16dd
+#define PCI_DEVICE_ID_TIGON3_5753 0x16f7
+#define PCI_DEVICE_ID_TIGON3_5753M 0x16fd
+#define PCI_DEVICE_ID_TIGON3_5753F 0x16fe
#define PCI_DEVICE_ID_TIGON3_5901 0x170d
+#define PCI_DEVICE_ID_BCM4401B1 0x170c
#define PCI_DEVICE_ID_TIGON3_5901_2 0x170e
#define PCI_DEVICE_ID_BCM4401 0x4401
#define PCI_DEVICE_ID_BCM4401B0 0x4402
-#define PCI_DEVICE_ID_BCM4401B1 0x170c
#define PCI_VENDOR_ID_ENE 0x1524
#define PCI_DEVICE_ID_ENE_1211 0x1211
@@ -2206,8 +2214,14 @@
#define PCI_DEVICE_ID_INTEL_82830_CGC 0x3577
#define PCI_DEVICE_ID_INTEL_82855GM_HB 0x3580
#define PCI_DEVICE_ID_INTEL_82855GM_IG 0x3582
-#define PCI_DEVICE_ID_INTEL_SMCH 0x3590
+#define PCI_DEVICE_ID_INTEL_E7520_MCH 0x3590
#define PCI_DEVICE_ID_INTEL_E7320_MCH 0x3592
+#define PCI_DEVICE_ID_INTEL_MCH_PA 0x3595
+#define PCI_DEVICE_ID_INTEL_MCH_PA1 0x3596
+#define PCI_DEVICE_ID_INTEL_MCH_PB 0x3597
+#define PCI_DEVICE_ID_INTEL_MCH_PB1 0x3598
+#define PCI_DEVICE_ID_INTEL_MCH_PC 0x3599
+#define PCI_DEVICE_ID_INTEL_MCH_PC1 0x359a
#define PCI_DEVICE_ID_INTEL_E7525_MCH 0x359e
#define PCI_DEVICE_ID_INTEL_80310 0x530d
#define PCI_DEVICE_ID_INTEL_82371SB_0 0x7000
diff --git a/include/linux/pkt_cls.h b/include/linux/pkt_cls.h
index de9e1311ecbf..45ac289f1bbf 100644
--- a/include/linux/pkt_cls.h
+++ b/include/linux/pkt_cls.h
@@ -138,9 +138,9 @@ struct tc_police
struct tcf_t
{
- __u32 install;
- __u32 lastuse;
- __u32 expires;
+ __u64 install;
+ __u64 lastuse;
+ __u64 expires;
};
struct tc_cnt
diff --git a/include/linux/profile.h b/include/linux/profile.h
index a22f4a15c981..026969a5595c 100644
--- a/include/linux/profile.h
+++ b/include/linux/profile.h
@@ -53,13 +53,13 @@ int task_handoff_unregister(struct notifier_block * n);
int profile_event_register(enum profile_type, struct notifier_block * n);
int profile_event_unregister(enum profile_type, struct notifier_block * n);
-int register_profile_notifier(struct notifier_block * nb);
-int unregister_profile_notifier(struct notifier_block * nb);
+int register_timer_hook(int (*hook)(struct pt_regs *));
+void unregister_timer_hook(int (*hook)(struct pt_regs *));
-struct pt_regs;
+/* Timer based profiling hook */
+extern int (*timer_hook)(struct pt_regs *);
-/* profiling hook activated on each timer interrupt */
-void profile_hook(struct pt_regs * regs);
+struct pt_regs;
#else
@@ -87,18 +87,16 @@ static inline int profile_event_unregister(enum profile_type t, struct notifier_
#define profile_handoff_task(a) (0)
#define profile_munmap(a) do { } while (0)
-static inline int register_profile_notifier(struct notifier_block * nb)
+static inline int register_timer_hook(int (*hook)(struct pt_regs *))
{
return -ENOSYS;
}
-static inline int unregister_profile_notifier(struct notifier_block * nb)
+static inline void unregister_timer_hook(int (*hook)(struct pt_regs *))
{
- return -ENOSYS;
+ return;
}
-#define profile_hook(regs) do { } while (0)
-
#endif /* CONFIG_PROFILING */
#endif /* __KERNEL__ */
diff --git a/include/linux/raid/linear.h b/include/linux/raid/linear.h
index 70afc1dc8b43..e951b2bb9cdf 100644
--- a/include/linux/raid/linear.h
+++ b/include/linux/raid/linear.h
@@ -5,8 +5,8 @@
struct dev_info {
mdk_rdev_t *rdev;
- unsigned long size;
- unsigned long offset;
+ sector_t size;
+ sector_t offset;
};
typedef struct dev_info dev_info_t;
diff --git a/include/linux/raid/md_k.h b/include/linux/raid/md_k.h
index 945346ec2c10..c9a0d4013be7 100644
--- a/include/linux/raid/md_k.h
+++ b/include/linux/raid/md_k.h
@@ -25,10 +25,12 @@
#define MULTIPATH 7UL
#define RAID6 8UL
#define RAID10 9UL
-#define MAX_PERSONALITY 10UL
+#define FAULTY 10UL
+#define MAX_PERSONALITY 11UL
#define LEVEL_MULTIPATH (-4)
#define LEVEL_LINEAR (-1)
+#define LEVEL_FAULTY (-5)
#define MaxSector (~(sector_t)0)
#define MD_THREAD_NAME_MAX 14
@@ -36,6 +38,7 @@
static inline int pers_to_level (int pers)
{
switch (pers) {
+ case FAULTY: return LEVEL_FAULTY;
case MULTIPATH: return LEVEL_MULTIPATH;
case HSM: return -3;
case TRANSLUCENT: return -2;
@@ -53,6 +56,7 @@ static inline int pers_to_level (int pers)
static inline int level_to_pers (int level)
{
switch (level) {
+ case LEVEL_FAULTY: return FAULTY;
case LEVEL_MULTIPATH: return MULTIPATH;
case -3: return HSM;
case -2: return TRANSLUCENT;
@@ -290,6 +294,7 @@ struct mdk_personality_s
int (*sync_request)(mddev_t *mddev, sector_t sector_nr, int go_faster);
int (*resize) (mddev_t *mddev, sector_t sectors);
int (*reshape) (mddev_t *mddev, int raid_disks);
+ int (*reconfig) (mddev_t *mddev, int layout, int chunk_size);
};
diff --git a/include/linux/rmap.h b/include/linux/rmap.h
index 9e6a26527047..11b484e37ac9 100644
--- a/include/linux/rmap.h
+++ b/include/linux/rmap.h
@@ -89,7 +89,7 @@ static inline void page_dup_rmap(struct page *page)
/*
* Called from mm/vmscan.c to handle paging out
*/
-int page_referenced(struct page *, int is_locked);
+int page_referenced(struct page *, int is_locked, int ignore_token);
int try_to_unmap(struct page *);
/*
@@ -103,7 +103,7 @@ unsigned long page_address_in_vma(struct page *, struct vm_area_struct *);
#define anon_vma_prepare(vma) (0)
#define anon_vma_link(vma) do {} while (0)
-#define page_referenced(page,l) TestClearPageReferenced(page)
+#define page_referenced(page,l,i) TestClearPageReferenced(page)
#define try_to_unmap(page) SWAP_FAIL
#endif /* CONFIG_MMU */
diff --git a/include/linux/serial.h b/include/linux/serial.h
index 9a07d00106f9..00145822fb74 100644
--- a/include/linux/serial.h
+++ b/include/linux/serial.h
@@ -181,6 +181,8 @@ extern void unregister_serial(int line);
/* Allow architectures to override entries in serial8250_ports[] at run time: */
struct uart_port; /* forward declaration */
extern int early_serial_setup(struct uart_port *port);
+extern int early_serial_console_init(char *options);
+extern int serial8250_start_console(struct uart_port *port, char *options);
#endif /* __KERNEL__ */
#endif /* _LINUX_SERIAL_H */
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
index bba805dd7a39..3fad76b0873c 100644
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
@@ -94,6 +94,9 @@
/*IBM icom*/
#define PORT_ICOM 60
+/* Samsung S3C2440 SoC */
+#define PORT_S3C2440 61
+
#ifdef __KERNEL__
#include <linux/config.h>
@@ -171,7 +174,7 @@ struct uart_icount {
struct uart_port {
spinlock_t lock; /* port lock */
unsigned int iobase; /* in/out[bwl] */
- char *membase; /* read/write[bwl] */
+ unsigned char __iomem *membase; /* read/write[bwl] */
unsigned int irq; /* irq number */
unsigned int uartclk; /* base uart clock */
unsigned char fifosize; /* tx fifo size */
diff --git a/include/linux/slab.h b/include/linux/slab.h
index 7c81a7863b99..93c8264fe67b 100644
--- a/include/linux/slab.h
+++ b/include/linux/slab.h
@@ -13,6 +13,7 @@ typedef struct kmem_cache_s kmem_cache_t;
#include <linux/config.h> /* kmalloc_sizes.h needs CONFIG_ options */
#include <linux/gfp.h>
+#include <linux/init.h>
#include <linux/types.h>
#include <asm/page.h> /* kmalloc_sizes.h needs PAGE_SIZE */
#include <asm/cache.h> /* kmalloc_sizes.h needs L1_CACHE_BYTES */
@@ -53,7 +54,7 @@ typedef struct kmem_cache_s kmem_cache_t;
#define SLAB_CTOR_VERIFY 0x004UL /* tell constructor it's a verify call */
/* prototypes */
-extern void kmem_cache_init(void);
+extern void __init kmem_cache_init(void);
extern kmem_cache_t *kmem_cache_create(const char *, size_t, size_t, unsigned long,
void (*)(void *, kmem_cache_t *, unsigned long),
diff --git a/include/linux/sonypi.h b/include/linux/sonypi.h
index fd8d3a931827..388d573e12a6 100644
--- a/include/linux/sonypi.h
+++ b/include/linux/sonypi.h
@@ -122,27 +122,27 @@
/* used only for communication between v4l and sonypi */
-#define SONYPI_COMMAND_GETCAMERA 1
+#define SONYPI_COMMAND_GETCAMERA 1 /* obsolete */
#define SONYPI_COMMAND_SETCAMERA 2
-#define SONYPI_COMMAND_GETCAMERABRIGHTNESS 3
+#define SONYPI_COMMAND_GETCAMERABRIGHTNESS 3 /* obsolete */
#define SONYPI_COMMAND_SETCAMERABRIGHTNESS 4
-#define SONYPI_COMMAND_GETCAMERACONTRAST 5
+#define SONYPI_COMMAND_GETCAMERACONTRAST 5 /* obsolete */
#define SONYPI_COMMAND_SETCAMERACONTRAST 6
-#define SONYPI_COMMAND_GETCAMERAHUE 7
+#define SONYPI_COMMAND_GETCAMERAHUE 7 /* obsolete */
#define SONYPI_COMMAND_SETCAMERAHUE 8
-#define SONYPI_COMMAND_GETCAMERACOLOR 9
+#define SONYPI_COMMAND_GETCAMERACOLOR 9 /* obsolete */
#define SONYPI_COMMAND_SETCAMERACOLOR 10
-#define SONYPI_COMMAND_GETCAMERASHARPNESS 11
+#define SONYPI_COMMAND_GETCAMERASHARPNESS 11 /* obsolete */
#define SONYPI_COMMAND_SETCAMERASHARPNESS 12
-#define SONYPI_COMMAND_GETCAMERAPICTURE 13
+#define SONYPI_COMMAND_GETCAMERAPICTURE 13 /* obsolete */
#define SONYPI_COMMAND_SETCAMERAPICTURE 14
-#define SONYPI_COMMAND_GETCAMERAAGC 15
+#define SONYPI_COMMAND_GETCAMERAAGC 15 /* obsolete */
#define SONYPI_COMMAND_SETCAMERAAGC 16
-#define SONYPI_COMMAND_GETCAMERADIRECTION 17
-#define SONYPI_COMMAND_GETCAMERAROMVERSION 18
-#define SONYPI_COMMAND_GETCAMERAREVISION 19
+#define SONYPI_COMMAND_GETCAMERADIRECTION 17 /* obsolete */
+#define SONYPI_COMMAND_GETCAMERAROMVERSION 18 /* obsolete */
+#define SONYPI_COMMAND_GETCAMERAREVISION 19 /* obsolete */
-u8 sonypi_camera_command(int command, u8 value);
+int sonypi_camera_command(int command, u8 value);
#endif /* __KERNEL__ */
diff --git a/include/linux/sysrq.h b/include/linux/sysrq.h
index 94cbe97bd8e6..b8415f065ef8 100644
--- a/include/linux/sysrq.h
+++ b/include/linux/sysrq.h
@@ -33,6 +33,7 @@ void handle_sysrq(int, struct pt_regs *, struct tty_struct *);
void __handle_sysrq(int, struct pt_regs *, struct tty_struct *);
int register_sysrq_key(int, struct sysrq_key_op *);
int unregister_sysrq_key(int, struct sysrq_key_op *);
+struct sysrq_key_op *__sysrq_get_key_op(int key);
#else
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index 819e211f60be..a86882b84127 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -219,6 +219,7 @@ struct v4l2_pix_format
/* Vendor-specific formats */
#define V4L2_PIX_FMT_WNVA v4l2_fourcc('W','N','V','A') /* Winnov hw compress */
+#define V4L2_PIX_FMT_SN9C10X v4l2_fourcc('S','9','1','0') /* SN9C10x compression */
/*
* F O R M A T E N U M E R A T I O N
diff --git a/include/linux/writeback.h b/include/linux/writeback.h
index 1c9994fe2acc..4ab519ad9f55 100644
--- a/include/linux/writeback.h
+++ b/include/linux/writeback.h
@@ -106,6 +106,8 @@ int pdflush_operation(void (*fn)(unsigned long), unsigned long arg0);
int do_writepages(struct address_space *mapping, struct writeback_control *wbc);
int sync_page_range(struct inode *inode, struct address_space *mapping,
loff_t pos, size_t count);
+int sync_page_range_nolock(struct inode *inode, struct address_space
+ *mapping, loff_t pos, size_t count);
/* pdflush.c */
extern int nr_pdflush_threads; /* Global so it can be exported to sysctl
diff --git a/include/media/saa6752hs.h b/include/media/saa6752hs.h
index 8485d2e49a81..135f9a682429 100644
--- a/include/media/saa6752hs.h
+++ b/include/media/saa6752hs.h
@@ -1,4 +1,4 @@
-/*
+/*
saa6752hs.h - definition for saa6752hs MPEG encoder
Copyright (C) 2003 Andrew de Quincey <adq@lidskialf.net>
@@ -31,14 +31,14 @@ enum mpeg_bitrate_mode {
enum mpeg_audio_bitrate {
MPEG_AUDIO_BITRATE_256 = 0, /* 256 kBit/sec */
MPEG_AUDIO_BITRATE_384 = 1, /* 384 kBit/sec */
-
+
MPEG_AUDIO_BITRATE_MAX
};
#define MPEG_VIDEO_TARGET_BITRATE_MAX 27000
#define MPEG_VIDEO_MAX_BITRATE_MAX 27000
#define MPEG_TOTAL_BITRATE_MAX 27000
-
+
struct mpeg_params {
enum mpeg_bitrate_mode bitrate_mode;
unsigned int video_target_bitrate;
diff --git a/include/media/saa7146.h b/include/media/saa7146.h
index 5e9f64e67bc8..815964d52dd2 100644
--- a/include/media/saa7146.h
+++ b/include/media/saa7146.h
@@ -123,7 +123,7 @@ struct saa7146_dev
spinlock_t slock;
struct semaphore lock;
- unsigned char *mem; /* pointer to mapped IO memory */
+ unsigned char __iomem *mem; /* pointer to mapped IO memory */
int revision; /* chip revision; needed for bug-workarounds*/
/* pci-device & irq stuff*/
diff --git a/include/media/tuner.h b/include/media/tuner.h
index 5534d484b664..3b91bb6bdf0f 100644
--- a/include/media/tuner.h
+++ b/include/media/tuner.h
@@ -76,6 +76,7 @@
#define TUNER_TNF_8831BGFF 48
#define TUNER_MICROTUNE_4042FI5 49 /* FusionHDTV 3 Gold - 4042 FI5 (3X 8147) */
#define TUNER_TCL_2002N 50
+#define TUNER_PHILIPS_FM1256_IH3 51
#define NOTUNER 0
#define PAL 1 /* PAL_BG */
diff --git a/include/media/video-buf-dvb.h b/include/media/video-buf-dvb.h
new file mode 100644
index 000000000000..53eac765a8bd
--- /dev/null
+++ b/include/media/video-buf-dvb.h
@@ -0,0 +1,34 @@
+#include <dvbdev.h>
+#include <dmxdev.h>
+#include <dvb_demux.h>
+#include <dvb_net.h>
+#include <dvb_frontend.h>
+
+struct videobuf_dvb {
+ /* filling that the job of the driver */
+ char *name;
+ struct dvb_frontend *frontend;
+ struct videobuf_queue dvbq;
+
+ /* video-buf-dvb state info */
+ struct semaphore lock;
+ struct task_struct *thread;
+ int nfeeds;
+
+ /* videobuf_dvb_(un)register manges this */
+ struct dvb_adapter *adapter;
+ struct dvb_demux demux;
+ struct dmxdev dmxdev;
+ struct dmx_frontend fe_hw;
+ struct dmx_frontend fe_mem;
+ struct dvb_net net;
+};
+
+int videobuf_dvb_register(struct videobuf_dvb *dvb);
+void videobuf_dvb_unregister(struct videobuf_dvb *dvb);
+
+/*
+ * Local variables:
+ * c-basic-offset: 8
+ * End:
+ */
diff --git a/include/media/video-buf.h b/include/media/video-buf.h
index fdf5c71e222e..ae6da6de98de 100644
--- a/include/media/video-buf.h
+++ b/include/media/video-buf.h
@@ -1,5 +1,5 @@
/*
- * $Id: video-buf.h,v 1.8 2004/10/13 10:39:00 kraxel Exp $
+ * $Id: video-buf.h,v 1.9 2004/11/07 13:17:15 kraxel Exp $
*
* generic helper functions for video4linux capture buffers, to handle
* memory management and PCI DMA. Right now bttv + saa7134 use it.
@@ -121,7 +121,6 @@ struct videobuf_queue;
struct videobuf_mapping {
unsigned int count;
- int highmem_ok;
unsigned long start;
unsigned long end;
struct videobuf_queue *q;
@@ -167,12 +166,15 @@ struct videobuf_buffer {
};
struct videobuf_queue_ops {
- int (*buf_setup)(void *priv,
+ int (*buf_setup)(struct videobuf_queue *q,
unsigned int *count, unsigned int *size);
- int (*buf_prepare)(void *priv,struct videobuf_buffer *vb,
+ int (*buf_prepare)(struct videobuf_queue *q,
+ struct videobuf_buffer *vb,
enum v4l2_field field);
- void (*buf_queue)(void *priv,struct videobuf_buffer *vb);
- void (*buf_release)(void *priv,struct videobuf_buffer *vb);
+ void (*buf_queue)(struct videobuf_queue *q,
+ struct videobuf_buffer *vb);
+ void (*buf_release)(struct videobuf_queue *q,
+ struct videobuf_buffer *vb);
};
struct videobuf_queue {
@@ -196,6 +198,9 @@ struct videobuf_queue {
unsigned int reading;
unsigned int read_off;
struct videobuf_buffer *read_buf;
+
+ /* driver private data */
+ void *priv_data;
};
void* videobuf_alloc(unsigned int size);
@@ -205,44 +210,46 @@ int videobuf_iolock(struct pci_dev *pci, struct videobuf_buffer *vb,
void videobuf_queue_init(struct videobuf_queue *q,
struct videobuf_queue_ops *ops,
- struct pci_dev *pci, spinlock_t *irqlock,
+ struct pci_dev *pci,
+ spinlock_t *irqlock,
enum v4l2_buf_type type,
enum v4l2_field field,
- unsigned int msize);
+ unsigned int msize,
+ void *priv);
int videobuf_queue_is_busy(struct videobuf_queue *q);
-void videobuf_queue_cancel(void *priv, struct videobuf_queue *q);
+void videobuf_queue_cancel(struct videobuf_queue *q);
enum v4l2_field videobuf_next_field(struct videobuf_queue *q);
void videobuf_status(struct v4l2_buffer *b, struct videobuf_buffer *vb,
enum v4l2_buf_type type);
-int videobuf_reqbufs(void *priv, struct videobuf_queue *q,
+int videobuf_reqbufs(struct videobuf_queue *q,
struct v4l2_requestbuffers *req);
int videobuf_querybuf(struct videobuf_queue *q, struct v4l2_buffer *b);
-int videobuf_qbuf(void *priv, struct videobuf_queue *q,
+int videobuf_qbuf(struct videobuf_queue *q,
struct v4l2_buffer *b);
-int videobuf_dqbuf(void *priv, struct videobuf_queue *q,
+int videobuf_dqbuf(struct videobuf_queue *q,
struct v4l2_buffer *b, int nonblocking);
-int videobuf_streamon(void *priv, struct videobuf_queue *q);
-int videobuf_streamoff(void *priv, struct videobuf_queue *q);
+int videobuf_streamon(struct videobuf_queue *q);
+int videobuf_streamoff(struct videobuf_queue *q);
-int videobuf_read_start(void *priv, struct videobuf_queue *q);
-void videobuf_read_stop(void *priv, struct videobuf_queue *q);
-ssize_t videobuf_read_stream(void *priv, struct videobuf_queue *q,
+int videobuf_read_start(struct videobuf_queue *q);
+void videobuf_read_stop(struct videobuf_queue *q);
+ssize_t videobuf_read_stream(struct videobuf_queue *q,
char __user *data, size_t count, loff_t *ppos,
int vbihack, int nonblocking);
-ssize_t videobuf_read_one(void *priv, struct videobuf_queue *q,
+ssize_t videobuf_read_one(struct videobuf_queue *q,
char __user *data, size_t count, loff_t *ppos,
int nonblocking);
-unsigned int videobuf_poll_stream(struct file *file, void *priv,
+unsigned int videobuf_poll_stream(struct file *file,
struct videobuf_queue *q,
poll_table *wait);
-int videobuf_mmap_setup(void *priv, struct videobuf_queue *q,
+int videobuf_mmap_setup(struct videobuf_queue *q,
unsigned int bcount, unsigned int bsize,
enum v4l2_memory memory);
-int videobuf_mmap_free(void *priv, struct videobuf_queue *q);
-int videobuf_mmap_mapper(struct vm_area_struct *vma,
- struct videobuf_queue *q);
+int videobuf_mmap_free(struct videobuf_queue *q);
+int videobuf_mmap_mapper(struct videobuf_queue *q,
+ struct vm_area_struct *vma);
/* --------------------------------------------------------------------- */
diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h
index c3e965505e99..6a2fde5bf873 100644
--- a/include/net/bluetooth/hci.h
+++ b/include/net/bluetooth/hci.h
@@ -170,6 +170,8 @@ enum {
#define HCI_LM_AUTH 0x0002
#define HCI_LM_ENCRYPT 0x0004
#define HCI_LM_TRUSTED 0x0008
+#define HCI_LM_RELIABLE 0x0010
+#define HCI_LM_SECURE 0x0020
/* ----- HCI Commands ---- */
/* OGF & OCF values */
@@ -366,6 +368,11 @@ struct hci_cp_set_conn_encrypt {
__u8 encrypt;
} __attribute__ ((packed));
+#define OCF_CHANGE_CONN_LINK_KEY 0x0015
+struct hci_cp_change_conn_link_key {
+ __u16 handle;
+} __attribute__ ((packed));
+
#define OCF_READ_REMOTE_FEATURES 0x001B
struct hci_cp_read_rmt_features {
__u16 handle;
@@ -482,6 +489,12 @@ struct hci_ev_encrypt_change {
__u8 encrypt;
} __attribute__ ((packed));
+#define HCI_EV_CHANGE_CONN_LINK_KEY_COMPLETE 0x09
+struct hci_ev_change_conn_link_key_complete {
+ __u8 status;
+ __u16 handle;
+} __attribute__ ((packed));
+
#define HCI_EV_QOS_SETUP_COMPLETE 0x0D
struct hci_qos {
__u8 service_type;
@@ -522,6 +535,14 @@ struct hci_ev_role_change {
__u8 role;
} __attribute__ ((packed));
+#define HCI_EV_MODE_CHANGE 0x14
+struct hci_ev_mode_change {
+ __u8 status;
+ __u16 handle;
+ __u8 mode;
+ __u16 interval;
+} __attribute__ ((packed));
+
#define HCI_EV_PIN_CODE_REQ 0x16
struct hci_ev_pin_code_req {
bdaddr_t bdaddr;
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h
index ef0ecb6c75fd..16dec2fe1762 100644
--- a/include/net/bluetooth/hci_core.h
+++ b/include/net/bluetooth/hci_core.h
@@ -277,6 +277,7 @@ void hci_conn_hash_flush(struct hci_dev *hdev);
struct hci_conn *hci_connect(struct hci_dev *hdev, int type, bdaddr_t *src);
int hci_conn_auth(struct hci_conn *conn);
int hci_conn_encrypt(struct hci_conn *conn);
+int hci_conn_change_link_key(struct hci_conn *conn);
static inline void hci_conn_set_timer(struct hci_conn *conn, unsigned long timeout)
{
diff --git a/include/net/bluetooth/l2cap.h b/include/net/bluetooth/l2cap.h
index bcbf4411bf69..39ca54fbd041 100644
--- a/include/net/bluetooth/l2cap.h
+++ b/include/net/bluetooth/l2cap.h
@@ -56,6 +56,8 @@ struct l2cap_conninfo {
#define L2CAP_LM_AUTH 0x0002
#define L2CAP_LM_ENCRYPT 0x0004
#define L2CAP_LM_TRUSTED 0x0008
+#define L2CAP_LM_RELIABLE 0x0010
+#define L2CAP_LM_SECURE 0x0020
#define L2CAP_QOS 0x04
struct l2cap_qos {
diff --git a/include/net/ipv6.h b/include/net/ipv6.h
index e0e3800a9560..445fbfd71589 100644
--- a/include/net/ipv6.h
+++ b/include/net/ipv6.h
@@ -296,6 +296,15 @@ static inline void ipv6_addr_set(struct in6_addr *addr,
}
#endif
+static inline int ipv6_addr_equal(const struct in6_addr *a1,
+ const struct in6_addr *a2)
+{
+ return (a1->s6_addr32[0] == a2->s6_addr32[0] &&
+ a1->s6_addr32[1] == a2->s6_addr32[1] &&
+ a1->s6_addr32[2] == a2->s6_addr32[2] &&
+ a1->s6_addr32[3] == a2->s6_addr32[3]);
+}
+
static inline int ipv6_addr_any(const struct in6_addr *a)
{
return ((a->s6_addr32[0] | a->s6_addr32[1] |
diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h
index ac856c13d354..208c6aea06a1 100644
--- a/include/net/sctp/sctp.h
+++ b/include/net/sctp/sctp.h
@@ -607,14 +607,14 @@ struct sctp6_sock {
/* Is a socket of this style? */
#define sctp_style(sk, style) __sctp_style((sk), (SCTP_SOCKET_##style))
-int static inline __sctp_style(const struct sock *sk, sctp_socket_type_t style)
+static inline int __sctp_style(const struct sock *sk, sctp_socket_type_t style)
{
return sctp_sk(sk)->type == style;
}
/* Is the association in this state? */
#define sctp_state(asoc, state) __sctp_state((asoc), (SCTP_STATE_##state))
-int static inline __sctp_state(const struct sctp_association *asoc,
+static inline int __sctp_state(const struct sctp_association *asoc,
sctp_state_t state)
{
return asoc->state == state;
@@ -622,7 +622,7 @@ int static inline __sctp_state(const struct sctp_association *asoc,
/* Is the socket in this state? */
#define sctp_sstate(sk, state) __sctp_sstate((sk), (SCTP_SS_##state))
-int static inline __sctp_sstate(const struct sock *sk, sctp_sock_state_t state)
+static inline int __sctp_sstate(const struct sock *sk, sctp_sock_state_t state)
{
return sk->sk_state == state;
}
diff --git a/include/net/sock.h b/include/net/sock.h
index bfad716ce409..5c49711c56cf 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -556,6 +556,8 @@ struct proto {
kmem_cache_t *slab;
int slab_obj_size;
+ struct module *owner;
+
char name[32];
struct {
@@ -698,8 +700,6 @@ static inline int sk_stream_rmem_schedule(struct sock *sk, struct sk_buff *skb)
* Since ~2.3.5 it is also exclusive sleep lock serializing
* accesses from user process context.
*/
-extern void __lock_sock(struct sock *sk);
-extern void __release_sock(struct sock *sk);
#define sock_owned_by_user(sk) ((sk)->sk_lock.owner)
extern void FASTCALL(lock_sock(struct sock *sk));
@@ -1272,19 +1272,7 @@ static inline void sk_eat_skb(struct sock *sk, struct sk_buff *skb)
__kfree_skb(skb);
}
-extern atomic_t netstamp_needed;
extern void sock_enable_timestamp(struct sock *sk);
-
-static inline void net_timestamp(struct timeval *stamp)
-{
- if (atomic_read(&netstamp_needed))
- do_gettimeofday(stamp);
- else {
- stamp->tv_sec = 0;
- stamp->tv_usec = 0;
- }
-}
-
extern int sock_get_timestamp(struct sock *, struct timeval __user *);
/*
diff --git a/include/net/tcp.h b/include/net/tcp.h
index 4a7dc4157df4..f5bac4c9b704 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -361,8 +361,8 @@ extern void tcp_tw_deschedule(struct tcp_tw_bucket *tw);
#define TCP_IPV6_MATCH(__sk, __saddr, __daddr, __ports, __dif) \
(((*((__u32 *)&(inet_sk(__sk)->dport)))== (__ports)) && \
((__sk)->sk_family == AF_INET6) && \
- !ipv6_addr_cmp(&inet6_sk(__sk)->daddr, (__saddr)) && \
- !ipv6_addr_cmp(&inet6_sk(__sk)->rcv_saddr, (__daddr)) && \
+ ipv6_addr_equal(&inet6_sk(__sk)->daddr, (__saddr)) && \
+ ipv6_addr_equal(&inet6_sk(__sk)->rcv_saddr, (__daddr)) && \
(!((__sk)->sk_bound_dev_if) || ((__sk)->sk_bound_dev_if == (__dif))))
/* These can have wildcards, don't try too hard. */
@@ -965,7 +965,9 @@ extern void tcp_reset_keepalive_timer(struct sock *, unsigned long);
extern unsigned int tcp_sync_mss(struct sock *sk, u32 pmtu);
extern unsigned int tcp_current_mss(struct sock *sk, int large);
-extern const char timer_bug_msg[];
+#ifdef TCP_DEBUG
+extern const char tcp_timer_bug_msg[];
+#endif
/* tcp_diag.c */
extern void tcp_get_info(struct sock *, struct tcp_info *);
@@ -998,7 +1000,9 @@ static inline void tcp_clear_xmit_timer(struct sock *sk, int what)
#endif
break;
default:
- printk(timer_bug_msg);
+#ifdef TCP_DEBUG
+ printk(tcp_timer_bug_msg);
+#endif
return;
};
@@ -1033,7 +1037,9 @@ static inline void tcp_reset_xmit_timer(struct sock *sk, int what, unsigned long
break;
default:
- printk(timer_bug_msg);
+#ifdef TCP_DEBUG
+ printk(tcp_timer_bug_msg);
+#endif
};
}
diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h
index 59d64fb1cc72..6afc72fba7dc 100644
--- a/include/scsi/scsi_device.h
+++ b/include/scsi/scsi_device.h
@@ -111,6 +111,7 @@ struct scsi_device {
unsigned allow_restart:1; /* issue START_UNIT in error handler */
unsigned no_uld_attach:1; /* disable connecting to upper level drivers */
unsigned select_no_atn:1;
+ unsigned fix_capacity:1; /* READ_CAPACITY is too high by 1 */
unsigned int device_blocked; /* Device returned QUEUE_FULL. */
diff --git a/include/video/tgafb.h b/include/video/tgafb.h
index 23a1808045b2..be2b3e94e251 100644
--- a/include/video/tgafb.h
+++ b/include/video/tgafb.h
@@ -176,9 +176,9 @@ struct tga_par {
struct pci_dev *pdev;
/* Device dependent information. */
- void *tga_mem_base;
- void *tga_fb_base;
- void *tga_regs_base;
+ void __iomem *tga_mem_base;
+ void __iomem *tga_fb_base;
+ void __iomem *tga_regs_base;
u8 tga_type; /* TGA_TYPE_XXX */
u8 tga_chip_rev; /* dc21030 revision */