at25 65 drivers/misc/eeprom/at25.c struct at25_data *at25 = priv; at25 74 drivers/misc/eeprom/at25.c if (unlikely(offset >= at25->chip.byte_len)) at25 76 drivers/misc/eeprom/at25.c if ((offset + count) > at25->chip.byte_len) at25 77 drivers/misc/eeprom/at25.c count = at25->chip.byte_len - offset; at25 84 drivers/misc/eeprom/at25.c if (at25->chip.flags & EE_INSTR_BIT3_IS_ADDR) at25 85 drivers/misc/eeprom/at25.c if (offset >= (1U << (at25->addrlen * 8))) at25 90 drivers/misc/eeprom/at25.c switch (at25->addrlen) { at25 106 drivers/misc/eeprom/at25.c t[0].len = at25->addrlen + 1; at25 113 drivers/misc/eeprom/at25.c mutex_lock(&at25->lock); at25 121 drivers/misc/eeprom/at25.c status = spi_sync(at25->spi, &m); at25 122 drivers/misc/eeprom/at25.c dev_dbg(&at25->spi->dev, "read %zu bytes at %d --> %zd\n", at25 125 drivers/misc/eeprom/at25.c mutex_unlock(&at25->lock); at25 131 drivers/misc/eeprom/at25.c struct at25_data *at25 = priv; at25 137 drivers/misc/eeprom/at25.c if (unlikely(off >= at25->chip.byte_len)) at25 139 drivers/misc/eeprom/at25.c if ((off + count) > at25->chip.byte_len) at25 140 drivers/misc/eeprom/at25.c count = at25->chip.byte_len - off; at25 145 drivers/misc/eeprom/at25.c buf_size = at25->chip.page_size; at25 148 drivers/misc/eeprom/at25.c bounce = kmalloc(buf_size + at25->addrlen + 1, GFP_KERNEL); at25 155 drivers/misc/eeprom/at25.c mutex_lock(&at25->lock); at25 165 drivers/misc/eeprom/at25.c status = spi_write(at25->spi, cp, 1); at25 167 drivers/misc/eeprom/at25.c dev_dbg(&at25->spi->dev, "WREN --> %d\n", status); at25 172 drivers/misc/eeprom/at25.c if (at25->chip.flags & EE_INSTR_BIT3_IS_ADDR) at25 173 drivers/misc/eeprom/at25.c if (offset >= (1U << (at25->addrlen * 8))) at25 178 drivers/misc/eeprom/at25.c switch (at25->addrlen) { at25 195 drivers/misc/eeprom/at25.c status = spi_write(at25->spi, bounce, at25 196 drivers/misc/eeprom/at25.c segment + at25->addrlen + 1); at25 197 drivers/misc/eeprom/at25.c dev_dbg(&at25->spi->dev, "write %u bytes at %u --> %d\n", at25 211 drivers/misc/eeprom/at25.c sr = spi_w8r8(at25->spi, AT25_RDSR); at25 213 drivers/misc/eeprom/at25.c dev_dbg(&at25->spi->dev, at25 224 drivers/misc/eeprom/at25.c dev_err(&at25->spi->dev, at25 239 drivers/misc/eeprom/at25.c mutex_unlock(&at25->lock); at25 305 drivers/misc/eeprom/at25.c struct at25_data *at25 = NULL; at25 341 drivers/misc/eeprom/at25.c at25 = devm_kzalloc(&spi->dev, sizeof(struct at25_data), GFP_KERNEL); at25 342 drivers/misc/eeprom/at25.c if (!at25) at25 345 drivers/misc/eeprom/at25.c mutex_init(&at25->lock); at25 346 drivers/misc/eeprom/at25.c at25->chip = chip; at25 347 drivers/misc/eeprom/at25.c at25->spi = spi; at25 348 drivers/misc/eeprom/at25.c spi_set_drvdata(spi, at25); at25 349 drivers/misc/eeprom/at25.c at25->addrlen = addrlen; at25 351 drivers/misc/eeprom/at25.c at25->nvmem_config.name = dev_name(&spi->dev); at25 352 drivers/misc/eeprom/at25.c at25->nvmem_config.dev = &spi->dev; at25 353 drivers/misc/eeprom/at25.c at25->nvmem_config.read_only = chip.flags & EE_READONLY; at25 354 drivers/misc/eeprom/at25.c at25->nvmem_config.root_only = true; at25 355 drivers/misc/eeprom/at25.c at25->nvmem_config.owner = THIS_MODULE; at25 356 drivers/misc/eeprom/at25.c at25->nvmem_config.compat = true; at25 357 drivers/misc/eeprom/at25.c at25->nvmem_config.base_dev = &spi->dev; at25 358 drivers/misc/eeprom/at25.c at25->nvmem_config.reg_read = at25_ee_read; at25 359 drivers/misc/eeprom/at25.c at25->nvmem_config.reg_write = at25_ee_write; at25 360 drivers/misc/eeprom/at25.c at25->nvmem_config.priv = at25; at25 361 drivers/misc/eeprom/at25.c at25->nvmem_config.stride = 4; at25 362 drivers/misc/eeprom/at25.c at25->nvmem_config.word_size = 1; at25 363 drivers/misc/eeprom/at25.c at25->nvmem_config.size = chip.byte_len; at25 365 drivers/misc/eeprom/at25.c at25->nvmem = devm_nvmem_register(&spi->dev, &at25->nvmem_config); at25 366 drivers/misc/eeprom/at25.c if (IS_ERR(at25->nvmem)) at25 367 drivers/misc/eeprom/at25.c return PTR_ERR(at25->nvmem); at25 372 drivers/misc/eeprom/at25.c at25->chip.name, at25 374 drivers/misc/eeprom/at25.c at25->chip.page_size);