+static int sddr09_init_card_buffers(struct us_data *us)
+{
+ struct sddr09_card_info *info = (struct sddr09_card_info *)us->extra;
+ unsigned int pagelen, blocklen, len;
+
+ /*
+ * blockbuffer is used for reading in the old data, overwriting
+ * with the new data, and performing ECC calculations
+ */
+ pagelen = (1 << info->pageshift) + (1 << CONTROL_SHIFT);
+ blocklen = (pagelen << info->blockshift);
+ info->blockbuffer = kmalloc(blocklen, GFP_NOIO);