[PATCH 2/2] Add support for > 2GiB MTD devices
Bruce Leonard
brucle at earthlink.net
Wed Aug 27 03:15:48 EDT 2008
On Aug 26, 2008, at 10:40 PM, Artem Bityutskiy wrote:
> Hi Bruce,
>
> On Tue, 2008-08-19 at 14:27 -0700, Bruce Leonard wrote:
>> +/*
>> + * 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.
>
> Did you consider a possibility of just making mtd->size 64 bit?
I did consider making size 64-bit, but it seemed less intrusive to go
the direction I did. I wanted to change as little code as possible
but at the same time make it obvious there was a fundamental change.
There's also a desire to move more in the direction of a BIO-like
aspect to the MTD layer and some of the suggestions I got early made
it seem that this would make that future move easier.
>
> Or using eraseblock:offset pairs instead of absolute address?
I didn't really see how I could convey the idea of size using
eraseblock:offset.
Bruce
More information about the linux-mtd
mailing list