lkml.org 
[lkml]   [2010]   [Oct]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH 04/22] arm: introduce little endian bitops
    From
    2010/10/18 Russell King - ARM Linux <linux@arm.linux.org.uk>:
    > On Fri, Oct 15, 2010 at 06:46:03PM +0900, Akinobu Mita wrote:
    >> Introduce little endian bit operations by renaming native ext2 bit
    >> operations. The ext2 bit operations are kept by using little endian
    >> bit operations until the conversions are finished.
    >
    > Can you explain why we need another level of indirection rather than
    > using asm-generic/bitops/le.h, asm-generic/bitops/minix.h and
    > asm-generic/bitops/ext2-non-atomic.h ?

    Sorry for not CCing the cover letter of this patch series.

    Currently there are no common little-endian bit operations for all
    architectures, although some architectures implicitly include
    asm-generic/bitops/le.h through asm-generic/bitops/minix-le.h or
    asm-generic/bitops/ext2-non-atomic.h.

    So some drivers (net/rds/cong.c and virt/kvm/kvm_main.c) need to
    include asm/bitops/le.h directly. When I tried to remove the
    direct inclusion of asm-generic/bitops/le.h by using ext2_*(),
    several people prefer another solution like this patch series does.

    This patch series introduces little-endian bit operations for
    all architectures and convert all ext2 non-atomic bit operations
    and minix bit operations to use little-endian bit operations.
    it enables to remove ext2 non-atomic and minix bit operations
    from asm/bitops.h. The reason they should be removed from
    asm/bitops.h is as follows:

    For ext2 non-atomic bit operations, they are used for little-endian
    byte order bitmap access by some filesystems and modules.
    But using ext2_*() functions on a module other than ext2 filesystem
    makes someone feel strange.

    For minix bit operations, they are only used by minix filesystem
    and useless by other modules. Because byte order of inode and block
    bitmap is defferent on each architectures.

    There are several issues including arm part. So I'm now fixing them.


    \
     
     \ /
      Last update: 2010-10-18 15:25    [W:0.022 / U:30.176 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site