On Tue, Aug 08, 2000 at 11:03:19PM +1200, Chris Wedgwood wrote:
> drivers/char/agp/agp.o: In function `agp_generic_create_gatt_table':
> drivers/char/agp/agp.o(.text+0x7e2): undefined reference to `get_mem_map'
> drivers/char/agp/agp.o(.text+0x84d): undefined reference to `get_mem_map'
> drivers/char/agp/agp.o: In function `agp_generic_free_gatt_table':
> drivers/char/agp/agp.o(.text+0x919): undefined reference to `get_mem_map'
>
> get_mem_map definition is missing
>
> net/network.o: In function `free_pg_vec':
> net/network.o(.text+0x2e6d2): undefined reference to `mem_map_unreserve'
> net/network.o: In function `packet_set_ring':
> net/network.o(.text+0x2e876): undefined reference to `mem_map_reserve'
>
> defined in wrapper.h -- make sure the required files include this.
>
Here is a patch:
1) too many ( in 82596.c
2) avoid doing void * arithmetic in umsdos
3) don't use mem_map_*reserve wrappers in af_packet.c (alternatively
wrapper.h can be included)
4) I haven't found get_mem_map definition but I think virt_to_page can be
used instead
--- linux/net/packet/af_packet.c.jj Tue Aug 8 11:47:01 2000
+++ linux/net/packet/af_packet.c Tue Aug 8 12:21:07 2000
@@ -1568,7 +1568,7 @@ static void free_pg_vec(unsigned long *p
pend = virt_to_page(pg_vec[i] + (PAGE_SIZE << order) - 1);
for (page = virt_to_page(pg_vec[i]); page <= pend; page++)
- mem_map_unreserve(page);
+ clear_bit(PG_reserved, &page->flags);
free_pages(pg_vec[i], order);
}
}
@@ -1623,7 +1623,7 @@ static int packet_set_ring(struct sock *
pend = virt_to_page(pg_vec[i] + (PAGE_SIZE << order) - 1);
for (page = virt_to_page(pg_vec[i]); page <= pend; page++)
- mem_map_reserve(page);
+ set_bit(PG_reserved, &page->flags);
}
/* Page vector is allocated */
--- linux/drivers/char/ftape/lowlevel/ftape-buffer.c.jj Tue Aug 8 11:47:00 2000
+++ linux/drivers/char/ftape/lowlevel/ftape-buffer.c Tue Aug 8 12:29:10 2000
@@ -50,7 +50,7 @@ static inline void *dmaalloc(size_t size
if (addr) {
struct page *page;
- for (page = virt_to_page(addr); page < get_mem_map(addr+size); page++)
+ for (page = virt_to_page(addr); page < virt_to_page(addr+size); page++)
mem_map_reserve(page);
}
return (void *)addr;
--- linux/drivers/char/agp/agpgart_be.c.jj Tue Aug 8 11:47:01 2000
+++ linux/drivers/char/agp/agpgart_be.c Tue Aug 8 12:29:10 2000
@@ -624,7 +624,7 @@ static int agp_generic_create_gatt_table
}
table_end = table + ((PAGE_SIZE * (1 << page_order)) - 1);
- for (page = virt_to_page(table); page < get_mem_map(table_end); page++)
+ for (page = virt_to_page(table); page < virt_to_page(table_end); page++)
set_bit(PG_reserved, &page->flags);
agp_bridge.gatt_table_real = (unsigned long *) table;
@@ -634,7 +634,7 @@ static int agp_generic_create_gatt_table
CACHE_FLUSH();
if (agp_bridge.gatt_table == NULL) {
- for (page = virt_to_page(table); page < get_mem_map(table_end); page++)
+ for (page = virt_to_page(table); page < virt_to_page(table_end); page++)
clear_bit(PG_reserved, &page->flags);
free_pages((unsigned long) table, page_order);
@@ -691,7 +691,7 @@ static int agp_generic_free_gatt_table(v
table = (char *) agp_bridge.gatt_table_real;
table_end = table + ((PAGE_SIZE * (1 << page_order)) - 1);
- for (page = virt_to_page(table); page < get_mem_map(table_end); page++)
+ for (page = virt_to_page(table); page < virt_to_page(table_end); page++)
clear_bit(PG_reserved, &page->flags);
free_pages((unsigned long) agp_bridge.gatt_table_real, page_order);
--- linux/drivers/sound/dmabuf.c.jj Tue Aug 8 11:47:01 2000
+++ linux/drivers/sound/dmabuf.c Tue Aug 8 12:29:10 2000
@@ -114,7 +114,7 @@ static int sound_alloc_dmap(struct dma_b
dmap->raw_buf = start_addr;
dmap->raw_buf_phys = virt_to_bus(start_addr);
- for (page = virt_to_page(start_addr); page <= get_mem_map(end_addr); page++)
+ for (page = virt_to_page(start_addr); page <= virt_to_page(end_addr); page++)
mem_map_reserve(page);
return 0;
}
@@ -134,7 +134,7 @@ static void sound_free_dmap(struct dma_b
start_addr = (unsigned long) dmap->raw_buf;
end_addr = start_addr + dmap->buffsize;
- for (page = virt_to_page(start_addr); page <= get_mem_map(end_addr); page++)
+ for (page = virt_to_page(start_addr); page <= virt_to_page(end_addr); page++)
mem_map_unreserve(page);
free_pages((unsigned long) dmap->raw_buf, sz);
--- linux/drivers/sound/sscape.c.jj Tue Aug 8 11:47:01 2000
+++ linux/drivers/sound/sscape.c Tue Aug 8 12:29:10 2000
@@ -849,7 +849,7 @@ static int sscape_alloc_dma(sscape_info
devc->raw_buf = start_addr;
devc->raw_buf_phys = virt_to_bus(start_addr);
- for (page = virt_to_page(start_addr); page <= get_mem_map(end_addr); page++)
+ for (page = virt_to_page(start_addr); page <= virt_to_page(end_addr); page++)
mem_map_reserve(page);
return 1;
}
@@ -865,7 +865,7 @@ static void sscape_free_dma(sscape_info
start_addr = (unsigned long) devc->raw_buf;
end_addr = start_addr + devc->buffsize;
- for (page = virt_to_page(start_addr); page <= get_mem_map(end_addr); page++)
+ for (page = virt_to_page(start_addr); page <= virt_to_page(end_addr); page++)
mem_map_unreserve(page);
free_pages((unsigned long) devc->raw_buf, sz);
--- linux/fs/umsdos/emd.c.jj Tue Aug 8 12:31:33 2000
+++ linux/fs/umsdos/emd.c Tue Aug 8 12:50:53 2000
@@ -142,7 +142,7 @@ int umsdos_emd_dir_readentry (struct den
recsize = umsdos_evalrecsize(p->name_len);
if (offs + recsize > PAGE_CACHE_SIZE) {
struct page *page2;
- int part = (page_address(page) + PAGE_CACHE_SIZE) - p->spare;
+ int part = ((char *)page_address(page) + PAGE_CACHE_SIZE) - p->spare;
page2 = read_cache_page(mapping, 1+(*pos>>PAGE_CACHE_SHIFT),
(filler_t*)mapping->a_ops->readpage, NULL);
if (IS_ERR(page2)) {
@@ -261,7 +261,7 @@ int umsdos_writeentry (struct dentry *pa
p->rdev = cpu_to_le16(entry->rdev);
p->mode = cpu_to_le16(entry->mode);
memcpy(p->name,entry->name,
- (page_address(page) + PAGE_CACHE_SIZE) - p->spare);
+ ((char *)page_address(page) + PAGE_CACHE_SIZE) - p->spare);
memcpy(page_address(page2),
entry->spare+PAGE_CACHE_SIZE-offs,
offs+info->recsize-PAGE_CACHE_SIZE);
--- linux/drivers/net/82596.c.jj Tue Aug 8 12:31:33 2000
+++ linux/drivers/net/82596.c Tue Aug 8 12:58:29 2000
@@ -707,7 +707,7 @@ static int init_i596_mem(struct net_devi
spin_lock_irqsave (&lp->lock, flags);
if (wait_cmd(dev,lp,1000,"timed out waiting to issue RX_START")) {
- spin_unlock_irqrestore ((&lp->lock, flags);
+ spin_unlock_irqrestore (&lp->lock, flags);
goto failed;
}
DEB(DEB_INIT,printk("%s: Issuing RX_START\n", dev->name));
Jakub
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Tue Aug 15 2000 - 21:00:14 EST