Lines Matching refs:nbc
56 struct nand_bch_control *nbc = chip->ecc.priv;
60 encode_bch(nbc->bch, buf, chip->ecc.size, code);
64 code[i] ^= nbc->eccmask[i];
83 struct nand_bch_control *nbc = chip->ecc.priv;
84 unsigned int *errloc = nbc->errloc;
87 count = decode_bch(nbc->bch, NULL, chip->ecc.size, read_ecc, calc_ecc,
132 struct nand_bch_control *nbc = NULL;
143 nbc = kzalloc(sizeof(*nbc), GFP_KERNEL);
144 if (!nbc)
147 nbc->bch = init_bch(m, t, 0);
148 if (!nbc->bch)
152 if (nbc->bch->ecc_bytes != eccbytes) {
154 eccbytes, nbc->bch->ecc_bytes);
170 layout = &nbc->ecclayout;
200 nbc->eccmask = kmalloc(eccbytes, GFP_KERNEL);
201 nbc->errloc = kmalloc(t*sizeof(*nbc->errloc), GFP_KERNEL);
202 if (!nbc->eccmask || !nbc->errloc)
212 memset(nbc->eccmask, 0, eccbytes);
213 encode_bch(nbc->bch, erased_page, eccsize, nbc->eccmask);
217 nbc->eccmask[i] ^= 0xff;
219 return nbc;
221 nand_bch_free(nbc);
228 * @nbc: NAND BCH control structure
230 void nand_bch_free(struct nand_bch_control *nbc)
232 if (nbc) {
233 free_bch(nbc->bch);
234 kfree(nbc->errloc);
235 kfree(nbc->eccmask);
236 kfree(nbc);