lkml.org 
[lkml]   [2008]   [Aug]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 2/2] Add support for > 2GiB MTD devices
    From
    Date
    Artem,

    > > +/*
    > > + * Inline function for determining the size of the MTD device,
    independant
    > > + * of old or new way of doing things.
    > > + *
    > > + */
    > > +static inline u_int64_t device_size(struct mtd_info *a)
    > > +{
    > > + return a->num_eraseblocks == 0 ? a->size : a->num_eraseblocks *
    a->erasesize;
    > > +}
    >
    > I do not think it is a good idea to do multiplication every time we need
    > MTD device size. It is unnecessarily large overhead in terms of speed
    > and code size.
    >

    I'm still reluctant to change size to a 64-bit value. There's a vague
    recolection of early conversations on the list that there would be little
    acceptance for that. And that probably has to do with the ongoing
    conversation about ABI changes. What I could do to eliminate the
    multiplication is introduce the same concept that the NAND layer uses,
    shift values. After all, erasesize should always be a power of 2, making
    that a power of 2 multiplication which can be done via shifts. By
    changing erasesize to erasesize_shift, I'd get something like this:

    return a->num_eraseblocks == 0 ? a->size : a->num_eraseblocks <<
    a->erasesize_shift

    How would that suit you?

    Bruce



    \
     
     \ /
      Last update: 2008-08-27 20:21    [W:0.051 / U:0.336 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site