Lines Matching refs:spi
13 struct spi_device *spi = v4l2_get_subdevdata(sd); in v4l2_spi_subdev_unregister() local
15 if (spi && !spi->dev.of_node && !spi->dev.fwnode) in v4l2_spi_subdev_unregister()
16 spi_unregister_device(spi); in v4l2_spi_subdev_unregister()
19 void v4l2_spi_subdev_init(struct v4l2_subdev *sd, struct spi_device *spi, in v4l2_spi_subdev_init() argument
25 sd->owner = spi->dev.driver->owner; in v4l2_spi_subdev_init()
26 sd->dev = &spi->dev; in v4l2_spi_subdev_init()
28 v4l2_set_subdevdata(sd, spi); in v4l2_spi_subdev_init()
29 spi_set_drvdata(spi, sd); in v4l2_spi_subdev_init()
32 spi->dev.driver->name, dev_name(&spi->dev)); in v4l2_spi_subdev_init()
41 struct spi_device *spi = NULL; in v4l2_spi_new_subdev() local
48 spi = spi_new_device(ctlr, info); in v4l2_spi_new_subdev()
50 if (!spi || !spi->dev.driver) in v4l2_spi_new_subdev()
53 if (!try_module_get(spi->dev.driver->owner)) in v4l2_spi_new_subdev()
56 sd = spi_get_drvdata(spi); in v4l2_spi_new_subdev()
66 module_put(spi->dev.driver->owner); in v4l2_spi_new_subdev()
74 spi_unregister_device(spi); in v4l2_spi_new_subdev()