git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
arch
/
sparc
/
kernel
/
ioport.c
diff --git
a/arch/sparc/kernel/ioport.c
b/arch/sparc/kernel/ioport.c
index
4c7ec71
..
987ec67
100644
(file)
--- a/
arch/sparc/kernel/ioport.c
+++ b/
arch/sparc/kernel/ioport.c
@@
-153,7
+153,7
@@
void __iomem *of_ioremap(struct resource *res, unsigned long offset,
}
EXPORT_SYMBOL(of_ioremap);
}
EXPORT_SYMBOL(of_ioremap);
-void of_iounmap(void __iomem *base, unsigned long size)
+void of_iounmap(
struct resource *res,
void __iomem *base, unsigned long size)
{
iounmap(base);
}
{
iounmap(base);
}
@@
-317,9
+317,8
@@
void *sbus_alloc_consistent(struct sbus_dev *sdev, long len, u32 *dma_addrp)
if ((va = __get_free_pages(GFP_KERNEL|__GFP_COMP, order)) == 0)
goto err_nopages;
if ((va = __get_free_pages(GFP_KERNEL|__GFP_COMP, order)) == 0)
goto err_nopages;
- if ((res = k
m
alloc(sizeof(struct resource), GFP_KERNEL)) == NULL)
+ if ((res = k
z
alloc(sizeof(struct resource), GFP_KERNEL)) == NULL)
goto err_nomem;
goto err_nomem;
- memset((char*)res, 0, sizeof(struct resource));
if (allocate_resource(&_sparc_dvma, res, len_total,
_sparc_dvma.start, _sparc_dvma.end, PAGE_SIZE, NULL, NULL) != 0) {
if (allocate_resource(&_sparc_dvma, res, len_total,
_sparc_dvma.start, _sparc_dvma.end, PAGE_SIZE, NULL, NULL) != 0) {
@@
-507,6
+506,7
@@
void __init sbus_arch_bus_ranges_init(struct device_node *pn, struct sbus_bus *s
void __init sbus_setup_iommu(struct sbus_bus *sbus, struct device_node *dp)
{
void __init sbus_setup_iommu(struct sbus_bus *sbus, struct device_node *dp)
{
+#ifndef CONFIG_SUN4
struct device_node *parent = dp->parent;
if (sparc_cpu_model != sun4d &&
struct device_node *parent = dp->parent;
if (sparc_cpu_model != sun4d &&
@@
-523,6
+523,7
@@
void __init sbus_setup_iommu(struct sbus_bus *sbus, struct device_node *dp)
iounit_init(dp->node, parent->node, sbus);
}
iounit_init(dp->node, parent->node, sbus);
}
+#endif
}
void __init sbus_setup_arch_props(struct sbus_bus *sbus, struct device_node *dp)
}
void __init sbus_setup_arch_props(struct sbus_bus *sbus, struct device_node *dp)
@@
-587,12
+588,11
@@
void *pci_alloc_consistent(struct pci_dev *pdev, size_t len, dma_addr_t *pba)
return NULL;
}
return NULL;
}
- if ((res = k
m
alloc(sizeof(struct resource), GFP_KERNEL)) == NULL) {
+ if ((res = k
z
alloc(sizeof(struct resource), GFP_KERNEL)) == NULL) {
free_pages(va, order);
printk("pci_alloc_consistent: no core\n");
return NULL;
}
free_pages(va, order);
printk("pci_alloc_consistent: no core\n");
return NULL;
}
- memset((char*)res, 0, sizeof(struct resource));
if (allocate_resource(&_sparc_dvma, res, len_total,
_sparc_dvma.start, _sparc_dvma.end, PAGE_SIZE, NULL, NULL) != 0) {
if (allocate_resource(&_sparc_dvma, res, len_total,
_sparc_dvma.start, _sparc_dvma.end, PAGE_SIZE, NULL, NULL) != 0) {
@@
-726,7
+726,8
@@
int pci_map_sg(struct pci_dev *hwdev, struct scatterlist *sg, int nents,
/* IIep is write-through, not flushing. */
for (n = 0; n < nents; n++) {
BUG_ON(page_address(sg->page) == NULL);
/* IIep is write-through, not flushing. */
for (n = 0; n < nents; n++) {
BUG_ON(page_address(sg->page) == NULL);
- sg->dvma_address = virt_to_phys(page_address(sg->page));
+ sg->dvma_address =
+ virt_to_phys(page_address(sg->page)) + sg->offset;
sg->dvma_length = sg->length;
sg++;
}
sg->dvma_length = sg->length;
sg++;
}