Lines Matching defs:spi
18 #include <linux/spi/spi.h>
43 struct spi_device *spi;
105 dev_dbg(&edev->spi->dev, "read cmd 0x%x, %d Hz\n",
106 cmd_addr, edev->spi->max_speed_hz);
125 err = spi_sync(edev->spi, &m);
130 dev_err(&edev->spi->dev, "read %zu bytes at %d: err. %d\n",
169 dev_dbg(&edev->spi->dev, "ew%s cmd 0x%04x, %d bits\n",
185 ret = spi_sync(edev->spi, &m);
189 dev_err(&edev->spi->dev, "erase/write %sable error %d\n",
220 dev_dbg(&edev->spi->dev, "write cmd 0x%x\n", cmd_addr);
235 ret = spi_sync(edev->spi, &m);
274 dev_err(&edev->spi->dev, "write failed at %d: %d\n",
312 dev_dbg(&edev->spi->dev, "eral cmd 0x%04x, %d bits\n", cmd_addr, bits);
327 ret = spi_sync(edev->spi, &m);
329 dev_err(&edev->spi->dev, "erase error %d\n", ret);
385 static int eeprom_93xx46_probe_dt(struct spi_device *spi)
388 of_match_device(eeprom_93xx46_of_table, &spi->dev);
389 struct device_node *np = spi->dev.of_node;
394 pd = devm_kzalloc(&spi->dev, sizeof(*pd), GFP_KERNEL);
400 dev_err(&spi->dev, "data-size property not found\n");
409 dev_err(&spi->dev, "invalid data-size (%d)\n", tmp);
416 pd->select = devm_gpiod_get_optional(&spi->dev, "select",
431 spi->dev.platform_data = pd;
436 static int eeprom_93xx46_probe(struct spi_device *spi)
442 if (spi->dev.of_node) {
443 err = eeprom_93xx46_probe_dt(spi);
448 pd = spi->dev.platform_data;
450 dev_err(&spi->dev, "missing platform data\n");
454 edev = devm_kzalloc(&spi->dev, sizeof(*edev), GFP_KERNEL);
463 dev_err(&spi->dev, "unspecified address type\n");
469 edev->spi = spi;
474 edev->nvmem_config.name = dev_name(&spi->dev);
475 edev->nvmem_config.dev = &spi->dev;
480 edev->nvmem_config.base_dev = &spi->dev;
488 edev->nvmem = devm_nvmem_register(&spi->dev, &edev->nvmem_config);
492 dev_info(&spi->dev, "%d-bit eeprom %s\n",
497 if (device_create_file(&spi->dev, &dev_attr_erase))
498 dev_err(&spi->dev, "can't create erase interface\n");
501 spi_set_drvdata(spi, edev);
505 static int eeprom_93xx46_remove(struct spi_device *spi)
507 struct eeprom_93xx46_dev *edev = spi_get_drvdata(spi);
510 device_remove_file(&spi->dev, &dev_attr_erase);
529 MODULE_ALIAS("spi:93xx46");
530 MODULE_ALIAS("spi:eeprom-93xx46");