blob: 49fd3ff13fe5949218063d2e84d2a358e5fc0dbd [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * ARC firmware interface.
7 *
8 * Copyright (C) 1994, 1995, 1996, 1999 Ralf Baechle
9 * Copyright (C) 1999 Silicon Graphics, Inc.
10 */
Linus Torvalds1da177e2005-04-16 15:20:36 -070011
Aurelien Jarno2f56cfd2007-09-05 08:59:34 +020012#include <asm/fw/arc/types.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070013#include <asm/sgialib.h>
14
Ralf Baechle3266c6a2007-07-28 07:44:08 +010015LONG
Linus Torvalds1da177e2005-04-16 15:20:36 -070016ArcGetDirectoryEntry(ULONG FileID, struct linux_vdirent *Buffer,
Ralf Baechle70342282013-01-22 12:59:30 +010017 ULONG N, ULONG *Count)
Linus Torvalds1da177e2005-04-16 15:20:36 -070018{
19 return ARC_CALL4(get_vdirent, FileID, Buffer, N, Count);
20}
21
Ralf Baechle3266c6a2007-07-28 07:44:08 +010022LONG
Linus Torvalds1da177e2005-04-16 15:20:36 -070023ArcOpen(CHAR *Path, enum linux_omode OpenMode, ULONG *FileID)
24{
25 return ARC_CALL3(open, Path, OpenMode, FileID);
26}
27
Ralf Baechle3266c6a2007-07-28 07:44:08 +010028LONG
Linus Torvalds1da177e2005-04-16 15:20:36 -070029ArcClose(ULONG FileID)
30{
31 return ARC_CALL1(close, FileID);
32}
33
Ralf Baechle3266c6a2007-07-28 07:44:08 +010034LONG
Linus Torvalds1da177e2005-04-16 15:20:36 -070035ArcRead(ULONG FileID, VOID *Buffer, ULONG N, ULONG *Count)
36{
37 return ARC_CALL4(read, FileID, Buffer, N, Count);
38}
39
Ralf Baechle3266c6a2007-07-28 07:44:08 +010040LONG
Linus Torvalds1da177e2005-04-16 15:20:36 -070041ArcGetReadStatus(ULONG FileID)
42{
43 return ARC_CALL1(get_rstatus, FileID);
44}
45
Ralf Baechle3266c6a2007-07-28 07:44:08 +010046LONG
Linus Torvalds1da177e2005-04-16 15:20:36 -070047ArcWrite(ULONG FileID, PVOID Buffer, ULONG N, PULONG Count)
48{
49 return ARC_CALL4(write, FileID, Buffer, N, Count);
50}
51
Ralf Baechle3266c6a2007-07-28 07:44:08 +010052LONG
Linus Torvalds1da177e2005-04-16 15:20:36 -070053ArcSeek(ULONG FileID, struct linux_bigint *Position, enum linux_seekmode SeekMode)
54{
55 return ARC_CALL3(seek, FileID, Position, SeekMode);
56}
57
Ralf Baechle3266c6a2007-07-28 07:44:08 +010058LONG
Linus Torvalds1da177e2005-04-16 15:20:36 -070059ArcMount(char *name, enum linux_mountops op)
60{
61 return ARC_CALL2(mount, name, op);
62}
63
Ralf Baechle3266c6a2007-07-28 07:44:08 +010064LONG
Linus Torvalds1da177e2005-04-16 15:20:36 -070065ArcGetFileInformation(ULONG FileID, struct linux_finfo *Information)
66{
67 return ARC_CALL2(get_finfo, FileID, Information);
68}
69
Ralf Baechle3266c6a2007-07-28 07:44:08 +010070LONG ArcSetFileInformation(ULONG FileID, ULONG AttributeFlags,
Ralf Baechle70342282013-01-22 12:59:30 +010071 ULONG AttributeMask)
Linus Torvalds1da177e2005-04-16 15:20:36 -070072{
73 return ARC_CALL3(set_finfo, FileID, AttributeFlags, AttributeMask);
74}