Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
64d329ee
Commit
64d329ee
authored
Oct 27, 2007
by
David S. Miller
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[SPARC32]: __inline__ --> inline
Signed-off-by:
David S. Miller
<
davem@davemloft.net
>
parent
d979f179
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
40 additions
and
48 deletions
+40
-48
arch/sparc/kernel/pcic.c
arch/sparc/kernel/pcic.c
+1
-1
arch/sparc/kernel/process.c
arch/sparc/kernel/process.c
+3
-4
arch/sparc/kernel/time.c
arch/sparc/kernel/time.c
+4
-5
arch/sparc/mm/btfixup.c
arch/sparc/mm/btfixup.c
+2
-3
arch/sparc/mm/sun4c.c
arch/sparc/mm/sun4c.c
+7
-8
include/asm-sparc/atomic.h
include/asm-sparc/atomic.h
+2
-2
include/asm-sparc/dma.h
include/asm-sparc/dma.h
+4
-5
include/asm-sparc/floppy.h
include/asm-sparc/floppy.h
+7
-7
include/asm-sparc/ide.h
include/asm-sparc/ide.h
+4
-5
include/asm-sparc/posix_types.h
include/asm-sparc/posix_types.h
+4
-4
include/asm-sparc/system.h
include/asm-sparc/system.h
+2
-4
No files found.
arch/sparc/kernel/pcic.c
View file @
64d329ee
...
@@ -753,7 +753,7 @@ void __init pci_time_init(void)
...
@@ -753,7 +753,7 @@ void __init pci_time_init(void)
local_irq_enable
();
local_irq_enable
();
}
}
static
__inline__
unsigned
long
do_gettimeoffset
(
void
)
static
inline
unsigned
long
do_gettimeoffset
(
void
)
{
{
/*
/*
* We divide all by 100
* We divide all by 100
...
...
arch/sparc/kernel/process.c
View file @
64d329ee
/* $Id: process.c,v 1.161 2002/01/23 11:27:32 davem Exp $
/* linux/arch/sparc/kernel/process.c
* linux/arch/sparc/kernel/process.c
*
*
* Copyright (C) 1995 David S. Miller (davem@
caip.rutgers.edu
)
* Copyright (C) 1995 David S. Miller (davem@
davemloft.net
)
* Copyright (C) 1996 Eddie C. Dost (ecd@skynet.be)
* Copyright (C) 1996 Eddie C. Dost (ecd@skynet.be)
*/
*/
...
@@ -397,7 +396,7 @@ void flush_thread(void)
...
@@ -397,7 +396,7 @@ void flush_thread(void)
}
}
}
}
static
__inline__
struct
sparc_stackf
__user
*
static
inline
struct
sparc_stackf
__user
*
clone_stackframe
(
struct
sparc_stackf
__user
*
dst
,
clone_stackframe
(
struct
sparc_stackf
__user
*
dst
,
struct
sparc_stackf
__user
*
src
)
struct
sparc_stackf
__user
*
src
)
{
{
...
...
arch/sparc/kernel/time.c
View file @
64d329ee
/* $Id: time.c,v 1.60 2002/01/23 14:33:55 davem Exp $
/* linux/arch/sparc/kernel/time.c
* linux/arch/sparc/kernel/time.c
*
*
* Copyright (C) 1995 David S. Miller (davem@
caip.rutgers.edu
)
* Copyright (C) 1995 David S. Miller (davem@
davemloft.net
)
* Copyright (C) 1996 Thomas K. Dyas (tdyas@eden.rutgers.edu)
* Copyright (C) 1996 Thomas K. Dyas (tdyas@eden.rutgers.edu)
*
*
* Chris Davis (cdavis@cois.on.ca) 03/27/1998
* Chris Davis (cdavis@cois.on.ca) 03/27/1998
...
@@ -210,7 +209,7 @@ static void __devinit kick_start_clock(void)
...
@@ -210,7 +209,7 @@ static void __devinit kick_start_clock(void)
}
}
/* Return nonzero if the clock chip battery is low. */
/* Return nonzero if the clock chip battery is low. */
static
__inline__
int
has_low_battery
(
void
)
static
inline
int
has_low_battery
(
void
)
{
{
struct
mostek48t02
*
regs
=
(
struct
mostek48t02
*
)
mstk48t02_regs
;
struct
mostek48t02
*
regs
=
(
struct
mostek48t02
*
)
mstk48t02_regs
;
unsigned
char
data1
,
data2
;
unsigned
char
data1
,
data2
;
...
@@ -252,7 +251,7 @@ static void __devinit mostek_set_system_time(void)
...
@@ -252,7 +251,7 @@ static void __devinit mostek_set_system_time(void)
}
}
/* Probe for the real time clock chip on Sun4 */
/* Probe for the real time clock chip on Sun4 */
static
__inline__
void
sun4_clock_probe
(
void
)
static
inline
void
sun4_clock_probe
(
void
)
{
{
#ifdef CONFIG_SUN4
#ifdef CONFIG_SUN4
int
temp
;
int
temp
;
...
...
arch/sparc/mm/btfixup.c
View file @
64d329ee
/* $Id: btfixup.c,v 1.10 2000/05/09 17:40:13 davem Exp $
/* btfixup.c: Boot time code fixup and relocator, so that
* btfixup.c: Boot time code fixup and relocator, so that
* we can get rid of most indirect calls to achieve single
* we can get rid of most indirect calls to achieve single
* image sun4c and srmmu kernel.
* image sun4c and srmmu kernel.
*
*
...
@@ -69,7 +68,7 @@ static void __init set_addr(unsigned int *addr, unsigned int q1, int fmangled, u
...
@@ -69,7 +68,7 @@ static void __init set_addr(unsigned int *addr, unsigned int q1, int fmangled, u
}
}
}
}
#else
#else
static
__inline__
void
set_addr
(
unsigned
int
*
addr
,
unsigned
int
q1
,
int
fmangled
,
unsigned
int
value
)
static
inline
void
set_addr
(
unsigned
int
*
addr
,
unsigned
int
q1
,
int
fmangled
,
unsigned
int
value
)
{
{
*
addr
=
value
;
*
addr
=
value
;
}
}
...
...
arch/sparc/mm/sun4c.c
View file @
64d329ee
/* $Id: sun4c.c,v 1.212 2001/12/21 04:56:15 davem Exp $
/* sun4c.c: Doing in software what should be done in hardware.
* sun4c.c: Doing in software what should be done in hardware.
*
*
* Copyright (C) 1996 David S. Miller (davem@
caip.rutgers.edu
)
* Copyright (C) 1996 David S. Miller (davem@
davemloft.net
)
* Copyright (C) 1996 Eddie C. Dost (ecd@skynet.be)
* Copyright (C) 1996 Eddie C. Dost (ecd@skynet.be)
* Copyright (C) 1996 Andrew Tridgell (Andrew.Tridgell@anu.edu.au)
* Copyright (C) 1996 Andrew Tridgell (Andrew.Tridgell@anu.edu.au)
* Copyright (C) 1997-2000 Anton Blanchard (anton@samba.org)
* Copyright (C) 1997-2000 Anton Blanchard (anton@samba.org)
...
@@ -719,7 +718,7 @@ static void add_ring(struct sun4c_mmu_ring *ring,
...
@@ -719,7 +718,7 @@ static void add_ring(struct sun4c_mmu_ring *ring,
ring
->
num_entries
++
;
ring
->
num_entries
++
;
}
}
static
__inline__
void
add_lru
(
struct
sun4c_mmu_entry
*
entry
)
static
inline
void
add_lru
(
struct
sun4c_mmu_entry
*
entry
)
{
{
struct
sun4c_mmu_ring
*
ring
=
&
sun4c_ulru_ring
;
struct
sun4c_mmu_ring
*
ring
=
&
sun4c_ulru_ring
;
struct
sun4c_mmu_entry
*
head
=
&
ring
->
ringhd
;
struct
sun4c_mmu_entry
*
head
=
&
ring
->
ringhd
;
...
@@ -746,7 +745,7 @@ static void add_ring_ordered(struct sun4c_mmu_ring *ring,
...
@@ -746,7 +745,7 @@ static void add_ring_ordered(struct sun4c_mmu_ring *ring,
add_lru
(
entry
);
add_lru
(
entry
);
}
}
static
__inline__
void
remove_ring
(
struct
sun4c_mmu_ring
*
ring
,
static
inline
void
remove_ring
(
struct
sun4c_mmu_ring
*
ring
,
struct
sun4c_mmu_entry
*
entry
)
struct
sun4c_mmu_entry
*
entry
)
{
{
struct
sun4c_mmu_entry
*
next
=
entry
->
next
;
struct
sun4c_mmu_entry
*
next
=
entry
->
next
;
...
@@ -1836,7 +1835,7 @@ static unsigned long sun4c_pte_to_pgoff(pte_t pte)
...
@@ -1836,7 +1835,7 @@ static unsigned long sun4c_pte_to_pgoff(pte_t pte)
}
}
static
__inline__
unsigned
long
sun4c_pmd_page_v
(
pmd_t
pmd
)
static
inline
unsigned
long
sun4c_pmd_page_v
(
pmd_t
pmd
)
{
{
return
(
pmd_val
(
pmd
)
&
PAGE_MASK
);
return
(
pmd_val
(
pmd
)
&
PAGE_MASK
);
}
}
...
@@ -1922,7 +1921,7 @@ static void sun4c_free_pgd_fast(pgd_t *pgd)
...
@@ -1922,7 +1921,7 @@ static void sun4c_free_pgd_fast(pgd_t *pgd)
}
}
static
__inline__
pte_t
*
static
inline
pte_t
*
sun4c_pte_alloc_one_fast
(
struct
mm_struct
*
mm
,
unsigned
long
address
)
sun4c_pte_alloc_one_fast
(
struct
mm_struct
*
mm
,
unsigned
long
address
)
{
{
unsigned
long
*
ret
;
unsigned
long
*
ret
;
...
@@ -1956,7 +1955,7 @@ static struct page *sun4c_pte_alloc_one(struct mm_struct *mm, unsigned long addr
...
@@ -1956,7 +1955,7 @@ static struct page *sun4c_pte_alloc_one(struct mm_struct *mm, unsigned long addr
return
virt_to_page
(
pte
);
return
virt_to_page
(
pte
);
}
}
static
__inline__
void
sun4c_free_pte_fast
(
pte_t
*
pte
)
static
inline
void
sun4c_free_pte_fast
(
pte_t
*
pte
)
{
{
*
(
unsigned
long
*
)
pte
=
(
unsigned
long
)
pte_quicklist
;
*
(
unsigned
long
*
)
pte
=
(
unsigned
long
)
pte_quicklist
;
pte_quicklist
=
(
unsigned
long
*
)
pte
;
pte_quicklist
=
(
unsigned
long
*
)
pte
;
...
...
include/asm-sparc/atomic.h
View file @
64d329ee
/* atomic.h: These still suck, but the I-cache hit rate is higher.
/* atomic.h: These still suck, but the I-cache hit rate is higher.
*
*
* Copyright (C) 1996 David S. Miller (davem@
caip.rutgers.edu
)
* Copyright (C) 1996 David S. Miller (davem@
davemloft.net
)
* Copyright (C) 2000 Anton Blanchard (anton@linuxcare.com.au)
* Copyright (C) 2000 Anton Blanchard (anton@linuxcare.com.au)
* Copyright (C) 2007 Kyle McMartin (kyle@parisc-linux.org)
* Copyright (C) 2007 Kyle McMartin (kyle@parisc-linux.org)
*
*
...
@@ -33,7 +33,7 @@ extern void __cmpxchg_called_with_bad_pointer(void);
...
@@ -33,7 +33,7 @@ extern void __cmpxchg_called_with_bad_pointer(void);
extern
unsigned
long
__cmpxchg_u32
(
volatile
u32
*
m
,
u32
old
,
u32
new_
);
extern
unsigned
long
__cmpxchg_u32
(
volatile
u32
*
m
,
u32
old
,
u32
new_
);
/* don't worry...optimizer will get rid of most of this */
/* don't worry...optimizer will get rid of most of this */
static
__inline__
unsigned
long
static
inline
unsigned
long
__cmpxchg
(
volatile
void
*
ptr
,
unsigned
long
old
,
unsigned
long
new_
,
int
size
)
__cmpxchg
(
volatile
void
*
ptr
,
unsigned
long
old
,
unsigned
long
new_
,
int
size
)
{
{
switch
(
size
)
{
switch
(
size
)
{
...
...
include/asm-sparc/dma.h
View file @
64d329ee
/* $Id: dma.h,v 1.35 1999/12/27 06:37:09 anton Exp $
/* include/asm-sparc/dma.h
* include/asm-sparc/dma.h
*
*
* Copyright 1995 (C) David S. Miller (davem@
caip.rutgers.edu
)
* Copyright 1995 (C) David S. Miller (davem@
davemloft.net
)
*/
*/
#ifndef _ASM_SPARC_DMA_H
#ifndef _ASM_SPARC_DMA_H
...
@@ -21,14 +20,14 @@
...
@@ -21,14 +20,14 @@
struct
page
;
struct
page
;
extern
spinlock_t
dma_spin_lock
;
extern
spinlock_t
dma_spin_lock
;
static
__inline__
unsigned
long
claim_dma_lock
(
void
)
static
inline
unsigned
long
claim_dma_lock
(
void
)
{
{
unsigned
long
flags
;
unsigned
long
flags
;
spin_lock_irqsave
(
&
dma_spin_lock
,
flags
);
spin_lock_irqsave
(
&
dma_spin_lock
,
flags
);
return
flags
;
return
flags
;
}
}
static
__inline__
void
release_dma_lock
(
unsigned
long
flags
)
static
inline
void
release_dma_lock
(
unsigned
long
flags
)
{
{
spin_unlock_irqrestore
(
&
dma_spin_lock
,
flags
);
spin_unlock_irqrestore
(
&
dma_spin_lock
,
flags
);
}
}
...
...
include/asm-sparc/floppy.h
View file @
64d329ee
/* asm-sparc/floppy.h: Sparc specific parts of the Floppy driver.
/* asm-sparc/floppy.h: Sparc specific parts of the Floppy driver.
*
*
* Copyright (C) 1995 David S. Miller (davem@
caip.rutgers.edu
)
* Copyright (C) 1995 David S. Miller (davem@
davemloft.net
)
*/
*/
#ifndef __ASM_SPARC_FLOPPY_H
#ifndef __ASM_SPARC_FLOPPY_H
...
@@ -232,12 +232,12 @@ extern char *pdma_base;
...
@@ -232,12 +232,12 @@ extern char *pdma_base;
extern
unsigned
long
pdma_areasize
;
extern
unsigned
long
pdma_areasize
;
/* Common routines to all controller types on the Sparc. */
/* Common routines to all controller types on the Sparc. */
static
__inline__
void
virtual_dma_init
(
void
)
static
inline
void
virtual_dma_init
(
void
)
{
{
/* nothing... */
/* nothing... */
}
}
static
__inline__
void
sun_fd_disable_dma
(
void
)
static
inline
void
sun_fd_disable_dma
(
void
)
{
{
doing_pdma
=
0
;
doing_pdma
=
0
;
if
(
pdma_base
)
{
if
(
pdma_base
)
{
...
@@ -246,7 +246,7 @@ static __inline__ void sun_fd_disable_dma(void)
...
@@ -246,7 +246,7 @@ static __inline__ void sun_fd_disable_dma(void)
}
}
}
}
static
__inline__
void
sun_fd_set_dma_mode
(
int
mode
)
static
inline
void
sun_fd_set_dma_mode
(
int
mode
)
{
{
switch
(
mode
)
{
switch
(
mode
)
{
case
DMA_MODE_READ
:
case
DMA_MODE_READ
:
...
@@ -261,17 +261,17 @@ static __inline__ void sun_fd_set_dma_mode(int mode)
...
@@ -261,17 +261,17 @@ static __inline__ void sun_fd_set_dma_mode(int mode)
}
}
}
}
static
__inline__
void
sun_fd_set_dma_addr
(
char
*
buffer
)
static
inline
void
sun_fd_set_dma_addr
(
char
*
buffer
)
{
{
pdma_vaddr
=
buffer
;
pdma_vaddr
=
buffer
;
}
}
static
__inline__
void
sun_fd_set_dma_count
(
int
length
)
static
inline
void
sun_fd_set_dma_count
(
int
length
)
{
{
pdma_size
=
length
;
pdma_size
=
length
;
}
}
static
__inline__
void
sun_fd_enable_dma
(
void
)
static
inline
void
sun_fd_enable_dma
(
void
)
{
{
pdma_vaddr
=
mmu_lockarea
(
pdma_vaddr
,
pdma_size
);
pdma_vaddr
=
mmu_lockarea
(
pdma_vaddr
,
pdma_size
);
pdma_base
=
pdma_vaddr
;
pdma_base
=
pdma_vaddr
;
...
...
include/asm-sparc/ide.h
View file @
64d329ee
/* $Id: ide.h,v 1.7 2002/01/16 20:58:40 davem Exp $
/* ide.h: SPARC PCI specific IDE glue.
* ide.h: SPARC PCI specific IDE glue.
*
*
* Copyright (C) 1997 David S. Miller (davem@
caip.rutgers.edu
)
* Copyright (C) 1997 David S. Miller (davem@
davemloft.net
)
* Copyright (C) 1998 Eddie C. Dost (ecd@skynet.be)
* Copyright (C) 1998 Eddie C. Dost (ecd@skynet.be)
* Adaptation from sparc64 version to sparc by Pete Zaitcev.
* Adaptation from sparc64 version to sparc by Pete Zaitcev.
*/
*/
...
@@ -31,7 +30,7 @@
...
@@ -31,7 +30,7 @@
#define __ide_mm_outsw __ide_outsw
#define __ide_mm_outsw __ide_outsw
#define __ide_mm_outsl __ide_outsl
#define __ide_mm_outsl __ide_outsl
static
__inline__
void
__ide_insw
(
unsigned
long
port
,
static
inline
void
__ide_insw
(
unsigned
long
port
,
void
*
dst
,
void
*
dst
,
unsigned
long
count
)
unsigned
long
count
)
{
{
...
@@ -62,7 +61,7 @@ static __inline__ void __ide_insw(unsigned long port,
...
@@ -62,7 +61,7 @@ static __inline__ void __ide_insw(unsigned long port,
/* __flush_dcache_range((unsigned long)dst, end); */
/* P3 see hme */
/* __flush_dcache_range((unsigned long)dst, end); */
/* P3 see hme */
}
}
static
__inline__
void
__ide_outsw
(
unsigned
long
port
,
static
inline
void
__ide_outsw
(
unsigned
long
port
,
const
void
*
src
,
const
void
*
src
,
unsigned
long
count
)
unsigned
long
count
)
{
{
...
...
include/asm-sparc/posix_types.h
View file @
64d329ee
...
@@ -49,7 +49,7 @@ typedef struct {
...
@@ -49,7 +49,7 @@ typedef struct {
#if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2)
#if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2)
#undef __FD_SET
#undef __FD_SET
static
__inline__
void
__FD_SET
(
unsigned
long
fd
,
__kernel_fd_set
*
fdsetp
)
static
inline
void
__FD_SET
(
unsigned
long
fd
,
__kernel_fd_set
*
fdsetp
)
{
{
unsigned
long
_tmp
=
fd
/
__NFDBITS
;
unsigned
long
_tmp
=
fd
/
__NFDBITS
;
unsigned
long
_rem
=
fd
%
__NFDBITS
;
unsigned
long
_rem
=
fd
%
__NFDBITS
;
...
@@ -57,7 +57,7 @@ static __inline__ void __FD_SET(unsigned long fd, __kernel_fd_set *fdsetp)
...
@@ -57,7 +57,7 @@ static __inline__ void __FD_SET(unsigned long fd, __kernel_fd_set *fdsetp)
}
}
#undef __FD_CLR
#undef __FD_CLR
static
__inline__
void
__FD_CLR
(
unsigned
long
fd
,
__kernel_fd_set
*
fdsetp
)
static
inline
void
__FD_CLR
(
unsigned
long
fd
,
__kernel_fd_set
*
fdsetp
)
{
{
unsigned
long
_tmp
=
fd
/
__NFDBITS
;
unsigned
long
_tmp
=
fd
/
__NFDBITS
;
unsigned
long
_rem
=
fd
%
__NFDBITS
;
unsigned
long
_rem
=
fd
%
__NFDBITS
;
...
@@ -65,7 +65,7 @@ static __inline__ void __FD_CLR(unsigned long fd, __kernel_fd_set *fdsetp)
...
@@ -65,7 +65,7 @@ static __inline__ void __FD_CLR(unsigned long fd, __kernel_fd_set *fdsetp)
}
}
#undef __FD_ISSET
#undef __FD_ISSET
static
__inline__
int
__FD_ISSET
(
unsigned
long
fd
,
__const__
__kernel_fd_set
*
p
)
static
inline
int
__FD_ISSET
(
unsigned
long
fd
,
__const__
__kernel_fd_set
*
p
)
{
{
unsigned
long
_tmp
=
fd
/
__NFDBITS
;
unsigned
long
_tmp
=
fd
/
__NFDBITS
;
unsigned
long
_rem
=
fd
%
__NFDBITS
;
unsigned
long
_rem
=
fd
%
__NFDBITS
;
...
@@ -77,7 +77,7 @@ static __inline__ int __FD_ISSET(unsigned long fd, __const__ __kernel_fd_set *p)
...
@@ -77,7 +77,7 @@ static __inline__ int __FD_ISSET(unsigned long fd, __const__ __kernel_fd_set *p)
* for 256 and 1024-bit fd_sets respectively)
* for 256 and 1024-bit fd_sets respectively)
*/
*/
#undef __FD_ZERO
#undef __FD_ZERO
static
__inline__
void
__FD_ZERO
(
__kernel_fd_set
*
p
)
static
inline
void
__FD_ZERO
(
__kernel_fd_set
*
p
)
{
{
unsigned
long
*
tmp
=
p
->
fds_bits
;
unsigned
long
*
tmp
=
p
->
fds_bits
;
int
i
;
int
i
;
...
...
include/asm-sparc/system.h
View file @
64d329ee
/* $Id: system.h,v 1.86 2001/10/30 04:57:10 davem Exp $ */
#ifndef __SPARC_SYSTEM_H
#ifndef __SPARC_SYSTEM_H
#define __SPARC_SYSTEM_H
#define __SPARC_SYSTEM_H
...
@@ -56,7 +54,7 @@ extern void sun_do_break(void);
...
@@ -56,7 +54,7 @@ extern void sun_do_break(void);
extern
int
serial_console
;
extern
int
serial_console
;
extern
int
stop_a_enabled
;
extern
int
stop_a_enabled
;
static
__inline__
int
con_is_present
(
void
)
static
inline
int
con_is_present
(
void
)
{
{
return
serial_console
?
0
:
1
;
return
serial_console
?
0
:
1
;
}
}
...
@@ -217,7 +215,7 @@ static inline unsigned long xchg_u32(__volatile__ unsigned long *m, unsigned lon
...
@@ -217,7 +215,7 @@ static inline unsigned long xchg_u32(__volatile__ unsigned long *m, unsigned lon
extern
void
__xchg_called_with_bad_pointer
(
void
);
extern
void
__xchg_called_with_bad_pointer
(
void
);
static
__inline__
unsigned
long
__xchg
(
unsigned
long
x
,
__volatile__
void
*
ptr
,
int
size
)
static
inline
unsigned
long
__xchg
(
unsigned
long
x
,
__volatile__
void
*
ptr
,
int
size
)
{
{
switch
(
size
)
{
switch
(
size
)
{
case
4
:
case
4
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment