[U-Boot] [PATCH 1/3] [OneNAND] Flex-OneNAND driver support

Amul Kumar Saha amul.saha at samsung.com
Wed Nov 4 06:00:52 CET 2009


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 




More information about the U-Boot mailing list