1 From: Michal Marek <mmarek@suse.cz>
2 Subject: preserve the kabi checksum of dma_get_required_mask on ia64
4 Signed-off-by: Michal Marek <mmarek@suse.cz>
5 Signed-off-by: Jeff Mahoney <jeffm@suse.com>
8 arch/ia64/include/asm/machvec.h | 8 +++++---
9 arch/ia64/pci/pci.c | 22 +++++++++++-----------
10 drivers/base/platform.c | 9 +++++++++
11 3 files changed, 25 insertions(+), 14 deletions(-)
13 --- a/arch/ia64/include/asm/machvec.h
14 +++ b/arch/ia64/include/asm/machvec.h
15 @@ -210,7 +210,6 @@ struct ia64_machine_vector {
16 ia64_mv_dma_sync_sg_for_device *dma_sync_sg_for_device;
17 ia64_mv_dma_mapping_error *dma_mapping_error;
18 ia64_mv_dma_supported *dma_supported;
19 - ia64_mv_dma_get_required_mask *dma_get_required_mask;
20 ia64_mv_irq_to_vector *irq_to_vector;
21 ia64_mv_local_vector_to_irq *local_vector_to_irq;
22 ia64_mv_pci_get_legacy_mem_t *pci_get_legacy_mem;
23 @@ -236,6 +235,9 @@ struct ia64_machine_vector {
24 ia64_mv_teardown_msi_irq_t *teardown_msi_irq;
25 ia64_mv_pci_fixup_bus_t *pci_fixup_bus;
26 ia64_mv_kernel_launch_event_t *kernel_launch_event;
28 + ia64_mv_dma_get_required_mask *dma_get_required_mask;
30 } __attribute__((__aligned__(16))); /* align attrib? see above comment */
32 #define MACHVEC_INIT(name) \
33 @@ -261,7 +263,6 @@ struct ia64_machine_vector {
34 platform_dma_sync_sg_for_device, \
35 platform_dma_mapping_error, \
36 platform_dma_supported, \
37 - platform_dma_get_required_mask, \
38 platform_irq_to_vector, \
39 platform_local_vector_to_irq, \
40 platform_pci_get_legacy_mem, \
41 @@ -286,7 +287,8 @@ struct ia64_machine_vector {
42 platform_setup_msi_irq, \
43 platform_teardown_msi_irq, \
44 platform_pci_fixup_bus, \
45 - platform_kernel_launch_event \
46 + platform_kernel_launch_event, \
47 + platform_dma_get_required_mask \
50 extern struct ia64_machine_vector ia64_mv;
51 --- a/arch/ia64/pci/pci.c
52 +++ b/arch/ia64/pci/pci.c
54 #include <linux/ioport.h>
55 #include <linux/slab.h>
56 #include <linux/spinlock.h>
57 -#include <linux/bootmem.h>
59 #include <asm/machvec.h>
61 @@ -744,6 +743,16 @@ static void __init set_pci_cacheline_siz
62 pci_cache_line_size = (1 << cci.pcci_line_size) / 4;
65 +static int __init pcibios_init(void)
67 + set_pci_cacheline_size();
71 +subsys_initcall(pcibios_init);
73 +#include <linux/bootmem.h>
75 u64 ia64_dma_get_required_mask(struct device *dev)
77 u32 low_totalram = ((max_pfn - 1) << PAGE_SHIFT);
78 @@ -764,16 +773,7 @@ u64 ia64_dma_get_required_mask(struct de
80 EXPORT_SYMBOL_GPL(ia64_dma_get_required_mask);
82 -u64 dma_get_required_mask(struct device *dev)
83 +u64 ia64_dma_get_required_mask_wrapper(struct device *dev)
85 return platform_dma_get_required_mask(dev);
87 -EXPORT_SYMBOL_GPL(dma_get_required_mask);
89 -static int __init pcibios_init(void)
91 - set_pci_cacheline_size();
95 -subsys_initcall(pcibios_init);
96 --- a/drivers/base/platform.c
97 +++ b/drivers/base/platform.c
98 @@ -931,4 +931,13 @@ u64 dma_get_required_mask(struct device
101 EXPORT_SYMBOL_GPL(dma_get_required_mask);
104 +u64 ia64_dma_get_required_mask_wrapper(struct device *dev);
105 +u64 dma_get_required_mask(struct device *dev)
107 + return ia64_dma_get_required_mask_wrapper(dev);
109 +EXPORT_SYMBOL_GPL(dma_get_required_mask);