Hi Scott, >> +static loff_t flexonenand_addr(struct onenand_chip *this, int block) >> +{ >> + loff_t ofs = 0; >> + int die = 0, boundary; >> + >> + if (ONENAND_IS_DDP(this) && block >= this->density_mask) { >> + block -= this->density_mask; >> + die = 1; >> + ofs = this->diesize[0]; >> + } >> + >> + boundary = this->boundary[die]; >> + ofs += block << (this->erase_shift - 1); >> + if (block > (boundary + 1)) >> + ofs += (block - boundary - 1) << (this->erase_shift - 1); >> + return ofs; > > You're missing some (loff_t) casts that are in Linux, here and elsewhere. >
Accepted and corrected >> +inline loff_t onenand_addr(struct onenand_chip *this, int block) > > This is not a header file; let GCC decide when to inline. Note that this > function is not specified as inline in Linux. > Accepted and corrected > There are some other fairly significant differences with Linux later in > the patch -- is this due to missing functionality that u-boot doesn't > need, or something else? > Yes, there are certain functionalities that OneNAND doesn't need in U-Boot. Sending the updated patches. Regards, Amul Kumar Saha _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot