#include <asm/system.h>
 #include <asm/perfmon.h>
 #include <asm/cputable.h>
-
-#include "op_impl.h"
+#include <asm/oprofile_impl.h>
 
 static struct op_powerpc_model *model;
 
 
+++ /dev/null
-/*
- * Copyright (C) 2004 Anton Blanchard <anton@au.ibm.com>, IBM
- *
- * Based on alpha version.
- *
- * 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.
- */
-
-#ifndef OP_IMPL_H
-#define OP_IMPL_H 1
-
-#define OP_MAX_COUNTER 8
-
-/* Per-counter configuration as set via oprofilefs.  */
-struct op_counter_config {
-       unsigned long enabled;
-       unsigned long event;
-       unsigned long count;
-       unsigned long kernel;
-       unsigned long user;
-       unsigned long unit_mask;
-};
-
-/* System-wide configuration as set via oprofilefs.  */
-struct op_system_config {
-       unsigned long enable_kernel;
-       unsigned long enable_user;
-};
-
-/* Per-arch configuration */
-struct op_powerpc_model {
-       void (*reg_setup) (struct op_counter_config *,
-                          struct op_system_config *,
-                          int num_counters);
-       void (*start) (struct op_counter_config *);
-       void (*stop) (void);
-       void (*handle_interrupt) (struct pt_regs *,
-                                 struct op_counter_config *);
-       int num_counters;
-};
-
-#endif /* OP_IMPL_H */
 
 #include <asm/reg_booke.h>
 #include <asm/page.h>
 #include <asm/perfmon.h>
-
-#include "op_impl.h"
+#include <asm/oprofile_impl.h>
 
 static unsigned long reset_value[OP_MAX_COUNTER];
 
 
  * 2 of the License, or (at your option) any later version.
  */
 
-#ifndef OP_IMPL_H
-#define OP_IMPL_H 1
+#ifndef _ASM_POWERPC_OPROFILE_IMPL_H
+#define _ASM_POWERPC_OPROFILE_IMPL_H
 
 #define OP_MAX_COUNTER 8
 
 /* Per-counter configuration as set via oprofilefs.  */
 struct op_counter_config {
+#ifdef __powerpc64__
        unsigned long valid;
+#endif
        unsigned long enabled;
        unsigned long event;
        unsigned long count;
        unsigned long kernel;
+#ifdef __powerpc64__
        /* We dont support per counter user/kernel selection */
+#endif
        unsigned long user;
        unsigned long unit_mask;
 };
 
 /* System-wide configuration as set via oprofilefs.  */
 struct op_system_config {
+#ifdef __powerpc64__
        unsigned long mmcr0;
        unsigned long mmcr1;
        unsigned long mmcra;
+#endif
        unsigned long enable_kernel;
        unsigned long enable_user;
+#ifdef __powerpc64__
        unsigned long backtrace_spinlocks;
+#endif
 };
 
 /* Per-arch configuration */
        void (*reg_setup) (struct op_counter_config *,
                           struct op_system_config *,
                           int num_counters);
+#ifdef __powerpc64__
        void (*cpu_setup) (void *);
+#endif
        void (*start) (struct op_counter_config *);
        void (*stop) (void);
        void (*handle_interrupt) (struct pt_regs *,
        int num_counters;
 };
 
+#ifdef __powerpc64__
 extern struct op_powerpc_model op_model_rs64;
 extern struct op_powerpc_model op_model_power4;
 
                break;
        }
 }
+#endif /* __powerpc64__ */
 
-#endif
+#endif /* _ASM_POWERPC_OPROFILE_IMPL_H */