• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/linux/linux-2.6/drivers/spi/

Lines Matching refs:master

38 	if (spi->master->cleanup)
39 spi->master->cleanup(spi);
41 spi_master_put(spi->master);
176 * would make them board-specific. Similarly with SPI master drivers.
193 * @master: Controller to which device is connected
203 struct spi_device *spi_new_device(struct spi_master *master,
207 struct device *dev = master->cdev.dev;
212 if (!spi_master_get(master))
221 proxy->master = master;
229 "%s.%u", master->cdev.class_id,
239 status = master->setup(proxy);
259 spi_master_put(master);
303 scan_boardinfo(struct spi_master *master)
306 struct device *dev = master->cdev.dev;
314 if (chip->bus_num != master->bus_num)
320 if (chip->chip_select >= master->num_chipselect
321 && master->num_chipselect) {
324 master->num_chipselect);
327 (void) spi_new_device(master, chip);
337 struct spi_master *master;
339 master = container_of(cdev, struct spi_master, cdev);
340 kfree(master);
351 * spi_alloc_master - allocate SPI master controller
358 * This call is used only by SPI master controller drivers, which are the
363 * master structure on success, else NULL.
366 * the master's methods before calling spi_register_master(); and (after errors
371 struct spi_master *master;
376 master = kzalloc(size + sizeof *master, GFP_KERNEL);
377 if (!master)
380 class_device_initialize(&master->cdev);
381 master->cdev.class = &spi_master_class;
382 master->cdev.dev = get_device(dev);
383 spi_master_set_devdata(master, &master[1]);
385 return master;
390 * spi_register_master - register SPI master controller
391 * @master: initialized master, originally from spi_alloc_master()
394 * SPI master controllers connect to their drivers using some non-SPI bus,
405 * success, else a negative error code (dropping the master's refcount).
409 int spi_register_master(struct spi_master *master)
412 struct device *dev = master->cdev.dev;
420 if (master->bus_num < 0) {
421 master->bus_num = atomic_dec_return(&dyn_bus_id);
428 snprintf(master->cdev.class_id, sizeof master->cdev.class_id,
429 "spi%u", master->bus_num);
430 status = class_device_add(&master->cdev);
433 dev_dbg(dev, "registered master %s%s\n", master->cdev.class_id,
437 scan_boardinfo(master);
453 * spi_unregister_master - unregister SPI master controller
454 * @master: the master being unregistered
457 * This call is used only by SPI master controller drivers, which are the
462 void spi_unregister_master(struct spi_master *master)
466 dummy = device_for_each_child(master->cdev.dev, NULL, __unregister);
467 class_device_unregister(&master->cdev);
472 * spi_busnum_to_master - look up master associated with bus_num
473 * @bus_num: the master's bus number
479 * no such master registered.
484 struct spi_master *master = NULL;
491 master = spi_master_get(m);
496 return master;