Lines Matching defs:spi
7 * This file was based on: drivers/spi/at25.c
21 #include <linux/spi/spi.h>
140 struct spi_device *spi;
154 MODULE_DEVICE_TABLE(spi, ks8995_id);
220 err = spi_sync(ks->spi, &m);
248 err = spi_sync(ks->spi, &m);
334 dev_err(&ks->spi->dev, "chip family id mismatch: expected 0x%02x but 0x%02x read\n",
368 dev_err(&ks->spi->dev, "unsupported chip id for KS8995 family: 0x%02x\n",
384 dev_err(&ks->spi->dev, "unsupported chip id for KSZ8795 family: 0x%02x\n",
390 dev_err(&ks->spi->dev, "unsupported family id: 0x%02x\n", id0);
409 static int ks8995_probe(struct spi_device *spi)
413 int variant = spi_get_device_id(spi)->driver_data;
416 dev_err(&spi->dev, "bad chip variant %d\n", variant);
420 ks = devm_kzalloc(&spi->dev, sizeof(*ks), GFP_KERNEL);
425 ks->spi = spi;
428 ks->reset_gpio = devm_gpiod_get_optional(&spi->dev, "reset",
432 dev_err(&spi->dev,
445 spi_set_drvdata(spi, ks);
447 spi->mode = SPI_MODE_0;
448 spi->bits_per_word = 8;
449 err = spi_setup(spi);
451 dev_err(&spi->dev, "spi_setup failed, err=%d\n", err);
467 err = sysfs_create_bin_file(&spi->dev.kobj, &ks->regs_attr);
469 dev_err(&spi->dev, "unable to create sysfs file, err=%d\n",
474 dev_info(&spi->dev, "%s device found, Chip ID:%x, Revision:%x\n",
480 static void ks8995_remove(struct spi_device *spi)
482 struct ks8995_switch *ks = spi_get_drvdata(spi);
484 sysfs_remove_bin_file(&spi->dev.kobj, &ks->regs_attr);
493 .name = "spi-ks8995",