Lines Matching defs:spi
7 * This file was based on: drivers/spi/at25.c
22 #include <linux/spi/spi.h>
146 struct spi_device *spi;
160 MODULE_DEVICE_TABLE(spi, ks8995_id);
226 err = spi_sync(ks->spi, &m);
254 err = spi_sync(ks->spi, &m);
340 dev_err(&ks->spi->dev, "chip family id mismatch: expected 0x%02x but 0x%02x read\n",
374 dev_err(&ks->spi->dev, "unsupported chip id for KS8995 family: 0x%02x\n",
390 dev_err(&ks->spi->dev, "unsupported chip id for KSZ8795 family: 0x%02x\n",
396 dev_err(&ks->spi->dev, "unsupported family id: 0x%02x\n", id0);
412 struct device_node *np = ks->spi->dev.of_node;
433 static int ks8995_probe(struct spi_device *spi)
437 int variant = spi_get_device_id(spi)->driver_data;
440 dev_err(&spi->dev, "bad chip variant %d\n", variant);
444 ks = devm_kzalloc(&spi->dev, sizeof(*ks), GFP_KERNEL);
449 ks->spi = spi;
452 if (ks->spi->dev.of_node) {
453 ks->pdata = devm_kzalloc(&spi->dev, sizeof(*ks->pdata),
464 ks->pdata = spi->dev.platform_data;
473 err = devm_gpio_request_one(&spi->dev,
477 dev_err(&spi->dev,
485 spi_set_drvdata(spi, ks);
487 spi->mode = SPI_MODE_0;
488 spi->bits_per_word = 8;
489 err = spi_setup(spi);
491 dev_err(&spi->dev, "spi_setup failed, err=%d\n", err);
507 err = sysfs_create_bin_file(&spi->dev.kobj, &ks->regs_attr);
509 dev_err(&spi->dev, "unable to create sysfs file, err=%d\n",
514 dev_info(&spi->dev, "%s device found, Chip ID:%x, Revision:%x\n",
520 static int ks8995_remove(struct spi_device *spi)
522 struct ks8995_switch *ks = spi_get_drvdata(spi);
524 sysfs_remove_bin_file(&spi->dev.kobj, &ks->regs_attr);
536 .name = "spi-ks8995",