OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [mm/] [internal.h] - Blame information for rev 62

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 62 marcus.erl
/* internal.h: mm/ internal definitions
2
 *
3
 * Copyright (C) 2004 Red Hat, Inc. All Rights Reserved.
4
 * Written by David Howells (dhowells@redhat.com)
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version
9
 * 2 of the License, or (at your option) any later version.
10
 */
11
#ifndef __MM_INTERNAL_H
12
#define __MM_INTERNAL_H
13
 
14
#include <linux/mm.h>
15
 
16
static inline void set_page_count(struct page *page, int v)
17
{
18
        atomic_set(&page->_count, v);
19
}
20
 
21
/*
22
 * Turn a non-refcounted page (->_count == 0) into refcounted with
23
 * a count of one.
24
 */
25
static inline void set_page_refcounted(struct page *page)
26
{
27
        VM_BUG_ON(PageCompound(page) && PageTail(page));
28
        VM_BUG_ON(atomic_read(&page->_count));
29
        set_page_count(page, 1);
30
}
31
 
32
static inline void __put_page(struct page *page)
33
{
34
        atomic_dec(&page->_count);
35
}
36
 
37
extern void fastcall __init __free_pages_bootmem(struct page *page,
38
                                                unsigned int order);
39
 
40
/*
41
 * function for dealing with page's order in buddy system.
42
 * zone->lock is already acquired when we use these.
43
 * So, we don't need atomic page->flags operations here.
44
 */
45
static inline unsigned long page_order(struct page *page)
46
{
47
        VM_BUG_ON(!PageBuddy(page));
48
        return page_private(page);
49
}
50
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.