spi_alloc_master
Prev | Chapter 29. Serial Peripheral Interface (SPI) | Next

## 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 class_data field of the returned class_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.

Prev | Up | Next
spi_new_device | Home | spi_register_master