[PATCH v2 08/12] mtd: nand_bbt: remove struct nand_chip from nand_bbt.c

Peter Pan peterpansjtu at gmail.com
Wed Jan 6 22:04:08 PST 2016


On Wed, Jan 6, 2016 at 11:16 PM, Boris Brezillon
<boris.brezillon at free-electrons.com> wrote:
> On Tue, 15 Dec 2015 05:59:34 +0000
> Peter Pan <peterpansjtu at gmail.com> wrote:
>
>> From: Brian Norris <computersforpeace at gmail.com>
>>
>> This commit contains most of modification. But the job is quite
>> simple --- replace struct nand_chip with struct nand_bbt. There
>> is no algorithm change, just replacement.
>>
>> Signed-off-by: Brian Norris <computersforpeace at gmail.com>
>> Signed-off-by: Peter Pan <peterpandong at micron.com>
>> ---
>>  drivers/mtd/nand/nand_bbt.c | 391 ++++++++++++++++++++++----------------------
>>  1 file changed, 193 insertions(+), 198 deletions(-)
>>
>> diff --git a/drivers/mtd/nand/nand_bbt.c b/drivers/mtd/nand/nand_bbt.c
>> index a5c8ab5..b46b4ae 100644
>> --- a/drivers/mtd/nand/nand_bbt.c
>> +++ b/drivers/mtd/nand/nand_bbt.c
>
> [...]
>
>>  /**
>>   * nand_scan_bbt - [NAND Interface] scan, find, read and maybe create bad block table(s)
>> - * @mtd: MTD device structure
>> + * @bbt: NAND BBT structure
>>   *
>>   * The function checks, if a bad block table(s) is/are already available. If
>>   * not it scans the device for manufacturer marked good / bad blocks and writes
>> @@ -1000,21 +1000,21 @@ static void verify_bbt_descr(struct mtd_info *mtd, struct nand_bbt_descr *bd)
>>   * The bad block table memory is allocated here. It must be freed by calling
>>   * the nand_free_bbt function.
>>   */
>> -static int nand_scan_bbt(struct mtd_info *mtd)
>> +static int nand_scan_bbt(struct nand_bbt *bbt)
>>  {
>> -     struct nand_chip *this = mtd_to_nand(mtd);
>> -     int len, res;
>> +     struct mtd_info *mtd = bbt->mtd;
>> +     int len, res = 0;
>>       uint8_t *buf;
>> -     struct nand_bbt_descr *td = this->bbt_td;
>> -     struct nand_bbt_descr *md = this->bbt_md;
>> +     struct nand_bbt_descr *td = bbt->bbt_td;
>> +     struct nand_bbt_descr *md = bbt->bbt_md;
>>
>>       len = (mtd->size >> (this->bbt_erase_shift + 2)) ? : 1;
>
> 'this' is gone, which generates a compilation error.
>
>         len = (mtd->size >> (bbt->bbt_erase_shift + 2)) ? : 1;

Fix this in v3

>
>
> --
> Boris Brezillon, Free Electrons
> Embedded Linux and Kernel engineering
> http://free-electrons.com

Thanks
Peter Pan



More information about the linux-mtd mailing list