Lines Matching refs:sharpsl

68 	struct sharpsl_nand *sharpsl = mtd_to_sharpsl(mtd);  in sharpsl_nand_hwcontrol()  local
78 writeb((readb(sharpsl->io + FLASHCTL) & ~0x17) | bits, sharpsl->io + FLASHCTL); in sharpsl_nand_hwcontrol()
87 struct sharpsl_nand *sharpsl = mtd_to_sharpsl(mtd); in sharpsl_nand_dev_ready() local
88 return !((readb(sharpsl->io + FLASHCTL) & FLRYBY) == 0); in sharpsl_nand_dev_ready()
93 struct sharpsl_nand *sharpsl = mtd_to_sharpsl(mtd); in sharpsl_nand_enable_hwecc() local
94 writeb(0, sharpsl->io + ECCCLRR); in sharpsl_nand_enable_hwecc()
99 struct sharpsl_nand *sharpsl = mtd_to_sharpsl(mtd); in sharpsl_nand_calculate_ecc() local
100 ecc_code[0] = ~readb(sharpsl->io + ECCLPUB); in sharpsl_nand_calculate_ecc()
101 ecc_code[1] = ~readb(sharpsl->io + ECCLPLB); in sharpsl_nand_calculate_ecc()
102 ecc_code[2] = (~readb(sharpsl->io + ECCCP) << 2) | 0x03; in sharpsl_nand_calculate_ecc()
103 return readb(sharpsl->io + ECCCNTR) != 0; in sharpsl_nand_calculate_ecc()
114 struct sharpsl_nand *sharpsl; in sharpsl_nand_probe() local
123 sharpsl = kzalloc(sizeof(struct sharpsl_nand), GFP_KERNEL); in sharpsl_nand_probe()
124 if (!sharpsl) in sharpsl_nand_probe()
135 sharpsl->io = ioremap(r->start, resource_size(r)); in sharpsl_nand_probe()
136 if (!sharpsl->io) { in sharpsl_nand_probe()
143 this = (struct nand_chip *)(&sharpsl->chip); in sharpsl_nand_probe()
146 sharpsl->mtd.priv = this; in sharpsl_nand_probe()
147 sharpsl->mtd.dev.parent = &pdev->dev; in sharpsl_nand_probe()
149 platform_set_drvdata(pdev, sharpsl); in sharpsl_nand_probe()
154 writeb(readb(sharpsl->io + FLASHCTL) | FLWP, sharpsl->io + FLASHCTL); in sharpsl_nand_probe()
157 this->IO_ADDR_R = sharpsl->io + FLASHIO; in sharpsl_nand_probe()
158 this->IO_ADDR_W = sharpsl->io + FLASHIO; in sharpsl_nand_probe()
176 err = nand_scan(&sharpsl->mtd, 1); in sharpsl_nand_probe()
181 sharpsl->mtd.name = "sharpsl-nand"; in sharpsl_nand_probe()
183 err = mtd_device_parse_register(&sharpsl->mtd, NULL, NULL, in sharpsl_nand_probe()
192 nand_release(&sharpsl->mtd); in sharpsl_nand_probe()
195 iounmap(sharpsl->io); in sharpsl_nand_probe()
198 kfree(sharpsl); in sharpsl_nand_probe()
207 struct sharpsl_nand *sharpsl = platform_get_drvdata(pdev); in sharpsl_nand_remove() local
210 nand_release(&sharpsl->mtd); in sharpsl_nand_remove()
212 iounmap(sharpsl->io); in sharpsl_nand_remove()
215 kfree(sharpsl); in sharpsl_nand_remove()