
Since commit e446630c960946b5c1762e4eadb618becef599e7, i.e. v2.6.35-rc1, the mcp251x chip model can be selected via the modalias member in the struct spi_board_info. The driver stores the actual model in the struct mcp251x_platform_data. From the driver point of view the platform_data should be read only. Since all in-tree users of the mcp251x have already been converted to the modalias method, this patch moves the "model" member from the struct mcp251x_platform_data to the driver's private data structure. Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Cc: Christian Pellegrin <chripell@fsfe.org> Cc: Marc Zyngier <maz@misterjones.org>
33 lines
975 B
C
33 lines
975 B
C
#ifndef __CAN_PLATFORM_MCP251X_H__
|
|
#define __CAN_PLATFORM_MCP251X_H__
|
|
|
|
/*
|
|
*
|
|
* CAN bus driver for Microchip 251x CAN Controller with SPI Interface
|
|
*
|
|
*/
|
|
|
|
#include <linux/spi/spi.h>
|
|
|
|
/**
|
|
* struct mcp251x_platform_data - MCP251X SPI CAN controller platform data
|
|
* @oscillator_frequency: - oscillator frequency in Hz
|
|
* @board_specific_setup: - called before probing the chip (power,reset)
|
|
* @transceiver_enable: - called to power on/off the transceiver
|
|
* @power_enable: - called to power on/off the mcp *and* the
|
|
* transceiver
|
|
*
|
|
* Please note that you should define power_enable or transceiver_enable or
|
|
* none of them. Defining both of them is no use.
|
|
*
|
|
*/
|
|
|
|
struct mcp251x_platform_data {
|
|
unsigned long oscillator_frequency;
|
|
int (*board_specific_setup)(struct spi_device *spi);
|
|
int (*transceiver_enable)(int enable);
|
|
int (*power_enable) (int enable);
|
|
};
|
|
|
|
#endif /* __CAN_PLATFORM_MCP251X_H__ */
|