if (ret)
                        break;
 
-               this->read_spareram(mtd, 0, ONENAND_SPARERAM, buf, column, thislen);
+               this->read_bufferram(mtd, 0, ONENAND_SPARERAM, buf, column, thislen);
                read += thislen;
                if (read == len)
                        break;
 
        if (!this->read_bufferram)
                this->read_bufferram = onenand_read_bufferram;
-       if (!this->read_spareram)
-               this->read_spareram = onenand_read_bufferram;
        if (!this->write_bufferram)
                this->write_bufferram = onenand_write_bufferram;
 
 
                        size_t len);
        int (*wait) (struct mtd_info *mtd, int state);
        int (*bbt_wait) (struct mtd_info *mtd, int state);
+       void (*unlock_all)(struct mtd_info *mtd);
        int (*read_bufferram) (struct mtd_info *mtd, loff_t addr, int area,
                               unsigned char *buffer, int offset, size_t count);
-       int (*read_spareram) (struct mtd_info *mtd, loff_t addr, int area,
-                              unsigned char *buffer, int offset, size_t count);
        int (*write_bufferram) (struct mtd_info *mtd, loff_t addr, int area,
                                const unsigned char *buffer, int offset,
                                size_t count);