Name

spi_alloc_master — allocate SPI master controller

Synopsis

struct spi_master * spi_alloc_master (struct device * dev,
 unsigned size);
 

Arguments

dev

the controller, possibly using the platform_bus

size

how much zeroed driver-private data to allocate; the pointer to this memory is in the driver_data field of the returned device, accessible with spi_master_get_devdata.

Context

can sleep

Description

This call is used only by SPI master controller drivers, which are the only ones directly touching chip registers. It's how they allocate an spi_master structure, prior to calling spi_register_master.

This must be called from context that can sleep. It returns the SPI master structure on success, else NULL.

The caller is responsible for assigning the bus number and initializing the master's methods before calling spi_register_master; and (after errors adding the device) calling spi_master_put to prevent a memory leak.