> 于 2013年05月02日 13:42, Gupta, Pekon 写道: > >>>> - *busw = 0; > >>>> - if (le16_to_cpu(p->features)& 1) > >>>> - *busw = NAND_BUSWIDTH_16; > >>>> + > >>>> + *busw = (onfi_feature(chip)& ONFI_FEATURE_16_BIT_BUS) ? > >>>> + NAND_BUSWIDTH_16 : 0; > >>> Is this really needed ? you have already checked the 'onfi_version' > >> above in > >>> nand_flash_detect_onfi() .. > >>> if (!chip->onfi_version) { > >>> pr_info("%s: unsupported ONFI version: %d\n", > >> __func__, val); > >>> return 0; > >>> } > >>> > >>> > >> I think checking the onfi_version has no relationship with this patch. :) > >> This patch is just replace the hardcode for 16-bit onfi nand check. > >> > > [Pekon]: [Patch 3/9]: add a helper to get the supported features > > I mean, do you really need this helper function ? > > +static inline int onfi_feature(struct nand_chip *chip) > > +{ > > + return chip->onfi_version ? le16_to_cpu(chip- > >onfi_params.features) : 0; > > + } > > > > Following change should have been enough.. > > *busw = (le16_to_cpu(p->features)& ONFI_FEATURE_16_BIT_BUS) ? > > NAND_BUSWIDTH_16 : 0; > yes. for this function, it's enough. > > But we may use the onfi_feature() in other places, such as some drivers. > That's reason why i added this helper. > [Pekon]: onfi_feature() is actually not useful unless someone re-scans the param page again. And once the device is probed following should be used to check if it’s a x16 device. If (chip->options & NAND_BUSWIDTH_16) My view-point was that the code should have less redundancy :-) Anyways, Thanks for your other patch for reading extended_param_page. I too wanted that ecc.codeword and ecc.strength should come from device's parameters. I'll ack them once, I test using my driver. with regards, pekon {.n++%ݶw{.n+{G{ayʇڙ,jfhz_(階ݢj"mG?&~iOzv^m ?I