Lines Matching refs:spi
246 void v4l2_spi_subdev_init(struct v4l2_subdev *sd, struct spi_device *spi, in v4l2_spi_subdev_init() argument
252 sd->owner = spi->dev.driver->owner; in v4l2_spi_subdev_init()
253 sd->dev = &spi->dev; in v4l2_spi_subdev_init()
255 v4l2_set_subdevdata(sd, spi); in v4l2_spi_subdev_init()
256 spi_set_drvdata(spi, sd); in v4l2_spi_subdev_init()
258 strlcpy(sd->name, spi->dev.driver->name, sizeof(sd->name)); in v4l2_spi_subdev_init()
266 struct spi_device *spi = NULL; in v4l2_spi_new_subdev() local
273 spi = spi_new_device(master, info); in v4l2_spi_new_subdev()
275 if (spi == NULL || spi->dev.driver == NULL) in v4l2_spi_new_subdev()
278 if (!try_module_get(spi->dev.driver->owner)) in v4l2_spi_new_subdev()
281 sd = spi_get_drvdata(spi); in v4l2_spi_new_subdev()
289 module_put(spi->dev.driver->owner); in v4l2_spi_new_subdev()
294 if (spi && sd == NULL) in v4l2_spi_new_subdev()
295 spi_unregister_device(spi); in v4l2_spi_new_subdev()