Commit 6a9401a7ac13e62ef2baf4d46e022d303edc3050

Authored by Joerg Roedel
1 parent 273bee27fa

x86/amd-iommu: Separate internal interface definitions

This patch moves all function declarations which are only
used inside the driver code to a seperate header file.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>

Showing 5 changed files with 44 additions and 11 deletions Side-by-side Diff

arch/x86/include/asm/amd_iommu.h
... ... @@ -23,15 +23,13 @@
23 23 #include <linux/irqreturn.h>
24 24  
25 25 #ifdef CONFIG_AMD_IOMMU
26   -extern int amd_iommu_init_dma_ops(void);
27   -extern int amd_iommu_init_passthrough(void);
  26 +
28 27 extern void amd_iommu_detect(void);
29   -extern irqreturn_t amd_iommu_int_handler(int irq, void *data);
30   -extern void amd_iommu_flush_all_domains(void);
31   -extern void amd_iommu_flush_all_devices(void);
32   -extern void amd_iommu_apply_erratum_63(u16 devid);
  28 +
33 29 #else
  30 +
34 31 static inline void amd_iommu_detect(void) { }
  32 +
35 33 #endif
36 34  
37 35 #endif /* _ASM_X86_AMD_IOMMU_H */
arch/x86/include/asm/amd_iommu_proto.h
  1 +/*
  2 + * Copyright (C) 2009 Advanced Micro Devices, Inc.
  3 + * Author: Joerg Roedel <joerg.roedel@amd.com>
  4 + *
  5 + * This program is free software; you can redistribute it and/or modify it
  6 + * under the terms of the GNU General Public License version 2 as published
  7 + * by the Free Software Foundation.
  8 + *
  9 + * This program is distributed in the hope that it will be useful,
  10 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12 + * GNU General Public License for more details.
  13 + *
  14 + * You should have received a copy of the GNU General Public License
  15 + * along with this program; if not, write to the Free Software
  16 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  17 + */
  18 +
  19 +#ifndef _ASM_X86_AMD_IOMMU_PROTO_H
  20 +#define _ASM_X86_AMD_IOMMU_PROTO_H
  21 +
  22 +struct amd_iommu;
  23 +
  24 +extern int amd_iommu_init_dma_ops(void);
  25 +extern int amd_iommu_init_passthrough(void);
  26 +extern irqreturn_t amd_iommu_int_handler(int irq, void *data);
  27 +extern void amd_iommu_flush_all_domains(void);
  28 +extern void amd_iommu_flush_all_devices(void);
  29 +extern void amd_iommu_apply_erratum_63(u16 devid);
  30 +extern void amd_iommu_reset_cmd_buffer(struct amd_iommu *iommu);
  31 +
  32 +#ifndef CONFIG_AMD_IOMMU_STATS
  33 +
  34 +static inline void amd_iommu_stats_init(void) { }
  35 +
  36 +#endif /* !CONFIG_AMD_IOMMU_STATS */
  37 +
  38 +#endif /* _ASM_X86_AMD_IOMMU_PROTO_H */
arch/x86/include/asm/amd_iommu_types.h
... ... @@ -462,12 +462,7 @@
462 462 #define ADD_STATS_COUNTER(name, x)
463 463 #define SUB_STATS_COUNTER(name, x)
464 464  
465   -static inline void amd_iommu_stats_init(void) { }
466   -
467 465 #endif /* CONFIG_AMD_IOMMU_STATS */
468   -
469   -/* some function prototypes */
470   -extern void amd_iommu_reset_cmd_buffer(struct amd_iommu *iommu);
471 466  
472 467 #endif /* _ASM_X86_AMD_IOMMU_TYPES_H */
arch/x86/kernel/amd_iommu.c
... ... @@ -28,6 +28,7 @@
28 28 #include <asm/proto.h>
29 29 #include <asm/iommu.h>
30 30 #include <asm/gart.h>
  31 +#include <asm/amd_iommu_proto.h>
31 32 #include <asm/amd_iommu_types.h>
32 33 #include <asm/amd_iommu.h>
33 34  
arch/x86/kernel/amd_iommu_init.c
... ... @@ -25,6 +25,7 @@
25 25 #include <linux/interrupt.h>
26 26 #include <linux/msi.h>
27 27 #include <asm/pci-direct.h>
  28 +#include <asm/amd_iommu_proto.h>
28 29 #include <asm/amd_iommu_types.h>
29 30 #include <asm/amd_iommu.h>
30 31 #include <asm/iommu.h>