Re: [PATCH 2/2] Add support for > 2GiB MTD devices

From: Bruce Leonard
Date: Wed Aug 27 2008 - 03:16:00 EST



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


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/