Lines Matching defs:spi

18 #include <linux/spi/spi.h>
58 struct spi_device *spi;
121 dev_dbg(&edev->spi->dev, "read cmd 0x%x, %d Hz\n",
122 cmd_addr, edev->spi->max_speed_hz);
141 err = spi_sync(edev->spi, &m);
146 dev_err(&edev->spi->dev, "read %zu bytes at %d: err. %d\n",
185 dev_dbg(&edev->spi->dev, "ew%s cmd 0x%04x, %d bits\n",
201 ret = spi_sync(edev->spi, &m);
205 dev_err(&edev->spi->dev, "erase/write %sable error %d\n",
240 dev_dbg(&edev->spi->dev, "write cmd 0x%x\n", cmd_addr);
255 ret = spi_sync(edev->spi, &m);
294 dev_err(&edev->spi->dev, "write failed at %d: %d\n",
332 dev_dbg(&edev->spi->dev, "eral cmd 0x%04x, %d bits\n", cmd_addr, bits);
347 ret = spi_sync(edev->spi, &m);
349 dev_err(&edev->spi->dev, "erase error %d\n", ret);
423 MODULE_DEVICE_TABLE(spi, eeprom_93xx46_spi_ids);
425 static int eeprom_93xx46_probe_dt(struct spi_device *spi)
428 of_match_device(eeprom_93xx46_of_table, &spi->dev);
429 struct device_node *np = spi->dev.of_node;
434 pd = devm_kzalloc(&spi->dev, sizeof(*pd), GFP_KERNEL);
440 dev_err(&spi->dev, "data-size property not found\n");
449 dev_err(&spi->dev, "invalid data-size (%d)\n", tmp);
456 pd->select = devm_gpiod_get_optional(&spi->dev, "select",
472 spi->dev.platform_data = pd;
477 static int eeprom_93xx46_probe(struct spi_device *spi)
483 if (spi->dev.of_node) {
484 err = eeprom_93xx46_probe_dt(spi);
489 pd = spi->dev.platform_data;
491 dev_err(&spi->dev, "missing platform data\n");
495 edev = devm_kzalloc(&spi->dev, sizeof(*edev), GFP_KERNEL);
506 dev_err(&spi->dev, "unspecified size\n");
515 dev_err(&spi->dev, "unspecified address type\n");
521 edev->spi = spi;
525 edev->nvmem_config.name = dev_name(&spi->dev);
526 edev->nvmem_config.dev = &spi->dev;
531 edev->nvmem_config.base_dev = &spi->dev;
539 edev->nvmem = devm_nvmem_register(&spi->dev, &edev->nvmem_config);
543 dev_info(&spi->dev, "%d-bit eeprom containing %d bytes %s\n",
549 if (device_create_file(&spi->dev, &dev_attr_erase))
550 dev_err(&spi->dev, "can't create erase interface\n");
553 spi_set_drvdata(spi, edev);
557 static void eeprom_93xx46_remove(struct spi_device *spi)
559 struct eeprom_93xx46_dev *edev = spi_get_drvdata(spi);
562 device_remove_file(&spi->dev, &dev_attr_erase);
580 MODULE_ALIAS("spi:93xx46");
581 MODULE_ALIAS("spi:eeprom-93xx46");
582 MODULE_ALIAS("spi:93lc46b");